德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第八周) - 现代大语言模型

现代大语言模型

  • 1. GPT-3
  • 2. 上下文学习
    • 2.1. 零样本提示
    • 2.2. 少样本提示
    • 2.3. 归纳头
  • 3. 对齐
    • 3.1. 指令微调
    • 3.2. 基于人类反馈的强化学习
    • 3.3. 事实与幻觉

1. GPT-3

  • GPT系列论文
    • GPT-1(2018): Improving Language Understanding by Generative Pre-Training
    • GPT-2(2019): Language Models are Unsupervised Multitask Learners
    • GPT-3(2020): Language Models are Few-Shot Learners
    • InstructGPT(2022): Training language models to follow instructions with human feedback

GPT-1(GPT)在之前章节中就介绍过了,GPT-2相比GPT使用了更多的训练数据,并且增加了模型规模。GPT-2是截止到2019年3月训练的最大模型(1.5B)。它能够连续地生成流利和连贯的句子,而这是较小的模型或LSTM所无法实现的。

GPT-3拥有惊人的1750亿个参数(175B),这是GPT-2参数数量的100多倍。这使得GPT-3成为当时最大的语言模型。训练使用45TB超大规模数据。GPT-3可以执行各种自然语言处理任务,包括但不限于文本生成、翻译、问答、总结和文本分类。GPT-3展示了强大的少样本学习能力,只需要通过极少的例子就可以理解和执行新的任务。这种能力被称为“in-context learning”,它使得GPT-3在没有专门训练的情况下可以处理广泛的任务。由于其庞大的参数数量和先进的架构,GPT-3能够生成非常自然和连贯的文本,这在许多情况下几乎无法与人类的写作区分开来。

在这里插入图片描述

2. 上下文学习

GPT-3提出了微调(Fine-Tuning, FT)之外的另一种方法:上下文学习或语境学习(In-Content Learning, ICL)。仅使用现成的模型,不进行梯度更新。

传统的微调方法通常需要对预训练模型进行进一步的训练,以适应特定任务或数据集。这涉及在新的数据集上进行额外的训练,并更新模型的梯度来调整参数,从而使模型更好地处理特定任务。与此相对,GPT-3引入了上下文学习的概念。这种方法不需要对模型进行额外的训练或梯度更新,而是直接使用预先训练好的模型。通过在输入中提供一些示例或提示,GPT-3能够根据这些上下文信息来理解任务并生成相应的输出。这种方法的优势在于:

  1. 无需额外训练:用户可以直接使用预训练好的GPT-3,无需再进行细调或训练过程。这大大简化了使用流程,减少了计算和时间成本。
  2. 多样性和灵活性:由于不需要对模型进行修改,可以在同一个模型上处理多种任务,只需提供不同的上下文示例即可。
  3. 即时适应:模型能够通过提供的上下文快速适应新的任务或主题,展示出强大的通用性和适应能力。

这种上下文学习的能力来自于GPT-3庞大的训练数据和参数,使其在理解和生成文本方面有着卓越的表现。它可以通过少量示例(few shot)或提示(prompt)来学习新的任务,并在输入的上下文中生成合理的响应。

上下文学习的核心是语言模型能够延续观察到的模式。即一个有效的语言模型应该能够根据已经观察到的文本模式,延续这个模式并生成合理的序列。这种延续观察到的模式的能力是语言模型生成高质量文本的基础,尤其是在上下文学习中,模型通过提供的示例来掌握任务,并生成符合这些示例模式的输出。

在这里插入图片描述

  • 相关研究

Demystifying Prompts in Language Models via Perplexity Estimation

Calibrate Before Use: Improving Few-Shot Performance of Language Models

Holistic Evaluation of Language Models

Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?

2.1. 零样本提示

零样本提示(Zero-shot Prompting)指的是在没有任何特定的训练样本或特定示例的情况下,通过提示模型(如GPT-3)执行特定的任务。这意味着模型不需要额外的训练数据或任务示例,就可以理解并尝试完成用户给出的任务指令。

