0%

Note for Understanding ChatGPT

1. 怎么产生有意义的文本

核心任务:生成一个合理的延续,生成一个符合人类书写习惯的下一个合理内容,给出每个单词的概率排名

  • 但不是每次都使用概率最高的那一个单词,这样的话会很平淡。可能会导致重复
  • 随机性的引入

2. 概率的计算

从训练文本中,统计字母的出现频率

但如果单纯只是用单个字母概率进行生成,最后的结果是非常随机的,但是如果考虑多个字母的情况,就可以出现有意义的单词

但是有意义的单词连接在一起还是没有产生有意义的句子。类似的,我们可以考虑多个单词的情况,就可以出现有意义的句子

问题是,如果只是用统计的方式来做这样的统计,所需要的文字样本太多,当前互联网上的信息就不够了,所以我们需要更加高效的方式。

3. 模型

3.1. 什么是模型

利用参数达到构建统计学的效果,比如一条二维直线,可以用$y=kx+b$,其中k和b两个参数表示,达到了压缩信息的效果

3.2. 类人的模型

神经网络模型:模型自动选择输入的特征,并计算概率。还有以下特点

  • 通过给定的输入和输出自动调整参数
  • 计算更复杂的问题比简单的问题更容易,因为有很多梯度下降的方向,而不是局部最优
  • 神经网络端到端的训练效果往往比人手工选择特征更好,因为人类特征的选择往往很局限
  • 训练数据集的轻微变化对于模型训练也是非常重要的
  • 无法保证意外不发生, Trade off,一个越是稳定的系统,越不容易做复杂的计算

3.3. 嵌入的概念

上面所提到的,都是对数字进行计算,那人类的文本要怎么表示呢?

用数字表示文字,并且

  • 附近的事物由附近的数字来表示
  • 比如用3542代表’cat’,

为了解决2中所提到的问题,GPT对人类语言文本建立了一个模型

  • 相比于图像,有一点好处:训练样本非常容易获得,只要输入是文本的前一部分,然后给后一部分作为输出就可以了,不需要标注

3.4. ChatGPT

在处理具有特殊的、已知的特殊结构时,不需要全连接

  • 对于图像,卷积神经网络是有效的
  • 对于文本,Transformer引入了Attention的概念,对于文本中值得注意的部分

输入:单词值和单词位置,只是一个有效的方式

训练:

  1. 给大量原始数据,进行初始训练
  2. 和ChatGPT聊天,通过人类的反馈让其提高

4. Takeaway

语言在根本层面是简单的(相比于看起来

我们可以根据ChatGPT的性质去设计更加高效的模型