🚀 TowerInstruct-13B-v0.1模型卡片
TowerInstruct-13B-v0.1是一款经过精心微调的语言模型,专为处理各类翻译相关任务而设计。它基于TowerBase模型,在TowerBlocks监督微调数据集上进行训练,能够在多种语言之间实现高质量的翻译和处理。
🚀 快速开始
你可以使用🤗 Transformers库中的pipeline()
函数来运行该模型:
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": "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"])
✨ 主要特性
- 多语言支持:支持英语、葡萄牙语、西班牙语、法语、德语、荷兰语、意大利语、韩语、中文和俄语。
- 任务多样性:能够处理多种翻译相关任务,如通用机器翻译、自动后编辑、机器翻译评估、上下文感知翻译、术语感知翻译、多参考翻译、命名实体识别、释义生成等。
- 微调优化:在TowerBlocks监督微调数据集上进行微调,该数据集包含多种数据源,确保模型的泛化能力和性能。
📦 安装指南
如果你使用的是transformers版本 <= v4.34,需要从源代码安装transformers:
pip install git+https://github.com/huggingface/transformers.git
pip install accelerate
📚 详细文档
模型详情
模型描述
TowerInstruct-13B是在TowerBase模型的基础上,在TowerBlocks监督微调数据集上进行微调得到的语言模型。TowerInstruct-13B-v0.1是该系列的第一个模型。
该模型经过训练,能够处理多种翻译相关任务,如通用机器翻译(例如句子和段落/文档级翻译、术语感知翻译、上下文感知翻译)、自动后编辑、命名实体识别、语法错误纠正和释义生成。
我们将在即将发布的技术报告中公布更多细节。目前,你可以在此查看该模型的实验结果。
属性 |
详情 |
开发团队 |
Unbabel、里斯本大学高等技术学院、巴黎萨克雷大学中央理工-高等电力学院 |
模型类型 |
一个具有130亿参数的模型,在与翻译相关任务的公开可用合成数据集、对话数据集和代码指令的混合数据集上进行微调。 |
支持语言 |
英语、葡萄牙语、西班牙语、法语、德语、荷兰语、意大利语、韩语、中文、俄语 |
许可证 |
CC-BY-NC-4.0,Llama 2根据LLAMA 2社区许可证获得许可,版权所有 © Meta Platforms, Inc. 保留所有权利。 |
微调基础模型 |
TowerBase |
预期用途和限制
该模型最初在经过过滤和预处理的监督微调数据集(TowerBlocks)上进行微调,该数据集包含多种数据源:
- 翻译(句子和段落级)
- 自动后编辑
- 机器翻译评估
- 上下文感知翻译
- 术语感知翻译
- 多参考翻译
- 命名实体识别
- 释义生成
- 合成聊天数据
- 代码指令
你可以在此找到该数据集和所有数据源。
非预期用途
该模型不能保证对其支持的10种语言以外的语言有效。尽管我们在对话数据和代码指令上训练了该模型,但它并不打算用作对话聊天机器人或代码助手。
我们目前正在努力提高文档级翻译的质量和一致性。该模型不适合用作文档级翻译工具。
偏差、风险和局限性
TowerInstruct-v0.1尚未与人类偏好对齐,因此该模型可能会生成有问题的输出(例如幻觉、有害内容或虚假陈述)。
提示格式
TowerInstruct-v0.1使用ChatML提示模板进行训练,没有任何系统提示。示例如下:
<|im_start|>user
{用户提示}<|im_end|>
<|im_start|>assistant
{模型响应}<|im_end|>
<|im_start|>user
[...]
监督任务
所有监督任务的提示可以在TowerBlocks中找到。我们为每个任务使用了多个提示模板。虽然不同的提示可能会产生不同的输出,但下游性能的差异应该非常小。
训练详情
训练数据
TowerBlocks数据集的链接。
训练超参数
训练期间使用了以下超参数:
- 总训练批次大小:256
- 学习率:7e-06
- 学习率调度器类型:余弦
- 学习率调度器热身步数:500
- 权重衰减:0.01
- 优化器:Adam,β=(0.9, 0.999),ε=1e-08
- 训练轮数:4
- 最大序列长度:2048
📄 许可证
该模型的许可证为CC-BY-NC-4.0,Llama 2根据LLAMA 2社区许可证获得许可,版权所有 © Meta Platforms, Inc. 保留所有权利。
