All In One!Meta发布SeamlessM4T,支持100种语言,35种语音、开源、在线体验!

多语言识别翻译的研究一直都是学术界研究的重点。目前全球有几千种语言,在全球化背景下不同语言人群之间的交流越来越密切,然而学习一门外语的成本是非常大的。前两年的研究主要集中在一对一、一对多的研究,然而当面对这么多的语言时,既需要「考虑模型准确率,还需要考虑语种的识别」。最近,随着人工智能大型自然语言模型的发展,利用统一模型实现多语种识别翻译来实现不同语种之间交流逐渐的变成了可能。

最近「Meta刚刚发布的SeamlessM4T」,它在近「100种语言」中实现了最先进的结果,并在自动语音识别、语音转文本、语音转语音、文本转语音和文本转语音等方面实现了多任务支持——「全部集中在一个模型中」!

图片

Paper:https://ai.meta.com/research/publications/seamless-m4t/

Code:https://github.com/facebookresearch/seamless_communication

Demo:https://huggingface.co/spaces/facebook/seamless_m4t

SeamlessM4T

构建通用语言翻译器是非常具有挑战性,因为现有的语音到语音和语音到文本系统仅涵盖世界语言的一小部分。SeamlessM4T 代表了语音到语音和语音到文本领域的重大突破,它解决了有限的语言覆盖范围和对单独系统的依赖的挑战;能够提供按需翻译,使使用不同语言的人们能够更有效地进行交流。,在英语、西班牙语和德语等资源丰富的语言上也保持着强劲的表现;除此之外,SeamlessM4T可以隐式的识别源语言,无需单独的语言识别模型。

SeamlessM4T统一多语言识别翻译模型特点总结:

  • 自动语音识别近百种语言

  • 近100种输入和输出语言的语音到文本翻译

  • 语音翻译,支持近100种输入语言和35种(+英语)输出语言

  • 近100种语言的文本到文本翻译

  • 文本转语音翻译,支持近100种输入语言和35种(+英语)输出语言

目前Meta已经将模型开放出来供大家进行研究,但是必须遵循「不能商用」的许可。除此之外,他们还发布了迄今为止最大的开放多模式翻译数据集:「SeamlessAlign」,并且能够轻松使用 SONAR(一套完整的语音和文本句子编码器)和 stopes(多模式数据处理和并行数据挖掘库)对自己的单语言数据集进行挖掘。

SeamlessM4T实现方法

构建统一模型需要一个轻量级且易于与其他现代 PyTorch 生态系统库组合的序列建模工具包。Meta重新设计了fairseq,最初的序列建模工具包。凭借更高效的建模和数据加载器 API,fairseq2 有助于支持 SeamlessM4T 背后的建模。

对于模型,使用多任务UnitY模型架构,它能够直接生成翻译后的文本和语音。这种新架构还支持自动语音识别、文本到文本、文本到语音、语音到文本和语音到语音翻译,这些功能已经是普通 UnityY 模型的一部分。

多任务 UnitY 模型由三个主要的顺序组件组成。文本和语音编码器的任务是识别近100种语言的语音输入。然后,文本解码器将该含义转换为近100种文本语言,然后使用文本到单元模型将其解码为35种语音语言的离散声学单元。对自监督编码器、语音到文本、文本到文本翻译组件和文本到单元模型进行预训练,以提高模型的质量和训练稳定性。然后将解码的离散单元转换为 使用多语言 HiFi-GAN 单元声码器进行语音。

图片

语音编码器

自监督语音编码器w2v-BERT 2.0是w2v-BERT的改进版本,提高了训练稳定性和表示质量,通过分析数百万小时的多语言语音来学习查找语音中的结构和含义。编码器获取音频信号,将其分解为更小的部分,并构建所说内容的内部表示。由于口语单词是由许多声音和字符组成的,因此我们使用长度适配器将它们粗略地映射到实际单词。

文本编码器

同样,我们有一个基于 NLLB 模型的文本编码器。它经过训练可以理解近 100 种语言的文本并生成对翻译有用的表示。

文本解码器

文本解码器经过训练可以采用编码的语音表示或文本表示。这可以应用于同一语言的任务,例如自动语音识别、多语言翻译任务。例如,某人可以用法语说出“bonjour”一词,并期望斯瓦希里语的翻译文本为“habari”。通过多任务训练,我们利用强大的文本到文本翻译模型(NLLB)的优势,通过标记级知识蒸馏来指导我们的语音到文本翻译模型。

语音解码器

使用声学单位来表示目标侧的语音。UnitY 模型中的文本到单元 (T2U) 组件根据文本输出生成这些离散语音单元,并在 UnityY 微调之前根据 ASR 数据进行预训练。然后使用多语言 HiFi-GAN 单元声码器将这些离散单元转换为音频波形。

