多语言跨领域迁移学习的新框架:MAD-X

人工智能咨询培训老师叶梓 转载标明出处

多语言模型如mBERT和XLM-R通过零样本或少样本跨语言迁移极大地推动了低资源语言的NLP应用。但这些模型由于容量限制,对低资源语言和未见语言的迁移性能并不理想。为了解决这一问题,来自德国达姆施塔特工业大学、剑桥大学和DeepMind的研究者们提出了一种名为MAD-X的适配器框架,旨在通过学习模块化的语言和任务表示,实现对任意任务和语言的高效迁移。

论文链接:https://arxiv.org/pdf/2005.00052

代码链接:https://adapterhub.ml/

方法

在跨语言迁移学习中,标准的迁移设置通常涉及使用大型多语言模型(如mBERT或XLM-R)先在源语言的标记数据上进行微调,然后直接应用于目标语言的推理。这种方法的缺点是多语言初始化需要平衡多种语言,导致模型在推理时无法针对特定语言表现出色。

为了改善这一问题,提出了一种简单的方法,即在源语言的特定任务微调之前,先通过遮蔽语言模型(MLM)在目标语言的未标记数据上微调预训练的多语言模型。虽然这种方法使得模型无法在多个目标语言上进行评估,因为它会偏向于特定目标语言,但如果我们只关心特定(即固定的)目标语言的性能,这种方法可能更可取。

实验发现,目标语言的适应性迁移学习相较于标准设置能提高跨语言迁移性能,且不会导致预训练模型中已有的多语言知识发生灾难性遗忘。但这种简单的适应方法仍继承了预训练多语言模型和标准迁移设置的基本限制:模型的有限容量阻碍了对低资源和未见语言的有效适应。另外,对整个模型进行微调在许多任务或语言上并不具有很好的扩展性。

MAD-X框架旨在解决现有预训练多语言模型在迁移到其他语言时的不足。该框架由三种类型的适配器组成:语言适配器、任务适配器和可逆适配器。适配器在训练时保持预训练多语言模型的参数不变,使得学习语言和任务特定的转换变得模块化且参数高效。

语言适配器是为了学习特定语言的转换而设计的。它们采用了Pfeiffer等人在2020年提出的高效适配器架构,该架构通过简单的下投影(down-projection)和上投影(up-projection)以及残差连接来定义适配器的内部结构。如图1所示,语言适配器被添加到每个Transformer层,并且在训练时,通过遮蔽语言模型(MLM)在未标记的目标语言数据上进行训练,以学习使预训练多语言模型更适合特定语言的转换。

任务适配器与语言适配器具有相同的架构,它们被堆叠在语言适配器之上,接收来自语言适配器的输出以及Transformer前馈层的残差。任务适配器是唯一在下游任务(如NER)训练时更新的参数,旨在捕获特定于任务但能跨语言泛化的知识。

可逆适配器是针对预训练多语言模型在低资源语言和未见语言上性能不足的问题提出的解决方案。这些适配器被堆叠在嵌入层的顶部,而其逆适配器位于输出嵌入层之前。如图2所示,可逆适配器通过将输入嵌入向量分割并转换,实现了输入和输出表示的适应。这种设计允许我们利用同一组参数来适应输入和输出表示,这对于避免在特定任务微调中丢弃的输出嵌入过度拟合预训练任务至关重要。

通过通过图1 示例,展示了如何使用MAD-X框架进行零样本跨语言迁移。以英语(En)作为源语言和克丘亚语(Qu)作为目标语言,首先对可逆适配器AEnInv和AQuInv以及语言适配器AEnLang和AQuLang进行预训练。然后在英语NER训练集上训练NER任务适配器ANER Task。在训练过程中,嵌入通过AEnInv传递,并且在模型的每一层,数据首先通过固定的AEnLang,然后进入NER适配器ANER Task。在零样本推理中,将英语的可逆和语言适配器AEnInv和AEnLang替换为其克丘亚对应物AQuInv和AQuLang,而数据仍然通过NER任务适配器ANER Task传递。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。9月22日晚,实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

加助理微信提供直播链接:amliy007,29.9元即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory,关注享粉丝福利,限时免费CSDN听直播后的录播讲解。
LLaMA Factory 支持多种预训练模型和微调算法。它提供灵活的运算精度和优化算法选择,以及丰富的实验监控工具。开源特性和社区支持使其易于使用,适合各类用户快速提升模型性能。

实验

数据集和语言选择:

NER任务:使用了WikiANN数据集,该数据集最初由Rahimi等人在2019年进行划分,包括训练集、开发集和测试集。这个数据集覆盖了大量语言,是评估跨语言能力的理想选择。

QA任务:采用了XQuAD数据集,这是著名的SQuAD数据集的跨语言版本,由Artetxe等人在2020年提出。XQuAD提供了一个在多种语言上评估问答系统的机会。

CCR任务:使用了XCOPA数据集,这是COPA数据集的跨语言版本,由Ponti等人在2020年提出。XCOPA专注于因果推理,为评估模型的常识推理能力提供了平台。

