🚀 トランスフォーマーモデル
このモデルは、翻訳タスクに特化したモデルで、フランス語とウォロフ語、英語間の双方向翻訳をサポートしています。高精度な翻訳を実現するため、特定のデータセットで微調整されています。
🚀 クイックスタート
モデルの概要
このモデルは nllb - 200 - distilled - 600M を微調整したもので、フランス語とウォロフ語の相互翻訳に特化しています。bilalfaye/english - wolof - french - translation と bilalfaye/english - wolof - french - translation - bis のデータセットを使用して学習されており、翻訳品質を向上させるために高度な前処理が施されています。
このモデルは以下の双方向翻訳をサポートしています:
- ウォロフ語からフランス語
- フランス語からウォロフ語
- 英語からウォロフ語
- ウォロフ語から英語
- フランス語から英語
- 英語からフランス語
テストアプリケーションはこちら: https://huggingface.co/spaces/bilalfaye/WoFrEn - Translator
使い方
手動での推論
必要なライブラリをインストールします:
!pip install transformers
翻訳用のPythonコードは以下の通りです:
from transformers import NllbTokenizer, AutoModelForSeq2SeqLM
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
model_load_name = 'bilalfaye/nllb-200-distilled-600M-wo-fr-en'
model = AutoModelForSeq2SeqLM.from_pretrained(model_load_name).to(device)
tokenizer = NllbTokenizer.from_pretrained(model_load_name)
def translate(
text, src_lang='wol_Latn', tgt_lang='french_Latn',
a=32, b=3, max_input_length=1024, num_beams=4, **kwargs
):
"""テキストまたはテキストのリストを翻訳のリストに変換する"""
tokenizer.src_lang = src_lang
tokenizer.tgt_lang = tgt_lang
inputs = tokenizer(
text, return_tensors='pt', padding=True, truncation=True,
max_length=max_input_length
)
model.eval()
result = model.generate(
**inputs.to(model.device),
forced_bos_token_id=tokenizer.convert_tokens_to_ids(tgt_lang),
max_new_tokens=int(a + b * inputs.input_ids.shape[1]),
num_beams=num_beams, **kwargs
)
return tokenizer.batch_decode(result, skip_special_tokens=True)
print(translate("Ndax mën nga ko waxaat su la neexee?", src_lang="wol_Latn", tgt_lang="french_Latn")[0])
print(translate("Ndax mën nga ko waxaat su la neexee?", src_lang="wol_Latn", tgt_lang="eng_Latn")[0])
print(translate("Bonjour, où allez-vous?", src_lang="fra_Latn", tgt_lang="wol_Latn")[0])
print(translate("Bonjour, où allez-vous?", src_lang="fra_Latn", tgt_lang="eng_Latn")[0])
print(translate("Hello, how are you?", src_lang="eng_Latn", tgt_lang="wol_Latn")[0])
print(translate("Hello, how are you?", src_lang="eng_Latn", tgt_lang="fr_Latn")[0])
パイプラインを使用した推論
必要なライブラリをインストールします:
!pip install transformers
パイプラインを使用したPythonコードは以下の通りです:
from transformers import pipeline
model_name = 'bilalfaye/nllb-200-distilled-600M-wo-fr-en'
device = "cuda" if torch.cuda.is_available() else "cpu"
translator = pipeline("translation", model=model_name, device=device)
print(translator("Ndax mën nga ko waxaat su la neexee?", src_lang="wol_Latn", tgt_lang="fra_Latn")[0]['translation_text'])
print(translator("Bonjour, où allez-vous?", src_lang="fra_Latn", tgt_lang="wol_Latn")[0]['translation_text'])
📦 パッケージバージョン
このモデルは以下のパッケージバージョンで開発およびテストされています:
属性 |
詳情 |
トランスフォーマー |
4.41.2 |
トーチ |
2.4.0+cu121 |
データセット |
3.2.0 |
センテンスピース |
0.2.0 |
サクレブルー |
2.5.1 |
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
👤 作者
Bila Faye
質問や改善提案があれば、遠慮なくご連絡ください!