機械学習において、ハイパーパラメータの設定は精度向上に欠かせない重要なプロセスです。しかし、ハイパーパラメータを設定するには知識や経験が必要であり、上級者向けのテクニックとなっています。そこで、本記事ではChatGPTのハイパーパラメータ設定について、実践的な手法や注意点を解説します。ChatGPTを使い倒したいという方や、ハイパーパラメータの設定に苦戦している方にとっても役立つ内容となっていますので、ぜひご一読ください。
ハイパーパラメーターとは?
学習と推論における言語モデルの動作を決定する調整可能な設定です。ハイパーパラメータを変更することで、モデルの出力の質や多様性に影響を与えることができ、特定のタスクやアプリケーションにモデルを微調整するのに便利です。
GPT-3、GPT-3.5、GPT-4では、以下のハイパーパラメータを調整することが可能です。
Temperature [DEFAULT: 0.7]
AIが会話するときに、どの程度「野生的」または「飼いならされる」ようにしたいかと考えてください。温度が高いとAIはよりランダムでクリエイティブになり、低いとより集中的で賢明なものになります。
プロンプトの例 “晴れた日はどうすればいい?”
Temperature:2.0(高い)
例: “巨大なアイスクリーム・コーンに乗って月に行き、宇宙人とピクニックをする!”
説明: Temperatureが高いので、AIが非常にランダムでクリエイティブなアイデアを思いつく。
Temperatureは 0.5 (低い)
例: “外に出て友達と遊んだり、自転車に乗ったり、公園でピクニックしたりすることができます。”
説明: Temperatureが低いので、AIはより集中した賢明な回答をする。
Temperatureの許容値:0.0001~無限大
Top K [DEFAULT: 40]
あなたの友人のAIが、返信に使える言葉のリストを持っているとします。Top Kは、そのリストの先頭から何個の単語を選ぶことができるかを示しています。
Top Kが小さいとAIはより集中し、Top Kが大きいとよりランダムになります。
例 “あなたの好きな動物は何ですか?”
Top K: 5 (低い)
例: “私の好きな動物は犬です。”
説明: AIはより少ない単語から選択するので、より集中的で一般的な答えになる。
Top K:50(高い)
例: “私の好きな動物はピグミーマーモセットです。”
説明: AIがより多くの単語から選択することで、回答がより多様になり、一般的ではなくなります。
Top Kの許容値:0~無限大
Top P [DEFAULT: 0.9]
Top Pは、AIフレンドの言葉のフィルターのようなものです。選ばれる確率の合計がトップPの値以下である単語だけを選びます。
Top Pを高くすると、よりバラエティに富み、低くすると、AIがより集中するようになります。
例: “公園でするお気に入りのことは何ですか?”
Top P:0.95(高)
例: “私は鴨に餌をあげたり、隠れた道を探検したり、岩の下にいる珍しい昆虫を探したりするのが大好きです!”
説明: トップPの値が高いので、AIの回答はよりバラエティに富んでいます。
Top P:0.5(低い)
例: “ブランコで遊ぶのが好きです。”
説明: トップP値が低いため、AIはより集中した一般的な回答をする。
Top Pの許容値:0~1
Repetition Penalty [デフォルト:1.0]
あなたのAIフレンドがたくさん話すと想像してください、しかしあなたはAIに同じことを何度も言わせたくありません。反復ペナルティは、そのような場合に役立ちます。
ペナルティが高いほどAIは単語の繰り返しを避け、低いほどAIはより頻繁に単語を繰り返すようになります。
例: “猫についてのお話をしてください”
Repetition Penalty:1.0 (低い)
例: “あるところに猫がいました。その猫はふわふわしていました。その猫はしっぽを追いかけるのが好きでした。その猫は幸せだった。”
説明: 繰り返しペナルティが低いため、AIは “cat “という単語を頻繁に繰り返しています。
Repetition Penalty :2.0(高)
例: “むかしむかし、ある居心地の良い小さな家に、ふわふわのネコちゃんが住んでいました。この毛むくじゃらの生き物は、尻尾を追いかけるのを楽しみ、楽しい生活を送っていました。”
説明: 繰り返しのペナルティが大きいため、AIは「ネコ」という言葉の繰り返しを避け、別の言葉で表現しています。
Repetition Penaltyの許容値:-無限大~無限大
Length Penalty [DEFAULT: 1.0]
長さペナルティは、AIが答えを長くしたり短くしたりするためのガイドのようなものです。ペナルティが大きいとAIは短い答えを出し、小さいと長い答えを出すようになります。
例: “夏の好きなことは何ですか?”
長さペナルティ:2.0(高い)
例: “サンシャイン “です。
説明: 長さのペナルティが大きいため、AIは短い答えを出す。
Length Penalty:0.5 (低い)
例: “暖かい日差し、長い日、泳いだり友達と遊んだりするような野外活動、そして美味しいアイスクリームのお菓子があるから夏が大好きです!”
説明: 長さのペナルティが少ないため、AIはより長く、より詳細な回答をする。
Length Penaltyの許容値:0~無限大
Num Return Sequences [DEFAULT: 1]
同じ物事について、AIが異なる考えを示してくれることを想像してください。Num Return Sequencesは、AIフレンドに、何通りの答えを出すかを指示します。
例 “雨の日にできることは何ですか?”
Num Return Sequences: 1 (低い)
例: “家の中にいて、いい本を読めばいい”
説明: AIは、あなたが1つだけと尋ねたので、1つの答えしか出しません。
Num Return Sequences: 3 (高い)
例:
a) “室内にいて本を読むことができる”
b) “映画を見たり、ビデオゲームをしたりするのもいい”
c) “クッキーを焼いたり、クラフトを作ったりするのもいい”
説明: あなたがより多くのアイデアを求めたため、AIは3つの異なる答えを出す。
Num Return Sequencesの許容値:1~10
Early Stopping [DEFAULT: FALSE]
AIの友達があなたに物語を話していると想像してください。早期停止は、AIの友達に話を止めるタイミングを伝える信号のようなものです。
早期停止条件を設定すると、AIはそのポイントに到達した時点で停止します。
例 “ドラゴンの話を聞かせてください”
Early Stopping:True; “end “という単語が生成された時点で停止する。
例: “昔、洞窟に住んでいるドラゴンがいました。そのドラゴンは空を飛ぶのが好きで、他の動物と友達になるのが好きでした。ある日、ドラゴンはユニコーンと出会い、二人は親友になりました。終わりです。”
説明: AIは、”end “という単語が発生した時点でストーリーを停止させます。
注:Early Stoppingは停止条件であり、重みの高低を持つパラメータではありません。
Early Stoppingの許容値: False // True; [指定したい条件を入れる]。
No Repeat Ngram Size [DEFAULT: 0]
あなたのAI友達が時々、同じグループの単語を何度も口にすると想像してみてください。No Repeat Ngram Sizeは、あるサイズ(単語数)内で同じ単語群を2回以上使わないように、AIの友人に指示します。
例 “あなたの好きなスポーツについて教えてください。”
No Repeat Ngram Size: 2 (低)
例: “私はサッカーをするのが大好きです。サッカーは、走って、ボールを蹴って、ゴールを決める楽しいスポーツです。サッカーは世界中でプレーされています。”
説明: AIが「サッカー」という単語を繰り返すのは、No Repeat Ngram Sizeが低い(2)ため、2つの単語のグループの繰り返しだけを避けているからです。
No Repeat Ngram Size:4(高)
例: “私の好きなスポーツはサッカーです。走ったり、ボールを蹴ったり、ゴールを決めたりするスリリングなゲームです。このアクティビティは、世界中の人々が楽しんでいます。”
説明: AIは、4つの単語のグループで「サッカー」という単語を繰り返すことを避けるため、スポーツを表現するために異なる単語を使用しています。
No Repeat Ngram Sizeの許容値:0~無限大
使い方
Prompt:
朝食のおすすめレシピを教えてください。
Hyperparameters:
Temperature: 0.7
Top P: 0.8
Top K: 50
Repetition Penalty: 1.5
Length Penalty: 1.2
Number of Return Sequences: 1
Early Stopping: True; Stop when the phrase “Enjoy your meal” is generated.
No Repeat N-gram Size: 3