🚀 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中的多種提示模板來使用該模型,不同提示可能會產生不同輸出,但下游性能差異較小。