人工智能大语言模型起源篇(二),从通用语言微调到驾驭LLM

上一篇:《人工智能大语言模型起源篇(一),从哪里开始》

(5)Howard 和 Ruder 于2018年发表的《Universal Language Model Fine-tuning for Text Classification》,https://arxiv.org/abs/1801.06146

这篇论文从历史的角度来看非常有意思。尽管它是在原始的《Attention Is All You Need》变换器发布一年后写的,但它并没有涉及变换器,而是专注于递归神经网络。然而,它仍然值得注意,因为它有效地提出了语言模型的预训练和迁移学习,用于下游任务。

尽管迁移学习在计算机视觉中已经被确立,但在自然语言处理(NLP)中还不普遍。ULMFit 是首批展示预训练语言模型并对其进行微调,从而在许多NLP任务中取得最先进成果的论文之一。

ULMFit 提出的微调语言模型的三阶段过程如下:

1. 在大规模文本语料库上训练语言模型。

2. 在任务特定的数据上微调这个预训练的语言模型,使其能够适应文本的特定风格和词汇。

3. 在任务特定数据上微调分类器,并逐步解冻各层,以避免灾难性遗忘。

这个过程——在大规模语料库上训练语言模型,然后在下游任务上进行微调——是基于变换器的模型和像BERT、GPT-2/3/4、RoBERTa等基础模型所使用的核心方法。

然而,ULMFiT的关键部分——逐步解冻,通常在实践中不会常规进行,尤其是在使用变换器架构时,通常会一次性微调所有层。

来源:https://arxiv.org/abs/1801.06146

(6)Devlin、Chang、Lee 和 Toutanova 于2018年发表的《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》,https://arxiv.org/abs/1810.04805

继原始的变换器架构之后,大型语言模型的研究开始分为两个方向:一种是用于预测建模任务(如文本分类)的编码器风格变换器,另一种是用于生成建模任务(如翻译、总结和其他形式的文本生成)的解码器风格变换器。

上面的BERT论文介绍了掩蔽语言模型(masked-language modeling)和下一句预测(next-sentence prediction)这一原始概念。它仍然是最具影响力的编码器风格架构。如果你对这一研究方向感兴趣,我推荐你进一步了解RoBERTa,它通过去除下一句预测任务,简化了预训练目标。

来源:https://arxiv.org/abs/1810.04805

(7)Radford 和 Narasimhan 于2018年发表的《Improving Language Understanding by Generative Pre-Training》,https://www.semanticscholar.org/paper/Improving-Language-Understanding-by-Generative-Radford-Narasimhan/cd18800a0fe0b668a1cc19f2ec95b5003d0a5035

原始的GPT论文介绍了流行的解码器风格架构,并通过下一个词预测进行预训练。BERT可以被看作是一个双向变换器,因为它的预训练目标是掩蔽语言模型,而GPT是一个单向的、自回归模型。虽然GPT的嵌入也可以用于分类任务,但GPT方法是当今最具影响力的大型语言模型(LLM)的核心,例如ChatGPT。

如果你对这个研究方向感兴趣,我建议你进一步阅读GPT-2 https://www.semanticscholar.org/paper/Language-Models-are-Unsupervised-Multitask-Learners-Radford-Wu/9405cc0d6169988371b2755e573cc28650d14dfe和GPT-3 https://arxiv.org/abs/2005.14165的论文。这两篇论文展示了LLM能够进行零-shot和少-shot学习,并突出了LLM的突现能力。GPT-3仍然是当前一代LLM(如ChatGPT)训练的流行基准和基础模型——我们稍后会作为单独的条目讨论导致ChatGPT的InstructGPT方法。

来源: https://www.semanticscholar.org/paper/Improving-Language-Understanding-by-Generative-Radford-Narasimhan/cd18800a0fe0b668a1cc19f2ec95b5003d0a5035