最庞大的语料库

&emspSeamlessM4T模型受益于大量高质量的端到端数据,即语音到文本、语音到语音数据。仅依靠人工转录和翻译的语音无法应对100种语言的语音翻译任务。Meta基于在联合嵌入空间中使用相似性度量的文本到文本挖掘的开创性工作以及语音挖掘的初步工作来创建额外的资源来训练 SeamlessM4T 模型。

首先,为200种语言构建了一个新的大规模多语言和模态文本嵌入空间,名为 SONAR(句子级模态和语言无关表示),它在多语言相似性搜索方面大大优于LASER3或LaBSE等现有方法。然后,应用师生方法将此嵌入空间扩展到语音模态,目前涵盖35种语言。挖掘是在来自公开可用的网络数据存储库(数百亿个句子)和语音存储库(400 万小时)的数据中进行的。

总的来说,我们能够自动将超过443,000小时的语音与文本进行对齐,并创建约 29,000 小时的语音到语音对齐。该语料库被称为 SeamlessAlign,它是迄今为止就总容量和语言覆盖范围而言最大的开放语音/语音和语音/文本并行语料库。

实验结果

SeamlessM4T在近100种语言中实现了最先进的结果,并在自动语音识别、语音转文本、语音转语音、文本转语音和文本转语音等方面实现了多任务支持——全部集中在一个模型中。还显着提高了所支持的中低资源语言的性能,并保持了高资源语言的强劲性能。

图片

为了在不依赖基于文本的指标的情况下更准确地评估系统,将无文本指标扩展到BLASER 2.0,现在可以跨语音和文本单元进行评估,其准确性与其前身相似。在进行鲁棒性测试时,与当前最先进的模型相比,系统在语音转文本任务中针对背景噪声和说话人变化的表现更好(平均分别提高了37%和48%)。

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

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

相关文章

MSTP多生成树协议(第二课)

MSTP负载均衡 实验 需求 1)PC1属于 vlan 10 ,IP地址为 192.168.10.1/24, 网关为 192.168.10.2542)PC2属于 vlan 20 ,IP地址为 192.168.20.1/24, 网关为 192.168.20.254**3)确保PC1与PC2互通4…

leetcode 1035. 不相交的线

2023.8.25 本题可以转化为&#xff1a;求两数组的最长公共子序列。 进而可以用dp算法解决。 方法类似于这题最长公共子序列 。 代码如下&#xff1a; class Solution { public:int maxUncrossedLines(vector<int>& nums1, vector<int>& nums2) {vector<…

[国产MCU]-W801开发实例-按键与GPIO输入

按键与GPIO输入 文章目录 按键与GPIO输入1、硬件准备2、软件准备3、驱动实现4、驱动测试在前面的文章中,我们成功点亮了LED,同时也知道W801的GPIO是可软件配置的。在这里,将详细介绍如何通过按键控制LED。 1、硬件准备 W801开发板一块微动开关一个10K电阻一个导线若干1uF电容…

情人节特别篇:用c++弹奏音乐“海阔天空”与“孤勇者”

W...Y的主页 &#x1f495; 代码库分享 &#x1f60a; 目录 孤勇者 海阔天空 今天是2023年8月22日七夕情人节&#xff0c;但是对我来说就是再普通不过的日子。我相信有很多人期待这一天的到来&#xff0c;和自己的对象出去享受快乐时光。但是我只有一个人独孤的度过短暂的时…

jdk 04 stream的collect方法

01.收集(collect) collect&#xff0c;收集&#xff0c;可以说是内容最繁多、功能最丰富的部分了。 从字面上去理解&#xff0c;就是把一个流收集起来&#xff0c;最终可以是收集成一个值也可以收集成一个新的集合。 collect主要依赖java.util.stream.Collectors类内置的静态方…

Java抽象类

Java中的抽象类&#xff08;Abstract Class&#xff09;是一种特殊类型的类&#xff0c;它无法被实例化&#xff0c;只能被用作其他类的基础。抽象类用于定义具有共同特征和行为的一组相关类的共同结构和方法。抽象类可以包含抽象方法&#xff08;没有具体实现的方法&#xff0…

常见前端面试之VUE面试题汇总二

4. slot 是什么&#xff1f;有什么作用&#xff1f;原理是什么&#xff1f; slot 又名插槽&#xff0c;是 Vue 的内容分发机制&#xff0c;组件内部的模板引擎使用 slot 元素作为承载分发内容的出口。插槽 slot 是子组件的一个模板 标签元素&#xff0c;而这一个标签元素是否显…

学习JAVA打卡第四十天

对象的字符串表示 在此类中我们讲过&#xff0c;所有的类都默认是java.lang包中object类的子类或间接子类。 Object类有一个public String toString&#xff08;&#xff09;方法,一个对象通过调用该方法可以获得该对象的字符串表示。一个对象调用toString法&#xff08;&…

