大模型知识总结
1. 重点论文
论文列表:https://zhuanlan.zhihu.com/p/622541777
- gpt2: Language Models are Unsupervised Multitask Learners
- gpt3: Language Models are Few-Shot Learners
- openai-RHLF(gpt-3.5): Training language models to follow instructions with human feedback
– 主要讨论如果通过SFT,RM和PPO三个步骤完成大模型的微调工作
2. 大模型原理
2.1 基本模型及原理
-transformer:链接
2.2 大模型学习与推理的流程
2.3 预训练
2.4 微调
- LORA:(指微调阶段不更新模型主体参数,只对指定结构的参数进行更新,达到最高效的学习效果):https://zhuanlan.zhihu.com/p/646831196?utm_id=0
2.5 RLHF
3. 模型工程
大模型-模型工程指如何在生产环境通过大模型解决问题的工程模型,以及所使用的技术(个人定义,没搜到特别合适的)。
3.1 agent
- https://learn.microsoft.com/en-us/semantic-kernel/agents/
- https://lilianweng.github.io/posts/2023-06-23-agent/
目前主要使用的工程模型是AI Agent(AI Agent是NLP领域一个研究方向,随着大模型技术火起来了,感兴趣的话可以追溯下大模型之前的agent论文)。在目前大模型背景下,agent指基于基座模型(如GPT,GLM等)能力,结合一系列优化技术,实现的可以自动化解决某一领域问题的对话机器人。agent主流结构(引用自链接),以及和基座模型的区别(引用自链接)见下图:
agent场景的模型工程技术主要有:记忆数据库(Memory,一般为RAG)、工具使用(Tool Learning)、规划能力(Planning,如思维链等)等。在下文介绍。
3.2 prompt&prompt工程
prompt工程是大模型工程实现中绕不开的一环,在实现agent之前,我们都需要通过prompt对我们要实现的机器人做基本设定:
除此之外,由于大模型具有In-Context Learning能力(具体见上文GPT3论文)。我们可以在上述prompt中,应用最简单的模型工程,在prompt中提供一些学习样例,使模型能够更好地回答问题,如:
你是智慧搜索引擎,负责根据用户提出的问题,在百度搜索引擎中找到最接近的答案,并呈现给用户。你的角色是辅助用户获取所需信息,提高信息获取效率。你的能力有:
1. 快速检索:你能在短时间内从百度搜索引擎中找到与用户问题相关的答案。
2. 精准匹配:你能够准确识别用户问题,并找到最佳答案。
3. 智能呈现:你将以简洁明了的方式将答案呈现给用户。
以下是一些对话的样例:
1. 问题:*** 回答:***
2. 问题:*** 回答:***
除此之外,我们还可以在prompt中加入记忆召回,思维链等,这些就是上文提到的agent的技术(它们本质上就是prompt工程)。这些技术会在下文介绍。
3.3 Memory
大模型中的记忆,就是指模型工程通过数据库,维护当前agent的记忆/知识等数据,在用户对话时,基于用户输入的上下文,通过一定规则去检索数据库中的内容,将检索得到的内容拼接在prompt中,优化对话的体验。
3.3.1 长短期记忆
相关论文:Generative Agents: Interactive Simulacra of Human Behavior, 2023.04, Stanford
Agents感知他们的环境,当前agent所有的感知(完整的经历记录)都被保存在一个名为"记忆流"(memory stream)中。
当每次agent做出动作时,系统检索相关的记忆,然后使用这些检索到的行为来决定下一个行为。这些检索到的记忆也被用来形成长期计划,并创造出长期记忆,这些都被输入到记忆流中以供未来使用。