支持534种语言,开源大语言模型MaLA-500

无论是开源的LLaMA 2还是闭源的GPT系列模型,功能虽然很强大,但对语言的支持和扩展比较差,例如,二者都是以英语为主的大模型。

为了提升大模型语言的多元化,慕尼黑大学、赫尔辛基大学等研究人员联合开源了,目前支持语言最多的大模型之一MaLA-500。

MaLA-500以LLaMA 2为基础模型,再用多语言数据库Glot500-c进行语言扩展训练,支持语言达到了惊人的534种。

开源地址:https://huggingface.co/MaLA-LM/mala-500

论文地址:https://arxiv.org/abs/2401.13303

图片

训练数据

研究人员选用了开源数据集Glot500-c对MaLA-500进行了语言扩展训练。该数据集包含了534种语言,涵盖47种不同种族语言,数据量高达2万亿tokens。

研究人员表示,选择Glot500-c数据集的原因在于,可以大幅扩展现有语言模型的语言覆盖范围,并包含极其丰富的语言家族,这对于模型学习语言内在的语法和语义规律帮助巨大。

此外,虽然一些高资源语言的比例相对较低,但Glot500-c的整体数据量对训练大规模语言模型而言足够用。在后续的预处理中,又对语料数据集进行了加权随机采样,以增加低资源语言在训练数据中的比例,让模型更加聚焦特定语言。

基础模型LLaMA 2

MaLA-500选择了目前最知名的开源大语言模型之一LLaMA 2-7B作为基础模型,并进行了两大技术点创新。

1)增强词汇表,研究人员通过Glot500-c数据集,训练了一个多语言分词器,将LLaMA 2的原英文词汇表扩展到了260万,大幅增强了模型对非英语和低资源语言的适配能力。

图片

2)模型增强,使用了LoRA技术在LLaMA 2的基础上进行低秩适配。只训练适配矩阵而冻结基础模型权重,可以高效地实现模型在新语言上的持续学习能力,同时保留模型原有的知识。

训练流程

训练方面,研究人员用了24张N卡A100 GPU进行训练,并使用了包括Transformers、PEFT和DeepSpeed三个主流深度学习框架。

其中,DeepSpeed提供了分布式训练的支持,可以实现模型并行;PEFT实现了高效的模型微调;Transformers提供了模型功能的实现,例如,文本生成、提示词理解等。

为了提升训练的高效性,MaLA-500还使用了各种显存和计算优化算法,如ZeRO冗余优化器,可最大化利用GPU算力资源;以及混合精度训练的bfloat16数格式加速训练流程

此外,研究人员还对模型参数进行了大量优化,使用了学习率为2e-4的常规SGD训练,并使用了0.01的L2权重衰减以防止模型过大,出现过拟合、内容输出不稳定等情况。

图片

为了测试MaLA-500的性能,研究人员在SIB-200等数据集上进行了综合实验。

结果显示,相比原始LLaMA 2模型,MaLA-500在主题分类等评测任务上的准确率提高了12.16%,这说明MaLA-500的多语言优于,现有的众多开源大语言模型。

本文素材来源MaLA-500论文,如有侵权请联系删除

END

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

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

相关文章

python创建pdf文件

目录 一:使用reportlab库 二:使用使pdf库 在Python中生成PDF文件可以使用多种库,其中最常用的是reportlab和fpdf。以下是使用这两个库生成PDF文件的示例代码: 一:使用reportlab库 1:写入文字信息 from r…

【深度学习理论】持续更新

文章目录 1.统计学习理论 1.统计学习理论 统计学习理论,一款适合零成本搞深度学习的大冤种的方向 从人类学习到机器学习的对比(学习的过程分为归纳和演绎 ),引出泛化和过拟合的概念。 如何表示归纳的函数规律呢?以监督…

XAI:探索AI决策透明化的前沿与展望

文章目录 📑前言一、XAI的重要性二、为什么需要可解释人工智能三、XAI的研究与应用四、XAI的挑战与展望 📑前言 随着人工智能技术的快速发展,它已经深入到了我们生活的方方面面,从智能手机、自动驾驶汽车到医疗诊断和金融投资&…

【Linux驱动】块设备驱动(二)—— 块设备读写(使用请求队列)

块设备的操作函数并没有类似于字符驱动中的read 和write函数,要实现读写操作,只能在请求处理函数中实现。这就分为两种,是否要使用请求队列,请求队列的主要作用是管理和调度IO请求。在以下情况中,一般需要用到请求队队…

C++:深入剖析默认参数

看下列代码执行结果&#xff0c;你猜一猜会输出什么&#xff1f; #include<iostream> using namespace std; struct A {virtual void fun(int a 10) {cout << "A,a"<<a;} }; struct B :public A {void fun(int a 5) {cout <<"B,a&qu…

re:从0开始的CSS学习之路 1. CSS语法规则

0. 写在前面 现在大模型卷的飞起&#xff0c;感觉做页面的活可能以后就不需要人来做了&#xff0c;不知道现在还有没有学前端的必要。。。 1. HTML和CSS结合的三种方式 在HTML中&#xff0c;我们强调HTML并不关心显示样式&#xff0c;样式是CSS的工作&#xff0c;现在就轮到C…

编码世界探秘:原反补码与实数表示,含定点、浮点及BCD编码

数值的编码表示 整数编码表示 在计算机中&#xff0c;因为只有0和1这两种形式&#xff0c;但为了表示数的正&#xff08;&#xff09;&#xff0c;负&#xff08;-&#xff09;号&#xff0c;就要将数的符号以0和1编码。 通常把一个数的最高位定义为符号位&#xff0c;用0表…

Zephyr NRF7002 实现AppleJuice

BLE的基础知识 ble的信道和BR/EDR的信道是完全不一样的。但是范围是相同的&#xff0c;差不多也都是2.4Ghz的频道。可以简单理解为空中有40个信道0~39信道。两个设备在相同的信道里面可以进行相互通信。 而这些信道SIG又重新编号&#xff1a; 这个编号就是把37 38 39。 3个信道…

Python中的while循环,知其然知其所以然

文章目录 while循环结构1.用循环打印1 ~ 100步骤解析2. 1 ~ 100的累加和3.死循环1. 用死循环的方法实现 1 ~ 100累加和 4. 单向循环(1)打印 一行十个小星星*(2)通过打印一个变量的形式,展现一行十个小星星(3)一行十个换色的星星 ★☆★☆★☆★☆★☆(4)用一个循环,打印十行十列…

5、从 CSV 到 ChatGPT 的完整分析报告,只需 5 个简单步骤

从 CSV 到 ChatGPT 的完整分析报告,只需 5 个简单步骤 数据分析是一项耗时的活动。使用 ChatGPT,我们可以在短时间内进行数据汇总、数据预处理、数据可视化等。 无论您从事什么行业,在数据驱动时代,知道如何分析数据比以往任何时候都更加重要。数据分析将使企业能够保持竞…

【C语言 - 哈希表 - 力扣 - 相交链表】

相交链表题目描述 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0…

【VTKExamples::PolyData】第二十期 ImplicitModeller

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例ImplicitModeller技术,并解析接口vtkImplicitModeller,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. I…