什么是AIGC
AIGC的中文名字是 生成式人工智能,让机器产生复杂有结构的物件。
AIGC底层技术
文字接龙
原本的目标:“中国的首都是哪个城市?北京”
拆分成一连串的文字接龙(分类问题):
- 中国的首都是哪个城市?北
- 中国的首都是哪个城市?北京
- 中国的首都是哪个城市?北京[DONE]
通过大量的问题训练,模型可以自动做到文字接龙。文字接龙训练分成三个阶段。
阶段一:PreTraining
知识分为语言知识、世界知识。我们不可能提前准备所有知识的对话,因此使用了一种Self-supervised Learning (自督導式學習)。
从互联网或其它地方拿到各种资料,自动根据每一句话中各个字词的前后顺序,计算出概率。
GPT1、GPT2、GPT3、PaLM 都是这个阶段的产物。
这个阶段训练后的基座模型,不能好好的回答问题。因为其实你也没有这样教它……
阶段二:Instruction Fine-tuning
使用人工标注资料,进行训练。
如果不经过第一阶段,而直接使用大量人力 提供 标注资料进行直接训练,可以吗?理论上可以,但实际上行不通。因为人力很贵,无法提供太多的资料…… 关键是使用第一阶段训练后的参数,作为初始参数。这也是为什么Meta的llama模型泄露之后,疯狂涌现羊驼大模型系统。
根据用户使用时提问的问题,由专家标注结果,然后进行训练。
阶段三:RLHM
用户和AI聊天后,对AI的回复打分:赞同、反对。
通过大量的用户回馈,建立回馈模型,向虚拟的人类学习,模仿人类喜好!
Instruction Fine-tuning vs RLHM
内容 | 侧重点 | |
Instruction Fine-tuning | 人类提供答案,比较辛苦 | 只问过程,不问结果 |
RLHM | 人类判断答案好坏,比较轻松 | 只问结果,不问过程 |
角度 | Instruction Fine-tuning | RLHF |
从人类产生训练资料的角度来看 | 人类提供答案,比较辛苦 | 人类判断答案好坏,比较轻松 |
从模型学习的角度来看 | 模型要学的就是怎么接下一个字 | 模型进入新的「思考模式」 |
假设每次接龙都是对的,生成结果就会好 | 不管中间接龙的每一步如何,只管最终的结果 | |
对于生成结果沒有通盘考量 | 学习对生成结果做通盘考量 | |
只问过程,不问结果 | 只问结果,不问过程 |
其它说明
Token
AIGC需要支持世界上多种语言,而每种语言是有不同的特点的:
- 中文的世界里以汉字为基础的,汉字是有限的,已经停止创造新的汉字。
- 英文的世界里,是以单词为基础的,英语单词的数量无限膨胀,随着新知识、技术创造新的单词。
因此,使用Token进行文字接龙。
- 在英文世界里,token是一个单词的组成部分。例如:hello是由he、ello两个token组成。
- 在中文世界里,token可以是一个汉字组成。也可以是词……