〇、AIGC
Generative AI(生成式AI) 所生成的内容为 AI Generated Content(AI生成内容)
1、从领域范围排序,由大到小:
AI -> 机器学习 -> 监督学习、无监督学习、强化学习(深度学习是机器学习的一个方法) -> 生成式AI(是深度学习的一种应用,利用神经网络来识别现有内容的模式和结构,学习生成新的内容)-> LLM(Large Language Model)也是深度学习的一种应用,专门用于进行自然语言处理任务
2、并不是所有生成式AI都是大语言模型,所有大语言模型并不都是生成式AI
生成图像的扩散模型不是大语言模型,并不输出文本;
google的BERT模型只能作为大语言模型完成各项NLP任务,但其不是生成式AI。
一、大语言模型
给模型一些文本输出,模型会返回一些文本输出,完成的具体任务包括生成、分类、总结、改写等。
首先需要通过大量文本语料来无监督训练;大模型的大表示 模型参数量巨大。
GPT(Generative Pre-trained Transformer)
二、transformer
《attention is All you need》
三、炼成ChatGpt
分为三步:
- 通过无监督学习预训练,得到一个能进行文本生成的基座模型;
- 通过一些人类撰写的高质量对话数据,对基座模型进行微调,得到一个微调后的模型;
- 用问题和多个对应回答的数据,让人类标注员对回答进行质量排序,然后基于这些排序,训练出一个能对回答进行评分预测的奖励模型,让第二步得到的模型对问题生成回答,用奖励模型给回答进行评分,利用评分作为反馈,进行强化学习训练,得到ChatGPT。
人类标注员打分依据三H原则:Helpful、Honest和Harmless。有用、真实和无害。
四、调教ChatGpt
提示工程(Prompt Engineering)
- 使用小样本提示:
给大模型举几个样例,这样大模型会大概率遵循给出的示范,也就不需要额外给AI提要求,可以让其自行从前面的示范回答中学习;(AI不擅长做数学相关问题) - 思维链:《Chain-of-Thought Prompting Elicits Reasoning in Large Language model》
思维链可以显著提升大语言模型进行复杂推理的能力,特别是在算术、常识和符号推理等任务上;
给大模型的样例中,不仅包含正确的结果,同时,包含得出结果的中间计算步骤,这样模型也会模仿者样例去生成一些中间步骤,把过程进行分解,更易于模型得到正确的结果。 - 即使不使用小样本提示,只是在问题后加一句,"请分步骤来思考",也能提升AI得到正确答案的概率。
五、武装ChatGpt
AI大语言模型虽然博览群书,但是容易编造事实、计算不准确和数据过时等等。
可以借助一些外部工具或数据,把AI武装起来,实现思路包括 RAG(检索增强生成)、PAL(程序辅助语言模型)和ReAct(推理行动结合)。
1. RAG(检索增强生成)retrieval augmented generation
给AI大模型提供外部文档,让其访问外部知识库,获得实时且正确的数据,生成更可靠和准确的回答。
首先将外部文档切分乘一个个段落,每个段落被转化为向量,将向量储存在向量知识库中,当我们提出问题的时候,这个提示也被表示为向量。模型会查找向量数据库中和用户的查询向量最为接近的段落向量,找到之后,将段落信息和用户查询问题组合在一起,传给AI。AI将外部文档的段落作为上下文,给出更严谨的回答。
RAG有利于搭建企业知识库或个人知识库,chatgpt的一些插件是基于RAG架构的。
2. PAL(程序辅助语言模型)Program-Aided Language Models
不需要AI直接生成计算结果,而是借助其他擅长计算的工具,给AI的要求中,涉及计算过程时,AI需要生成得到计算结果所需的代码。例如:ChatGPT的Advanced Data Analysis功能。
3. React (推理行动) Reason Action
大语言模型的局限性:他所了解的知识,即训练数据具有时效性,受到训练数据日期的影响。(知识截断)
最新的知识无法得知,只能编造或者说出过时的信息。
将搜索引擎作为AI可以交互的工具,结合React框架给出回答。
不仅搜索引擎,还有代码解释器,某些应用的API,借助LangChain等框架帮助简化构建大语言模型应用程序的流程。