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

関連情報#