(8)Lewis、Liu、Goyal、Ghazvininejad、Mohamed、Levy、Stoyanov 和 Zettlemoyer 于2019年发表的《BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension》,https://arxiv.org/abs/1910.13461

如前所述,BERT类型的编码器风格LLM通常更适用于预测建模任务,而GPT类型的解码器风格LLM则更擅长生成文本。为了兼顾两者的优点,上面的BART论文将编码器和解码器部分结合在一起(这与原始的变换器架构(本清单中的第二篇论文)并无太大区别)。

来源:https://arxiv.org/abs/1910.13461

(9)Yang、Jin、Tang、Han、Feng、Jiang、Yin 和 Hu 于2023年发表的《Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond》,https://arxiv.org/abs/2304.13712

这不是一篇研究论文,但可能是迄今为止最好的架构综述,展示了不同架构的演变过程。然而,除了讨论BERT风格的掩蔽语言模型(编码器)和GPT风格的自回归语言模型(解码器)外,它还提供了关于预训练和微调数据的有用讨论和指导。

现代 LLM 的进化树,来自 https://arxiv.org/abs/2304.13712。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/63972.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于MATLAB的电力系统潮流计算

为了进行潮流计算,通常可以使用像MATPOWER这样的电力系统分析工具包, 在MATLAB中的MATPOWER工具包中,多个不同的系统模型被定义为测试案例(case)。这些测试案例用于模拟和分析电力系统中的潮流计算、最优潮流问题、稳…

Unity屏幕截图、区域截图、读取图片、WebGL长截屏并下载到本地jpg

Unity屏幕截图、区域截图、读取图片、WebGL长截屏并下载到本地jpg 一、全屏截图并保存到StreamingAssets路径下 Texture2D screenShot;//保存截取的纹理public Image image; //显示截屏的Imagepublic void Jietu(){StartCoroutine(ScrrenCapture(new Rect(0, 0, Screen.width…

使用 ADB (Android Debug Bridge) 工具来截取 Android 设备的屏幕截图

可以使用 ADB (Android Debug Bridge) 工具来截取 Android 设备的屏幕截图。以下是具体的操作步骤: 1. 连接设备 确保 Android 设备通过 USB 或网络连接到电脑,并运行以下命令检查连接状态: adb devices2. 截取屏幕截图 运行以下命令将设…

TypeScript 的崛起:全面解析与深度洞察

一、背景与起源 (一)JavaScript 的局限性 类型系统缺失 难以在编码阶段发现类型相关错误,导致运行时错误频发。例如,将字符串误当作数字进行数学运算,可能在运行时才暴露问题。函数参数类型不明确,容易传入…

Moretl无人值守日志采集工具

永久免费: 至Gitee下载 使用教程: Moretl使用说明 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架构 技术架…

The Rise and Potential of Large Language ModelBased Agents:A Survey---摘要、背景、引言

题目 基于大语言模型的Agent的兴起与发展前景 论文地址:https://arxiv.org/pdf/2309.07864.pdf 项目地址:https:/github.com/WooooDyy./LLM-Agent–Paper-List 摘要 长期以来,人类一直在追求等同于或超越人类水平的人工智能(A),…

lc46全排列——回溯

46. 全排列 - 力扣(LeetCode) 法1:暴力枚举 总共n!种全排列,一一列举出来放入list就行,关键是怎么去枚举呢?那就每次随机取一个,然后删去这个,再从剩下的数组中继续去随机选一个&a…

题目 1761: 学习ASCII码

题目 1761: 学习ASCII码 时间限制: 2s 内存限制: 192MB 提交: 4331 解决: 2415 题目描述 刚开始学C语言,ASCII码可是必须要会的哦!那么问题来了,要求你用熟悉的printf输出字符常量 ’ t ’ 的ASCII以及ASCII码值63对应的字符! 注…

使用Flink CDC实现 Oracle数据库数据同步的oracle配置操作

