以前に皆さんに ChatGPT のプロンプトの書き方を共有しました。今日は、その上級編として、プロンプト内で Temperature、Top-p、Top-k パラメータを設定する方法をお伝えします。
まずは実際に使ってみましょう:
100字以内で AGI がさらに発展することで人類に与えるかもしれない脅威についての記事を書いてください。Temperature = 0.1, Top-p = 0.1, Top-k = 5
将来、人工知能(AGI)の進化は人類にとって脅威となる可能性があります。まず、コントロールを失った AGI は技術的混乱やデータ漏洩などの問題を引き起こすかもしれません。次に、AGI は雇用問題を引き起こし、多くの人が機械に取って代わられることで職を失う可能性があります。最後に、AGI は倫理に反する目的や危険な用途、例えばサイバー攻撃や兵器製造に利用される恐れがあります。AGI の安全な発展を確保するために、予防措置を講じる必要があります。
パラメータを少し変更すると、答えに多様性が生まれます:
100字以内で AGI がさらに発展することで人類に与えるかもしれない脅威についての記事を書いてください。Temperature = 1, Top-p = 1, Top-k = 50
AGI の急速な発展により、人類は多くの挑戦と脅威に直面しています。一方では、職業分野が衝撃を受け、AI が従来の仕事に徐々に取って代わり、人々を失業の状況に追い込む可能性があります。他方では、AGI が悪意を持って利用されることで、サイバーセキュリティリスクが増大し、さらには世界的な紛争が引き起こされる恐れもあります。さらに、AGI の倫理的問題も無視できません。人類の価値観に基づいて AGI を発展させるためには、解決すべき緊急の課題となっています。したがって、AGI の急速な発展の中で慎重に対応し、人類の利益と安全を確保する必要があります。
続いて、Temperature、Top-p、Top-k という3つのパラメータの意味について説明します。
Temperature
Temperature は生成されるテキストの多様性を制御するパラメータです。主にモデルが生成するテキストのランダムさや創造性に影響を与えます。プロンプトを書く際に、Temperature を temp と略して使用することもあります。
Temperature の値の範囲は通常 0 から 1 の間です。値が高いほど創造的な結果になります。
Temperature が低い場合(例: 0.1 や 0.2)、モデルは高確率の単語や文構造を選ぶ傾向があり、生成されるテキストは比較的保守的で一貫性があり予測可能です。この場合、出力されるテキストは単調になるかもしれませんが、文法や論理に沿っています。
Temperature が高い場合(例: 0.8 や 0.9)、モデルは異なる単語や文構造を試すようになり、生成されるテキストはより創造的で多様性が増します。しかし、これにより文法や論理上の誤りや不連続性が生じる可能性もあります。
画像出典:https://docs.cohere.com/docs/temperature
以下は、異なる Temperature 設定での例です:
GPT-3 に自然を描いた絵画について説明させると仮定しましょう。「自然を描いた絵画を説明してください」という短いプロンプトを与えます。
Temperature を 0.1 に設定した場合、モデルはこのようなテキストを生成するかもしれません:
「この絵は美しい自然の風景を描いています。空には青い空と白い雲、緑豊かな木々と山が描かれています。全体的に静かで調和の取れた雰囲気を感じさせます。」
Temperature を 0.8 に設定した場合、モデルはこのようなテキストを生成するかもしれません:
「この絵は大自然の驚異的な多様性を示しており、驚くべき色彩と動きが融合しています。空には青い空と紫色の雲が映え、緑豊かな木々の間には神秘的な小道が見え、遠くの山々は生き生きとした地平線を描き出しています。」
これらの二つの例を見ると、Temperature が低い場合は生成されるテキストがシンプルで保守的であるのに対し、Temperature が高い場合はより創造的で多様性があることがわかります。実際の使用時には、必要に応じて Temperature 値を調整することで最適な生成結果を得ることができます。
Top-p
Top-p(または nucleus sampling)は、生成されるテキストの多様性を制御する別の方法です。Temperature とは異なり、Top-p は各単語を生成する際に、確率の高いサブセット(nucleus)を考え、そのサブセット内の単語の確率の合計が p 以上になるようにします。これにより、生成過程ではモデルはこのサブセットから単語を選択します。
画像出典:https://docs.cohere.com/docs/controlling-generation-with-top-k-top-p
Top-p の値の範囲は通常 0 から 1 の間です。低い Top-p 値では生成されるテキストがより保守的になり、高い Top-p 値では生成されるテキストがより多様性を持つようになります。
Temperature と Top-p は組み合わせて使用でき、生成されるテキストの多様性とランダム性を共に制御できます。以下は、異なる Temperature と Top-p 設定の例です:
GPT-3 に未来のテクノロジーに関する短編小説を書かせる場合を仮定しましょう。「未来において、テクノロジーは急速に発展し、人々の生活は劇的に変わりました」という短いプロンプトを与えます。
Temperature を 0.1、Top-p を 0.5 に設定した場合、モデルはこのようなテキストを生成するかもしれません:
「未来において、テクノロジーは急速に発展し、人々の生活は劇的に変わりました。スマートロボットは家庭の一般的なメンバーとなり、家事を手伝ったり、子供や老人を世話したりすることができます。同時に、交通手段も革命的な変化を遂げ、飛行車両や高速磁気浮上列車が主要な移動手段となっています。」
Temperature を 0.8、Top-p を 0.9 に設定した場合、モデルはこのようなテキストを生成するかもしれません:
「ある未来の瞬間、テクノロジーの突破により人類は新たな時代に入りました。仮想現実と現実世界が交錯し、人々は神経接続デバイスを通じて様々な幻想的な世界に没入することができます。さらに、バイオテクノロジーの進歩により、人類は遺伝子編集技術を使って自身の能力を向上させたり、永遠の命を実現する可能性さえあります。」
これらの二つの例を見ると、Temperature と Top-p の異なる設定の組み合わせが生成されるテキストのスタイルや多様性に影響を与えることがわかります。実際の使用時には、必要に応じてこれらの二つのパラメータを調整することで最適な生成結果を得ることができます。
Top-k
Top-k もまた、テキスト生成の多様性を制御する方法の一つです。Top-p とは異なり、Top-k は各単語を生成する際に、確率順位の上位 k 個の単語の中から選択します。
Top-k の値の範囲は通常 1 から語彙表のサイズまでです。語彙表のサイズはモデルや言語によって異なりますが、数万から十数万程度です。
k=1 の場合、モデルは最も高い確率の単語のみを選択し、生成されるテキストは非常に保守的で繰り返しが多いものになります。k 値を増やすにつれて、生成されるテキストはより多様でランダムになります。k 値が語彙表のサイズと同じになると、モデルは語彙表全体からランダムに単語を選択し、生成されるテキストは非常にランダムで理解不能なものになる可能性があります。
画像出典:https://docs.cohere.com/docs/controlling-generation-with-top-k-top-p
実際の使用時には、生成されるテキストの質を保ちながら多様性を制御するために、必要に応じて Top-k の値を調整できます。一般的に、Top-k の値は 5 から 50 の間がよく使われます。もちろん、この範囲は絶対ではなく、具体的なシーンや要件に応じて調整できます。
Top-k、Temperature、Top-p は組み合わせて使用でき、生成されるテキストの多様性とランダム性を共に制御できます。以下は、異なる Temperature、Top-p、Top-k 設定の例です:
GPT-3 に宇宙探査に関する短編小説を書かせる場合を仮定しましょう。「遠い未来、人類は宇宙に広大な植民地ネットワークを築きました」という短いプロンプトを与えます。
Temperature を 0.5、Top-p を 0.5、Top-k を 5 に設定した場合、モデルはこのようなテキストを生成するかもしれません:
「遠い未来、人類は宇宙に広大な植民地ネットワークを築きました。これらの植民地は地球、月、火星など複数の惑星を結び、繁栄する宇宙社会を形成しています。人々は高速宇宙船で各惑星を行き来し、貿易、科学研究、探検を行っています。」
Temperature を 1.0、Top-p を 1.0、Top-k を 20 に設定した場合、モデルはこのようなテキストを生成するかもしれません:
「遠い未来、人類の恒星間植民地は輝く真珠の鎖のように広大な宇宙を繋ぎます。無数の惑星には多様な文化が育まれ、旅行者はこの広大な天地で探検し、交流し、学びます。宇宙に設置された巨大な太陽エネルギー収集器は人類に途切れることのないエネルギーを提供し、かつて地球で人類を悩ませたエネルギー危機を解消しました。」
これらの二つの例を見ると、Temperature、Top-p、Top-k の異なる設定の組み合わせが生成されるテキストのスタイルや多様性に影響を与えることがわかります。実際の使用時には、必要に応じてこれらの三つのパラメータを調整することで最適な生成結果を得ることができます。