人工智能大语言模型起源篇(二),从通用语言微调到驾驭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。
相关文章:
人工智能大语言模型起源篇(二),从通用语言微调到驾驭LLM
上一篇:《人工智能大语言模型起源篇(一),从哪里开始》 (5)Howard 和 Ruder 于2018年发表的《Universal Language Model Fine-tuning for Text Classification》,https://arxiv.org/abs/1801.06…...
VBA 连续打印多个内容成PDF
VBA 连续打印多个内容成PDF Dim wb As Workbook Dim sht1 As Worksheet Set sht1 ActiveSheet PT ThisWorkbook.PathApplication.ScreenUpdating FalseApplication.DisplayAlerts FalseApplication.Calculation xlCalculationManual For i [aa2] To [ab2][ad2] iSet wb …...
9. 高效利用Excel设置归档Tag
高效利用Excel设置归档Tag 1. Excle批量新建/修改归档Tag2. 趋势记录模型批量导入归档Tag(Method1)2. 趋势记录模型批量导入归档Tag(Method2)3. 趋势记录控件1. Excle批量新建/修改归档Tag Fcatory Talk常常需要归档模拟量,对于比较大的项目工程会有成千上万个重要数据需…...
ubuntu系统生成SSL证书配置https
自签名【Lets Encrypt】的测试证书,有效期三个月。 第一步:安装acme,如果没有安装git,需要提前安装 下载came资源 git clone https://github.com/Neilpang/acme.sh.git 无法访问,可以试用gitee的资源,安…...
顺序表(数据结构初阶)
文章目录 顺序表一:线性表1.1概念: 二:顺序表2.1概念与结构:2.2分类:2.2.1静态顺序表2.2.2动态顺序表 2.3动态顺序表的实现声明(初始化)检查空间容量尾插头插尾删头删查找指定位置之前插入数据指…...
AOF和RDB【Redis持久化篇】
文章目录 1.什么是持久化?2.RDB3.AOF 1.什么是持久化? Redis是跑在内存里的,当程序重启或者服务器崩溃,数据就会丢失,如果业务场景希望重启之后数据还在,就需要持久化,即把数据保存到可永久保存…...
数据可视化大屏UI组件库:B端科技感素材PSD
在数据可视化领域,一个出色的大屏UI设计不仅能够准确传达数据背后的信息,更能提升用户的视觉体验。然而,对于UI设计师而言,设计这样一款界面往往面临着寻找合适设计素材的挑战。为了应对这一难题,我们推出了这款数据可…...
【力扣算法】234.回文链表
快慢指针:一个指针走两步,一个指针走一步,当快指针走到链表末尾时,慢指针走到中间位置。 逆转链表:根据指针位置分成两个表,逆转第二个表。 按序判断就可以,如果是相同就是回文,反之…...
MVC流程分析
DisaptcherServlet本质是servlet,执行init()方法,自启动底层执行代码, 作用: 1、读取springmvc配置文件,创建Controller对象,放入容器中,map<"id",对象> 2、接收用户请求&#…...
编程中常见的技术难题有哪些?
技术的未来:如何驾驭变革 引言 在科技迅猛发展的今天,变革已成为常态。你是否感受到这一波潮流的力量?我们正身处一个充满机遇与挑战的时代。诸如人工智能、区块链、云计算等技术如同狂风骤雨,席卷我们的生活与工作方式。那么&a…...
「Mac玩转仓颉内测版50」小学奥数篇13 - 动态规划入门
本篇将通过 Python 和 Cangjie 双语介绍动态规划的基本概念,并解决一个经典问题:斐波那契数列。学生将学习如何使用动态规划优化递归计算,并掌握编程中的重要算法思想。 关键词 小学奥数Python Cangjie动态规划斐波那契数列 一、题目描述 …...
前端退出对话框也就是点击右上角的叉,显示灰色界面,已经解决
文章目录 遇到一个前端bug,点击生成邀请码 打开对话框 然后我再点击叉号,退出对话框,虽然退出了对话框,但是显示灰色界面。如下图: 导致界面就会失效,点击任何地方都没有反应。 发现是如下代码的问题&am…...
使div每次隐藏显示后都从顶部开始
<div ref"addmodel" > <!-- 这里内容很长,超出屏幕。。。 --> </div> methods:{ // 页面显示时滚动至顶部 scrollToTop() { const addmodel this.$refs.addmodel; if (addmodel) { addmodel.scrollTop 0; } }, } 在div每次显示或者…...
资源付费软件开发 资源付费系统源码 资源付费类型小程序APP
应用场景 资源付费软件广泛应用于多个领域,以下是其主要应用场景: 在线教育: 各类教育机构、名师通过资源付费软件提供课程、讲座等学习资源,为学生提供个性化的学习服务。用户可以通过软件学习专业知识、职业技能等,…...
文件的读写
所涉及到的函数如下:<stdio.h> 函数介绍网站:cplusplus.com - The C Resources Network 读写文件之前要先打开文件,使用完要关闭文件归返空间: fopen 打开 fclose 关闭 返回的是FILE*型,第一个参数是文…...
城市大脑新型智慧城市数据中台建设方案
建设背景与现状 随着城市化进程的加速,城市数据呈现出爆炸式增长,但数据的整合、共享和利用却面临诸多挑战。信息孤岛、数据冗余、管理分散等问题日益突出,制约了智慧城市的发展。为了解决这些问题,构建城市大脑新型智慧城市数据…...
二三(Node2)、Node.js 模块化、package.json、npm 软件包管理器、nodemon、Express、同源、跨域、CORS
1. Node.js 模块化 1.1 CommonJS 标准 utils.js /*** 目标:基于 CommonJS 标准语法,封装属性和方法并导出*/ const baseURL "http://hmajax.itheima.net"; const getArraySum (arr) > arr.reduce((sum, item) > (sum item), 0);mo…...
【sgFileLink】自定义组件:基于el-link、el-icon标签构建文件超链接组件,支持垃圾桶删除、点击预览视频/音频/图片/PDF格式文件
sgFileLink源代码 <template><div :class"$options.name"><el-link click.stop"clickFile(data)"><img :src"getSrc(data)" /><span>{{ getFileNameAndSize(data) }}</span></el-link><el-linkcl…...
Kafka - 消息乱序问题的常见解决方案和实现
文章目录 概述一、MQ消息乱序问题分析1.1 相同topic内的消息乱序1.2 不同topic的消息乱序 二、解决方案方案一: 顺序消息Kafka1. Kafka 顺序消息的实现1.1 生产者:确保同一业务主键的消息发送到同一个分区1.2 消费者:顺序消费消息 2. Kafka 顺…...
【golang】匿名内部协程,值传递与参数传递
代码例子 下面代码的区别是直接调用循环变量,这里使用的就是这个变量的引用,而不是将参数的副本传递给协程执行 for task : range taskChan {wg.Add(1)go func() {defer wg.Done()task.Do() // 使用外部循环变量}() }func DistributeTasks(taskChan &…...
山东大学软件学院项目实训【个人1】
实验准备 经小组成员讨论最终决定开发基于大模型的法律文书智能摘要系统,由四人分工协作完成多源文档解析与数据预处理、结构化信息抽取与向量化存储、角色感知的个性化摘要生成、原文溯源与功能增强、文档分析管理与交互五个模块的内容。 创建gitee账号做好与队友…...
SEO_网站SEO优化完整教程:从入门到精通
SEO优化入门:从零基础到实战操作 随着互联网的迅猛发展,网站SEO优化成为了网站推广的重要手段。SEO,即搜索引擎优化,是通过优化网站的各项因素,使其在搜索引擎中获得更好的排名,从而吸引更多的流量。如何从…...
C# WinForm 系统参数设置功能完整实现
在工业上位机、客户端工具开发中,系统参数配置是必备基础功能。本文用一套完整可运行的代码,带你实现 WinForm INI 配置文件的参数设置:自动生成配置、读取加载、界面编辑、保存生效,全程逻辑清晰、注释详细,可直接落…...
交付验收前批量筛一遍配图质量:桌面工具用法记录
如果你经常遇到这种场景:项目交付包里附带大量截图、现场照片,甲方要求「明显糊的、过曝的别混进来」,但文件夹嵌套很深,人工抽查像抽奖。可以试一款只做「打分按档归类」的 Windows 桌面工具,全称【批量图片质量检测筛…...
从Claude Code代码泄漏到AI Agent逻辑设计VS龙虾OpenClaw
近期 Anthropic的Claude Code 的源码泄露事件,为业界提供了一份价值连城的“活体解剖指南”。本文将深入对比高内聚的 Claude Code 架构与高解耦的 OpenClaw 通用框架,从系统执行逻辑、上下文管理、OS 沙盒交互以及记忆提纯等维度,探讨次世代 AI Agent 在模型推理与工程落地…...
OpenClaw浏览器自动化:Qwen3-14b_int4_awq驱动网页检索与数据抓取
OpenClaw浏览器自动化:Qwen3-14b_int4_awq驱动网页检索与数据抓取 1. 为什么需要浏览器自动化助手 作为一个经常需要收集行业动态的技术博主,我每天要花大量时间在不同网站间切换、搜索关键词、复制粘贴数据。这种重复劳动不仅效率低下,还容…...
Wireshark网络协议分析与故障排查实战指南
1. Wireshark网络分析入门指南作为一名网络工程师,我使用Wireshark进行网络故障排查已有8年时间。这款开源网络协议分析器确实改变了我的工作方式,让我能够直观地"看到"网络流量。记得第一次使用Wireshark分析一个棘手的TCP连接问题时…...
ESP32轻量事件驱动库simia_embedded:静态类型+环形缓冲区实现
1. 项目概述simia_embedded是一个面向 ESP32 平台 Arduino Core 的极简事件驱动(Event-Driven)轻量级库。其设计哲学遵循“够用即止”原则,不依赖 RTOS 抽象层、不引入动态内存分配、不封装硬件外设驱动,仅提供一套确定性高、开销…...
Ubuntu 20.04忘记密码?5分钟搞定root和用户密码重置(附GRUB菜单截图)
Ubuntu 20.04密码重置实战指南:从GRUB到恢复模式的完整流程 当你面对一台锁定的Ubuntu 20.04机器时,那种焦虑感我深有体会——无论是个人开发环境还是团队共享服务器,密码遗忘都可能造成工作流程的中断。不同于Windows系统的密码重置工具&am…...
保姆级教程:用MS-Swift在本地电脑上跑通Qwen2.5-VL多模态大模型(附WebUI界面)
零基础玩转Qwen2.5-VL:手把手教你用MS-Swift搭建多模态AI实验室 想象一下,你的电脑不仅能理解你说的话,还能"看懂"你上传的照片——比如准确描述图片中的猫咪姿势,或者帮你分析设计稿的配色方案。这就是Qwen2.5-VL多模态…...