U盘怎么加密?U盘加密方法有哪些?

U盘是我们生活和工作中最常用的移动储存设备&#xff0c;经常被用来存放各种重要数据&#xff0c;为了保证数据的安全&#xff0c;我们需要加密U盘。那么&#xff0c;U盘加密方法有哪些呢&#xff1f; U盘加密普通方法 如果你的U盘储存数据不多&#xff0c;并且对于加密的要求…

回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果…

数据结构入门 — 链表详解_双向链表

前言 数据结构入门 — 双向链表详解* 博客主页链接&#xff1a;https://blog.csdn.net/m0_74014525 关注博主&#xff0c;后期持续更新系列文章 文章末尾有源码 *****感谢观看&#xff0c;希望对你有所帮助***** 系列文章 第一篇&#xff1a;数据结构入门 — 链表详解_单链表…

OSCS开源安全周报第 56 期:Apache Airflow Spark Provider 任意文件读取漏洞

本周安全态势综述 OSCS 社区共收录安全漏洞 3 个&#xff0c;公开漏洞值得关注的是 Apache NiFi 连接 URL 验证绕过漏洞(CVE-2023-40037)、PowerJob 未授权访问漏洞(CVE-2023-36106)、Apache Airflow Spark Provider 任意文件读取漏洞(CVE-2023-40272)。 针对 NPM 、PyPI 仓库…

4.9 已建立连接的TCP,收到SYN会发生什么?

1. 客户端的 SYN 报文里的端口号与历史连接不相同 此时服务端会认为是新的连接要建立&#xff0c;于是就会通过三次握手来建立新的连接。 旧连接里处于 Established 状态的服务端最后会怎么样呢&#xff1f; 服务端给客户端发消息了&#xff1a;客户端连接已被关闭&#xff…

C++信息学奥赛1138:将字符串中的小写字母转换成大写字母

#include<bits/stdc.h> using namespace std; int main() {string arr;// 输入一行字符串getline(cin, arr);for(int i0;i<arr.length();i){if(arr[i]>97 and arr[i]<122){char aarr[i]-32; // 将小写字母转换为大写字母cout<<a; // 输出转换后的字符}els…

操作系统-笔记-第二章-锁

&#x1f338;章节汇总 一、第一章——操作系统的概念 二、第二章——【进程】 二、第二章——【线程】​编辑 二、第二章——【进程调度】 二、第二章——【进程同步与互斥】 二、第二章——【锁】 三、第三章——内存管理 四、第四章——文件管理 五、第五章——输入输出管理…

学习笔记|认识蜂鸣器|控制原理|电磁炉LED实战|逻辑运算|STC32G单片机视频开发教程(冲哥)|第八集(上):蜂鸣器应用

文章目录 1.认识蜂鸣器区别 2.控制原理实现蜂鸣器控制原理 3.蜂鸣器实战应用需求分析代码编写步骤一代码编写及分析test.h的固定模板Tips:提示&#xff1a;“test\test.c(14): error C16: unprintable character 0xA3 skippedTips&#xff1a;“test\test.c(14): warning C137:…

R语言如果列表中有列表,且每个子列表有一个向量:如何转变为仅仅一个列表里面含有向量

引言 有些时候&#xff0c;比如批量读取表格中的某一列的时候&#xff0c;最终你会得到列表里面装列表&#xff0c;且每个列表里面只有一个向量的情况。我们的目标是不要中间这一层列表&#xff0c;而是直接变成列表-向量这种简单的结构&#xff0c;如何完成呢。我觉得有很多方…

Linux Ubuntu系统安装OpenVPN服务

OpenVPN Ubuntu/Linux 服务端安装 官方文档&#xff1a;https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage 介绍 嘿&#xff0c;今天我们要探讨的话题是OpenVPN——那个让你在互联网上以安全又私密的方式冲浪的神奇工具。 首先&#xff0c;你可能会问&#xff…

用正则处理Unicode 编码的文本

Unicode&#xff08;中文&#xff1a;万国码、国际码、统一码、单一码&#xff09;是计算机科学领域里的一项业界标准。它对世界上大部分的文字进行了整理、编码。Unicode 使计算机呈现和处理文字变得简单。 现在的 Unicode 字符分为 17 组编排&#xff0c;每组为一个平面&…

什么是住宅ip,静态和动态怎么选?

上文我们介绍了数据中心代理&#xff0c;这次我们来介绍下住宅代理ip&#xff0c;住宅代理ip分类两种类型&#xff1a;静态住宅代理和动态住宅代理&#xff0c;他们有什么区别又能用在什么场景呢&#xff1f;我们先从他们是如何运作开始。 一、什么是住宅代理ip isp住宅代理i…