变形金刚:如何使用拥抱脸编码模式来完成机器翻译任务?

2024-06-15 07:47:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经训练了一个“拥抱脸”的编码模型来完成英德翻译任务。我试图过多地填充一个小数据集(100个平行句子),然后使用model.generate()然后tokenizer.decode()来执行翻译。然而,输出的似乎是正确的德语句子,但绝对不是正确的翻译

以下是构建模型的代码

encoder_config = BertConfig()
decoder_config = BertConfig()
config = EncoderDecoderConfig.from_encoder_decoder_configs(encoder_config, decoder_config)
model = EncoderDecoderModel(config=config)

下面是测试模型的代码

model.eval()
input_ids = torch.tensor(tokenizer.encode(input_text)).unsqueeze(0)
output_ids = model.generate(input_ids.to('cuda'), decoder_start_token_id=model.config.decoder.pad_token_id)
output_text = tokenizer.decode(output_ids[0])

输入示例:“铁水泥是一种现成的糊状物,用油灰刀或手指在钢锭模的模具边缘(角部)铺设成圆角。”

地面真相翻译:“铁水泥是一种水泥,在施塔尔古斯-科基尔-奥夫盖特拉根威德(Kokille-aufgetragen-wird)的模板中,在施塔尔古斯(Winkel)的模板中,在施塔尔古斯(Kokille-aufgetragen)的模板中

该模型在经过100个时代的培训后输出的内容:“[S]在quarkxpress中输入stehenden链接anklicken,输入视频uber die Erstellong ansprechender插图”,这完全没有意义

问题在哪里


Tags: 代码模型模板configidsencoderinputoutput