当前位置: 首页 > news >正文

大模型学习起步的经验分享

我来聊聊这一年来的学习实践经验:

一、前期准备

首先就是显卡的问题,如果有条件,最好买一块,显卡的显存24GB起步,不要低于这个标准,这是目前不断演进的LLM流行版本的最低标准了。

显卡就是NVIDIA显卡,说白了就是为了cuda,有钱4090,没钱二手3090,不要对AMD显卡心存侥幸。

不要考虑耗电问题,绝大多数时间的耗电是空调引起的。

当然了,如果兜里没有那么多银两,也不必过于担心,就先从商用模型开始,首推智谱清言的开放平台,其次deepseek,通义千问,价格低,完全是补贴价,也非常不错。完全没必要为文心一言交智商税。

如果有能耐,claude、gpt4的智力输出肯定效果是最好的,但老美这点很恶心,怕我们进步。使用成本也较高,20刀一个月(聊天和API分开算)。

但是,对于学习实验,这两个头牌模型也不是啥必须品。

二、模型与API

以上是前置条件,下来具体怎么做,我接着说:

如果有显卡,其实主要可以学到是本地大模型的部署体验和微调。

对于模型的API调用,对于学习者并不用担心是商用模型还是本地模型,其实大家都有自己的专有接口,同时也都支持OpenAI API接口为标准。用OpenAI API接口,对于以后的程序来说更通用,学习成本也更低。例如:

添加图片注释,不超过 140 字(可选)

上述这段代码就是一个很简单的调用OpenAI API接口的例子,但已经跟OpenAI的GPT4没有什么关系了。

如果我们使用xinfernece_这组参数,那么我们就是通过Xinference服务(一会儿讲)提供的OpenAI接口来调用本地部署的LLM——glm4-chat(90亿参数)开源模型。

默认我们使用了zhipu_这组参数,那么我们就是通过互联网访问智谱开放平台提供的glm-4-0520(千亿参数)商用模型。

看起来是不是很简单。

三、大模型技术栈

接着我们说说大模型学习的体系:

LLM(本地 & 商用)->(推理 & 微调 & 提示词 ) -> (RAG & Tools) -> (workflow & Agent)。

我们可以根据上述的技术栈一步步向上开始学习。也就是说从最底层的大模型本体,到推理服务、微调训练和提示词能力,再到RAG检索增强或工具集增强,最后是AI工作流和智能体。当然了知识图谱、AI搜索也在凑大模型的热闹。

说说LLM本地化部署,目前看,比较适合单卡(24GB)推理的本地大模型有GLM4-9B、Qwen2-7B、deepseek,首推还是GLM4-9B,可能未来会推出的Qwen2.5也不可小觑,LLama3 8B不是太建议使用,主要还是中文能力真的不咋地,如果用到生产,真不知道对齐的怎么样,会不会胡说。

LLM本地部署最好的方案是使用推理框架,基本上就是两个中选择一个,Ollama或者Xinference,Ollama部署简单,但让给我推荐,我只会是Xinference,一方面是国内团队,更新速度快,另一方面就是支持的模型特别丰富。

推理框架的好处就是统一化了API接口,就是上面例子中看到的OpenAI API接口,那么你部署什么模型都一样去调用。

提示词

我们在讨论一下微调还是提示词的问题。什么意思呢?本质上就是部署的模型,通用智力不咋地,但你又希望你的模型能在你希望的方面牛逼起来。

添加图片注释,不超过 140 字(可选)

上面这段提示词是我在dify上构建了一个英语翻译,但我翻译的是技术文档为主,因此我不仅希望LLM能正常翻译,还希望它看到内容中有代码例子的时候就不要翻译了,给做个Markdown代码标记,方便阅读。那么提示词里你就得给LLM一点例子,因为AI模仿起来一点就会。

当然了,还有个前提,你得告诉AI,你是什么角色,上面的例子就说你是个翻译专家和程序技术专家,AI看到这个,马上就知道自己的身份应该输出什么内容了。

那么我们仔细去想想,如果把这些让他去模仿的提示例子多给一些,形成一个数据集,其实就可以让LLM做微调了。微调的本质就是让AI更多的去理解你想让他变成什么模样,更想让AI说什么话。

但是对于大多数人使用,其实选择通用智能更好的模型,自己学习如何给出更好的提示词,是更好的选择,可以更快得到想要的效果。

微调更多是因为必须使用的模型在自己希望的生产领域还是不给力,所以才要重塑AI最基本的底色,朝着领域的、专业的方面提升智力。然后在这基础上做提示词、RAG等等事情,会更有效率。

工具调用

最后我在说下RAG和Tools,本质上RAG就是建立自己的知识库,这样的好处是防止LLM乱说,这样就能把问题重心都放在知识库上面,这个比较适合的领域非常广泛。

但是RAG是文本分块,检索内容的输出很有限,因此长文本加载阅读也是一个好办法,另外就是基于知识图谱提出GraphRAG方案,抽象和全局理解提供的内容更好,但就是慢,用于生产,还需时日。

Tools是非常关键的一个环节,流程上,你提出问题,LLM判断得给出执行命令,然后你去执行命令。

添加图片注释,不超过 140 字(可选)

上面这个例子是GLM4-9B提供的工具调用的演示例子,我们可以看到,我问了一句:用nvidia-smi命令查询一下,LLM根据预置的提示词就能明白需要返回get_shell方法名以及 {query: nvidia-smi}这句话了。

演示例子的程序根据LLM这句话就进行了本地shell命令调用,再返回调用的结果,让LLM再次组织语言。这个工具调用的过程其实就是智能体的基本形态了。

其实我们可以通过类似很多AI工作流中获得这方面的启发,我比较推荐Dify。

好了,有机会再给大家聊聊AI工作流和智能体。


http://www.mrgr.cn/news/30081.html

相关文章:

  • Agile Modbus STM32裸机移植 从机使用
  • 图解Transformer工作原理(非常详细)零基础入门到精通,收藏这一篇就够了
  • C++ 面试模拟02
  • Mac 上哪个剪切板增强工具比较好用? 好用剪切板工具推荐
  • 二叉树的遍历【C++】
  • 土壤墒情测定仪的工作原理
  • layui table中的checkbox禁用问题
  • 再看Java-笔试
  • 为什么嫁人就要嫁公务员?稳定、收入高、福利好、资源多
  • 【技术解析】消息中间件MQ:从原理到RabbitMQ实战(深入浅出)
  • ICL、CoT、ReAct个人记录
  • js中两种异步方式:async+await以及then
  • 基于Python的自然语言处理系列(12):使用TorchText和LSTM进行序列到序列(seq2seq)翻译
  • 2024年03月中国电子学会青少年软件编程(图形化)等级考试试卷(一级)答案 + 解析
  • 基于python+django+vue的图书管理系统
  • 【AI视频】Runway文生视频Gen-2、Gen-3详解
  • 【AIGC半月报】AIGC大模型启元:2024.09(下)
  • 【数据结构】排序算法---归并排序
  • Halcon OCR检测 免训练版
  • GEC6818初次连接使用