使用Flink CDC实现 Oracle数据库数据同步的oracle配置操作,包括开启日志归档和用户授权。 flink官方参考资料: https://nightlies.apache.org/flink/flink-cdc-docs-master/zh/docs/connectors/flink-sources/oracle-cdc/ 操作步骤: 1.启用…

字体子集化实践探索

最近项目rust生成PDF组件printpdf需要内嵌完整字体导致生成的PDF很大,需要做压缩,但是rust的类库allsorts::subset::subset不支持windows,所以做了一些windows下字体子集化的尝试 方案一:node.js做子集化 fontmin 缺点是也需要集…

Spring Boot教程之二十五: 使用 Tomcat 部署项目

Spring Boot – 使用 Tomcat 部署项目 Spring Boot 是一个基于微服务的框架,在其中创建可用于生产的应用程序只需很少的时间。Spring Boot 建立在 Spring 之上,包含 Spring 的所有功能。如今,它正成为开发人员的最爱,因为它是一个…

Vue自定义快捷键做粘贴

静态: export default {data() {return {customContent: 这里是你想要粘贴的自定义内容 // 自定义内容};},mounted() {window.addEventListener(keydown, this.handleKeyDown);},beforeDestroy() {window.removeEventListener(keydown, this.handleKeyDown);},meth…

【C语言篇】C 语言总复习(下):点亮编程思维,穿越代码的浩瀚星河

我的个人主页 我的专栏:C语言,希望能帮助到大家!!!点赞❤ 收藏❤ 在C语言的世界里,结构体和联合体以及文件操作都是非常重要且实用的知识板块,掌握它们能帮助我们更高效地组织数据以及与外部文…

CNCF云原生生态版图-项目和产品综合分析

CNCF云原生生态版图-项目和产品综合分析 CNCF云原生生态版图-项目和产品综合分析整体统计分析中国研发人员贡献项目和产品其中,纳入 CNCF 管理的开源项目 链接 CNCF云原生生态版图-项目和产品综合分析 整体统计分析 在对云原生技术选型时,优先选择经过 …

【vue2】文本自动省略组件,支持单行和多行省略,超出显示tooltip

代码见文末 vue3实现 最开始就用的vue3实现,如下 Vue3实现方式 vue2开发和使用文档 组件功能 TooltipText 是一个文字展示组件,具有以下功能: 文本显示:支持单行和多行文本显示。自动判断溢出:判断文本是否溢出…

MetaGPT源码 (ContextMixin 类)

目录 理解 ContextMixin什么是 ContextMixin?主要组件实现细节 测试 ContextMixin示例:ModelX1. 配置优先级2. 多继承3. 多继承重写4. 配置优先级 在本文中,我们将探索 ContextMixin 类,它在多重继承场景中的集成及其在 Python 配…

VScode、Windsurf、Cursor 中 R 语言相关快捷键设置

前言 在生物信息学数据分析中,R语言是一个不可或缺的工具。为了提高R语言编程效率,合理设置快捷键显得尤为重要。本文介绍在VSCode Windsurf Cursor 中一些实用的R语言快捷键设置,让非 Rstudio 的 IDE 用起来得心应手😑 操作种…

分布式任务调度平台xxl-job源码学习

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 官网:https://www.xuxueli.com/xxl-job/ github:https://github.com/xuxueli/xxl-…

Macbookpro M1 IDEA中安装mysql

一:安装与连接数据库 1. 首先在mysql中创建一个初始数据库:idea_db,如示: 2.打开IDEA,如果最右侧没有database窗口,则在插件那里下载“Database navigator”,稍后重启一下即可; 点击最右侧Database---->…

leetcode 3264. K 次乘运算后的最终数组 I 简单

给你一个整数数组 nums ,一个整数 k 和一个整数 multiplier 。 你需要对 nums 执行 k 次操作,每次操作中: 找到 nums 中的 最小 值 x ,如果存在多个最小值,选择最 前面 的一个。将 x 替换为 x * multiplier 。 请你…