モデル概要
モデル特徴
モデル能力
使用事例
🚀 機械翻訳の品質推定
このモデルは、answerdotai/ModernBERT-base を ymoslem/wmt-da-human-evaluation-long-context データセットでファインチューニングしたバージョンです。評価セットでは以下の結果を達成しています。
- 損失: 0.0214
- ピアソン相関係数: 0.5013
- 平均絶対誤差 (MAE): 0.1024
- 二乗平均平方根誤差 (RMSE): 0.1464
- 決定係数 (R2): 0.251
✨ 主な機能
このモデルは、機械翻訳(MT)システムの参照不要な長文脈品質推定(QE)に使用されます。最大32文(ソースとターゲットで合計64文)からなる翻訳ペアのデータセットで学習されているため、文書レベルの品質推定に適しています。
📦 インストール
必要なライブラリをインストールします。
pip3 install --upgrade datasets accelerate transformers
pip3 install --upgrade flash_attn triton
💻 使用例
基本的な使用法
# テストデータセットをロードする
from datasets import load_dataset
test_dataset = load_dataset("ymoslem/wmt-da-human-evaluation",
split="test",
trust_remote_code=True
)
print(test_dataset)
# モデルとトークナイザーをロードする
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch
# ファインチューニング済みのモデルとトークナイザーをロードする
model_name = "ymoslem/ModernBERT-base-long-context-qe-v1"
model = AutoModelForSequenceClassification.from_pretrained(
model_name,
device_map="auto",
torch_dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# 利用可能な場合はモデルをGPUに移動する
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
model.eval()
# データセットを準備する
sep_token = tokenizer.sep_token
input_test_texts = [f"{src} {sep_token} {tgt}" for src, tgt in zip(test_dataset["src"], test_dataset["mt"])]
# 予測を生成する
from transformers import pipeline
classifier = pipeline("text-classification",
model=model_name,
tokenizer=tokenizer,
device=0,
)
predictions = classifier(input_test_texts,
batch_size=128,
truncation=True,
padding="max_length",
max_length=tokenizer.model_max_length,
)
predictions = [prediction["score"] for prediction in predictions]
高度な使用法
# 高度な推論コード
from torch.utils.data import DataLoader
import torch
from tqdm.auto import tqdm
# トークン化関数
def process_batch(batch, tokenizer, device):
sep_token = tokenizer.sep_token
input_texts = [f"{src} {sep_token} {tgt}" for src, tgt in zip(batch["src"], batch["mt"])]
tokens = tokenizer(input_texts,
truncation=True,
padding="max_length",
max_length=tokenizer.model_max_length,
return_tensors="pt",
).to(device)
return tokens
# バッチ処理用のDataLoaderを作成する
test_dataloader = DataLoader(test_dataset,
batch_size=128, # 必要に応じてバッチサイズを調整する
shuffle=False)
# すべての予測を格納するリスト
predictions = []
with torch.no_grad():
for batch in tqdm(test_dataloader, desc="Inference Progress", unit="batch"):
tokens = process_batch(batch, tokenizer, device)
# 順伝播: モデルのロジットを生成する
outputs = model(**tokens)
# ロジット(予測値)を取得する
logits = outputs.logits
# 回帰予測値を抽出する
batch_predictions = logits.squeeze()
# 予測値をリストに追加する
predictions.extend(batch_predictions.tolist())
📚 ドキュメント
モデルの詳細
このモデルは、機械翻訳システムの参照不要な長文脈品質推定に使用されます。最大32文(ソースとターゲットで合計64文)からなる翻訳ペアのデータセットで学習されているため、文書レベルの品質推定に適しています。
学習と評価データ
このモデルは、長文脈データセット ymoslem/wmt-da-human-evaluation-long-context で学習されています。機械翻訳の品質推定に使用される長文脈/文書レベルのデータセットは、文レベルのWMT DA Human Evaluationデータセットの拡張バージョンです。個々の文に加えて、各言語ペア lp
と domain
の2、4、8、16、32文の拡張データが含まれています。raw
列は、src
と mt
の文字数を重みとして使用した拡張文のスコアの加重平均を表します。
- 学習データ: 765万件の長文脈テキスト
- テストデータ: 59,235件の長文脈テキスト
学習手順
このモデルは、1台のH200 SXM(VRAM 143GB)で約26時間学習されました。
- tokenizer.model_max_length: 8192(全コンテキスト長)
- attn_implementation: flash_attention_2
学習ハイパーパラメータ
学習中に使用されたハイパーパラメータは以下の通りです。
- learning_rate: 0.0003
- train_batch_size: 128
- eval_batch_size: 128
- seed: 42
- optimizer: OptimizerNames.ADAMW_TORCH_FUSEDを使用し、betas=(0.9,0.999)、epsilon=1e-08、optimizer_args=追加のオプティマイザ引数なし
- lr_scheduler_type: linear
- training_steps: 60000(約1エポック)
学習結果
学習損失 | エポック | ステップ | 検証損失 |
---|---|---|---|
0.0233 | 0.0167 | 1000 | 0.0233 |
0.0232 | 0.0335 | 2000 | 0.0230 |
0.0225 | 0.0502 | 3000 | 0.0230 |
0.023 | 0.0669 | 4000 | 0.0224 |
0.0226 | 0.0837 | 5000 | 0.0223 |
0.0226 | 0.1004 | 6000 | 0.0225 |
0.0219 | 0.1171 | 7000 | 0.0222 |
0.022 | 0.1339 | 8000 | 0.0222 |
0.0213 | 0.1506 | 9000 | 0.0221 |
0.0213 | 0.1673 | 10000 | 0.0220 |
0.0218 | 0.1840 | 11000 | 0.0219 |
0.0215 | 0.2008 | 12000 | 0.0225 |
0.0218 | 0.2175 | 13000 | 0.0219 |
0.0218 | 0.2342 | 14000 | 0.0218 |
0.0217 | 0.2510 | 15000 | 0.0219 |
0.0219 | 0.2677 | 16000 | 0.0219 |
0.0212 | 0.2844 | 17000 | 0.0219 |
0.0219 | 0.3012 | 18000 | 0.0219 |
0.0218 | 0.3179 | 19000 | 0.0219 |
0.0213 | 0.3346 | 20000 | 0.0217 |
0.0218 | 0.3514 | 21000 | 0.0217 |
0.021 | 0.3681 | 22000 | 0.0217 |
0.0219 | 0.3848 | 23000 | 0.0220 |
0.0211 | 0.4016 | 24000 | 0.0216 |
0.0211 | 0.4183 | 25000 | 0.0216 |
0.0206 | 0.4350 | 26000 | 0.0216 |
0.021 | 0.4517 | 27000 | 0.0215 |
0.0214 | 0.4685 | 28000 | 0.0215 |
0.0214 | 0.4852 | 29000 | 0.0216 |
0.0204 | 0.5019 | 30000 | 0.0216 |
0.022 | 0.5187 | 31000 | 0.0216 |
0.0212 | 0.5354 | 32000 | 0.0217 |
0.0211 | 0.5521 | 33000 | 0.0216 |
0.0208 | 0.5689 | 34000 | 0.0215 |
0.0208 | 0.5856 | 35000 | 0.0215 |
0.0215 | 0.6023 | 36000 | 0.0215 |
0.0212 | 0.6191 | 37000 | 0.0215 |
0.0213 | 0.6358 | 38000 | 0.0215 |
0.0211 | 0.6525 | 39000 | 0.0215 |
0.0208 | 0.6693 | 40000 | 0.0215 |
0.0205 | 0.6860 | 41000 | 0.0215 |
0.0209 | 0.7027 | 42000 | 0.0215 |
0.021 | 0.7194 | 43000 | 0.0215 |
0.0207 | 0.7362 | 44000 | 0.0215 |
0.0197 | 0.7529 | 45000 | 0.0215 |
0.0211 | 0.7696 | 46000 | 0.0214 |
0.021 | 0.7864 | 47000 | 0.0215 |
0.0207 | 0.8031 | 48000 | 0.0214 |
0.0219 | 0.8198 | 49000 | 0.0215 |
0.0208 | 0.8366 | 50000 | 0.0215 |
0.0202 | 0.8533 | 51000 | 0.0215 |
0.02 | 0.8700 | 52000 | 0.0215 |
0.0205 | 0.8868 | 53000 | 0.0214 |
0.0214 | 0.9035 | 54000 | 0.0215 |
0.0205 | 0.9202 | 55000 | 0.0214 |
0.0209 | 0.9370 | 56000 | 0.0214 |
0.0206 | 0.9537 | 57000 | 0.0214 |
0.0204 | 0.9704 | 58000 | 0.0214 |
0.0203 | 0.9872 | 59000 | 0.0214 |
0.0209 | 1.0039 | 60000 | 0.0214 |
フレームワークバージョン
- Transformers 4.48.1
- Pytorch 2.4.1+cu124
- Datasets 3.2.0
- Tokenizers 0.21.0
🔧 技術詳細
このモデルは、answerdotai/ModernBERT-base をベースに、ymoslem/wmt-da-human-evaluation-long-context データセットでファインチューニングされています。学習には、1台のH200 SXM(VRAM 143GB)が使用され、約26時間で学習が完了しました。ハイパーパラメータは、learning_rate=0.0003、train_batch_size=128、eval_batch_size=128、seed=42などが使用されました。
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。
📊 モデル情報
属性 | 詳情 |
---|---|
ライブラリ名 | transformers |
対応言語 | 多言語、ベンガル語、チェコ語、ドイツ語、英語、エストニア語、フィンランド語、フランス語、グジャラート語、ハウサ語、ヒンディー語、アイスランド語、日本語、カザフ語、クメール語、リトアニア語、ラトビア語、ポーランド語、パシュトゥー語、ロシア語、タミル語、トルコ語、ウクライナ語、コサ語、中国語、ズールー語 |
ライセンス | apache-2.0 |
ベースモデル | answerdotai/ModernBERT-base |
タグ | 品質推定、回帰、trainerから生成 |
データセット | ymoslem/wmt-da-human-evaluation-long-context |
モデル名 | Quality Estimation for Machine Translation |
評価指標 | ピアソン相関係数: 0.5013、平均絶対誤差: 0.1024、二乗平均平方根誤差: 0.1464、決定係数: 0.251 |
評価指標名 | pearsonr、mae、r_squared |









