多语言大模型 Aya-23 开源!覆盖23种语言,性能刷新SOTA

文章目录

    • 1. Aya-23 技术特点
      • 1.1 预训练阶段
      • 1.2 指令微调阶段
    • 2. Aya-23 性能表现
    • 3. Aya-23 多语言任务评估
    • 4. Aya-23 支持 23 种语言
    • 5. Aya-23 应用场景

在这里插入图片描述

近年来,多语言大模型(MLLM)发展迅速,但大多数模型的性能依然存在显著差距,尤其是在非英语语言方面表现不佳。

为了解决上述问题,最近,加拿大AI独角兽公司 Cohere 开源了两种参数规模的多语言指令微调模型Aya-23,包括 8B 和 35B 的版本,其性能超越了 Gemma、Mistral 等同类模型,并首次支持了中文。

在这里插入图片描述

论文链接:https://arxiv.org/pdf/2405.15032
Aya-23-8B: https://huggingface.co/CohereForAI/aya-23-8B
Aya-23-35B: https://huggingface.co/CohereForAI/aya-23-35B

此次开源的 Aya-23 模型,其设计目标是在语言广度和深度上实现平衡,从本质上来讲,所有Aya系列的模型都基于 Cohere 的 Command 系列模型和 Aya Collection,但本次的重点是将更多容量分配给主要的23种语言,以改善目标语言的生成效果。

在这里插入图片描述

1. Aya-23 技术特点

1.1 预训练阶段

Aya-23 模型家族是一系列基于Cohere Command系列的预训练模型,模型在训练时使用了23种不同语言的文本数据,并采用了一系列先进的技术,例如:

  1. 并行注意力和 FFN 层: 类似于 PALM-2 模型,Aya-23 采用了并行块架构,在保持模型质量的同时,显著提高了训练效率,尤其是在张量并行设置下。
  2. SwiGLU 激活函数: 与其他激活函数相比,SwiGLU 能够在保证参数量级基本一致的情况下,提升模型的下游任务性能。
  3. 无偏置: 类似于 PALM2 模型,Aya-23 模型的密集层中去除了所有偏置项,提升了训练的稳定性。
  4. 旋转位置编码: 使用旋转位置编码 (RoPE) 技术,能够更好地进行长文本外推,同时在短文本长度的情况下,也比其他相对位置编码方法,例如 ALiBi,取得更好的下游任务性能。
  5. 分组查询注意力 (GQA): Aya-23-8B 模型使用了分组查询注意力,每个 KV 头共享多个 Q 头,从而降低了推理时间的内存占用。
  6. 分词器:模型使用了一个大小为256k的字节对编码(Byte Pair Encoding, BPE)分词器。在分词过程中,执行了NFC(Normalization Form C)规范化,即文本在分词前会被标准化,以确保一致性。数字被拆分成单独的token,以便于模型更好地理解和处理数字信息。分词器是在预训练数据集的一个平衡子集上训练的,以确保不同语言的文本都能得到高效的表征。

1.2 指令微调阶段

由于多语言指令数据相对稀缺,研究人员采用了多种策略来增强数据的可用性:

  1. 多语言模板:利用结构化文本,将特定的自然语言处理(NLP)数据集转换成指令和回复对。用到数据集包括xP3x数据集和 Aya 数据集的样本,最终形成了一个包含5570万个样本的大型数据集合,覆盖了23种语言和161个不同的数据集。
  2. 人工标注:Aya 数据集包含了由65种语言的母语者编写的204000对人工策划的提示-响应对。我们从中筛选出我们训练模型所使用的23种语言的数据,得到了55000个样本。
  3. 翻译数据:使用了从广泛使用的英语指令数据集进行翻译的样本,从不同数据集、不同语言中随机抽取以保持多样性,最终数据包含了110万个样本。
  4. 合成数据:使用了ShareGPT5和Dolly-15k的人工标注提示,不同的是,Aya 使用了Cohere的Command R+为所有23种语言生成翻译后的ShareGPT和Dolly提示的多语言响应,最终得到了163万个样本。

2. Aya-23 性能表现

Aya-23 模型家族在各种语言、推理、编码和数学基准测试中均取得了优异的成绩,显著优于Aya 101,超越了同等大小甚至更大的模型,展现出了强大的多语言能力。

在这里插入图片描述

3. Aya-23 多语言任务评估

研究团队对 Aya-23 模型进行了全面评估,涵盖了 23 种语言,包括:

  1. 判别式任务:在 XWinograd、XCOPA 和 XStoryCloze 等完全未见过的任务中,Aya-23-35B 模型取得了最佳表现,其平均准确率为 70.8%,超越了其他模型。

