使用ONNX中实现的T5版本的摘要,翻译,问答,文本生成以及更高的速度。
该软件包仍处于Alpha阶段,因此某些功能(例如梁搜索)仍在开发中。
ONNX-T5在PYPI上可用。
pip install onnxt5对于开发版本,您可以运行以下内容。
git clone https://github.com/abelriboulot/onnxt5
cd onnxt5
pip install -e . 开始生成的最简单方法是在软件包中包含的ONNX上使用默认的预训练的T5。
注意:请注意,您第一次致电get_encoder_decoder_tokenizer时,正在下载模型,这可能需要一两分钟。
from onnxt5 import GenerativeT5
from onnxt5 . api import get_encoder_decoder_tokenizer
decoder_sess , encoder_sess , tokenizer = get_encoder_decoder_tokenizer ()
generative_t5 = GenerativeT5 ( encoder_sess , decoder_sess , tokenizer , onnx = True )
prompt = 'translate English to French: I was a victim of a series of accidents.'
output_text , output_logits = generative_t5 ( prompt , max_length = 100 , temperature = 0. )
# output_text: "J'ai été victime d'une série d'accidents."其他任务只需要更改提示中的前缀,例如摘要:
prompt = 'summarize: <PARAGRAPH>'
output_text , output_logits = generative_t5 ( prompt , max_length = 100 , temperature = 0. )如果您想获取文本的嵌入,可以运行以下内容
from onnxt5 . api import get_encoder_decoder_tokenizer , run_embeddings_text
decoder_sess , encoder_sess , tokenizer = get_encoder_decoder_tokenizer ()
prompt = 'Listen, Billy Pilgrim has come unstuck in time.'
encoder_embeddings , decoder_embeddings = run_embeddings_text ( encoder_sess , decoder_sess , tokenizer , prompt ) ONNXT5还可以使您出口并使用自己的型号。有关更详细的示例,请参见examples文件夹。
T5与诸如summarize: , translate English to German:或question: ... context: 。您可以在原始论文的附录D中查看预验证的任务和令牌。
跑性的表现会根据上下文的长度而变化。对于不到500个单词的上下文,ONNX的表现极高,与Pytorch相比,速度达到4倍。但是,上下文的时间越长,onnx的加速越小,pytorch的速度越高。


该项目仍处于起步阶段,因此我希望您的反馈意见,了解您要解决的问题,聆听您遇到的问题以及讨论对您有帮助的功能。因此,请随时给我发送电子邮件(请参阅我的个人资料以获取地址!)或加入我们的Slack社区。
该回购基于Colin Raffel和Noam Shazeer,Adam Roberts以及Adam Lee和Katherine Lee和Sharan Narang,Michael Matena以及Google的Yanqi Zhou和Wei Li和Peter J. Liu以及来自Google的彼得·J·刘,以及Huggingface团队的T5实施T5文字产生。
原始T5纸
@article{2019t5,
author = {Colin Raffel and Noam Shazeer and Adam Roberts and Katherine Lee and Sharan Narang and Michael Matena and Yanqi Zhou and Wei Li and Peter J. Liu},
title = {Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer},
journal = {arXiv e-prints},
year = {2019},
archivePrefix = {arXiv},
eprint = {1910.10683},
}
Microsoft OnnxRuntime回购
T5的拥抱面实施