零样本提示是一种能力,即在没有额外训练的情况下,通过给定一个清晰的提示或指令,模型能够完成特定任务。它不需要对特定任务进行专门的训练数据。模型通过预训练阶段学习了丰富的语言模式和知识,从而能够理解和执行各种自然语言任务。当接收到一个新的任务提示时,模型使用其预训练知识来推断并提供相应的答案或解决方案。

零样本提示的优点:

  • 灵活性高:可以处理多种不同类型的任务,而无需为每个任务单独收集和标注数据。
  • 成本低:减少了在特定任务上进行额外训练的数据需求和计算成本。

零样本提示的例子:

  • 翻译:输入提示“将以下句子翻译成法语:‘Hello, how are you?’”,模型直接给出翻译“Bonjour, comment ça va?”。
  • 问答:输入提示“谁是美国的第一任总统?”,模型能直接回答“乔治·华盛顿”。
  • 文本分类:输入提示“这是一个积极的评论还是消极的评论:‘这部电影非常棒!’”,模型可以回答“积极”。

2.2. 少样本提示

少样本提示(Few-shot Prompting)指的是通过提供少量适当的示例作为提示,指导语言模型(如GPT-3)执行特定任务的一种技术。它是一种介于零样本提示和监督学习(需要大量标注数据)之间的方法。少样本提示是指通过提供几个任务示例作为提示,引导语言模型完成对应任务。示例的数量通常很少,可能只有一到几个。换句话说,就是给模型提供少量的任务示例和任务描述,通过这些示例来告诉模型如何处理类似的输入。

为什么使用少样本提示:

  1. 数据效率:相比全监督学习,需要大量标注数据,少样本提示大大减少了数据需求。
  2. 快速适应:可以快速应用于新领域或新任务,不需要大量的数据收集和标注过程。
  3. 灵活性:模型可以利用少量示例迅速调整自身行为以满足特定任务需求。

少样本提示的挑战:

  1. 提示设计:如何设计有效的提示,即选择哪些少量的示例能最好地引导模型完成任务。
  2. 覆盖面:少量示例能否充分代表任务的广泛性和复杂性。

少样本提示的例子:

  1. 翻译:提供几对源语言和目标语言的句子对,提示模型翻译新的句子。
  2. 问答:示例包括一些问题及其对应答案,提示模型按照示例的方式回答新问题。
  3. 文本分类:输入包括几条带有分类标签的示例,如情感分析的正面和负面评论。提示模型根据这些示例对新输入进行分类。

研究表明,即使是错误的少样本示例,也比没有示例好。

2.3. 归纳头

归纳头(Induction Heads)是两个位于不同层的注意力头,它们协同工作来完成某种模式匹配或复制任务。第一个头的作用是复制信息,第一个注意力头(位于较早的层)会从前一个标记(token)中提取信息并复制到当前标记中。例如,如果当前标记是[B],那么这个头会从前一个标记[A]中复制信息到[B]中。第二个头的作用是关注前序信息,第二个注意力头(处于更高层)会关注那些在它之前出现的标记,而不是当前标记的内容。这个头会“回溯”之前的标记,试图根据之前的信息来确定接下来应该是什么标记。最后,协同工作模式完成,这两个头协同工作,可以让模型更加容易地完成特定的模式。例如,在序列…[A][B]…[A]中,由于第一个头复制了信息,而第二个头根据前面发生的情况来关注标记,这使得模型可以更准确地预测和完成[B]。例如,在文本生成任务中,如果有一部分输入是[A][B],随后再出现一个[A],模型通过这两个头的协同工作,很有可能会预测出下一个标记是[B],因为它识别到这种模式并进行了有效的复制和传播。

归纳头能让两层模型做到更多的事情,但它们与全尺寸Transformer的相关性尚不清楚,全尺寸Transformer有数百个注意力头协同工作,感应头似乎对一些复杂多层架构的显著行为做出了重大贡献。

