🚀 TowerInstruct-7B-v0.2模型卡片
TowerInstruct-7B是一款语言模型,它是在TowerBase的基础上,于TowerBlocks监督微调数据集上进行微调得到的。TowerInstruct-7B-v0.2是该系列的首个模型。该模型经过训练,可处理多种与翻译相关的任务,如通用机器翻译(例如句子和段落/文档级别的翻译、术语感知翻译、上下文感知翻译)、自动后编辑、命名实体识别、语法错误纠正和释义生成等。我们将在即将发布的技术报告中公布更多细节。目前,你可以在此查看该模型取得的结果。
🚀 快速开始
以下是如何使用🤗 Transformers库中的pipeline()
函数来运行该模型:
import torch
from transformers import pipeline
pipe = pipeline("text-generation", model="Unbabel/TowerInstruct-7B-v0.2", torch_dtype=torch.bfloat16, device_map="auto")
messages = [
{"role": "user", "content": "Translate the following text from Portuguese into English.\nPortuguese: Um grupo de investigadores lançou um novo modelo para tarefas relacionadas com tradução.\nEnglish:"},
]
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"])
✨ 主要特性
- 多语言支持:支持英语、葡萄牙语、西班牙语、法语、德语、荷兰语、意大利语、韩语、中文和俄语。
- 多任务处理:能够处理多种与翻译相关的任务,如通用机器翻译、自动后编辑、命名实体识别等。
- 版本更新:与TowerInstruct-7B-v0.1相比,TowerInstruct-7B-v0.2具有更可靠的文档级翻译能力。
📦 安装指南
如果你使用的Transformers版本小于等于v4.34,需要从源代码安装Transformers:
pip install git+https://github.com/huggingface/transformers.git
pip install accelerate
📚 详细文档
模型详情
- 开发者:Unbabel、Instituto Superior Técnico、CentraleSupélec University of Paris-Saclay
- 模型类型:一个具有70亿参数的模型,在与翻译相关任务的公开可用合成数据集、对话数据集和代码指令的混合数据集上进行微调。
- 支持语言:英语、葡萄牙语、西班牙语、法语、德语、荷兰语、意大利语、韩语、中文、俄语
- 许可证:CC-BY-NC-4.0,Llama 2根据LLAMA 2社区许可证获得许可,版权所有© Meta Platforms, Inc.保留所有权利。
- 微调基础模型:TowerBase
属性 |
详情 |
模型类型 |
一个具有70亿参数的模型,在与翻译相关任务的公开可用合成数据集、对话数据集和代码指令的混合数据集上进行微调。 |
训练数据 |
TowerBlocks |
更新:与TowerInstruct-7B-v0.1相比,TowerInstruct-7B-v0.2具有更可靠的文档级翻译能力。用于训练v0.2的新版本TowerBlocks也可在Tower集合中找到。
预期用途和限制
该模型最初在经过过滤和预处理的监督微调数据集(TowerBlocks)上进行微调,该数据集包含多种不同的数据源:
- 翻译(句子和段落级别)
- 自动后编辑
- 机器翻译评估
- 上下文感知翻译
- 术语感知翻译
- 多参考翻译
- 命名实体识别
- 释义生成
- 合成聊天数据
- 代码指令
你可以在此找到TowerBlocks数据集及其所有数据源。
超出适用范围的使用
该模型不能保证对其支持的10种语言以外的语言有效。尽管我们在对话数据和代码指令上训练了该模型,但它并不打算用作对话聊天机器人或代码助手。我们目前正在努力提高文档级翻译的质量和一致性,该模型不应用作文档级翻译器。
偏差、风险和局限性
TowerInstruct-v0.2尚未与人类偏好对齐,因此该模型可能会生成有问题的输出(例如,幻觉内容、有害内容或虚假陈述)。
提示格式
TowerInstruct-v0.2使用ChatML提示模板进行训练,没有任何系统提示。以下是一个示例:
<|im_start|>user
{用户提示}<|im_end|>
<|im_start|>assistant
{模型响应}<|im_end|>
<|im_start|>user
[...]
监督任务
所有监督任务的提示可以在TowerBlocks中找到。我们为每个任务使用了多个提示模板。虽然不同的提示可能会产生不同的输出,但下游性能的差异应该非常小。
🔧 技术细节
训练数据
TowerBlocks
训练超参数
以下是训练期间使用的超参数:
- 总训练批次大小:256
- 学习率:7e-06
- 学习率调度器类型:余弦
- 学习率调度器热身步数:500
- 权重衰减:0.01
- 优化器:Adam(β1 = 0.9,β2 = 0.999,ε = 1e-08)
- 训练轮数:4
- 最大序列长度:2048
📄 许可证
该模型使用CC-BY-NC-4.0许可证,Llama 2根据LLAMA 2社区许可证获得许可,版权所有© Meta Platforms, Inc.保留所有权利。
引用
@misc{tower_llm_2024,
title={Tower: An Open Multilingual Large Language Model for Translation-Related Tasks},
author={Duarte M. Alves and José Pombal and Nuno M. Guerreiro and Pedro H. Martins and João Alves and Amin Farajian and Ben Peters and Ricardo Rei and Patrick Fernandes and Sweta Agrawal and Pierre Colombo and José G. C. de Souza and André F. T. Martins},
year={2024},
eprint={2402.17733},
archivePrefix={arXiv},
primaryClass={cs.CL}
}

⚠️ 重要提示
该模型不能保证对其支持的10种语言以外的语言有效,且不应用作对话聊天机器人、代码助手或文档级翻译器。TowerInstruct-v0.2可能会生成有问题的输出,如幻觉内容、有害内容或虚假陈述。
💡 使用建议
可以参考TowerBlocks中的多种提示模板来使用该模型,不同提示可能会产生不同输出,但下游性能差异较小。