在这里插入图片描述

  1. 通用语言理解:在多语言 MMLU 测试中,Aya-23-8B 模型在 14 种语言中取得了最佳表现,其平均准确率为 48.2%,在大部分语言上超过了其他模型。

在这里插入图片描述

  1. 多语言数学推理:在 MGSM 测试中,Aya-23-8B 模型也取得了领先优势,其平均准确率为 36.6%,是同类模型中表现最优秀的,并且比 Aya-101-13B 提升了 4.5 倍。

在这里插入图片描述

  1. 生成任务:在机器翻译和多语言摘要任务中,Aya-23 模型也取得了显著的性能提升。

在这里插入图片描述

4. Aya-23 支持 23 种语言

Aya-23 支持 23 种语言:阿拉伯语、中文(简体和繁体)、捷克语、荷兰语、英语、法语、德语、希腊语、希伯来语、印地语、印度尼西亚语、意大利语、日语、韩语、波斯语、波兰语、葡萄牙语、罗马尼亚语、俄语、西班牙语、土耳其语、乌克兰语和越南语。

5. Aya-23 应用场景

Aya-23 模型家族拥有广泛的应用场景,例如:

  • 机器翻译: 可以用于将一种语言的文本翻译成其他语言。
  • 文本摘要: 可以用于将长篇文本压缩成简短的摘要。
  • 问答系统: 可以用于回答用户的各种问题。
  • 内容创作: 可以用于生成各种类型的文本内容,例如新闻报道、故事、诗歌等。

总的来说,Cohere 开源的 Aya-23 系列模型在多语言AI领域取得了重要突破。Aya-23 有着卓越的性能和广泛的语言支持能力,为多语言模型的发展开辟了新的方向。

欢迎各位关注我的个人微信公众号:HsuDan,我将分享更多自己的学习心得、避坑总结、面试经验、AI最新技术资讯。

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

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

相关文章

“滴滴打车,用友入账”,YonSuite商旅费控助力企业“降低成本”更进一步

在当今竞争激烈的商业环境中,企业对于成本控制和效率提升的需求日益迫切。特别是在商旅管理方面,如何有效整合资源、优化流程、降低费用,成为了成长型企业关注的焦点。用友YonSuite商旅费控作为用友集团旗下的重要产品,凭借其卓越…

ctfshow pwn17-18

