当前位置: 首页 > news >正文

大语言模型学习笔记-1

1. GPT发展历程

  • GPT-1:通用文本训练+特定任务微调
  • GPT-2/GPT-3:扩大与训练数据和模型参数规模,显著提升模型性能,并确立了基于自然语言形式的通用任务解决路径。
  • GPT-3.5:在GPT-3的基础上,通过代码训练、人类对其、工具使用等技术对模型性能不断升级推出GPT-3.5系列模型
  • GPT-4:全面提升->GPT-4V:拥有多模态功能

1.1 GPT敲重点:

  1. 可拓展的训练架构和学习范式:transformer架构能够拓展到百亿、千亿甚至万亿的参数规模,并且将预训练任务统一为预测下一个单词这一通用学习范式;
  2. 对于数据质量和数据规模的重视:不同于bert时代的预训练语言模型,这次大语言模型的成功与数据有着更为紧密的关系。

2. 语言模型发展历程

  • 统计语言模型(SLM):
    • 使用马尔可夫假设来建立语言序列的预测模型,通常是根据词序列中若干个连续的上下文单词来预测下一个词的出现概率。具有固定上下文长度n的统计语言模型通常被称为n-gram模型。
    • 缺点:随着n的增加,需要估计的转移概率项数呈现指数级增长,会受到“维数灾难”。
    • 缓解数据稀疏:平滑策略:回退估计/古德-图灵估计
  • 神经语言模型(NLM):
    • 使用神经网络来建模文本序列的生成,如RNN
    • word embedding:word2vec
  • 预训练语言模型(PLM):
    • 训练架构和训练数据做了改进和创新
    • ELMo:使用大量的无标注数据训练双向的LSTM,预训练完成的biLSTM可以用来学习上下文感知的单词表示,可以根据下游任务数据对biLSTM网络进行微调,实现特定任务的模型优化。缺点:对长文本建模能力较弱,不容易并行训练。
    • 基于Self-attention的transformer:通过自注意力机制建模长程序列关系。
      • 优点:对硬件友好,可以通过GPU或者TPU进行加速训练,提供可并行优化的神经网络架构。
    • 基于transformer架构,谷歌提出BERT,采用了仅有编码器的transformer架构,并通过在大规模无标注数据上使用专门设计的预训练任务来学习双向语言模型。
    • 同期,基于transformer架构,GPT-1开始训练,
    • bert vs gpt-1:gpt-1采用了仅有解码器的transformer架构,以及基于下一个词元预测的预训练任务进行模型的训练。
    • 编码器 vs 解码器:编码器架构被人为更加适合解决自然语言理解任务,如完形填空,解码器架构更适合解决自然语言生成任务,如文本摘要等。
    • 确立了预训练+微调的范式
  • 大语言模型(LLM):
    • 增加模型参数或数据规模可以带来下游任务模型性能的提升。即扩展法则:scaling law。

    • GPT-3 175B,PaLM:540B, BERT:330M,GPT-2:1.5B

    • GPT-3可以通过上下文学习(ICL)的方式来利用少样本数据解决下游任务,GPT-2不具备这个能力。

    • 特点:

      • 具有较为丰富的世界知识
      • 具有较强的通用任务解决能力
      • 具有较强的复杂任务推理能力
      • 具有较强的人类指令遵循能力
      • 具有较好的人类对齐能力
      • 具有可拓展的工具使用能力

相关文章:

  • 【LLM之RAG】Self-RAG论文阅读笔记
  • 如何对stm32查看IO功能。
  • Android shell 常用 debug 命令
  • 代码整洁之道学习笔记
  • React+TS前台项目实战(一)-- 项目初始化配置及开此系列的初衷
  • 【纯血鸿蒙】——自适应布局如何实现?
  • 电商平台系统||电商|跨境电商项目的搭建都需要哪些电商API接口支撑
  • AI大模型的战场正在分化:通用大模型与垂直大模型你更青睐哪一方?
  • JVM垃圾回收器介绍
  • 图文解析ASN.1中BER编码:结构类型、编码方法、编码实例
  • C语言TC中有⼏个画矩形函数?怎么使⽤?
  • C++中的观察者模式
  • rizhuti1.9-最新版-推荐文章缩略图
  • 【软件安装12】CloudCompare点云工具安装 Ubuntu18.04
  • Windows下对于Qt中带 / 的路径的处理
  • hexo+github搭建个人博客
  • android图片蒙层
  • CSS魔法堂:Absolute Positioning就这个样
  • mysql 数据库四种事务隔离级别
  • Python实现BT种子转化为磁力链接【实战】
  • vue中实现单选
  • vue总结
  • 你不可错过的前端面试题(一)
  • 深入 Nginx 之配置篇
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用docker-compose进行多节点部署
  • 微信小程序:实现悬浮返回和分享按钮
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 终端用户监控:真实用户监控还是模拟监控?
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • const的用法,特别是用在函数前面与后面的区别
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (04)odoo视图操作
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (1)Nginx简介和安装教程
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转)Scala的“=”符号简介
  • (转)一些感悟
  • *Django中的Ajax 纯js的书写样式1
  • .dwp和.webpart的区别
  • .Net - 类的介绍
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .net 简单实现MD5
  • .NET 事件模型教程(二)
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .NET中 MVC 工厂模式浅析
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • @EnableAsync和@Async开始异步任务支持