language:
FRED-T5 1.7B(全规模俄语增强降噪器T5)
模型架构设计、预训练及评估细节详见我们的预印本论文:面向俄语的预训练Transformer语言模型家族。
该模型由SberDevices训练完成。
架构基于T5构建。
包含24层网络,隐藏层维度为1536。更多参数详见config.json文件。
采用类似UL2的7种降噪任务混合训练策略(https://arxiv.org/abs/2205.05131),但存在若干差异。
训练数据为300GB俄语语料库,与ruT5模型使用相同数据集。
采用Bbpe分词器,词表量50257+107个特殊标记。前缀标记包括:'<LM>', '<SC1>',.. '<SC6>'
训练初期(总时长的前50%)仅使用1%数据集(3GB)且不添加任务前缀。
对于RSG任务,参照T5论文方法:先进行多任务联合训练,后选取最佳检查点进行专项微调。
RSG提交记录见 https://russiansuperglue.com/login/submit_info/1936
在112块A100 GPU上完成训练,总耗时约45天。
使用指南(HuggingFace模型库)
import torch
from transformers import GPT2Tokenizer, T5ForConditionalGeneration
tokenizer = GPT2Tokenizer.from_pretrained('ai-forever/FRED-T5-1.7B',eos_token='</s>')
model = T5ForConditionalGeneration.from_pretrained('ai-forever/FRED-T5-1.7B')
device='cuda'
model.to(device)
lm_text='<LM>库图佐夫开始讲述他如何来到此地的故事。事情始于'
input_ids=torch.tensor([tokenizer.encode(lm_text)]).to(device)
outputs=model.generate(input_ids,eos_token_id=tokenizer.eos_token_id,early_stopping=True)
print(tokenizer.decode(outputs[0][1:]))
lm_text='<SC1>库图佐夫开始讲述他的<extra_id_0>故事。事情始于他在军队服役时,曾是炮兵部队的一员。'
input_ids=torch.tensor([tokenizer.encode(lm_text)]).to(device)
outputs=model.generate(input_ids,eos_token_id=tokenizer.eos_token_id,early_stopping=True)
print(tokenizer.decode(outputs[0][1:]))
lm_text='<SC5>库图佐夫开始讲述他的<extra_id_0>故事。事情始于他在军队服役时,曾是炮兵部队的一员。'
input_ids=torch.tensor([tokenizer.encode(lm_text)]).to(device)
outputs=model.generate(input_ids,eos_token_id=tokenizer.eos_token_id,early_stopping=True)
tokenizer.decode(outputs[0][1:]))
开发团队
- NLP核心研发团队Telegram频道:
- 德米特里·兹米特罗维奇
- 安德烈·卡尔梅科夫
- 维塔利·卡杜林
- 米哈伊尔·诺维科夫
- 阿列克谢·霍罗希洛夫
Salute AI技术社区。
引用格式
@misc{zmitrovich2023family,
title={面向俄语的预训练Transformer语言模型家族},
author={德米特里·兹米特罗维奇 and 亚历山大·阿布拉莫夫 and 安德烈·卡尔梅科夫 and 玛丽亚·吉洪诺娃 and 叶卡捷琳娜·塔克塔舍娃 and 丹尼尔·阿斯塔富罗夫 and 马克·鲍申科 and 阿尔乔姆·斯涅吉列夫 and 塔季扬娜·莎夫琳娜 and 谢尔盖·马尔科夫 and 弗拉迪斯拉夫·米哈伊洛夫 and 阿莲娜·费诺格诺娃},
year={2023},
eprint={2309.10931},
archivePrefix={arXiv},
primaryClass={cs.CL}
}