写点什么

LLM 大模型基础知识学习总结

  • 2024-09-04
    福建
  • 本文字数:2860 字

    阅读完需:约 9 分钟

在这个已经被 AI 大模型包围的时代,不了解一点大模型的基础知识和相关概念,可能出去聊天都接不上话。刚好近期我也一直在用 GPT 和 GitHub Copilot,也刚好对这些基础知识很感兴趣,于是学习了一下,做了如下的整理总结,分享与你!


一句话描述 GPT


GPT:Generative Pre-Training Transformer,即三个关键词:生成式 预训练 变换模型。


GPT 模型通过在大量数据上学习到的语言模式,预测下一个字(token),生成自然语言文本。



大模型的 6 大关键技术


大模型


类似于人类的大脑,通过思考和规划来完成任务;


Prompt(提示词工程)


类似于人类的沟通,上级通过布置任务来让下级完成一项任务;


RAG(检索增强生成)


类似于人类想要暂时完成一件任务,但是这件任务暂时不会做。例如马上要大学期末考试了,我们需要临时抱佛脚突击一周,以求得考试及格分数,但是考完试以后,这些知识就忘得一干二净了。或者说类似于大学期末的开卷考试,反正知识点都在书里,你平时都没学过,得先找一找,找到了就把相关答案写在试卷上,考完了还是忘得一干二净,但是你的目标达到了:考试及格 60 分万岁!


Fine-tunig(微调)


类似于人类想要彻底学会一个技能,例如想要学会大模型的技术,我们需要通过系统的培训以及通过实战去真正的掌握大模型技术。


Function Calling(函数调用)


类似于人类使用工具完成一件任务,例如想要查询成都的天气情况,我们要么直接打开天气预报的 App,要么直接在百度上搜索,总之是通过工具来完成这件事。


Agent


类似于人类通过沟通、分工和协作来完成一件复杂的任务,通常会结合使用到上面提到的五个技术来完成任务,而且大模型时代的 Agent 也不是单兵作战而是多个 Agent 之间合作来完成任务。例如想要开发一个客服项目,需要产品经理 Agent、架构师 Agent、开发者 Agent、测试者 Agent、运维 Agent 和 项目管理 Agent 像人类一样去沟通协作,最后才能把这个项目自动地完成。


知识问答的 3 种主要方式


大模型直答


最常见的方式:直接向 LLM 提问,LLM 给出回答。



大模型微调(Fine-Tuning)


首先,将企业私有知识加给通用大模型进行微调形成私有大模型;然后,再将问题给到私有大模型进行回答。



大模型 RAG(检索增强生成)


首先,对企业的知识库进行检索得到相关的知识片段;然后,将知识片段和原问题组合成新的提示词发给通用大模型得到回答;



3 种方式的效果对比:



总结:在企业落地知识问答库时,如果为了追求成本和回答准确度,推荐使用 RAG 方案


AI Agent 到底是什么?


在产品层面:AI Agent 是 AGI 时代新的应用形态


这其实是应用形态的演进:在 AGI 时代之前是移动互联网时代,它的产品形态是 APP。


在进入 AGI 时代后,产品形态变为了 AI Agent。未来现有的部分高级程序员写的应用就不再会是 App,而是 AI Agent 了!



在技术层面:面向过程架构 → 面向目标架构 的转变(软件架构的范式迁移)


比如,在 App 时代写一个用户系统,需要把整个用户从注册到登录再到回放,一步一步地把整个流程结合 if-else 把它开发出来。这个生成的过程我们叫做面向过程的架构,需要预定义指令、逻辑和规则。


但是,在 AI Agent 时代,很多情况下不需要把这些指令一个一个地指出来,只需要一句话就行了,比如说提供一个 prompt“请帮我完成一个用户系统,它包含用户注册、登录、查询等功能”,然后大模型就会帮你去完成。这个生成的过程我们叫做面向目标的架构,具有目标导向和动态规划的特点,由 AI Agent 自主生成。



大模型和 Agent 有啥区别?


Agent 会在大模型的推理结果基础之上,使用一些工具(如调用 API)完成某个特定的任务,这个技术也被称为 Function Calling(函数调用)。

当下大模型的参数量提升 AI Agent 的理解

