0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PyTorch教程-16.6. 针对序列级和令牌级应用程序微调 BERT

jf_pJlTbmA9 来源:PyTorch 作者:PyTorch 2023-06-05 15:44 次阅读

在本章前面的章节中,我们为自然语言处理应用设计了不同的模型,例如基于 RNNs、CNNs、attention 和 MLPs。当存在空间或时间限制时,这些模型很有用,但是,为每个自然语言处理任务制作一个特定模型实际上是不可行的。在 15.8 节中,我们介绍了一种预训练模型 BERT,它需要对各种自然语言处理任务进行最少的架构更改。一方面,在提出建议时,BERT 改进了各种自然语言处理任务的最新技术水平。另一方面,如 第 15.10 节所述,原始 BERT 模型的两个版本带有 1.1 亿和 3.4 亿个参数。因此,当有足够的计算资源时,我们可以考虑为下游自然语言处理应用程序微调 BERT。

在下文中,我们将自然语言处理应用程序的一个子集概括为序列级和标记级。在序列层面,我们介绍了如何在单个文本分类和文本对分类或回归中将文本输入的 BERT 表示转换为输出标签。在令牌级别,我们将简要介绍文本标记和问答等新应用,并阐明 BERT 如何表示其输入并转换为输出标签。在微调期间,BERT 在不同应用程序中所需的“最小架构更改”是额外的全连接层。在下游应用程序的监督学习期间,额外层的参数是从头开始学习的,而预训练 BERT 模型中的所有参数都经过微调。

16.6.1。单一文本分类

单文本分类以单个文本序列作为输入并输出其分类结果。除了我们在本章中学习的情感分析之外,语言可接受性语料库(CoLA)也是一个用于单一文本分类的数据集,判断给定的句子是否在语法上可以接受(Warstadt et al . , 2019)。例如,“我应该学习。” 是可以接受的,但“我应该学习”。不是。

pYYBAGR9PNKAOMgOAAIY3BeUoOE245.svg

图 16.6.1针对单一文本分类应用微调 BERT,例如情感分析和测试语言可接受性。假设输入的单个文本有六个标记。

15.8 节描述了 BERT 的输入表示。BERT 输入序列明确表示单个文本和文本对,其中特殊分类标记“”用于序列分类,特殊分类标记“”标记单个文本的结尾或分隔一对文本. 如图 16.6.1所示 ,在单文本分类应用中,特殊分类标记“”的 BERT 表示对整个输入文本序列的信息进行编码。作为输入单个文本的表示,它将被送入一个由全连接(密集)层组成的小型 MLP,以输出所有离散标签值的分布。

16.6.2。文本对分类或回归

我们还在本章中研究了自然语言推理。属于文本对分类,对一对文本进行分类的一类应用。

以一对文本作为输入但输出连续值, 语义文本相似度是一种流行的文本对回归任务。该任务测量句子的语义相似性。例如,在语义文本相似性基准数据集中,一对句子的相似性得分是从 0(无意义重叠)到 5(意义等同)的有序尺度(Cer等人,2017 年)。目标是预测这些分数。来自语义文本相似性基准数据集的示例包括(句子 1、句子 2、相似性分数):

“一架飞机正在起飞。”,“一架飞机正在起飞。”,5.000;

“一个女人在吃东西。”,“一个女人在吃肉。”,3.000;

“一个女人在跳舞。”,“一个男人在说话。”,0.000。

pYYBAGR9PNWACEqbAAJBAxhpDWo066.svg

图 16.6.2为文本对分类或回归应用微调 BERT,例如自然语言推理和语义文本相似性。假设输入文本对有两个和三个标记。

与 图16.6.1中的单一文本分类相比,图16.6.2中用于文本对分类的微调BERT在输入表示上有所不同。对于语义文本相似性等文本对回归任务,可以应用微不足道的更改,例如输出连续的标签值并使用均方损失:它们在回归中很常见。

16.6.3。文本标记

现在让我们考虑标记级任务,例如文本标记,其中为每个标记分配一个标签。在文本标注任务中,词性标注根据词在句子中的作用为每个词分配一个词性标签(例如,形容词和限定词)。例如,根据 Penn Treebank II 标签集,句子“John Smith's car is new”应该被标记为“NNP(名词,专有单数)NNP POS(所有格结尾)NN(名词,单数或质量)VB (动词,基本形式)JJ(形容词)”。

