🚀 🇲🇦 Terjman-Nano-v2.0 (77M) 🚀
Terjman-Nano-v2.0 は、強力なTransformerアーキテクチャに基づき、高品質で正確な翻訳 を行うためにファインチューニングされた、atlasia/Terjman-Nano-v1 の改良版です。
このバージョンは atlasia/Terjman-Nano-v1 をベースに、より大規模で洗練されたデータセット で学習されており、翻訳性能が向上しています。このモデルは、英語とモロッコ・ダリジャ語の翻訳モデルの評価ベンチマークである TerjamaBench で、gpt-4o-2024-08-06 と同等の結果を達成しています。このベンチマークは、モデルに対して文化的な側面でより高い要求を課しています。
✨ 主な機能
✅ 英語からモロッコ・ダリジャ語への翻訳用にファインチューニングされています。
✅ オープンソースモデルの中で最先端の性能を誇ります。
✅ 🤗 Transformersと互換性があり、様々なハードウェア環境で簡単にデプロイできます。
🔥 性能比較
以下の表は、Terjman-Nano-v2.0 を、独自開発モデルとオープンソースモデルと比較したものです。評価指標として、BLEU、chrF、TERのスコアを使用しています。BLEU/chrF の値が高く、TER の値が低いほど、翻訳品質が高いことを示します。
モデル |
サイズ |
BLEU↑ |
chrF↑ |
TER↓ |
独自開発モデル |
|
|
|
|
gemini-exp-1206 |
* |
30.69 |
54.16 |
67.62 |
claude-3-5-sonnet-20241022 |
* |
30.51 |
51.80 |
67.42 |
gpt-4o-2024-08-06 |
* |
28.30 |
50.13 |
71.77 |
オープンソースモデル |
|
|
|
|
Terjman-Ultra-v2.0 |
1.3B |
25.00 |
44.70 |
77.20 |
Terjman-Supreme-v2.0 |
3.3B |
23.43 |
44.57 |
78.17 |
Terjman-Large-v2.0 |
240M |
22.67 |
42.57 |
83.00 |
Terjman-Nano-v2.0 (このモデル) |
77M |
18.84 |
38.41 |
94.73 |
atlasia/Terjman-Large-v1.2 |
240M |
16.33 |
37.10 |
89.13 |
MBZUAI-Paris/Atlas-Chat-9B |
9B |
14.80 |
35.26 |
93.95 |
facebook/nllb-200-3.3B |
3.3B |
14.76 |
34.17 |
94.33 |
atlasia/Terjman-Nano |
77M |
09.98 |
26.55 |
106.49 |
🔧 技術詳細
- ベースモデル: atlasia/Terjman-Nano-v1
- アーキテクチャ: Transformerベースのシーケンス-to-シーケンスモデル
- 学習データ: 高品質な翻訳を含む並列コーパス
- 学習精度: 効率的な推論のためにFP16
💻 使用例
基本的な使用法
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
model_name = "BounharAbdelaziz/Terjman-Nano-v2.0"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
def translate(text):
inputs = tokenizer(text, return_tensors="pt")
output = model.generate(**inputs)
return tokenizer.decode(output[0], skip_special_tokens=True)
text = "Hello there! Today the weather is so nice in Geneva, couldn't ask for more to enjoy the holidays :)"
translation = translate(text)
print("Translation:", translation)
🖥️ デプロイメント
Hugging Face Spaceで実行
Terjman-Nano Space で、このモデルを対話的に試すことができます 🤗
Text Generation Inference (TGI) を使用する
高速な推論を行うには、Hugging Face TGI を使用します。
pip install text-generation
text-generation-launcher --model-id BounharAbdelaziz/Terjman-Nano-v2.0
TransformersとPyTorchを使用してローカルで実行
pip install transformers torch
python -c "from transformers import pipeline; print(pipeline('translation', model='BounharAbdelaziz/Terjman-Nano-v2.0')('Hello there!'))"
APIサーバーにデプロイする
FastAPI を使用して、翻訳をAPIとして提供することができます。
from fastapi import FastAPI
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
app = FastAPI()
model_name = "BounharAbdelaziz/Terjman-Nano-v2.0"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
@app.get("/translate/")
def translate(text: str):
inputs = tokenizer(text, return_tensors="pt")
output = model.generate(**inputs)
return {"translation": tokenizer.decode(output[0], skip_special_tokens=True)}
🛠️ 学習の詳細ハイパーパラメータ
このモデルは、以下の学習設定でファインチューニングされています。
- 学習率:
0.0001
- 学習バッチサイズ:
64
- 評価バッチサイズ:
64
- シード:
42
- 勾配蓄積ステップ:
4
- 総実効バッチサイズ:
256
- オプティマイザー:
AdamW (Torch)
(betas=(0.9,0.999)
, epsilon=1e-08
)
- 学習率スケジューラー:
Linear
- ウォームアップ比率:
0.1
- エポック数:
5
- 精度: 効率的な学習のために
Mixed FP16
フレームワークのバージョン
属性 |
详情 |
モデルタイプ |
Transformerベースのシーケンス-to-シーケンスモデル |
学習データ |
高品質な翻訳を含む並列コーパス |
Transformers |
4.47.1 |
Pytorch |
2.5.1+cu124 |
Datasets |
3.1.0 |
Tokenizers |
0.21.0 |
📄 ライセンス
このモデルは CC BY-NC (Creative Commons Attribution-NonCommercial) ライセンスの下で公開されています。これは、研究や個人プロジェクトでの使用は許可されていますが、商業目的での使用は許可されていません。商業利用については、ご連絡ください :)
@misc{terjman-v2,
title = {Terjman-v2: High-Quality English-Moroccan Darija Translation Model},
author={Abdelaziz Bounhar},
year={2025},
howpublished = {\url{https://huggingface.co/BounharAbdelaziz/Terjman-Nano-v2.0}},
license = {CC BY-NC}
}