🚀 Ctranslate2を用いた高速推論
C++でのint8推論を使用することで、推論速度を2倍から8倍に向上させます。
Helsinki-NLP/opus-mt-ROMANCE-enの量子化バージョンです。
🚀 クイックスタート
このモデルを使用するには、必要なライブラリをインストールする必要があります。以下のコマンドを実行してください。
pip install hf-hub-ctranslate2>=1.0.0 ctranslate2>=3.13.0
変換には以下のコマンドを使用しました。
ct2-transformers-converter --model Helsinki-NLP/opus-mt-ROMANCE-en --output_dir /home/michael/tmp-ct2fast-opus-mt-ROMANCE-en --force --copy_files README.md generation_config.json tokenizer_config.json vocab.json source.spm .gitattributes target.spm --quantization float16
このチェックポイントは、ctranslate2 と hf-hub-ctranslate2 と互換性があります。
device="cuda"
の場合は compute_type=int8_float16
device="cpu"
の場合は compute_type=int8
💻 使用例
基本的な使用法
from hf_hub_ctranslate2 import TranslatorCT2fromHfHub, GeneratorCT2fromHfHub
from transformers import AutoTokenizer
model_name = "michaelfeil/ct2fast-opus-mt-ROMANCE-en"
model = TranslatorCT2fromHfHub(
model_name_or_path=model_name,
device="cuda",
compute_type="int8_float16",
tokenizer=AutoTokenizer.from_pretrained("Helsinki-NLP/opus-mt-ROMANCE-en")
)
outputs = model.generate(
text=["How do you call a fast Flan-ingo?", "User: How are you doing?"],
)
print(outputs)
📄 ライセンス
これは単なる量子化バージョンです。ライセンス条件は、元のHugging Faceリポジトリと同じであることを意図しています。
📚 ドキュメント
opus-mt-ROMANCE-en
- ソース言語: fr,fr_BE,fr_CA,fr_FR,wa,frp,oc,ca,rm,lld,fur,lij,lmo,es,es_AR,es_CL,es_CO,es_CR,es_DO,es_EC,es_ES,es_GT,es_HN,es_MX,es_NI,es_PA,es_PE,es_PR,es_SV,es_UY,es_VE,pt,pt_br,pt_BR,pt_PT,gl,lad,an,mwl,it,it_IT,co,nap,scn,vec,sc,ro,la
- ターゲット言語: en
- OPUSのREADME: fr+fr_BE+fr_CA+fr_FR+wa+frp+oc+ca+rm+lld+fur+lij+lmo+es+es_AR+es_CL+es_CO+es_CR+es_DO+es_EC+es_ES+es_GT+es_HN+es_MX+es_NI+es_PA+es_PE+es_PR+es_SV+es_UY+es_VE+pt+pt_br+pt_BR+pt_PT+gl+lad+an+mwl+it+it_IT+co+nap+scn+vec+sc+ro+la-en
- データセット: opus
- モデル: transformer
- 前処理: 正規化 + SentencePiece
- 元の重みのダウンロード: opus-2020-04-01.zip
- テストセットの翻訳: opus-2020-04-01.test.txt
- テストセットのスコア: opus-2020-04-01.eval.txt
🔧 技術詳細
ベンチマーク
テストセット |
BLEU |
chr-F |
Tatoeba.fr.en |
62.2 |
0.750 |