研究者们精心挑选了一组具有代表性的语言,以确保评估结果的全面性和多样性。这些语言的选择基于几个标准:不同大小的维基百科文章(数据可用性)、是否包含在预训练的多语言模型中(如mBERT和XLM-R),以及语言类型的多样性。

表格2展示了从每种源语言迁移到所有16种目标语言时的NER任务F1得分的平均值。这些结果不仅包括了在多语言预训练中见过的语言,也包括了未见过的,提供了对模型跨语言迁移能力的全面评估。

研究者们将MAD-X框架与当前最先进的跨语言迁移模型XLM-R进行了比较。XLM-R是一个基于Transformer的模型,预训练了100种语言,是评估跨语言迁移能力的重要基准。

除了标准的XLM-R模型,研究者们还考虑了两种基线:在源语言数据上进行MLM微调的XLM-R(XLM-RBase MLM-SRC)和在目标语言数据上进行MLM微调的XLM-R(XLM-RBase MLM-TRG)。这些基线为评估MAD-X框架提供了重要的参照。

在MAD-X框架的实验中,主要使用XLM-R Base架构。研究者们评估了完整的MAD-X框架,以及没有可逆适配器(-INV)和没有语言适配器及可逆适配器(-LAD -INV)的变体。

使用Transformers库进行所有实验。通过MLM在未标记数据上进行微调,训练步骤为250,000步,批大小为64,XLM-R和适配器的学习率分别为5e-5和1e-4。

对于NER任务,对每种源语言-目标语言组合进行了五次微调运行,选择验证性能最佳的检查点进行评估。

对于QA任务,在英语SQuAD训练集上进行了三次微调运行,评估了所有XQuAD目标语言,并报告了平均F1和精确匹配(EM)得分。

对于CCR任务,在相应的英语训练集上进行了三次微调运行,评估了所有XCOPA目标语言,并报告了准确率得分。

通过这些详细的实验设置和结果分析,研究者们展示了MAD-X框架在跨语言迁移学习任务中的有效性和优越性,特别是在处理低资源语言和未见语言时的性能提升。

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

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

相关文章

Stable Diffusion详解

文章目录 前言一、LDM原理二、模型结构三、模型训练与推理总结 前言 Stable Diffusion在图像生成方面取得了很大的成功,其核心原理是LDM(Latent Diffusion Models),在论文《High-Resolution Image Synthesis with Latent Diffusio…

【数据结构】优先级队列 — 堆

文章目录 前言1. 优先级队列1.1 概念1.2 特性 2. 堆2.1 概念2.2 存储方式 3. 堆的模拟实现3.1 堆的创建3.2 堆的插入3.3 堆的删除 4. PriorityQueue4.1 注意事项4.2 构造器介绍4.3 常用方法介绍 5. 经典题型6. 结语 前言 我们之前学习过队列,它是遵循先进先出原则的…

halcon 深度学习软件工具安装以及用法

安装halcon 20版本以上得 以为这个版本以上得有异常检测,分割,分类,目标检测,都有 一、下载软件 可以再官网下载,但是官网要注册账号 下载区域: MVTec Software 不用官方的账号 就下载安装包 链接:http…

day13JS-MoseEvent事件

1. MouseEvent的类别 mousedown :按下键mouseup :释放键click :左键单击dblclick :左键双击contextmenu :右键菜单mousemove :鼠标移动mouseover : 鼠标经过 。 可以做事件委托,子元素可以冒泡…

使用Blender进行3D建模—基础操作笔记

Blender 3D 建模🚀 在博0阶段,目前已经完成立创EDA的PCB绘制的基础学习,树莓派的系统安装远程控制能学习,加上我本硕阶段学习的单片机和深度学习人工智能算法的知识,这里打算补上一块比较重要的能力拼图,就…

Netty 学习笔记

Java 网络编程 早期的 Java API 只支持由本地系统套接字库提供的所谓的阻塞函数,下面的代码展示了一个使用传统 Java API 的服务器代码的普通示例 // 创建一个 ServerSocket 用以监听指定端口上的连接请求 ServerSocket serverSocket new ServerSocket(5000); //…

c++关于字符串的练习

提示并输入一个字符串&#xff0c;统计该字符串中字母个数、数字个数、空格个数、其他字符的个数 #include <iostream> #include<string> using namespace std;int main() {string s1;int letter0,digit0,space0,other0;cout<<"请输入一个字符串:"…

海康二次开发学习笔记5-二次开发小技巧

二次开发小技巧 1. VM安装目录 Samples内包含C#,QT,VC应用程序 Documetnations内包含C#和C语言的帮助文档 2. 错误码 private void button4_Click(object sender, EventArgs e){try{VmSolution.Load(textBox1.Text);listBox1.Items.Add("方案加载成功.");listBox1.…

质量技术AI提效专题分享-得物技术沙龙

