欢迎光临散文网 会员登陆 & 注册

ChatGPT通俗讲义一

2023-03-16 20:16 作者:wW达也  | 我要投稿

阅读本文前需要理解几个名词:

自然语言:通常是指一种自然地随文化演化的语言。例如,汉语、英语、日语都是自然语言的例子,这一种用法可见于自然语言处理一词中。自然语言是人类交流和思维的主要工具。 自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的,也是各国人表达的方法其中之一。

AI语言模型:将自然语言通过技术手段转化为机器能够理解的数字语言,并使得机器能够学习到预研中表达的语义的模型。


作为本科和研究生阶段一直学习AI的学生来说,对其一直都有很浓厚的兴趣,今天有机会就来通俗的聊聊自己对ChatGPT的理解。

ChatGPT目前可以说是在全世界最火的人工智能模型之一,它是由名人工智能研究机构OpenAI于2022年11月30日发布的一个大型语言预训练模型。他的核心在于能够在理解人类的自然语言的逻辑基础上,并能实现使用贴近人类语言风格的方式进行输出回复的功能。

模型开放使用以来,在人工智能领域引起了巨大的轰动,也成功火出了技术圈。从数据上看,ChatGPT用户数在5天内就达到了100万,2个月就达到了1亿;另外,在很多非人工智能领域,已经有机构在尝试用ChatGPT去做一些智能生成的事。

本文通过以下几个部分来大概讲讲自己对ChatGPT的了解:

1、ChatGPT是什么

2、ChatGPT的核心要素

3、ChatGPT能做什么

4、ChatGPT不能什么

一、ChatGPT是什么

ChatGPT是一个大型语言预训练模型(即Large Language Model,LLM)。LLM是指需要利用大量文本数据来训练的语言模型,这种模型可以学习出语言关联性,能够理解文章的上下文信息并抽取保存。下图展示了LLM在模型参数量和学习数据量上的训练结果情况,其中数据量图例展示的是模型在预训练过程中会吃到的token数量,对于中文来说一个token就相当于一个中文字符,其中图例引用文章《The Promise and Perils of Large Language Models》。从图中我们可以看到语言模型的参数量和数据量会朝着越来越大的方向发展。


TSV Analysis Based on Blog Post from HuggingFace, 2021
tokens seen during training

为什么语言模型的参数量和数据量会朝着越来越大的方向发展呢?在早些时间的一些研究已经证明,随着参数量和训练数据量的增大,语言模型的能力会随着参数量的指数增长而线性增长,这种现象被称为Scaling Law。但是在2022年之后,随着进来对大模型的深入研究,人们发现当模型的参数量大于一定程度的时候,模型能力会突然暴涨,模型会突然拥有一些突变能力(Emergent Ability),如推理能力、零样本学习能力等。

ChatGPT真正强大的地方在于他除了能够充分理解我们人类的问题需求外,还能够用流畅的自然语言进行应答,这是以前的语言模型不能实现的。下面,本文将ChatGPT一分为二,分别从GPT和Chat两个维度来介绍ChatGPT的机理。值得说明的是:当前OpenAI并未放出ChatGPT相关的训练细节和论文,也没有开源代码,只能从其技术BLOG上获取其大致的训练框架和步骤。

GPT

GPT全称Generative Pre-training Transformer,由Google在2018年提出的一种预训练语言模型。他的核心是一个Transformer结构,主要基于注意力机制来建模序列中不同位置之间的关联关系,最后可用于处理序列生成的任务。通过使用大量的文本数据,GPT可以生成各种各样的文本,包括对话、新闻报道、小说等等。上面提到了很多次语言模型,这里简单给出语言模型主要的涵义:

给定已知的token序列N_t(对中文来说是字符,对英文来说可能是单词或者词根),通过语言模型来预测t+1位置上的token是什么。实际上模型输出的是所有token在t+1位置上的概率向量,然后根据概率最大的准则选择token。大家在使用ChatGPT的时候,一定有发现机器人在生成回复的时候是一个字一个字的顺序,背后的机制就是来自于这边。

