🚀 xTower13Bのモデルカード
xTower13Bは、翻訳エラーの説明と修正を行うために、TowerBaseをファインチューニングした言語モデルです。このモデルは、翻訳関連のタスクに特化しており、多言語に対応しています。
📚 詳細ドキュメント
モデルの詳細
xTower13Bは、GPT - 4から生成された説明(参照有りおよび参照無しのプロンプトを使用)と、TowerBlocksからの機械翻訳データを含むデータセットでファインチューニングされました。利用可能なすべてのデータを組み合わせて、単一の多言語モデルをトレーニングし、トレーニング中に混合プロンプト設定(ゼロショット、フューショット)を採用しました。その結果、xTowerは参照無しおよび参照ベースのkショットプロンプトの両方を処理できます。
トレーニングのハイパーパラメータと設定は、TowerInstructのトレーニングに使用されたものに従っています。
属性 |
详情 |
開発者 |
Unbabel、Instituto Superior Técnico、CentraleSupélec University of Paris - Saclay |
モデルタイプ |
翻訳関連タスクに関する公開された合成データセット、会話データセット、コード命令を混合してファインチューニングされた130億パラメータのモデル |
言語 |
英語、ポルトガル語、スペイン語、フランス語、ドイツ語、オランダ語、イタリア語、韓国語、中国語、ロシア語 |
ライセンス |
CC - BY - NC - 4.0、Llama 2はLLAMA 2 Community Licenseの下でライセンスされています。Copyright © Meta Platforms, Inc. All Rights Reserved. |
ファインチューニング元のモデル |
TowerBase |
想定される用途と制限
このモデルの想定される用途は2つあります。
- 自然言語で翻訳エラーを説明する
- 翻訳提案を提供して翻訳エラーを修正する
モデルは、英語 - ドイツ語、英語 - ロシア語、および中国語 - 英語の言語ペアの説明でトレーニングされました。多言語対応のモデルですが、未学習の言語ペアに対しては性能が不十分な場合があります。
バイアス、リスク、および制限
xTowerは人間の好みにアライメントされていないため、問題のある出力(例えば、幻覚、有害な内容、または誤った声明)を生成する可能性があります。
プロンプト形式
xTowerは、システムプロンプトなしでChatMLプロンプトテンプレートを使用してトレーニングされました。以下に例を示します。
<|im_start|>user
あなたには、原文、翻訳文、翻訳品質分析、および翻訳品質スコア(弱、中、良、優、最良)が提供されます。翻訳品質分析には、異なる深刻度(軽微または重大)の誤りの範囲がマークされた翻訳文が含まれています。さらに、**参照翻訳**を提供する場合もあります。この情報を元に、各エラーの説明と完全に正しい翻訳を生成してください。
英語の原文: All were wearing avalanche beacons.
ドイツ語の翻訳: Alle trugen Lawinenschilder.
翻訳品質分析: Alle trugen <error1 severity=“major”>Lawinenschilder</error1>.
翻訳品質スコア: weak
<|im_end|>
<|im_start|>assistant
その後、モデルは次のようなものを生成する必要があります。
error1の説明: 「Lawinenschilder」という用語は「雪崩標識」を意味し、「雪崩ビーコン」の重大な誤訳です。雪崩ビーコンは、雪崩後に雪の下に閉じ込められた人を見つけるために使用される特定のデバイスであり、標識ではありません。このエラーは文の意味を変え、文脈に関する混乱を引き起こします。
翻訳修正: Alle trugen Lawinensuchgeräte.
<|im_end|>
つまり、出力は各エラーの説明のリストと、最終的な翻訳修正で構成されます。
💻 使用例
基本的な使用法
最小限の例については、このノートブックを参照してください。このノートブックでは、VLLMを使用してxTowerにプロンプトを与えています。
また、🤗 Transformersのpipeline()
関数を使用してモデルを実行する方法は次の通りです。
import torch
from transformers import pipeline
pipe = pipeline("text-generation", model="sardinelab/xTower13B", device_map="auto")
messages = [
{
"role": "user",
"content": "your_prompt"
},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=1024, do_sample=False)
📄 ライセンス
このモデルのライセンスはCC - BY - NC - 4.0です。Llama 2はLLAMA 2 Community Licenseの下でライセンスされています。Copyright © Meta Platforms, Inc. All Rights Reserved.
引用
@article{treviso2024xtower,
title={xTower: A Multilingual LLM for Explaining and Correcting Translation Errors},
author={Treviso, Marcos and Guerreiro, Nuno M and Agrawal, Sweta and Rei, Ricardo and Pombal, Jos{\'e} and Vaz, Tania and Wu, Helena and Silva, Beatriz and van Stigt, Daan and Martins, Andr{\'e} FT},
journal={arXiv preprint arXiv:2406.19482},
year={2024}
}