许可协议: cc-by-nc-4.0
支持语言:
- 英语
- 德语
- 法语
- 中文
- 葡萄牙语
- 荷兰语
- 俄语
- 韩语
- 意大利语
- 西班牙语
评估指标:
- comet
任务标签: 翻译
TowerInstruct-13B-v0.1模型卡
模型详情
模型描述
TowerInstruct-13B是基于TowerBase模型在TowerBlocks监督微调数据集上精调得到的语言模型。TowerInstruct-13B-v0.1是该系列的首个版本。
该模型专为处理多种翻译相关任务设计,包括:通用机器翻译(如句子/段落/文档级翻译、术语感知翻译、上下文感知翻译)、自动译后编辑、命名实体识别、语法纠错以及 paraphrase 生成等。
我们将在后续技术报告中披露更多细节。当前可通过此链接查看模型效果。
- 开发团队: Unbabel、里斯本高等理工学院、巴黎萨克雷中央理工
- 模型类型: 130亿参数模型,在翻译任务数据集、对话数据集及代码指令的混合数据上微调
- 支持语言: 英语、葡萄牙语、西班牙语、法语、德语、荷兰语、意大利语、韩语、中文、俄语
- 许可协议: CC-BY-NC-4.0,Llama 2基于LLAMA 2社区许可,版权归Meta Platforms, Inc.所有
- 基础模型: TowerBase
使用范围与限制
模型初始微调数据来源于经过筛选和预处理的TowerBlocks监督微调数据集,涵盖以下多元数据源:
- 翻译(句子/段落级)
- 自动译后编辑
- 机器翻译评估
- 上下文感知翻译
- 术语感知翻译
- 多参考译文
- 命名实体识别
- Paraphrase生成
- 合成对话数据
- 代码指令
完整数据集及数据源详见TowerBlocks。
使用示例(🤗 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中找到。每个任务采用多组提示模板,不同模板可能导致输出差异,但对下游任务性能影响极小。
训练详情
训练数据
详见TowerBlocks数据集。
训练超参数
训练采用以下超参数配置:
- 总训练批大小: 256
- 学习率: 7e-06
- 学习率调度器: cosine
- 预热步数: 500
- 权重衰减: 0.01
- 优化器: Adam (betas=0.9/0.999, epsilon=1e-08)
- 训练轮次: 4
- 最大序列长度: 2048
引用文献
待补充。
