🚀 kazRush-ru-kk
kazRush-ru-kkは、ロシア語からカザフ語への翻訳を行うための翻訳モデルです。このモデルは、利用可能なオープンソースの並列データを使用し、T5構成に基づいてランダムに初期化された重みで学習されました。
🚀 クイックスタート
必要な依存関係のインストール
モデルを使用するには、sentencepiece
ライブラリをインストールする必要があります。必要な依存関係をインストールした後、以下のコードでモデルを実行できます。
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
import torch
device = 'cuda'
model = AutoModelForSeq2SeqLM.from_pretrained('deepvk/kazRush-ru-kk').to(device)
tokenizer = AutoTokenizer.from_pretrained('deepvk/kazRush-ru-kk')
@torch.inference_mode
def generate(text, **kwargs):
inputs = tokenizer(text, return_tensors='pt').to(device)
hypotheses = model.generate(**inputs, num_beams=5, **kwargs)
return tokenizer.decode(hypotheses[0], skip_special_tokens=True)
print(generate("Как Кока-Кола может помочь автомобилисту?"))
Pipelineを使用したアクセス
pipeline ラッパーを介してモデルにアクセスすることもできます。
>>> from transformers import pipeline
>>> pipe = pipeline(model="deepvk/kazRush-ru-kk")
>>> pipe("Мама мыла раму")
[{'translation_text': 'Анам жақтауды сабындады'}]
✨ 主な機能
このモデルは、ロシア語からカザフ語への高精度な翻訳を提供します。T5構成に基づいて学習されており、広範なデータセットを使用して訓練されています。
📦 インストール
モデルを使用するには、sentencepiece
ライブラリをインストールする必要があります。
💻 使用例
基本的な使用法
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
import torch
device = 'cuda'
model = AutoModelForSeq2SeqLM.from_pretrained('deepvk/kazRush-ru-kk').to(device)
tokenizer = AutoTokenizer.from_pretrained('deepvk/kazRush-ru-kk')
@torch.inference_mode
def generate(text, **kwargs):
inputs = tokenizer(text, return_tensors='pt').to(device)
hypotheses = model.generate(**inputs, num_beams=5, **kwargs)
return tokenizer.decode(hypotheses[0], skip_special_tokens=True)
print(generate("Как Кока-Кола может помочь автомобилисту?"))
高度な使用法
>>> from transformers import pipeline
>>> pipe = pipeline(model="deepvk/kazRush-ru-kk")
>>> pipe("Мама мыла раму")
[{'translation_text': 'Анам жақтауды сабындады'}]
📚 ドキュメント
データと学習
このモデルは、以下のデータ(ロシア語 - カザフ語のペア)で学習されました。
データの前処理には以下の手順が含まれています。
- 重複排除
- テキストからゴミ記号、特殊タグ、複数の空白などを削除
- ロシア語またはカザフ語でないテキストを削除(言語検出はfacebook/fasttext-language-identificationを使用)
- アライメントスコアが低いペアを削除(比較はsentence-transformers/LaBSEを使用)
- opusfilterツールを使用してデータをフィルタリング
モデルは、2つのNVIDIA A100 80 Gb GPUで56時間学習されました。
評価
現在のモデルは、別のオープンソースの翻訳モデルであるNLLBと比較されました。nllb-moe-54bはサイズのため除外し、NLLBのすべてのバージョンと比較しました。
評価指標であるBLEU、chrF、COMETは、多言語機械翻訳の最新の評価ベンチマークであるFLORES+ evaluation benchmarkのdevtest
部分で計算されました。
BLEUとchrFの計算は、sacreBLEUの標準実装に従い、COMETはCOMET repositoryに記載されているデフォルトモデルを使用して計算されました。
具体的な使用例
>>> print(generate("Каждый охотник желает знать, где сидит фазан."))
Әрбір аңшы ғибадатхананың қайда отырғанын білгісі келеді.
>>> print(generate("Местным продуктом-специалитетом с защищённым географическим наименованием по происхождению считается люнебургский степной барашек."))
Шығу тегі бойынша қорғалған географиялық атауы бар жергілікті мамандандырылған өнім болып люнебургтік дала қошқар болып саналады.
>>> print(generate("Помогите мне удивить девушку"))
Қызды таң қалдыруға көмектесіңіз
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。
📖 引用
@misc{deepvk2024kazRushrukk,
title={kazRush-ru-kk: translation model from Russian to Kazakh},
author={Lebedeva, Anna and Sokolov, Andrey},
url={https://huggingface.co/deepvk/kazRush-ru-kk},
publisher={Hugging Face},
year={2024},
}