GPT-2 テキスト予測 Python* デモ¶
このデモでは、gpt-2 モデルを推論に使用してインタラクティブな条件付きテキスト予測を実行する方法を示します。この場合、ユーザーが提供したテキストからコンテンツが生成されます。
どのように動作するか¶
起動時に、デモ・アプリケーションはコマンドライン・パラメーターを受け取り、モデルを OpenVINO™ ランタイムプラグインにロードします。また、コマンドライン引数またはユーザー入力から受信したユーザー入力プロンプトをエンコードし、それを使用して出力シーケンスを予測します。
実行の準備¶
デモでサポートされるモデルリストは、<omz_dir>/demos/gpt2_text_prediction_demo/python/models.lst
ファイルにあります。このファイルは、モデル・ダウンローダーおよびコンバーターのパラメーターとして使用され、モデルをダウンロードし、必要に応じて OpenVINO IR 形式 (*.xml + *.bin) に変換できます。
モデル・ダウンローダーの使用例:
omz_downloader --list models.lst
モデル・コンバーターの使用例:
omz_converter --list models.lst
サポートされるモデル¶
gpt-2
注: 各種デバイス向けのモデル推論サポートの詳細については、インテルの事前トレーニング・モデルのデバイスサポートとパブリックの事前トレーニング・モデルのデバイスサポートの表を参照してください。
実行¶
-h
オプションを指定してアプリケーションを実行すると、使用方法が表示されます。
usage: gpt2_text_prediction_demo.py [-h] -m MODEL -v VOCAB --merges MERGES
[-i INPUT]
[--max_sample_token_num MAX_SAMPLE_TOKEN_NUM]
[--top_k TOP_K] [--top_p TOP_P]
[-d DEVICE]
Options:
-h, --help Show this help message and exit.
-m MODEL, --model MODEL
Required. Path to an .xml file with a trained model
-v VOCAB, --vocab VOCAB
Required. Path to the vocabulary file with tokens
--merges MERGES Required. Path to the merges file
-i INPUT, --input INPUT
Optional. Input prompt
--max_sample_token_num MAX_SAMPLE_TOKEN_NUM
Optional. Maximum number of tokens in generated sample
--top_k TOP_K Optional. Number of tokens with the highest
probability which will be kept for generation
--top_p TOP_P Optional. Maximum probability, tokens with such a
probability and lower will be kept for generation
-d DEVICE, --device DEVICE
Optional. Target device to perform inference
on. Default value is CPU
--dynamic_shape Run model with dynamic input sequence. If not
provided, input sequence will be padded to
max_seq_len
--max_seq_len MAX_SEQ_LEN
Optional. Maximum sequence length for processing. Default value is 1024
デモの入力¶
アプリケーションは入力文字列からテキストを読み取ってエンコードし、変換を実行してモデル入力として使用します。
デモの出力¶
アプリケーションは、入力文字列ごとに文字列を継続して、予測されたテキストを出力します。
デモのコマンドライン例¶
次のコマンドを使用してデモを試すことができます (Open Model Zoo からモデルをダウンロードし、モデル・ダウンローダーで変換した使用済みモデルを想定しています)。
python3 gpt2_text_prediction_demo.py
--model=<path_to_model>/gpt-2.xml
--vocab=<models_dir>/models/public/gpt-2/gpt2/vocab.json
--merges=<models_dir>/models/public/gpt-2/gpt2/merges.txt