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