许可证: cc-by-nc-4.0
语言:
- 英语
- 德语
- 中文
- 俄语
- 希伯来语
- 法语
- 葡萄牙语
- 荷兰语
- 韩语
- 意大利语
- 西班牙语
评估指标:
- comet
任务标签: 翻译
数据集:
- Unbabel/TowerBlocks-v0.1
xTower13B模型卡
模型详情
xTower13B是通过对TowerBase进行微调得到的语言模型,专门用于解释和纠正翻译错误。
xTower在包含GPT-4生成解释(有参考和无参考提示)的数据集上进行了微调,并结合了来自TowerBlocks的机器翻译数据。我们整合了所有可用数据来训练一个单一的多语言模型,在训练过程中采用了混合提示设置(零样本、少样本)。因此,xTower能够处理无参考和有参考的k-shot提示。
我们的训练超参数和配置遵循了用于训练TowerInstruct的设置。
- 开发团队: Unbabel, 里斯本高等理工学院, 巴黎萨克雷中央理工-高等电力学院
- 模型类型: 基于公开可用的翻译相关任务数据集、对话数据集和代码指令合成的130亿参数微调模型
- 支持语言: 英语、葡萄牙语、西班牙语、法语、德语、荷兰语、意大利语、韩语、中文、俄语
- 许可证: CC-BY-NC-4.0,Llama 2基于LLAMA 2社区许可证,版权所有 © Meta Platforms, Inc.
- 基础模型: TowerBase
使用场景与限制
模型的主要用途包括:
- 用自然语言解释翻译错误
- 通过提供翻译建议来纠正错误
模型训练数据包含英德、英俄和中英语言对的解释。尽管具有多语言基础,xTower在未见过的语言对上表现可能不稳定。
使用方法
基础示例可参考此笔记本,使用VLLM调用xTower。
也可通过🤗 Transformers的pipeline()
函数运行:
import torch
from transformers import pipeline
pipe = pipeline("text-generation", model="sardinelab/xTower13B", device_map="auto")
messages = [
{
"role": "user",
"content": "您的提示内容"
},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=1024, do_sample=False)
偏见、风险与限制
xTower未经过人类偏好对齐,可能产生问题输出(如幻觉、有害内容或错误陈述)。
提示格式
xTower使用无系统提示的ChatML模板,示例如下:
<|im_start|>user
提供源文本、翻译文本、翻译质量分析(含错误标记及严重程度)和评分(弱/中/好/优/最佳)。可能包含参考译文。请解释每个错误并提供完全正确的翻译。
英文原文:All were wearing avalanche beacons.
德文翻译:Alle trugen Lawinenschilder.
质量分析:Alle trugen <error1 severity="major">Lawinenschilder</error1>.
质量评分:弱
<|im_end|>
<|im_start|>assistant
模型将生成类似输出:
错误1解释:"Lawinenschilder"应译为"avalanche signs",与"avalanche beacons"(雪崩信标)存在重大误译。雪崩信标是用于定位雪崩受困者的专业设备,而非标识牌。此错误导致语义偏差。
修正翻译:Alle trugen Lawinensuchgeräte.
<|im_end|>
输出包含各错误的解释列表及最终修正译文。
引用文献
@article{treviso2024xtower,
title={xTower: 用于解释和纠正翻译错误的多语言大模型},
author={Treviso, Marcos and Guerreiro, Nuno M and Agrawal, Sweta and Rei, Ricardo and Pombal, Jos{\'e} and Vaz, Tania and Wu, Helena and Silva, Beatriz and van Stigt, Daan and Martins, Andr{\'e} FT},
journal={arXiv预印本 arXiv:2406.19482},
year={2024}
}