在这些行为中,算术的能力得到彰显,因为模型只被训练来完成文本。例如,如果给出重复prompt:「问:48 加 76 等于多少?答:124;问:48 加 76 等于多少?A:___。一个强大的模型会得到正确的答案,并且在获得足够多的非重复prompt后,它就能正确回答它从未见过的算术问题。这种从上下文中明显学习新能力的现象称为上下文学习。

这种现象令人费解,因为从上下文中学习是不可能的。这是因为决定模型性能的参数仅在训练期间进行调整,而没有在模型处理输入上下文时进行调整。归纳头至少解决了部分难题。它们解释了上下文学习的简单、重复形式的可能性,同时提供了所需要的复制模型未经训练使用的新词的能力。

  • 相关研究

In-context Learning and Induction Heads

Transformer Circuits Thread

3. 对齐

GPT-3虽然在各大NLP任务以及文本生成的能力上惊艳,但是仍然还是会生成一些带有偏见的,不真实的,有害的造成负面社会影响的信息,而且并不按人类喜欢的表达方式去说话。OpenAI提出了一个概念对齐(Alignment),模型输出与人类真实意图对齐,符合人类偏好。InstructGPT的独特之处在于它经过了特定的训练,使其能够更好地理解和遵循用户的指令,从而提供更准确和有用的答案。

InstructGPT的目标:

  1. 有用性,有用的(helpful):能帮助用户解决问题。
  2. 真实性,诚实的(honest):不能捏造事实,不能误导用户。
  3. 无害性,无害的(harmless):不能对用户或环境造成物理、精神、社会层面的伤害。

以下是InstructGPT的一些关键特点:

  1. 指令微调:InstructGPT经过了所谓的指令微调(Instruction Tuning)训练,这意味着它不仅仅是根据大量文本进行预训练,还特别针对遵循用户指令的任务进行了优化。这使得它在执行具体任务时表现更佳。
  2. 人类反馈训练:为了增强模型对指令的理解和响应能力,InstructGPT利用了来自人类的反馈进行强化学习。通过人工评估模型的输出质量,模型逐渐调整其生成策略,提高了响应的相关性和准确性。

在这里插入图片描述

  • 相关研究
    • DeepMind Sparrow: Improving alignment of dialogue agents via targeted human judgements
    • Google LaMDA: LaMDA: Language Models for Dialog Applications

3.1. 指令微调

在自然语言处理领域,模型通常通过语言建模目标来训练,即在给定上下文(context)的情况下预测接下来会出现的词语。然而,在实际应用中,我们希望模型能够更好地处理特定任务,例如问答系统用户提出问题,系统给出相应的回答。为了实现这个目标,研究人员可以在原始语言模型的基础上,进行进一步的优化和微调。

语言模型目标:通常的训练目标是预测下一个词,这意味着模型学习了大量的语言特征和模式。

任务优化:具体的任务如问答系统,需要模型在上下文提示下生成一个具体的答案。

指令微调(Instruction Tuning)是对已经训练好的基础语言模型进行进一步优化,通过在多种任务数据上进行有监督的微调,使模型能够处理各种具体的自然语言处理任务。指令微调是一种方法,通过在从多个NLP任务中派生的数据上进行有监督的训练,将通用语言模型调整为能够执行特定任务的模型。

在这里插入图片描述

基础语言模型(如GPT-3、BERT等)通过大量的无监督文本数据进行预训练,主要是学习语言结构和语法。然而在实际应用中,我们需要模型能够执行更具体的任务,如问答、文本分类、翻译等。指令微调就是通过在特定任务数据上进行训练,让模型学会这些具体任务的处理方式。

在这里插入图片描述

  • 指令微调的优势

通过在多种任务数据上进行训练,模型可以学习到应对不同任务的通用特征,从而在新的任务上表现得更好。通过简单调整训练数据和目标任务,可以使同一个基础模型应用于不同的实际场景。微调使得模型能够更加精确地解决特定任务中的问题,从而提升模型的实际应用效果。

  • 指令微调的挑战