pYYBAGR9PNmAPTV9AAOwL_0zfyY715.svg

图 16.6.3为文本标记应用微调 BERT,例如词性标记。假设输入的单个文本有六个标记。

文本标记应用程序的微调 BERT 如图 16.6.3所示。与 图 16.6.1相比,唯一的区别在于在文本标记中,输入文本的每个标记的 BERT 表示被馈送到相同的额外全连接层以输出标记的标签,例如部分 -词性标签。

16.6.4。问答

问答作为另一个token级的应用,体现了阅读理解能力。例如,斯坦福问答数据集 (SQuAD v1.1) 由阅读文章和问题组成,其中每个问题的答案只是与问题相关的文章中的一段文本(文本跨度)(Rajpurkar 等人,2008 年)。 , 2016 年). 为了解释,请考虑一段话“一些专家报告说口罩的功效尚无定论。然而,口罩制造商坚称,他们的产品,如 N95 口罩,可以抵御病毒。” 以及“谁说N95口罩可以防病毒?”的问题。答案应该是段落中的文本跨度“面具制造商”。因此,SQuAD v1.1 的目标是在给定一对问题和段落的情况下预测段落中文本跨度的开始和结束。

poYBAGR9PNyAASIyAANglldmxo0985.svg

图 16.6.4为问答微调 BERT。假设输入文本对有两个和三个标记。

为了微调 BERT 以进行问答,问题和段落分别打包为 BERT 输入中的第一和第二文本序列。为了预测文本跨度的开始位置,相同的附加全连接层将从位置通道转换任何标记的 BERT 表示i进入标量分数 si. 这样所有passage token的得分通过softmax操作进一步转化为概率分布,使得每个token位置i在段落中分配了一个概率pi作为文本跨度的开始。预测文本跨度的结束与上述相同,只是其附加的全连接层中的参数独立于预测开始的参数。预测结束时,位置的任何通道令牌i由相同的全连接层转换为标量分数ei. 图 16.6.4描述了用于问答的微调 BERT。

对于问答,监督学习的训练目标与最大化地面实况开始和结束位置的对数似然一样简单。在预测跨度时,我们可以计算分数si+ej对于位置的有效跨度i定位j(i≤j), 并输出得分最高的跨度。

16.6.5。概括

BERT 需要对序列级和令牌级自然语言处理应用进行最小的架构更改(额外的全连接层),例如单个文本分类(例如,情感分析和测试语言可接受性)、文本对分类或回归(例如,自然语言推理和语义文本相似性)、文本标记(例如,词性标记)和问题回答。

在下游应用程序的监督学习期间,额外层的参数是从头开始学习的,而预训练 BERT 模型中的所有参数都经过微调。

16.6.6。练习

让我们为新闻文章设计一个搜索引算法。当系统收到查询(例如,“冠状病毒爆发期间的石油工业”)时,它应该返回与查询最相关的新闻文章的排名列表。假设我们有大量新闻文章和大量查询。为了简化问题,假设已为每个查询标记了最相关的文章。我们如何 在算法设计中应用负采样(参见第 15.2.1 节)和 BERT?

我们如何利用 BERT 训练语言模型?

我们可以在机器翻译中利用 BERT 吗?

Discussions

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自然语言处理

    关注

    1

    文章

    509

    浏览量

    13103
  • pytorch
    +关注

    关注

    2

    文章

    763

    浏览量

    12836
