大语言模型系列-GPT-3


前言

《Language Models are Few-Shot Learners,2020》

前文提到GPT-2进一步提升了模型的zero shot能力,但是在一些任务中仍可能会“胡说”,GTP-3基于此提出了few shot,即预测时给出少量精确案例,提升模型的准确性,同时进一步增大模型。


一、GTP-3的改进

  1. Larger Model: GPT-3将Transformer堆叠的层数从48层增加到96层,每层有96个注意力头,隐层的维度从1600提升至12888,最大模型参数达到1750 亿(175B)。
  2. Larger Dataset:GPT-3 使用了多个数据集,其中最大的是 CommonCrawl,原始未处理的数据达到了 45TB,通过数据清洗工作(LR 分类、去重、加入 BERT、GPT、GPT-2 等数据集),最终得到的数据集大小为570G。
  3. 上下文大小 (context size) :从GPT-2的1024提升到了2048。
  4. 注意力机制:引入了 Sparse Transformer 中的 sparse attention 模块(稀疏注意力)。

ps:
sparse attention 与传统 self-attention(称为 dense attention) 的区别在于:

  • dense attention:每个 token 之间两两计算 attention,复杂度 O(n²)
  • sparse attention:每个 token 只与其他 token 的一个子集计算 attention,复杂度 O(n*logn)
    具体来说,sparse attention 除了相对距离不超过 k 以及相对距离为 k,2k,3k,… 的 token,其他所有 token 的注意力都设为 0,k=2的稀疏注意力如下图所示:
    在这里插入图片描述
    使用 sparse attention 的好处主要有以下两点:
  1. 减少注意力层的计算复杂度,节约显存和耗时,从而能够处理更长的输入序列;
  2. 具有“局部紧密相关和远程稀疏相关”的特性,对于距离较近的上下文关注更多,对于距离较远的上下文关注较少;
  1. few-shot:相比于finetune,可以提升模型表现,且无需大数据集和再训练,需要注意的是表现仍远小于SOTA微调技术,见下图。
    在这里插入图片描述

二、GPT-3的表现

完形填空任务和完成任务:
在这里插入图片描述
问答(QA)任务
在这里插入图片描述
问答(QA)任务和阅读理解(RC)任务

在这里插入图片描述
翻译任务
在这里插入图片描述


总结

虽然 GPT-3 取得了非常亮眼的效果,但仍存在一些问题:

  1. 当生成文本长度较长时会出现各种问题,比如重复生成一段话,前后矛盾,逻辑衔接不好等等;
  2. 模型和结构的局限性,对于某一些任务,比如填空类型的文本任务,使用单向的自回归语言模型确实存在一定的局限性,这时候如果同时考虑上文和下文的话,效果很可能会更好一些;
  3. 预训练语言模型的通病,在训练时,语料中所有的词都被同等看待,对于一些虚词或无意义的词同样需要花费很多计算量去学习,无法区分学习重点
  4. 样本有效性或者利用率过低,训一个模型几乎要把整个互联网上的文本数据全都用起来,这与我们人类学习时所需要的成本存在非常大的差异,这方面也是未来人工智能研究的重点;
  5. 模型到底是在“学习”还是在“记忆”?
  6. 训练和使用成本都太大了
  7. 不可解释性
  8. 模型最终呈现的效果取决于训练数据,这会导致模型会出现各种各样的“偏见”;

相关推荐

  1. GPT-3和自然语言处理的前沿:思考AI模型的发展

    2024-03-11 12:26:07       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 12:26:07       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 12:26:07       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 12:26:07       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 12:26:07       18 阅读

热门阅读

  1. (二)PySpark3:SparkSQL编程

    2024-03-11 12:26:07       22 阅读
  2. Apache Spark 的基本概念和在大数据分析中的应用

    2024-03-11 12:26:07       23 阅读
  3. git push 跟 git push origin master的区别

    2024-03-11 12:26:07       24 阅读
  4. STM32使用定时器驱动电机

    2024-03-11 12:26:07       21 阅读
  5. 开源openGauss数据库中事务管理源码解析

    2024-03-11 12:26:07       21 阅读
  6. egg.js学习记录

    2024-03-11 12:26:07       21 阅读
  7. ChatGPT unable to load conversion原因和解决的方法

    2024-03-11 12:26:07       60 阅读
  8. 数据结构-栈-表达式运算

    2024-03-11 12:26:07       22 阅读
  9. 谈谈Pytorch中的dataset

    2024-03-11 12:26:07       19 阅读