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