许可协议: cc-by-nc-4.0
支持语言:
- 英语
- 德语
- 法语
- 中文
- 葡萄牙语
- 荷兰语
- 俄语
- 韩语
- 意大利语
- 西班牙语
评估指标:
- comet
任务标签: 翻译
TowerInstruct-13B-v0.1模型卡
模型详情
模型描述
TowerInstruct-13B是通过在TowerBlocks监督微调数据集上对TowerBase进行微调得到的语言模型。TowerInstruct-13B-v0.1是该系列的首个版本。
该模型可处理多种翻译相关任务,包括通用机器翻译(如句子/段落/文档级翻译、术语感知翻译、上下文感知翻译)、自动后编辑、命名实体识别、语法纠错以及 paraphrase 生成等。
我们将在后续技术报告中披露更多细节。当前可查阅此链接获取模型测试结果。
- 开发机构: Unbabel、里斯本高等理工学院、巴黎萨克雷中央理工-高等电力学院
- 模型类型: 基于公开翻译任务数据集、对话数据集和代码指令合成的混合数据微调的130亿参数模型
- 支持语言: 英语、葡萄牙语、西班牙语、法语、德语、荷兰语、意大利语、韩语、中文、俄语
- 许可协议: CC-BY-NC-4.0,Llama 2采用LLAMA 2社区许可,版权归Meta Platforms公司所有
- 基础模型: TowerBase
使用范围与限制
模型初始微调采用经过筛选的监督数据集TowerBlocks-v0.2,包含以下多样化数据源:
- 句子/段落级翻译
- 自动后编辑
- 机器翻译评估
- 上下文感知翻译
- 术语感知翻译
- 多参考译文
- 命名实体识别
- Paraphrase生成
- 合成对话数据
- 代码指令
可通过🤗 Transformers库调用模型:
import torch
from transformers import pipeline
pipe = pipeline("text-generation", model="Unbabel/TowerInstruct-13B-v0.1", torch_dtype=torch.bfloat16, device_map="auto")
messages = [
{"role": "user", "content": "将下列葡萄牙语文本翻译成英语。\n葡萄牙语: Um grupo de investigadores lançou um novo modelo para tarefas relacionadas com tradução.\n英语:"},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=256, do_sample=False)
print(outputs[0]["generated_text"])
非适用场景
本模型不保证支持10种语言之外的其他语言性能。虽然包含对话数据和代码指令训练,但不应作为聊天机器人或代码助手使用。
当前正在提升文档级翻译质量,不建议将其用于文档级翻译场景。
偏见与风险
TowerInstruct-v0.1未进行人类偏好对齐,可能产生幻觉输出、有害内容或错误陈述。
提示词格式
模型采用ChatML无系统提示的模板格式:
<|im_start|>user
{用户提示}<|im_end|>
<|im_start|>assistant
{模型响应}<|im_end|>
<|im_start|>user
[...]
监督任务
所有监督任务的提示模板详见TowerBlocks-v0.2。每个任务采用多组提示模板,不同模板输出可能存在差异,但对下游任务性能影响极小。
训练参数
训练数据
参见TowerBlocks-v0.2
超参数配置
训练采用以下超参数:
- 总训练批大小: 256
- 学习率: 7e-06
- 学习率调度器: cosine
- 预热步数: 500
- 权重衰减: 0.01
- 优化器: Adam (betas=0.9/0.999, epsilon=1e-08)
- 训练轮次: 4
- 最大序列长度: 2048
文献引用
@misc{tower_llm_2024,
title={Tower: 面向翻译任务的多语言大语言模型},
author={杜阿尔特·M·阿尔维斯等},
year={2024},
eprint={2402.17733},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