毛坯的人生和精装的朋友圈 pwn17 while ( 1 ){menu();v4 0;puts("\nEnter the command you want choose:(1.2.3.4 or 5)\n");__isoc99_scanf("%d", &v4);switch ( v4 ){case 1:system("id");break;case 2:puts("Which directory?(/,…

克隆别人的项目并上传到自己的仓库

克隆别人的项目并上传到自己的仓库通常涉及以下步骤: 克隆项目:首先,你需要将别人的项目克隆到你的本地计算机。可以使用以下Git命令: git clone [项目的URL]将 [项目的URL] 替换为你想克隆的项目的URL。 创建新的仓库&#xff1…

卡尔曼滤波算法的matlab实现

卡尔曼滤波算法的matlab实现 figure; hold on;Z(1:1:100); %观测值:第一秒观测1m 第二秒观测两米 匀速运动, 每秒1m, 最后拟合的也是速度 1m/splot(Z); plot([0,100], [1,1]);noiserandn(1,100)*0.5; %生成方差为1的高斯噪声 ZZnoise; % 加入噪声plot(Z);X[0;…

LabVIEW动态力传感器校准系统

LabVIEW动态力传感器校准系统 开发了一种基于LabVIEW的动态力传感器校准系统。系统主要用于动态力的测量和校准,通过高度集成化和自动化的设计,显著提升校准的效率和精确度。系统采用冲击法进行动态校准,涵盖了完整的硬件设计和软件开发流程…

Kotlin 注解

文章目录 定义注解类的注解标注目标声明 定义 注解使用annotation关键字定义,且只能用于普通类,该类被称为注释类。可以使用注释类为某个变量、函数、类、接口等注释。与我们写的代码注释类似,注释类可以指明被标注类的状态、作用等等&#…

智能体应用开发:构建各类垂直领域的ai智能体应用

最近在做个类似的项目,有用到这方面的知识,顺便做一些记录和笔记吧,希望能帮到大家了解智能体应用开发 目录 引言 AI原生应用的兴起 智能体在AI中的角色 实现原理详解 机器学习基础 数据管理与关联数据库 数据结构 Embedding 检索方…

Pytorch实用教程:torch.cat()函数的用法详解

torch.cat 是 PyTorch 中用于沿指定维度连接张量的函数。以下是该函数的详细用法: 语法 torch.cat(tensors, dim=0, *, out=None)参数说明 tensors (sequence of Tensors): 要连接的张量序列。这些张量必须具有相同的形状(除了连接的维度)。dim (int, optional): 沿着哪个…

卫星位置解算

前言: 本章节代码均在Gitee中开源: 卫星位置计算代码https://gitee.com/Ehundred/navigation-engineering/tree/master/%E5%8D%AB%E6%98%9F%E5%AF%BC%E8%88%AA%E5%8E%9F%E7%90%86/GPS%E5%8D%AB%E6%98%9F%E4%BD%8D%E7%BD%AE%E8%A7%A3%E7%AE%97/Satellit…

SAP物料自动记账科目设置总结

SAP物料自动记账科目设置总结 目录 物料自动记账科目设置总结... 1 总体说明... 1 库存移动事务类型的设置... 4 库存科目设置... 6 期初导入... 6 业务举例... 6 配置... 6 库存初始单据... 7 采购收货(缺少到票) 8 业务举例... 8 配置... 8 采购收货单据-MIGO_GR…

心怀希望の光栅化

还记得什么是光栅化咩? 将三维空间的几何形体显现在屏幕上,这就是光栅化(游戏、实时图形学的应用) Perspective Projection 在正交投影里如何定义三维空间中的立方体呢? 用x轴的覆盖(左、右)…

【UML用户指南】-02-UML基本元素的介绍(二)

目录 1、语法和语义规则 2、UML中的公共机制 (1)规约 (2)修饰 (3)通用划分 (4)扩展机制 衍型/版型/类型(stereotype) 标记值 (tagged val…

Java编程常见问题汇总四

系列文章目录 文章目录 系列文章目录前言一、忽略所有异常二、重复包装RuntimeException三、不正确的传播异常四、用日志记录异常五、异常处理不彻底 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。…

[C/C++]_[初级]_[在Windows和macOS平台上导出动态库的一些思考]

场景 最近看了《COM本质论》里关于如何设计基于抽象基类作为二进制接口,把编译器和链接器的实现隐藏在这个二进制接口中,从而使用该DLL时不需要重新编译。在编译出C接口时,发现接口名直接是函数名,比如BindNativePort,怎么不是_BindNativePort?说明 VC++导出的函数默认是使…

专转本英语应该怎么学?

来吧,宝子们,学姐给你们分享专转本英语如何备考的方法了,单词+语法,两不耽误,快拿着你们的小手来截图记笔记啦~ 1、基础差直接背单词 对于基础差的人呢,本身我们对英语这个科目就不感…

Google Earth Engine精度评价方法

今天讲讲如何在GEE中做最后的精度评价。主要是因为在和许多读者或通过交流群,或通过私聊沟通过程中,发现很多人还不是很理解在GEE中分类后精度评价的问题。 在进行评价之前,需要明晰在GEE中精度评价分为哪几种情况。我们这里说的是两种情况。…

收藏品NFT的开发流程

开发收藏品NFT的流程涉及多个阶段,从概念化和设计到技术实现和市场推广。以下是详细的开发步骤,通过这些步骤,可以成功开发和发布收藏品NFT项目,吸引用户和投资者,并确保项目的持续运营和成功。北京木奇移动技术有限公…

Fiddler入门(接口抓包及APP测试)

目录 一、Fiddler基础介绍 二、Fiddler的作用 三、Fiddler安装 四、Fiddler界面功能介绍 1、界面介绍 1)、菜单栏介绍 2)、工具栏介绍 3)、会话栏介绍 五、Fiddler抓取https数据 (面试题) 六、Fiddler…

C++ lambda表达式的作用和代码示例

Lambda 表达式是 C11 引入的一种匿名函数语法,它可以方便地创建临时函数对象,用于在函数调用时作为参数传递或者作为局部函数使用。Lambda 表达式可以捕获外部变量,并具有与普通函数相似的语法结构。 主要作用如下: 简化代码&am…

【刷题(17)】技巧

一 技巧基础 二 136. 只出现一次的数字 1 题目 2 解题思路 哈希表map 其实看到题目数组中某个元素出现的次数也可以直接用unordered_map容器统计每一个元素出现的次数,然后在遍历整个map容器查看是否有元素出现的次数等于1 3 code class Solution { public:in…