Azure OpenAI入門基礎講座 Part4 - パラメーターの理解
この記事の内容
- Azure OpenAIのチャットプレイグラウンドで設定できる各種パラメーターを解説します
- 「最大応答トークン数」「温度」「停止シーケンス」の動作を実際の挙動とともに説明します
- 「頻度のペナルティ」「プレゼンスペナルティ」の役割と使い分けについて紹介します
- 各パラメーターがトークン消費量や応答コストに与える影響にも触れます
- プレイグラウンドで実際に試しながら自分に合った設定を見つける方法を説明します
チャットプレイグラウンドのパラメーター概要
Azure OpenAIのチャットプレイグラウンドには、モデルの応答を細かく制御するための「パラメーター」設定が用意されています。今回はそれぞれのパラメーターがどのような役割を持つのかを、実際に動作を確認しながら見ていきます。
最大応答トークン数(Max Tokens)
最大応答トークン数は、モデルが1回の応答で使用できるトークン数に上限を設定するものです。デフォルトでは800に設定されていますが、この値を変更することで応答の長さを制御できます。
たとえば最大応答トークン数を「1」に設定して「おはようございます」と送信すると、応答は「お」の1文字で終わってしまいます。1トークンが必ずしも1文字とは限りませんが、非常に短い応答になることが確認できます。
逆に大きな値を設定すれば、長い文章でも最後まで応答が返ってくるようになります。
ただし、トークン数が増えるほど以下の点に注意が必要です。
- 課金額が増加する:使用トークン数に応じてコストが増えます
- 応答に時間がかかる:大きなトークン数は処理時間にも影響します
目的や用途に合わせてバランスを取りながら設定することが重要です。
温度(Temperature)
温度パラメーターは、モデルの応答のランダム性を制御する重要な設定です。
- 温度を低くする:応答がより決定論的になり、同じ質問に対して似たような回答を返しやすくなります
- 温度を高くする:応答にバリエーションが生まれ、毎回異なる表現や内容を返しやすくなります
温度を「0」に設定して「おはようございます」と何度か送信してみると、「おはようございます。今日はどんな1日になりそうですか?」のように毎回非常に似た応答が返ってきます。完全に同一にはならないものの、バリエーションが少ないことが確認できます。
温度を「1」付近に設定すると、「今日の予定は?」「今日も良い1日になりますように」など、0の場合と比べて異なる表現が返ってきやすくなります。
用途のイメージとしては以下の通りです。
| 温度 | 特徴 | 向いているケース |
|---|---|---|
| 低い(0に近い) | 安定・一貫した応答 | FAQへの回答、ドキュメント生成 |
| 高い(1に近い) | 多様・創造的な応答 | 文章作成、ブレインストーミング |
停止シーケンス(Stop Sequences)
停止シーケンスは、モデルの応答を特定のテキストが現れた時点で打ち切る設定です。最大4つまで設定できます。
たとえば「。」(句点)や「!」(感嘆符)を停止シーケンスとして設定すると、モデルの応答はそれらの文字が登場する直前で終了します。「おはようございます!」という応答になりそうなところを、「おはようございます」で止めることができます。
この設定は、応答の形式を厳密に制御したい場合に活用できます。
頻度のペナルティ(Frequency Penalty)
頻度のペナルティは、すでに応答の中に登場した単語やフレーズが繰り返されることを抑制するパラメーターです。
値を高く設定することで、同じ表現の繰り返しを減らし、より多様な言葉を使った応答を引き出せます。温度を高めに設定しつつ頻度のペナルティも上げると、過去の応答と異なる表現で回答してくれる傾向が強まります。
「おはようございます」の例では、同じ質問を繰り返しても毎回異なるパターンで返答してくれるようになり、単調にならない会話が実現できます。
プレゼンスペナルティ(Presence Penalty)
プレゼンスペナルティも頻度のペナルティと似た役割を持ちます。これまでの会話テキストに登場したトークンが再び使われる可能性を下げる設定です。
頻度のペナルティとプレゼンスペナルティは、どちらも「繰り返しを減らす」という点では類似していますが、内部的な働き方が異なります。両方を同時に大きく変化させると影響が複合するため、どちらか一方ずつ調整しながら動作を確認することをおすすめします。
パラメーターを組み合わせて試してみよう
各パラメーターの効果は、組み合わせることでさらに顕著になります。以下の組み合わせを試すと、バリエーション豊かな応答が得られます。
- 温度:高め(1付近)
- 頻度のペナルティ:高め
- 過去のメッセージ数:多め
逆に安定した一貫性のある応答が欲しい場合は、温度を低く(0付近)設定し、ペナルティ類も低めに抑えると効果的です。
プレイグラウンドは実際にパラメーターを変更しながらリアルタイムで動作を確認できる場所です。ドキュメントの説明と実際の動作が若干異なる場合もあるため、自分の目で確かめながら最適な設定を探してみてください。
まとめ
今回はAzure OpenAIのチャットプレイグラウンドで利用できる主なパラメーターを解説しました。
- 最大応答トークン数:応答の長さを制御する。大きくするほどコストと時間が増加する
- 温度:応答のランダム性を制御する。低いと安定、高いとバリエーション豊かになる
- 停止シーケンス:指定したテキストが現れた時点で応答を打ち切る
- 頻度のペナルティ:同じ表現の繰り返しを抑制し、多様な応答を促す
- プレゼンスペナルティ:過去に登場したトークンの再利用を抑制する
これらのパラメーターを目的に合わせて使い分けることで、Azure OpenAIの応答品質を大きく向上させることができます。次回はプレイグラウンドのスピーチリソース機能についてご紹介する予定です。