模型:
ai-forever/FRED-T5-large
该模型由 SberDevices 训练。
架构基于T5。
它有24层和1024隐藏层大小。更多细节请参阅config.json。
模型训练时使用了7种去噪器的混合,类似于UL2,但有几处不同( https://arxiv.org/abs/2205.05131 )。
它使用俄语语料库(300GB)进行训练。该数据集与ruT5模型相同。
使用Bbpe分词器。50257个词汇量 + 107个特殊标记。前缀标记:'<LM>','<SC1>',.. '<SC6>'
在大部分时间内,模型对所有数据集的一小部分(1%,3GB)进行训练,并且不在每个任务中添加前缀。
对于RSG,我们按照T5论文的描述进行了训练。首先,我们对所有任务进行了多任务训练。然后,我们选择了任务的最佳检查点并进一步训练。RSG提交在此处 https://russiansuperglue.com/login/submit_info/2060
总训练时间约为35天,使用了160个V100 GPU + 5天80个A100。
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) #Prefix <LM> 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:])) # print result: , как водится, с того, что он был в плену.</s> #Prefix <SC1> 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:])) #print result: '<extra_id_0>, как он жил</s>' # Prefix <SC5> 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,max_length=100) print(tokenizer.decode(outputs[0][1:])) #print result: '<extra_id_0> </s>'