需要大量的标注数据来进行微调,以确保模型能够在各种任务上表现良好。微调过程需要大量的计算资源,尤其是在处理大规模模型时。虽然模型在多任务上训练,但在某些特定任务上的泛化能力仍然可能有限,需要不断更新和调整训练数据和方法。

  • 相关研究

Multitask Prompted Training Enables Zero-Shot Task Generalization

Scaling Instruction-Finetuned Language Models

3.2. 基于人类反馈的强化学习

基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)是一种结合强化学习和人类反馈,优化深度学习模型输出质量的方法。主要用于提高模型在生成任务(如对话系统、文本生成)上的表现。

RLHF 的主要目标是通过人类的反馈信号来优化模型,使其生成的输出更符合人类的期望和标准。这使得模型不仅可以基于统计规律生成文本,还可以生成更加自然、有用和合适的回答。

RLHF的步骤:

  1. 初步预训练:使用大规模无监督文本数据进行预训练,类似于标准语言模型的训练过程。目标是学习基本的语言结构和生成能力。
  2. 生成初始输出:预训练的模型生成初始答案(或输出)集合,这些答案可能是回答问题、继续对话或者是其他形式的文本生成。
  3. 人类反馈:人类对这些生成的答案进行评分和评价,反馈可以是直接的分数(如1到5星)或更详细的批评和建议。收集尽可能多的关于模型输出质量的反馈,从而为后续的强化学习步骤提供指导。
  4. 奖励模型训练:将人类的评分和反馈转换为奖励信号,训练一个奖励模型,它能基于生成的输出分配奖励分数。建立一个可以预测某个输出好坏的奖励机制。
  5. 强化学习优化:使用强化学习算法(如PPO, Proximal Policy Optimization)来进一步训练生成模型,使其生成的答案能够获得更高的奖励分数。模型生成新的答案,这些答案被奖励模型评估,得到奖励分数,并将这一分数反馈到生成模型中,以优化其生成策略。
RLHF

RLHF的优势:

  1. 提高输出质量:通过直接的人类反馈信号,模型生成的输出更贴近用户的需求和期望。
  2. 灵活性和适应性:可以根据不同任务或不同用户的需求动态调整模型表现。
  3. 增强用户满意度:生成更有意义和反应更符合实际情况的答案,从而提高用户的满意度。

RLHF的挑战:

  1. 反馈质量:需要大量高质量的人类反馈,这可能会涉及高昂的时间和人力成本。
  2. 复杂性:训练和使用奖励模型,以及使用强化学习算法来训练生成模型,增加了系统的复杂性。
  3. 标注一致性:人类反馈可能存在主观性和不一致性,这对训练奖励模型会构成挑战。
  • 相关研究

Training language models to follow instructions with human feedback

Alpaca: A Strong, Replicable Instruction-Following Model

3.3. 事实与幻觉

语言模型建模的是文本分布,而不是事实。因此,它们生成的内容不一定是事实。语言模型的目标是学习和生成符合训练数据分布的文本,而不是验证这个内容是否真实。因此,它们生成的文本可能看起来合乎逻辑和语法正确,但并不保证其真实性。

语言模型是在互联网数据上训练的。广为传播的谬误可能会在语言模型中被重现。它们的训练数据来源于互联网。互联网上的许多信息并不可靠或准确,甚至可能包含大量谣言和错误。因此,这些错误信息可能会被语言模型学习并重现。

语言模型可能无法存储所有的罕见事实,因此会对几种选项分配一个适当的概率。由于某些罕见事实在训练数据中出现的频率很低,语言模型可能没有足够的信息去正确记住或生成这些事实。因此,当被问及这些罕见事实时,模型可能会根据已经知道的情况给予几个选项一个大致的概率,而不是能准确回答。

  • 相关研究

Revisiting the Gold Standard: Grounding Summarization Evaluation with Robust Human Evaluation

