第1章 基础知识——大语言模型背后
RLHF(reinforcement learning from human feedback,从人类反馈中强化学习)是ChatGPT的神兵利器,有此利刃,ChatGPT所向披靡。
1.1 自然语言背景
1.1.1 语言是智能的标志
1.1.2 从图灵测试到ChatGPT
1.1.1 语言是智能的标志
1.1.2 从图灵测试到ChatGPT
图灵测试”(即模仿游戏)
1954年,IBM实现了世界上第一个机器翻译系统——将俄语翻译成英语
2011年,苹果公司推出了Siri——一种基于NLP技术的智能语音助手
2013年,谷歌公司推出了Word2Vec——一种基于神经网络的词向量表示方法,开启了NLP领域的深度学习时代。
2017年,谷歌公司Attention is All You Need, Transformer
2018年,谷歌公司发布了BERT(bidirectional encoder representations from transformers,基于Transformer的双向编码器表示)预训练模型
1.2 语言模型基础
1.2.1 最小语义单位Token与Embedding
将自然语言文本表示成计算机所能识别的数字。对于一段文本来说,要做的首先就是把它变成一个个Token。你可以将Token理解为一小块,可以是一个字,也可以是两个字的词,或三个字的词。
词表
如果只用26个英文字母,虽然词表很小(加上各种符号可能也就100来个),但粒度太细,每个Token(即每个字母)几乎没法表示语义;如果用词,这个粒度又有点太大,词表很难涵盖所有词。而子词可以同时兼顾词表大小和语义表示,是一种折中的做法。中文稍微简单一些,就是字+词,
当句子能够表示成一个个Token时,我们就可以用数字来表示这个句子了,最简单的方法就是将每个Token用一个数字来表示,但考虑这个数字的大小其实和Token本身没有关系,这种单调的表达方式其实只是一种字面量的转换,并不能表示丰富的语言信息。
有一个预先设计好的词表,那么是不是可以用词表中的每个Token是否在句子中出现来表示?如果句子中包含某个Token,对应位置为1,否则为0,这样每句话都可以表示成长度(长度等于词表大小)相同的1和0组成的数组。更进一步地,还可以将“是否出现”改成“频率”以凸显高频词。
事实上,在很长一段时间里,自然语言都是用这种方法表示的,它有个名字,叫作词袋模型(bag of words,BOW)。从名字来看,词袋模型就像一