对语言模型来说,可能大家之前更熟悉的是BERT,BERT是Google在2018年发布的一种双向语言模型,发布后,其在不同语言理解类任务(如文本分类,信息抽取,文本相似度建模)中都达到了当期时间节点的最好效果。BERT与上述语言模型的机理有所不同,其训练任务相当于让模型去做完形填空任务(官方称为Masked Language Model任务,下文简称MLM),并不是遵循文本一个接一个预测的顺序,其模型机制与人类沟通表达的习惯不太符合。图中左半部分是BERT的示意图,右半部是GPT的示意图,Trm为一个Transformer模型组件,E为输入的token序列,T为模型生成的token序列。其中,实线部分为该位置的Trm能够看到哪些其他位置token的上下文知识。可以看到,对于BERT来说,每个位置上的Trm都能看到任意位置的上下文知识,因此其在具体的自然语言理解任务上会有不错的效果。而GPT则是遵循传统语言模型的模式,例如index=1位置的Trm是无法看到index>1的知识的,因此它在自然语言理解任务上的效果不如BERT,但是在生成任务上会更符合人类的直觉。业界把BERT中的MLM模式称为自编码形式(auto-encoding),把GPT的模式称为自回归形式(auto-regressive)。

大家从BERT和GPT的对比中可以看到,BERT在语言理解上似乎更具优势,那为何现在ChatGPT的模型基座是GPT呢?这就涉及到最近两年逐渐清晰的NLP任务大一统趋势了。

NLP任务大一统

基于MLM训练范式得到的BERT模型虽然在很多语言理解类任务上有不错的效果下游任务,之后整个业界在处理NLP任务的时候通常会遵循预训练模型→下游任务finetune的流程:


这种方式与传统的training from scratch相比,对下游任务数据的需求量更少,得到的效果也更优。不过,上述方式还是存在一些问题:

  1. 处理一个新的任务就需要标注新的语料,对语料的需求比较大,之前已经做过的任务语料无法高效利用。即使是信息抽取下面的不同任务(如实体识别和关系抽取两个任务)也无法通用化。

  2. 处理一个新的任务需要针对任务特性设计整体模型方案,虽然BERT模型的底座已经确定,但还是需要一定的设计工作量。例如文本分类的任务和信息抽取的任务的模型方案就完全不同。

对于要走向通用人工智能方向的人类来说,这种范式很难达到通用,对每个不同任务都用单独的模型方案和数据来训练显然也是低效的。因此,为了让一个模型能够尽量涵盖更多的任务,业界尝试了几种不同的路径来实现这个目标。

  • 对BERT中的MLM进行改造,如引入一些特殊的Mask机制,使其能够同时支持多种不同任务,典型的模型如UniLM(https://arxiv.org/abs/1905.03197)

  • 引入额外的Decoder,将BERT优化改造成能做生成式的模型,典型的工作有BART(arxiv.org/abs/1910.1346),T5(arxiv.org/pdf/1910.1068),百度的UIE(将任务设计生成text-to-structure的形式实现信息抽取的大一统 )。我对T5比较熟悉,之前也写过相关的分析,这个工作算是比较早地尝试将不同任务通过文本生成的方式进行大一统。如图所示,T5训练时直接输入了不同下游NLP任务的标注数据,通过在原始文本的前端添加任务的提示文本,来让模型学习不同任务的特性。如翻译任务可以是”translate English to German”,分类任务可以是跟具体分类目标有关如”cola sentence”,也可以是一种摘要任务”summarize”。

怎么样,是不是觉得跟ChatGPT的模式有相似的地方?

这种方式可以同时利用多种NLP任务相关的公开数据集,一下子就把预训练任务从语言模型扩展到了更多任务类型中,增强了模型的通用性以及对下游任务的理解能力。


  • 除了上面两种方式外,还有其他改造BERT的方法就不穷举了,如苏神通过Gibbs采样来实现BERT模型的文本生成等。(kexue.fm/archives/8119

虽然有很多大一统的路径,但是OpenAI一直坚持着GPT的方向不断演化着,2019年他们发布了GPT2,这个模型相对于GPT来说,主要是扩大了参数量,扩大了训练语料,在构建语料的时候隐式地包含了multitask或者multidomain的特质,最后在二阶段验证模型的时候并不是直接做有监督的finetune,而是继续用下游数据做无监督的训练,最后的效果居然还不错,证明了只要模型够大,就能学到足够的知识用于处理一些下游任务。从它的论文名字就可以看出来与其核心思想:Language models are unsupervised multitask learners 。不过彼时,BERT及其各种变种在领域中的应用还是更广的,真正让GPT系列模型惊艳众人的工作还是要数2020年发布的GPT-3模型。(arxiv.org/abs/2005.1416

引用内容:

https://baike.baidu.com/item/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80/4146019?fr=aladdin

https://www.vinayiyengar.com/2022/08/04/the-promise-and-perils-of-large-language-models/

https://web.stanford.edu/class/cs224n/slides/cs224n-2023-lecture11-prompting-rlhf.pdf


ChatGPT通俗讲义一的评论 (共 条)

分享到微博请遵守国家法律