WiCE: Real-World Entailment for Claims in Wikipedia

SummaC: Re-Visiting NLI-based Models for Inconsistency Detection in Summarization

FActScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation

RARR: Researching and Revising What Language Models Say, Using Language Models

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Cheat Engine CE v7.5 安装教程(专注于游戏的修改器)

前言 Cheat Engine是一款专注于游戏的修改器。它可以用来扫描游戏中的内存,并允许修改它们。它还附带了调试器、反汇编器、汇编器、变速器、作弊器生成、Direct3D操作工具、系统检查工具等。 一、下载地址 下载链接:http://dygod/source 点击搜索&…

Ubuntu 22.04 解决 firefox 中文界面乱码

问题复现 在为Ubuntu 22.04 Server安装完整的GNOME 42.01桌面后,将桌面语言设置为中文时,打开Firefox可能会出现中文乱码的问题。经过网上调查发现,这个问题是由Snap软件包引起的。 解决方案 为了避免在Ubuntu 22.04中文模式下的乱码问题…

【设计文档】软件项目详细设计说明书案例(套用模板Word)

1引言 1.1编写目的 1.2项目背景 1.3参考材料 2系统总体设计 2.1整体架构 2.2整体功能架构 2.3整体技术架构 2.4设计目标 2.5.1总体原则 2.5.2实用性和先进性 2.5.3标准化、开放性、兼容性 2.5.4高可靠性、稳定性 2.5.5易用性 2.5.6灵活性和可扩展性 2.5.7经济性和投资保护 3系统…

redis源码编译安装

源码下载地址http://download.redis.io/releases/ 1 环境准备 安装编译环境 sudo yum install gcc -y gcc -v 查看版本 sudo yum -y install centos-release-scl sudo yum -y install devtoolset-10-gcc devtoolset-10-gcc-c devtoolset-10-binutils scl enable devtool…

Linux rm命令由于要删的文件太多报-bash: /usr/bin/rm:参数列表过长,无法删除的解决办法

银河麒麟系统,在使用rm命令删除文件时报了如下错误,删不掉: 查了一下,原因就是要删除的文件太多了,例如我当前要删的文件共有这么多: 查到了解决办法,记录在此。需要使用xargs命令来解决参数列表…

Mybatis用Map接收返回值可能出现的问题

先看一个示例 明明定义了Map<String,String> 实际内部存放的是Integer resultType是Map 也就是说Mybatis是通过反射将类型放进去的 躲过了编辑器检查 但是这样取值时候就会报类型转换错误 解决方式 resultMap 另外一种方式 用Number Integer和Double的父类 Ma…

【Qt】QT textBrowser 设置字体颜色和大小

1. 效果 2. 代码 {ui->methodText->append("<font size9 colorgreen> dddddddddd </font>");ui->methodText->append("<font size9 colorred> vvvvvvvvvv </font>"); }

正解 x86 Linux 内存管理

1&#xff0c;机器解析的思路 发现网络上大量的教程&#xff0c;多是以讹传讹地讲解 Linux 内存管理&#xff1b; 都是在讲&#xff1a; 逻辑地址 -> 线性地址 -> 物理地址 这个转换关系是怎么发生的。 上面这个过程确实是程序运行时地址的翻译顺序&#xff1b; …

【C++ | 静态成员】类的 静态(static)数据成员、静态(static)成员函数 详解及例子代码

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a;2024-06-16 0…

文献学习——PWM - PFM模式无缝转换的PFC变换器统一控制

PWM - PFM模式无缝转换的PFC变换器统一控制 摘要&#xff1a;断续导通模式通常应用在升压功率因数校正转换器中。这篇文章提出了一种基于虚拟阻抗原理的实现脉冲宽度调制控制和脉冲频率调制控制的统一控制方法。控制模式可以简单的通过只调整一个控制参数来改变。因此&#xf…

现代信号处理14_基于蒙特卡洛的信号处理(CSDN_20240616)

