使用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的擁抱面實施