学习文章:人人都能看懂的chatGpt原理课
笔记作为学习用,侵删
Chatgpt是一个语言模型
语言模型是什么?
所谓语言模型,就是由计算机来实现类似于人的语言交流、对话、叙述能力
,它集中体现在模型能够依赖上下文进行正确的文字输出
(模型能 依赖上下文,进行正确的文字输出)
比如:请补全这条语句:掘金社区是一个便捷的技术交流____
可以填网站,也可以填平台,空格处要填什么字,填几个汉字,是根据空格周围的上下文
来决定的。能够正确根据上下文在空格处填入恰当
的文字,表明其语言能力强
,否则表示语言能力弱
。
把上述这些预测空格内容的问题交给计算机建模来完成,就实现了语言模型的训练
语言模型就是由上述的方式来进行训练的。
Chatgpt如何处理文字输入的
chatgpt的输入输出,就是将文字输入进模型,再由模型预测出文字,本质就是一个文字接龙
的语言模型。
而文字进入模型前,需要经过一个转换,转成gpt能理解的形式,在计算处理后,再将结果转换回文字。这种转换包括两个步骤Tokenizer
和Embedding
文字->Tokenizer->Embedding->chatgpt...
Tokenizer
例如,用户提问了一条文本,文字(带标点和各种特殊符号)共有 50 个字符,但耗费了 30 个 token,ChatGPT 根据输入生成一条回答,总计 200 个 token,逆转换为文字总共 300 个字,那么用户一共消费的 token 数就是 30+200=230 个。那什么是 token 呢?
token 是任何 NLP 神经网络 模型接收用户输入的最小粒度
。 token 本身就是一些字符的组合,如英文单词#cat、中文词汇鞋子、英文词缀ly、中文汉字珂等,都可以看作是一个 token。
将用户输入的文本转为token,就是Tokenizer
Tokenizer 算法 BPE 执行流程
Tokenizer目前最流行的方法就是字符对编码 BPE(Byte Pair Encoding) 算法
,BPE算法,根据一份token此表,将输入的文本拆解成若干个token,每个token都存在于词表。