Monte Carlo/Simulation方法 在统计上&#xff0c;样本数量是一个很重要的问题&#xff0c;在处理问题&#xff08;如计算样本均值&#xff09;的过程中&#xff0c;样本数量越多越好。但是在实际中&#xff0c;样本往往是稀缺的&#xff0c;获取数据就要付出代价。在贝叶斯理论…

GPTZero:引领AI内容检测

随着人工智能技术的飞速发展,AI生成内容(AIGC)正在迅速改变我们获取和消费信息的方式。然而,AIGC的激增也带来了一系列挑战,尤其是在内容真实性和版权方面。正是在这样的背景下,一家由00后团队创立的公司——GPTZero,以其独特的AI检测工具,迅速崛起为行业的领军者。 一…

回归预测 | Matlab实现GWO-ESN基于灰狼算法优化回声状态网络的多输入单输出回归预测

回归预测 | Matlab实现GWO-ESN基于灰狼算法优化回声状态网络的多输入单输出回归预测 目录 回归预测 | Matlab实现GWO-ESN基于灰狼算法优化回声状态网络的多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现GWO-ESN基于灰狼算法优化回声状态…

Linux 文件的权限信息解读 chmod修改权限 数字序号表示权限

ls -l #列出当前文件 显示详细信息 drwxr-xr-x. 2 dpc test 6 Jun 15 07:45 test.txt共分为三部分 drwxr-xr-x.&#xff1a;表示文件和文件夹的权限信息dpc &#xff1a;文件&#xff0c;文件夹所属的用户test &#xff1a; 文件和文件夹所属的用户组 drwxr-xr-x 解读 d表示为…

Python自动化办公(一) —— 根据PDF文件批量创建Word文档

Python自动化办公&#xff08;一&#xff09; —— 根据PDF文件批量创建Word文档 在日常办公中&#xff0c;我们经常需要根据现有的PDF文件批量创建Word文档。手动操作不仅费时费力&#xff0c;而且容易出错。幸运的是&#xff0c;使用Python可以轻松实现这个过程。本文将介绍如…

RK3568平台(input篇)输入设备应用编程

一.输入设备介绍 输入设备其实就是能够产生输入事件的设备就称为输入设备&#xff0c;常见的输入设备包括鼠标、键盘、触摸屏、按钮等等&#xff0c;它们都能够产生输入事件&#xff0c;产生输入数据给计算机系统。 对于输入设备的应用编程其主要是获取输入设备上报的数据、输…

Postman使用教程(Postman详细图文教程)

本文讲解的是postman工具安装、postman安装教程、postman工具下载、postman使用教程。Postman使得得开发人员和测试人员能够更高效地与Web服务进行交互和调试。 Postman不仅支持常见的HTTP方法&#xff0c;如GET、POST、PUT、DELETE等&#xff0c;还提供了丰富的请求编辑功能&…

编译安装qemu-devel @FreeBSD

缘起 使用cbsd创建riscv jail的时候提示&#xff1a; you have no qemu-user, please install qemu-devle with BSD_USER and STATIC ops (emulators/qemu-devel) 使用pkg安装之后&#xff0c;创建的riscv jail启动报错&#xff1a; Starting jail: fbriscv, parallel timeo…

Qt QListView自定义树状导航控件

大部分的软件都有多个页面&#xff0c;这时候就需要一个导航栏控件&#xff0c;通过在导航栏中选择某一栏&#xff0c;同时显示对应的页面。 本文代码效果如下&#xff1a; 本文的导航栏控件基于大佬 feiyangqingyun 的导航栏控件博客Qt/C编写自定义控件46-树状导航栏_qt之实现…

计算机网络期末复习1(最后一天才开始学版)

1.一个PPP帧的数据部分&#xff08;用十六进制写出&#xff09;是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是&#xff08;用十六进制写出&#xff09; 由于PPP帧的标志字段为7E,因此,为了区别标志字段和信息字段,将信息字段中出现的每一个0x7E转变成(0x7D,0x5E),0x7…