深度解读 ChatGPT基本原理( 二 )


2.2、用深度神经网络解决 NLP 问题
深度神经网络是怎么解决这种自然语言处理实际问题的呢,深度神经网路其实是由很多层组成的,每一层都有很多神经元,也就是节点,每个节点都有一系列参数,数据输入模型的时候,这些节点就通过这些参数对自然语言处理的数据进行运算,其实从输入空间到输出空间都有对应的函数和一个映射 。

深度解读 ChatGPT基本原理

文章插图
比如我们要做微博的情感分类任务,每条微博200字,我们就需要把200字转化为200个token输入进去,那输入序列就是200维,然后经过神经网络所代表的函数、经过参数的计算,最后给你输出一个二维的结果,比如0或者1,0就代表博主的情绪比较负面,1代表博主的情绪是正面的,这就是一个典型的NLP分类任务 。
其实整个机器学习就是把它抽象出来变成一个函数的形式,我们去理解深度神经网络也不会那么复杂 。
2.3、大型预训练网络2021
从早起的预训练网络ELMo开始到2021年左右,这个时期的预训练网络发展历程,可以看到预训练网络越来越大,从初代的GPT、初代的BERT到后面的、BART、T5一个清晰的趋势就是模型变得越来越大,参数越来越多,它所训练的语料库也就越来越大 。
比如BERT就是基于来训练的,后面的模型就又收录了更多的公开的书籍、网络上的一些文本、语料变得越来越庞大,它的知识库也就越来越大,这是一个很典型的趋势 。
2.4、大型预训练网络 As of Dec 2022
截止到2022年12月,此刻的预训练大模型就已经非常庞大了,所基于的GPT-3模型,它有1750亿个参数,在整个大语言模型的生态中,它还不算事最大的模型,但它的效果可能超过其它更大的模型 。
2.5、 架构
架构是所有预训练语言模型的基础,它是自然语言处理的神经网络,当然,架构现在已经延展到了CV和其它领域,很多处理自然语言处理之外的问题,也都采取了架构来解决 。
它最早是由在 2017 年提出,它的目的就是解决传统训练模型,就是循环神经网络中存在的效率问题和并行计算问题 。因为模型使用了自注意力机制(self-)来捕捉输入序列的上下文关系,所以它就使得每个词都能够建立和整个序列其它词之间的连接,从而它就可以有效的捕捉文本中的长距离依赖关系,它不需要像RNN这样来循环的一直去用递归的方式回访过去的数据,所以它跟传统的神经网络相比,它快,它不需要一个词接一个词地处理,它是做整体的并行处理,所以它在训练速度和上下文捕捉这种性能方面的表现都更加优秀 。
另外一点就是,架构它还可以通过堆叠多个层来构建深度学习模型,所以它也是一种深度学习模型,它能够堆叠,所以它就能够不断的来扩大规模,进一步提高模型的性能,现在最新的研究表示,模型越大,它就越有可能出现更多的涌现能力(不知道什么能力就突然被解锁了),就好比今天这个模型还不能对话,随着模型的参数越来越大,层数越来越多的时候,它突然可能就拥有了和你流畅对话的能力,这是一个很不可思议的事情 。
所以,现在模型在NLP任务中已经全面取代了RNN为代表的循环神经网络模型,循环神经网络模型在实际的应用中,以后就不多了 。
2.6、:序列到序列
本身是一种序列到序列的架构,在架构中,输入的序列会被深度神经网络处理产生一个输出的文本序列,比如机器翻译、聊天机器人就是很典型的场景 。
序列到序列有两个结构,一个是编码器,一个是解码器,其中编码器负责将输入序列编码成一个固定长度的向量表示,然后解码器需要负责把这个向量再生成对应的输出序列,在一个中,输入序列通常就是用户的提问,输出序列就是的回答或者响应了,这其实就是一个把编码给逐渐解码,然后形成我们最后所需要的答案的一个过程 。