当前位置: 首页 > news >正文

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%)。

相关文章:

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

多语言识别翻译的研究一直都是学术界研究的重点。目前全球有几千种语言,在全球化背景下不同语言人群之间的交流越来越密切,然而学习一门外语的成本是非常大的。前两年的研究主要集中在一对一、一对多的研究,然而当面对这么多的语言时&#xf…...

Python可视化工具库实战

Matplotlib Matplotlib 是 Python 的可视化基础库,作图风格和 MATLAB 类似,所以称为 Matplotlib。一般学习 Python 数据可视化,都会从 Matplotlib 入手,然后再学习其他的 Python 可视化库。 Seaborn Seaborn 是一个基于 Matplo…...

编解码视频测试序列集

最近测试解码器性能,搜集了一下可以免费的测试序列及,现在罗列如下,有很多需要翻墙: 1、h264的视频测试序列集 https://pi4.informatik.uni-mannheim.de/~kiess/test_sequences/download/ 2、HEVC测试序列 https://blog.csdn.net/…...

1 Hadoop入门

1.Hadoop是什么? (1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 (2)主要解决,海量数据的存储和海量数据的分析计算问题。 (3)广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈 2.Hadoop的优势 3 Hadoop组成 4 HDF…...

骨传导耳机哪款比较好,市面上最好的骨传导耳机分享

随着科技的日新月异,骨传导耳机也在不断更新换代。市场上涌现出许多品牌,这使得消费者在购买时感到困惑。别担心!我们为你整理了一些市场上最好的骨传导耳机品牌,希望能帮到你。现在,就让我们一起探索这些骨传导耳机的…...

centos7安装docker-compose—及常见错误排解

目录 一、Docker-Compose概述Compose有2个重要的概念:一、安装docker-compose1.从github上下载docker-compose二进制文件安装 二、Docker-compose实战 二、Dcoker-compose 不好下载,你直接使用docker 一个一个的安装使用dockerfile安装各种服务组件 一、…...

Stable Diffusion 文生图技术原理

图像生成模型简介 图片生成领域来说,有四大主流生成模型:生成对抗模型(GAN)、变分自动编码器(VAE)、流模型(Flow based Model)、扩散模型(Diffusion Model)。…...

Jumpserver堡垒机管理(安装和相关操作)-------从小白到大神之路之学习运维第89天

第四阶段 时 间:2023年8月28日 参加人:全班人员 内 容: Jumpserver堡垒机管理 目录 一、堡垒机简介 (一)运维常见背黑锅场景 (二)背黑锅的主要原因 (三)解决背黑…...

伦敦金走势多变怎么办

投资知识比较丰富的朋友,应该知道一个品种的价格过于波动,对投资者来说并是一件不友好的事情,因为频繁的价格变化,对于收益的稳定性会产生负面的影响,也可能让投资者的持仓陷入进退维谷的尴尬境地。 黄金作为贵金属市场…...

MybatisPlus-插件篇

文章目录 一、前言二、插件1、分页插件2.1.1、引入依赖2.1.1、配置分页插件2.1.3、使用分页方法 2、乐观锁插件2.1、引入依赖2.2、添加版本字段2.3、配置乐观锁插件2.4、执行更新操作 三、总结 一、前言 本文将详细介绍mybatisplus中常用插件的使用。 二、插件 1、分页插件 …...

数学建模:熵权法

🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 熵权法 构建原始矩阵 D a t a Data Data 形状为 m ∗ n m *n m∗n ,其中 m m m 为评价对象, n n n 为评价指标。对 D a t a Data Data矩阵的指标进行正向化处理,得到…...

软件测试实训系统建设方案

一 、系统概述 软件测试实训系统是软件开发过程中的一项重要测试活动,旨在验证不同软件模块或组件之间的集成与交互是否正常。综合测试确保各个模块按照设计要求正确地协同工作,以实现整个软件系统的功能和性能。以下是软件测试实训系统的一般流程和步骤…...

部署 ssm 项目到云服务器上(购买云服务器 + 操作远程云服务器 + 服务器中的环境搭建 + 部署项目到服务器)

部署 Web 项目 1、获取 Linux 环境1.1、如何去买一个云服务器1.2、远程操作云服务器1.3、在 Linux 系统中搭建 Java Web 的运行环境。1)安装 JDK(使用包管理器 yum 来安装)2) 安装Tomcat3)安装 MySQL。 1.4、在云服务器…...

python爬虫-使用selenium自动登录微博

环境准备:anaconda、pycharm编辑器、chromedriver(记得下载) 首先查看本地anaconda的python环境和selenium版本号(不同版本的api接口可能不同) conda list python输出 # Name Version Build Channel ipython …...

Python 面试:可变类型和不可变类型作为函数参数,关键字参数

1. 可变类型作为参数 可变对象: list/set/dict 参数会指向可变对象的副本的地址,每次修改的是同一个对象。 def flist(l):l.append(0)print(l)ll [] flist(ll) flist(ll)输出为: [0] [0, 0] # 注意:l只是ll的一个副本,修改l不…...

Web3.0时代什么时候到来,Web3.0有什么机会?

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…...

vue心得

不是专业的前端开发,但因为E2E开发和架构设计的需要,必须对前端框架有一些了解。这两年项目前端在用vue,就记录一下vue的使用心得。 心得 component component: vue组件,可在其中完成界面呈现(V&#xf…...

JavaScript—数据类型、对象与构造方法

js是什么? JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。 js有哪些特点呢…...

自定义node-red节点中,如何编写节点的配置信息弹窗

前言 最近有读者通过博客向我咨询,在自定义node-red节点时,如何编写该节点的配置页面,就是我们通常见到的,双节节点打开的信息弹窗。如下图: 上面两张图,展示了inject节点与mqtt in 节点的配置弹窗。 在弹窗中,除了上面的删除,取消,完成,和下面的失效按钮。 中间…...

数据之美:探索数据可视化设计的奇妙世界

在信息时代的浪潮中,海量的数据正在影响着我们的生活和决策。然而,数据本身虽然有力量,但如何将其有机地呈现给我们,却成为了一个挑战。数据可视化设计应运而生,它不仅让枯燥的数字变得生动,还带来了一场视…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

python/java环境配置

环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

线程同步:确保多线程程序的安全与高效!

全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

【JVM】- 内存结构

引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...