原文:
huggingface.co/docs/transformers
XLS-R
原始文本:
huggingface.co/docs/transformers/v4.37.2/en/model_doc/xls_r
概述
XLS-R 模型由 Arun Babu、Changhan Wang、Andros Tjandra、Kushal Lakhotia、Qiantong Xu、Naman Goyal、Kritika Singh、Patrick von Platen、Yatharth Saraf、Juan Pino、Alexei Baevski、Alexis Conneau、Michael Auli 在XLS-R: Self-supervised Cross-lingual Speech Representation Learning at Scale中提出。
论文的摘要如下:
本文介绍了 XLS-R,这是一个基于 wav2vec 2.0 的大规模跨语言语音表示学习模型。我们在 128 种语言中使用多达 20 亿参数的模型进行训练,使用近 50 万小时的公开可用语音音频数据,比已知最大的先前工作的公共数据量大一个数量级。我们的评估涵盖了各种任务、领域、数据制度和语言,包括高资源和低资源语言。在 CoVoST-2 语音翻译基准测试中,我们将先前的最新技术平均提高了 7.4 BLEU,涵盖了 21 个翻译方向到英语。对于语音识别,XLS-R 在 BABEL、MLS、CommonVoice 以及 VoxPopuli 等最佳已知先前工作上的错误率平均降低了 14-34%。XLS-R 还在 VoxLingua107 语言识别上树立了新的技术水平。此外,我们展示了在足够大的模型尺寸下,跨语言预训练可以在将英语语音翻译成其他语言时胜过仅英语预训练,这种情况有利于单语预训练。我们希望 XLS-R 可以帮助改进世界上更多语言的语音处理任务。
相关的检查点可以在huggingface.co/models?other=xls_r
下找到。
原始代码可以在这里找到。
使用提示
- XLS-R 是一个语音模型,接受与语音信号的原始波形对应的浮点数组。
- XLS-R 模型是使用连接主义时间分类(CTC)进行训练的,因此模型输出必须使用 Wav2Vec2CTCTokenizer 进行解码。
XLS-R 的架构基于 Wav2Vec2 模型,请参考 Wav2Vec2 的文档页面获取 API 参考。
XLSR-Wav2Vec2
原文:
huggingface.co/docs/transformers/v4.37.2/en/model_doc/xlsr_wav2vec2
概述
XLSR-Wav2Vec2 模型是由 Alexis Conneau,Alexei Baevski,Ronan Collobert,Abdelrahman Mohamed,Michael Auli 在无监督跨语言表示学习语音识别中提出的。
论文摘要如下:
本文介绍了 XLSR,通过在多种语言的语音的原始波形上预训练单一模型来学习跨语言语音表示。我们构建在 wav2vec 2.0 的基础上,该模型通过解决对掩码潜在语音表示的对比任务进行训练,并共同学习跨语言共享的潜在量化。结果模型在标记数据上进行微调,实验表明跨语言预训练明显优于单语言预训练。在 CommonVoice 基准测试中,XLSR 相对音素错误率降低了 72%,相对于已知最佳结果。在 BABEL 上,我们的方法相对于类似系统改善了 16%的词错误率。我们的方法实现了一个单一的多语言语音识别模型,与强大的个体模型竞争。分析表明,潜在的离散语音表示在不同语言之间共享,对于相关语言的共享增加。我们希望通过发布在 53 种语言中预训练的大型模型 XLSR-53 来促进低资源语音理解的研究。
原始代码可以在这里找到。
使用提示
- XLSR-Wav2Vec2 是一个语音模型,接受与语音信号的原始波形对应的浮点数组。
- XLSR-Wav2Vec2 模型是使用连接主义时间分类(CTC)进行训练的,因此模型输出必须使用 Wav2Vec2CTCTokenizer 进行解码。
XLSR-Wav2Vec2 的架构基于 Wav2Vec2 模型,因此可以参考 Wav2Vec2 的文档页面。
多模型模型
ALIGN
原始文本:
huggingface.co/docs/transformers/v4.37.2/en/model_doc/align
概述
ALIGN 模型在通过嘈杂文本监督扩展视觉和视觉语言表示学习中由 Chao Jia、Yinfei Yang、Ye Xia、Yi-Ting Chen、Zarana Parekh、Hieu Pham、Quoc V. Le、Yunhsuan Sung、Zhen Li、Tom Duerig 提出。ALIGN 是一个多模态视觉和语言模型。它可用于图像文本相似度和零样本图像分类。ALIGN 具有双编码器架构,其中 EfficientNet 作为其视觉编码器,BERT 作为其文本编码器,并通过对比学习学习对齐视觉和文本表示。与以往的工作不同,ALIGN 利用了一个庞大的嘈杂数据集,并表明语料库的规模可以用来实现具有简单配方的 SOTA 表示。
论文的摘要如下:
预训练表示对许多 NLP 和感知任务变得至关重要。虽然 NLP 中的表示学习已经过渡到在没有人类注释的原始文本上进行训练,但视觉和视觉语言表示仍然严重依赖于昂贵或需要专业知识的策划训练数据集。对于视觉应用,表示主要是使用具有显式类标签的数据集学习,如 ImageNet 或 OpenImages。对于视觉语言,像 Conceptual Captions、MSCOCO 或 CLIP 这样的流行数据集都涉及到一个不容易的数据收集(和清理)过程。这种昂贵的策划过程限制了数据集的规模,从而阻碍了训练模型的扩展。在本文中,我们利用了一个超过十亿个图像替代文本对的嘈杂数据集,该数据集是在 Conceptual Captions 数据集中没有昂贵的过滤或后处理步骤的情况下获得的。一个简单的双编码器架构学习使用对比损失对图像和文本对的视觉和语言表示进行对齐。我们表明,我们语料库的规模可以弥补其噪声,并导致即使使用如此简单的学习方案也能实现最先进的表示。我们的视觉表示在转移到 ImageNet 和 VTAB 等分类任务时表现出色。对齐的视觉和语言表示使零样本图像分类成为可能,并在 Flickr30K 和 MSCOCO 图像文本检索基准上取得了新的最先进结果,即使与更复杂的交叉注意力模型相比也是如此。这些表示还使得可以进行具有复杂文本和文本 图像查询的跨模态搜索。
这个模型是由Alara Dirik贡献的。原始代码未发布,这个实现是基于 Kakao Brain 根据原始论文实现的。
用法示例
ALIGN 使用 EfficientNet 获取视觉特征,使用 BERT 获取文本特征。然后,文本和视觉特征都投影到具有相同维度的潜在空间中。然后使用投影图像和文本特征之间的点积作为相似度分数。
AlignProcessor 将 EfficientNetImageProcessor 和 BertTokenizer 封装成一个单一实例,用于对文本进行编码和预处理图像。以下示例展示了如何使用 AlignProcessor 和 AlignModel 获取图像文本相似度分数。
代码语言:javascript复制import requests
import torch
from PIL import Image
from transformers import AlignProcessor, AlignModel
processor = AlignProcessor.from_pretrained("kakaobrain/align-base")
model = AlignModel.from_pretrained("kakaobrain/align-base")
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
candidate_labels = ["an image of a cat", "an image of a dog"]
inputs = processor(text=candidate_labels, images=image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
# this is the image-text similarity score
logits_per_image = outputs.logits_per_image
# we can take the softmax to get the label probabilities
probs = logits_per_image.softmax(dim=1)
print(probs)
资源
一系列官方 Hugging Face 和社区(由