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