力和泛化能力,使其能够更好地处理多种任务和上下文信息,这增强了 AI 代理的自然语言处理能力,从而提供更加个性化、连贯的交互体验,是当下 Agent 的构建关键!


总结:大模型时代下的 AI Agent = LLM × (规划+记忆+工具+行动)




AI Agent 的应用场景通常与特定任务或环境紧密相关。例如,在智能家居系统中,AI Agent 可以根据用户的生活习惯和偏好自动调节家庭设备的运行状态。在游戏中,AI Agent 能够提供具有挑战性的对手或复杂的游戏环境动态。


Agent 架构的核心流程


Agent 架构有三个重要的模块:规划模块(Planning)、执行模块(Action) 和 观察模块(Observation),如下图所示:



举个例子,假设我们有一个 prompt“请用 python 画一个圆心”。


首先,在规划模块,Agent 会将这个需求拆解为三个子项:写 Python 代码、调用 IPython 解释器、调用 Docker 运行环境;


其次,在执行模块,Agent 会分别执行拆解的事项,也就是去调用各种工具;


最后,在观察模块,Agent 会对每一步的执行结果做观测,如果 check 完毕没问题,就给到用户最终的答案。如果觉得有问题,比如执行的过程中出现了 Timeout 之类的错误,就会做一些 Retry 的操作。如果 Retry 次数超过了最大重试次数,这时候就可能会把这个进程 Kill 掉,然后重新进入规划模块重新规划。


在这三个模块或者说能力中,最重要的当属规划模块!


大模型和程序员的关系


目前 ChatGPT 对程序员到底有哪些实质性的帮助?


第一点:Code Review

ChatGPT 能够理解代码,并针对代码给出针对性的建议和优化方案;


第二点:写测试用例、单元测试、集成测试等,这些 ChatGPT 都很擅长!


第三点:对线上问题的定位和分析

线上问题的各种疑难杂症,ChatGPT 都能胜任!


第四点:SQL 的翻译

实现两种数据库的 SQL 语言转换,比如将 Oracle 的 SQL 脚本转换成 MySQL 的 SQL 脚本。


有了 AI 编程,还需要程序员吗?


第一,在冯诺依曼架构体系下,程序需要的是确定性计算


第二,由于大模型本身的概率性,目前大模型生成的代码还具备一定的随意性和不确定性


第三,目前大模型更擅长的是一些抽象层次比较低的工作,比如一段代码或一个算法的实现,写一个单元测试等等。而一些抽象层次比较高的工作,比如需求分析、架构设计、领域设计、架构选型等,这些工作反而是大模型不擅长的,而这些工作是比较具备有竞争力的,这恰恰是一些高级程序员以及系统架构师的价值所在。


应用实践 AIGC 有几层境界?


第一层境界:简单对话;

通过 ctrl-c/v 出结果,人人都会。


第二层境界:系统掌握 Prompt Engineering;

通过系统掌握好提示词工程,真正赋能工作提效。

目前,Edison 还处于这一层。


第三层境界:将 AIGC 融入业务流程,指挥 AIGC 完成复杂的任务;

通过掌握 AIGC 的技能,并完成业务领域知识的深入结合。


第四层境界:拥有自己的大模型;

熟悉大模型的架构原理,通过开源大模型微调,最好能够拥有一定的行业数据壁垒。


第五层境界:参与设计训练大模型;

比如从事 ChatGPT 等研发工作。


如何掌握 AI 大模型开发技能?


第一步:掌握开发 AGI 时代新应用程序的技能;

比如:大模型应用内核、LangChain 开发框架、向量数据库等;


第二步:搞定开发企业级 AI Agent 的应用技能;

比如:AI Agent、大模型缓存、算力等;


第三步:驾驭开发企业级专有大模型的技能;

比如:RAG、微调等;


第四步:深入应用大模型技术成为开发大师;

比如:大模型预训练、LLMOps 等。


文章转载自:EdisonZhou

原文链接:https://www.cnblogs.com/edisonchou/p/-/llm-study-notes

体验地址:http://www.jnpfsoft.com/?from=infoq

用户头像

还未添加个人签名 2023-06-19 加入

还未添加个人简介

评论

发布
暂无评论
LLM大模型基础知识学习总结_大模型_快乐非自愿限量之名_InfoQ写作社区