TowerInstruct-Mistral-7B-v0.2项目介绍
项目概述
TowerInstruct-Mistral-7B-v0.2是一个由Unbabel、葡萄牙高等技术学院和巴黎萨克雷大学中央理工学院联合开发的语言模型。这个模型是通过在TowerBlocks监督微调数据集上对Mistral版本的TowerBase进行微调而得到的。它是一个具有70亿参数的模型,专门用于处理各种与翻译相关的任务。
主要特点
-
多语言支持:该模型支持10种语言,包括英语、葡萄牙语、西班牙语、法语、德语、荷兰语、意大利语、韩语、中文和俄语。
-
多任务能力:TowerInstruct-Mistral-7B-v0.2不仅可以进行一般的机器翻译,还能处理以下任务:
- 句子级和段落/文档级翻译
- 术语感知翻译
- 上下文感知翻译
- 自动后期编辑
- 命名实体识别
- 语法错误纠正
- 释义生成
-
高效性能:虽然模型规模只有TowerInstruct-13B-v0.2的一半,但性能却相当。
-
开源许可:该模型采用CC-BY-NC-4.0许可证,允许非商业用途的使用和修改。
技术细节
TowerInstruct-Mistral-7B-v0.2是在TowerBlocks数据集上进行微调的。这个数据集包含了多种来源的数据,涵盖了翻译、自动后期编辑、机器翻译评估、上下文感知翻译、术语感知翻译、多参考翻译、命名实体识别、释义生成、合成聊天数据和代码指令等方面。
使用方法
用户可以通过Hugging Face的pipeline()
函数轻松使用这个模型。以下是一个简单的示例代码:
import torch
from transformers import pipeline
pipe = pipeline("text-generation", model="Unbabel/TowerInstruct-Mistral-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"])
局限性和注意事项
- 该模型仅保证在支持的10种语言上表现良好,对于其他语言的性能不能保证。
- 虽然模型在对话数据和代码指令上进行了训练,但它并不适合用作对话聊天机器人或代码助手。
- 目前团队正在努力提高文档级翻译的质量和一致性,因此不建议将其用于文档级翻译。
- 模型可能会产生有问题的输出,如幻觉、有害内容或虚假陈述,因为它尚未经过人类偏好对齐。
未来展望
研究团队正在持续改进模型,特别是在文档级翻译方面。随着技术的进步,我们可以期待TowerInstruct-Mistral-7B-v0.2在未来会有更广泛的应用和更高的性能表现。