🚀 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': 'Кто выпустил собак?'}]
✨ 主要特性
- 基于 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("Анам жақтауды жуды."))
高级用法
from transformers import pipeline
pipe = pipeline(model="deepvk/kazRush-kk-ru")
pipe("Иттерді кім шығарды?")
更多使用示例
>>> print(generate("Балық көбінесе сулардағы токсиндердің жоғары концентрацияларына байланысты өледі."))
Рыба часто умирает из-за высоких концентраций токсинов в воде.
>>> print(generate("Өткен 3 айда 80-нен астам қамалушы ресми түрде айып тағылмастан изолятордан шығарылды."))
За прошедшие 3 месяца более 80 арестованных были официально извлечены из изолятора без обвинения.
>>> print(generate("Бұл тастардың он бесі өткен шілде айындағы метеориттік жаңбырға жатқызылады."))
Пятнадцать этих камней относят к метеоритным дождям прошлого июля.
📚 详细文档
数据与训练
该模型在以下数据(俄语 - 哈萨克语语言对)上进行训练:
数据预处理包括:
- 去重
- 从文本中去除垃圾符号、特殊标签、多个空格等
- 去除非俄语或哈萨克语的文本(使用 facebook/fasttext-language-identification 进行语言检测)
- 去除对齐分数较低的语言对(使用 sentence-transformers/LaBSE 进行比较)
- 使用 opusfilter 工具过滤数据
该模型在 2 个 NVIDIA A100 80 Gb GPU 上训练了 56 小时。
评估
将当前模型与另一个开源翻译模型 NLLB 进行比较。由于 nllb-moe-54b
模型规模过大,因此排除该模型,与 NLLB 的其他版本进行比较。
在多语言机器翻译最新评估基准 FLORES+ evaluation benchmark 的 devtest
部分计算了 BLEU、chrF 和 COMET 指标。
BLEU 和 chrF 的计算遵循 sacreBLEU 的标准实现,COMET 使用 COMET repository 中描述的默认模型进行计算。
📄 许可证
本项目采用 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},
}