一、AIGC和生成式AI的概念
1-1、AIGC
Al Generated Content:AI生成内容
1-2、生成式AI:generative ai
AIGC是生成式 AI 技术在内容创作领域的具体应用成果。
目前有许多知名的生成式 AI:
文本生成领域
- OpenAI GPT 系列
- 百度文心一言
- 阿里通义千问
图像生成领域
- Midjourney
- StableDiffusion
- DALL - E 2
代码生成领域
- GitHub Copilot(由 GitHub 和 OpenAI 合作开发)
- CodeGeeX(由字节跳动研发的代码生成模型)
生成式AI是深度学习的一种应用。
二、AI人工智能的子领域
2-1、机器学习
不需要人类做显示编程、让计算机通过算法,自行学习和改进,通过数据和经验来改善自身性能,自动从数据中学习模式和规律,并利用这些规律进行预测和决策。
机器学习的分支:
- 监督学习;
- 无监督学习;
- 强化学习。
1、监督学习
监督学习是指利用一组带有标签(即已知输出结果)的数据来训练模型,让模型学习输入数据和对应标签之间的映射关系。训练完成后,模型就可以对新的、未知的数据进行预测,输出对应的标签。
监督学习的工作模式:你拿着一个苹果和一个香蕉,告诉孩子:“这是苹果,它的形状是圆的,颜色通常是红色或绿色;这是香蕉,它的形状是长条形,颜色通常是黄色。”孩子会学习到特征与类别的对应关系,预测出新拿出的水果是苹果还是香蕉。
在监督学习中,机器学习算法会接受有标签(期望的输出值)的训练数据。每个训练数据点都既包括:输入特征、期望的出数值;
算法的学习目标是学习输入和输出之间的映射关系,从而在给定新的输入特征后能够准确预测出相应的输出值。
经典的监督学习任务:分类、回归(对数值进行预测)
2、无监督学习
算法的任务是自主的发现数据里的模式和规律。
无监督学习的工作模式:你让孩子观察一堆水果,没有直接告诉他每一个水果的名称,而是鼓励他自己找出如何根据形状,颜色等属性将这些水果分组的方法。
经典的无监督学习任务:聚类(把数据进行分组)
在机器学习中,监督学习与无监督学习都需要你明确地告诉机器(或者说孩子)数据的特征(形状与颜色)是什么。
监督学习需要在机器进行学习时,人为提供数据对象的类别(如苹果或香蕉),而无监督学习一般没有预设的类别标识,通过机器自动学习数据的分布并将相似的数据对象归为同类(如红色圆形是苹果)。
3、强化学习
聚焦于智能体(Agent)如何在环境中通过与环境进行交互,不断尝试和学习,以最大化累积奖励。
强化学习模拟了人类和动物通过试错来学习的过程。在强化学习的框架中,智能体处于一个特定的环境中,它会根据当前环境的状态做出一个动作,环境会因为智能体的动作而发生改变,同时给予智能体一个奖励信号,智能体的目标是通过不断地与环境交互,学习到一个最优的策略,使得长期累积的奖励最大化。
强化学习的工作模式为:你不会直接教孩子苹果和香蕉的区别,而是每次展示一个水果让他进行判断。如果他判断正确,就给他一个奖励(比如一块糖果);如果判断错误,则不给奖励。通过反复尝试和反馈,孩子会通过这种奖励机制逐渐学习到如何更准确地判断苹果和香蕉。这种学习过程中的关键在于孩子需要在探索新的判断方法和利用已有经验之间找到平衡,以最大化获得奖励的次数。
应用场景
- 游戏领域:如 AlphaGo 通过强化学习击败人类顶级围棋选手,以及各种电子游戏中的智能对手。
- 机器人控制:使机器人学会完成各种任务,如机器人的导航、抓取物体、行走等。
- 自动驾驶:让车辆学习在不同的交通场景下做出最优的驾驶决策。
- 金融领域:用于投资组合管理、交易策略优化等。
- 资源管理:如数据中心的资源分配、能源管理系统中的能源调度等。
4、深度学习
深度学习是机器学习的一个方法,模拟人类大脑的神经网络结构和功能,让计算机自动从大量数据中学习复杂的模式和特征,以实现对数据的理解、分类、预测和生成等任务。
深度学习的核心基于人工神经网络,特别是深度神经网络(DNN)。
深度学习,使用人工神经网络,模仿人脑处理信息的方式,通过层次化的方法,提取和表示数据的特征。
神经网络是由许多基本的计算和储存单元组成,这些单元被称为神经元。这些神经元通过层层连接来处理数据,所以,深度学习模型通常由许多层。
神经网络可以用于:监督学习、无监督学习、强化学习。
三、大语言模型LLM:Large Language Model
深度学习的应用,专门用于进行自然语言处理任务。
大语言模型是基于海量文本数据进行训练的人工智能模型,它具有强大的语言理解和生成能力,能够处理各种自然语言任务,如文本生成、问答系统、机器翻译、摘要提取等。这些模型通常具有数十亿甚至数万亿的参数,通过学习大量文本中的语言模式、语义信息和知识,来实现对自然语言的有效处理。
大语言模型的例子:
-
OpenAI GPT 系
-
谷歌 PaLM
-
百度文心一言
-
深言科技 DeepSeek 系列
-
DeepSeek - LLM:具备广泛的知识覆盖和强大的语言理解与生成能力。在多个权威评测中表现优异,例如在 MMLU 评测基准中,DeepSeek - LLM 67B 模型取得了较高的分数,超过了 GPT - 3.5 Turbo。
-
DeepSeek - Coder:专注于代码领域,在代码理解和生成方面表现突出。在 HumanEval 代码生成评测集上,DeepSeek - Coder 67B 模型达到了较高的通过率,超越了其他开源模型。
-
-
清华 ChatGLM 系列
大语言模型的应用场景:
大语言模型,首先需要通过大量文本,进行无监督学习。
大模型的大指:训练数据大、参数大!
大语言模型的技术里程碑:
2017年,谷歌团队在论文《Attention Is All You Need》中提出的 Transformer 架构
3-1、RNN:Recurrent Neural Network循环神经网络
在 Transformer 架构提出之前,语言模型的主流架构是RNN模型。
RNN按照顺序逐字处理,每一步的输出取决于先前的隐藏状态和当前的输入,而且要等上一个步骤完成后才能进行当前计算。
缺点:
1、无法并行计算,训练效率低
2、RNN不擅长处理长序列,即长文本。
词之间的距离越远,前面对后面的影响越弱!所以它难以有效捕获到长距离的语义关系。
3-2、Transformer 架构
特点:
1、自注意力机制(解决:RNN不擅长处理长序列的问题)
2、位置编码(词在句子中的顺序)
LLM的技术原理:
预测出现概率最高的下一个词来实现文本生成。
1、编码器:
编码器将输入的文本token化——>向量嵌入——>对向量位置编码——>多头自注意力层
多头自注意力机制:计算自注意力权重
2、解码器
token表示传给解码器,文本经过嵌入层,位置编码——>带掩码的多头自注意力层
带掩码的多头自注意力层:
解码器本质上是在猜下一个最可能得输出,输出是否符合客观事实,模型无从得知,所以模型会一本正经的胡说八道。
【小结】:
编码器用来理解和表示输出序列;解码器用来生成输出序列。
四、炼成ChatGPT
1、通过大量文本,进行无监督学习预训练,得到一个能进行文本生成的基座模型;
基座模型并不等同于chatGPT背后的对话模型,此时模型有预测下一个token的能力,会根据上文补充文本,但并不擅长对话。
给出一个问题,会模拟生成更多的问题,但是并不回答问题。
2、通过人类撰写的高质量对话数据,对基座模型监督微调,得到微调后的模型。
微调后的模型叫:SFT模型,擅长对问题进行回答。
3、用问题和多个对应回答的数据,让人类标注员对回答进行质量排序,基于这些数据,训练出一个能对回答进行评分预测的奖励模型。
3、让第二步得到的微调基座模型对问题生成回答,用奖励模型对回答评分,利用评分作为反馈,进行强化学习训练。
五、调教ChatGPT
提示工程:研究如何提高和AI的沟通质量及效率。核心关注提示的开发和优化。
聊天助手的局限性:
1、对于不了解的内容,会一本正经的胡说八道;
2、没有反思能力
5-1、小样本提示
给出小样本问答的示例,AI会一方面记忆哪些知识点,一方面向示范格式一样模仿回应。
5-2、思维链
AI不适合做数学相关的问题! 小样本提示没什么帮助!
给AI的小样本提示里,不仅包含正确的结果,也展示中间的推理步骤,AI在生成回答的时候,也会模仿着去生成中间的推理步骤,把过程分解。
5-3、分步骤思考
不用思维链,在问题后面加一句,让我们分布思考!
六、武装ChatGPT
LLM模型的短板:
借助外部的工具和数据,把AI武装起来。
6-1、RAG
LLM模型所拥有的知识,收到训练数据的影响,所以,对于小众细分领域+公司私密文档,LLM模型并不知道对应的知识。
解决方式:提供外部文档,让模型访问外部知识库。获得实时且正确的数据。
RAG有利于搭建企业知识库或个人知识库。
chatGPT的一些插件就是针对RAG架构的。
若是会使用GPT的API,还可以用代码实现自己的索引增强生成。——大语言模型的应用开发
6-2、PAL
LLM模型不能用作计算器,不能计算,只是生成下一个可能出现的token回答。
缺点:AI作为网店客服,会计算错订单总额。
解决:不让AI直接生成计算结果,而是借助其他善于做计算的工具,如:Python解释器。
此时,我们给AI的要求就是,在设计计算步骤时,生成得到计算结果所需的代码+思维链,在小样本提示中,写出解决问题所需的变量赋值、数学运算等代码,让模型照猫画虎。
将AI返回的回答给到Python解释器,让Python解释器执行并返回计算的结果,结果再给回到AI。
ChatGPT的Advanced Data Analysis功能,可以被看成PAL的一个示例。
6-3、ReAct
知识截断:
LLM模型所了解的知识,收到训练数据日期的影响。但是,重新训练模型成本很高!
解决:AI对不了解的知识上网搜索,把找到的答案告诉我们。——ReAct模型
让模型动态推理,并采取行动与外界环境互动。+思维链
用小样本提示展示推理与行动结合的框架。
针对问题,拆分步骤:每个步骤:推理+行动+观察。
Action:AI模型所支持的任何行动,不仅是网页搜索。
要把不同外部数据和工具为模型所用,用代码实现,可以借助LangChain框架。帮助简化构建大语言模型应用程序的流程。——大语言模型开发