要約、翻訳、Q&A、テキスト生成など、ONNXに実装されたT5バージョンを使用して燃える速度でその他。
このパッケージはまだアルファステージにあるため、ビーム検索などの一部の機能はまだ開発中です。
ONNX-T5はPYPIで利用できます。
pip install onnxt5開発バージョンの場合、次のことを実行できます。
git clone https://github.com/abelriboulot/onnxt5
cd onnxt5
pip install -e . 生成を開始する最も簡単な方法は、パッケージに含まれるONNXでT5のデフォルトの事前訓練バージョンを使用することです。
注: get_encoder_decoder_tokenizerに初めて電話をかけると、1〜2分かかる可能性のあるモデルがダウンロードされていることに注意してください。
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は500ワードを超えています。


このプロジェクトはまだ初期段階にあるので、あなたのフィードバック、あなたがどのような問題を解決しようとしているのかを知り、あなたが遭遇した問題を聞いて、あなたに役立つ機能について話し合うことが大好きです。したがって、自由に電子メール(アドレスのプロフィールを参照してください!)を撮影するか、Slackコミュニティに参加してください。
このレポは、コリン・ラッフェルとノーム・シャザイヤー、アダム・ロバーツ、キャサリン・リー、シャラン・ナラン、マイケル・マテナ、ヤンキ・リーとピーター・J・リューの作品、およびハグギングフェイスチームからの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 Repo
T5のハギングフェイスの実装