活动介绍 本次“质量技术&AI提效专题分享”沙龙聚焦于质量技术和AI效率领域&#xff0c;将为您带来四个令人期待的演讲话题&#xff1a; 1、《智能化提效实践》 2、《仿真自动化在饿了么金融实践分享》 3、《得物精准测试提效应用》 4、《广告算法灰度拦截实践》 相信这些…

开源的工作流系统突出优点总结

当前&#xff0c;想要实现高效率的办公&#xff0c;可以一起来了解低代码技术平台、开源的工作流系统的相关特点和功能优势。作为较受职场喜爱的平台产品&#xff0c;低代码技术平台拥有可视化才做界面、灵活、好维护操作等多个优势特点&#xff0c;在推动企业流程化办公的过程…

读软件开发安全之道:概念、设计与实施12不受信任的输入

1. 不受信任的输入 1.1. 不受信任的输入可能是编写安全代码的开发人员最关心的问题 1.1.1. 最好将其理解为输入系统中的所有不受信任的输入 1.1.2. 来自受信任的代码的输入可以提供格式正确的数据 1.2. 不受信任的输入是指那些不受你控制&#xff0c;并且可能被篡改的数据&…

RASA使用长文记录以及一些bug整理

RASA 学习笔记整理 一 安装 在虚拟环境中安装&#xff0c;进入python3版本的环境 conda activate python3 ai04机器旧版本&#xff1a;rasa-nlu和rasa-core是分开安装的 最新版本&#xff1a;rasa 将二者做了合并 直接安装 pip3 install rasa 在安装到如下步骤时候会报…

github上传代码

一般要上传github代码有两种模式&#xff0c;一种是直接在repo中上传&#xff0c;一种是通过git来上传&#xff08;win和linux都可以&#xff09;&#xff0c;来学习一下。 我们去创建好一个repo后&#xff1a; 首先是直接上传&#xff08;不推荐&#xff09; 通过upload file…

graphRAG原理解析——基于微软graphRAG+Neo4j llm-graph-builder

知识图谱生成 llm-graph-builder&#xff08;以下简称 LGB&#xff09;也使用了最新的 graph RAG 的思路&#xff0c;使用知识图谱来加持RAG&#xff0c;提供更加准确和丰富的知识问答。知识图谱的生成上&#xff0c;利用大模型的泛化能力来自动生成和构建知识图谱&#xff0…

一个下载镜像非常快的网站--华为云

1、镜像的下载飞速 链接&#xff1a;mirrors.huaweicloud.com/ubuntu-releases/24.04/ 下载一个的ubuntu24.04的镜像文件&#xff0c;5.7G的大文件&#xff0c;不到1分钟就下完毕了&#xff0c; 比起阿里云下载的速度600K/S,这个速度是100多倍。 非常的神速&#xff0c;非常…

探索联邦学习:保护隐私的机器学习新范式

探索联邦学习&#xff1a;保护隐私的机器学习新范式 前言联邦学习简介联邦学习的原理联邦学习的应用场景联邦学习示例代码结语 前言 在数字化浪潮的推动下&#xff0c;我们步入了一个前所未有的数据驱动时代。海量的数据不仅为科学研究、商业决策和日常生活带来了革命性的变化&…

[AI]从零开始的so-vits-svc webui部署教程(小白向)

一、本次教程是给谁的&#xff1f; 如果你点进了这篇教程&#xff0c;相信你已经知道so-vits-svc是什么了&#xff0c;那么我们这里就不过多讲述了。如果你还不知道so-vits-svc能做什么&#xff0c;可以去b站搜索一下&#xff0c;你大概率会搜索到一些AI合成的音乐&#xff0c;…

C#利用ffmpeg借助NVIDIA GPU实现实时RTSP硬解码+硬编码录制MP4

目录 说明 效果 项目 代码 下载 说明 利用周杰的开源项目 Sdcb.FFmpeg 项目地址&#xff1a;https://github.com/sdcb/Sdcb.FFmpeg/ 代码实现参考&#xff1a;https://github.com/sdcb/ffmpeg-muxing-video-demo 效果 C#利用ffmpeg借助NVIDIA GPU实现实时RTSP硬解码硬…

助力外骨骼机器人动力学分析

目录 一、动力学分析 二、拉格朗日方程 三、参考文献 一、动力学分析 动力学是考虑引起运动所需要的力&#xff0c;使执行器作用的力矩或施加在操作臂上的外力使操作臂按照这个动力学方程运动。 目前机器人动力学分析中主要采用牛顿-欧拉动力学方程和拉格朗日动力学方程 […

基于大数据的水资源管理与调度优化研究【Web可视化、灰色预测、大屏设计】

需要本项目的私信博主 目录 1 引言 1.1 研究背景 1.2 国内外研究现状 1.3 研究目的 1.4 研究意义 2 关键技术理论介绍 2.1 Python语言 2.2 pandas 2.3 pyecharts 2.4 灰色预测 3 数据来源及处理 3.1 数据来源 3.2 数据处理 4 数据可视化分析及大屏设计 4.1 年度…