AI两步实现 问答 摘要 翻译等(google-T5 模型)

2023-12-19 21:29:52

AI两步实现 问答 、摘要、翻译、命名实体识别等任务,本文使用hugging face上的flan-t5-base模型

一、下载预训练模型

hugging face 下载预训练模型,必须下载的几个文件如下,我这里是基于pytorch,因此model选择的pytorch.bin,如果是tensorflow选另外的模型tf的
在这里插入图片描述

二、加载模型实现功能

from transformers import T5Tokenizer, T5ForConditionalGeneration

modelpath = "E:\\work\\code\\models\\flan-t5-base"
tokenizer = T5Tokenizer.from_pretrained(modelpath)
model = T5ForConditionalGeneration.from_pretrained(modelpath)

input_text = "what's the capital for usa"
input_ids = tokenizer(input_text, return_tensors="pt").input_ids

outputs = model.generate(input_ids)
print(tokenizer.decode(outputs[0]))

把上面下载的文件放到modelpath 路径里,大功告成

三、环境准备
首先还是python的基础环境pytorch相关的包torch等都要下载好
另外这里直接用hugging face的内置transformers,因此需要先pip install 安装一下
另外还需要pip install sentencepiece 安装下这个 ,否则可能报错
在这里插入图片描述
详细的可以看这个说明:https://github.com/google/sentencepiece#installation

四、下游任务

加载模型部分与上述二步骤相同,此处略去

翻译


input_text = "translate German to English: Wie old sind Sie?"
input_ids = tokenizer(input_text, return_tensors="pt").input_ids

outputs = model.generate(input_ids)
print(tokenizer.decode(outputs[0]))

输出“

<pad> How old are you?</s>

实体识别

f
input_text = "find out where entity: at 3:00 , I will fly to Shanghai today."
input_ids = tokenizer(input_text, return_tensors="pt").input_ids

outputs = model.generate(input_ids)
print(tokenizer.decode(outputs[0]))

输出:

<pad> shanghai</s>

问题回答

如步骤二里的任务
输出"<pad> Washington, D.C.</s>"

T5可以做1000多种下游任务,下面是最经典的几类任务,具体的可以参考论文:https://arxiv.org/pdf/2210.11416.pdf

文章来源:https://blog.csdn.net/zishuijing_dd/article/details/135079387
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。