收藏 人收藏

    评论

    相关推荐

    PyTorch教程-16.7。自然语言推理:微调 BERT

    节)。现在我们通过微调 BERT 重新审视这个任务。正如16.6 节所讨论的 ,自然语言推理是一个序列级文本对分类问题,微调
    的头像 发表于 06-05 15:44 1002次阅读
    <b class='flag-5'>PyTorch</b>教程-16.7。自然语言推理:<b class='flag-5'>微调</b> <b class='flag-5'>BERT</b>

    飞凌嵌入式开发板Android应用程序开发-入门

    ,有利于您对Android系统的学习。所用的系统是Ubuntu 12.04操作系统,开发工具是ADT-Bundle。一 软件实现框架......................飞凌嵌入式开发板Android应用程序开发-入门下载地址:
    发表于 05-20 14:41

    封装微调与其它失调校正法的比较

    作者:Art Kay德州仪器 封装微调是一种半导体制造方法,可实现高度精确的放大器及其它线性电路。放大器精确度的主要测量指标是其输入失调电压。输入失调电压是以微伏为单位的放大器输入端误差电压。该
    发表于 09-18 07:56

    为什么m24sr64应该在令牌释放序列期间阻止SCL线?

    你好我使用nfc内存m24sr64和专用源代码('STM32CubeExpansion_NFC1_V1.6.0')。我有一个使用i2c令牌释放序列的问题,应该关闭i2c会话。事实上,我们的micro
    发表于 07-23 16:36

    干货 | RTOS应用中的优先反转问题

    序列。我们通过一个Percepio公司的示例说明如何使用Tracealyzer检测优先反转问题。应用中存在一个随机复位问题,在复位异常处理中设置断点,发现该问题是由于看门狗定时器超时引起的,看门狗
    发表于 03-09 15:00

    通过Cortex来非常方便的部署PyTorch模型

    ,你可以使用 PyTorch 和 Cortex 部署它。使用 Cortex,你可以将许多由 PyTorch 支持的 ML 特性添加到你的应用程序中进行实时推断。PyTorch 用到生产
    发表于 11-01 15:25

    BERT模型的PyTorch实现

    BertModel是一个基本的BERT Transformer模型,包含一个summed token、位置和序列嵌入层,然后是一系列相同的self-attention blocks(BERT-base是12个blocks,
    的头像 发表于 11-13 09:12 1.4w次阅读

    allegro free viewer 16.6应用程序免费下载

    本文档的主要内容详细介绍的是allegro free viewer 16.6应用程序免费下载免费使用,不需要破解,可以看brd文件快速浏览PCB的软件工具。
    发表于 04-28 08:00 193次下载
    allegro free viewer <b class='flag-5'>16.6</b><b class='flag-5'>应用程序</b>免费下载

    文本分类任务的Bert微调trick大全

    bert等预训练模型炼丹一定程度的时候很难有所提升,分数达到了瓶颈,这个时候需要针对具体的任务如何进行微调使用,就涉及到了考经验积累的tricks。 这篇论文做了非常大的充足实验,为我们提供了宝贵的
    的头像 发表于 07-18 09:49 2211次阅读

    PyTorch教程14.2之微调

    电子发烧友网站提供《PyTorch教程14.2之微调.pdf》资料免费下载
    发表于 06-05 14:42 0次下载
    <b class='flag-5'>PyTorch</b>教程14.2之<b class='flag-5'>微调</b>

    PyTorch教程15.9之预训练BERT的数据集

    电子发烧友网站提供《PyTorch教程15.9之预训练BERT的数据集.pdf》资料免费下载
    发表于 06-05 11:06 0次下载
    <b class='flag-5'>PyTorch</b>教程15.9之预训练<b class='flag-5'>BERT</b>的数据集

    PyTorch教程15.10之预训练BERT

    电子发烧友网站提供《PyTorch教程15.10之预训练BERT.pdf》资料免费下载
    发表于 06-05 10:53 0次下载
    <b class='flag-5'>PyTorch</b>教程15.10之预训练<b class='flag-5'>BERT</b>

    PyTorch教程16.6针对序列级和令牌应用程序微调BERT

    电子发烧友网站提供《PyTorch教程16.6针对序列级和令牌应用程序
    发表于 06-05 10:51 0次下载
    <b class='flag-5'>PyTorch</b>教程<b class='flag-5'>16.6</b>之<b class='flag-5'>针对</b><b class='flag-5'>序列</b>级和<b class='flag-5'>令牌</b>级<b class='flag-5'>应用程序</b><b class='flag-5'>微调</b><b class='flag-5'>BERT</b>

    PyTorch教程16.7之自然语言推理:微调BERT

    电子发烧友网站提供《PyTorch教程16.7之自然语言推理:微调BERT.pdf》资料免费下载
    发表于 06-05 10:52 0次下载
    <b class='flag-5'>PyTorch</b>教程16.7之自然语言推理:<b class='flag-5'>微调</b><b class='flag-5'>BERT</b>

    PyTorch教程21.7之序列感知推荐系统

    电子发烧友网站提供《PyTorch教程21.7之序列感知推荐系统.pdf》资料免费下载
    发表于 06-06 09:31 0次下载
    <b class='flag-5'>PyTorch</b>教程21.7之<b class='flag-5'>序列</b>感知推荐系统