LLM 生成構成推論パラメータ 温度 上位 k トークン 生成構成推論パラメータ

このビデオでは、次の単語を生成する際にモデルが最終決定を行う方法に影響を与えるために使用できるいくつかのメソッドと関連する構成パラメーターについて学びます。Hugging Face Web サイトまたは AWS の Playground で LLM を使用したことがある場合は、LLM の動作を調整するためのこれらのコントロールを見たことがあるでしょう。各モデルは、推論中のモデルの出力に影響を与える可能性がある一連の構成パラメーターを公開します。
ここに画像の説明を挿入

これらのパラメーターは、トレーニング中に学習されるトレーニング パラメーターとは異なることに注意してください。代わりに、これらの構成パラメータは推論時に呼び出され、完了時のトークンの最大数を制御できるようになります。
ここに画像の説明を挿入

そしてその成果物の創造性の度合い。
ここに画像の説明を挿入

Max new tokens はおそらくこれらのパラメーターの中で最も単純で、モデルによって生成されるトークンの数を制限するために使用できます。これは、モデルが選択プロセスを通過する回数を制限するものと考えることができます。
ここに画像の説明を挿入

ここでは、最大新しいトークンを 100、150、または 200 に設定した例を示します。ただし、200の例では仕上がり長さが短くなりますのでご注意ください。これは、モデルがシーケンス終了トークンを予測するなど、別の停止条件に達したためです。これは新しいトークンの最大数であり、生成される新しいトークンの厳密な数ではないことに注意してください。
ここに画像の説明を挿入

Transformers のソフトマックス層の出力は、モデルで使用される辞書全体にわたる確率分布です。ここでは、いくつかの単語とその横にその確率スコアが表示されます。ここでは 4 つの単語しか示していませんが、これが完全な辞書に続くリストであると想像してください。
ここに画像の説明を挿入

大規模な言語モデルのほとんどは、デフォルトでいわゆる貪欲デコードを使用します。これは次の単語を予測する最も単純な形式であり、モデルは常に最も高い確率で単語を選択します。このアプローチは短期間の生成にはうまく機能しますが、単語の繰り返しや一連の単語の繰り返しが発生する傾向があります。より自然で創造的で、単語の繰り返しを避けたテキストを生成したい場合は、他のコントロールを使用する必要があります。ランダム サンプリングは、バリエーションを導入する最も簡単な方法です。ランダム サンプリングとは異なり、モデルは最も可能性の高い単語を毎回選択するのではなく、確率分布を使用して出力単語をランダムに選択します。たとえば、図では、バナナという単語の確率スコアは 0.02 です。ランダム サンプリングを使用すると、これは単語が選択される確率が 2% に相当します。このサンプリング手法を使用すると、単語の繰り返しの可能性が減ります。
ここに画像の説明を挿入

ただし、設定によっては、過度にクリエイティブな出力が生成され、その結果、主題から外れた言葉や単に意味をなさない言葉が生成される可能性があります。実装によっては、明示的に貪欲を無効にし、ランダム サンプリングを有効にする必要がある場合があることに注意してください。たとえば、ラボで使用する Hugging Face Transformers の実装では、do sample を true に設定する必要があります。ランダムなサンプリングを制限し、適切な出力が得られる可能性を高めるために、上位 k および上位 p のサンプリング手法を検討してみましょう。
ここに画像の説明を挿入

ある程度の変動を許容しながらオプションを制限するには、上位 k の値を指定します。これにより、最も高い確率を持つ k 個のトークンからのみ選択するようにモデルに指示されます。この例では、k が 3 に設定されているため、これら 3 つのオプションのみから選択するようにモデルを制限します。次に、モデルは確率重み付けを使用してこれらのオプションを選択します。この場合、次の単語としてドーナツが選択されます。このアプローチにより、モデルにある程度のランダム性を持たせると同時に、非常にありそうもない完了単語の選択を防ぐことができます。
ここに画像の説明を挿入

これにより、テキスト生成が合理的で意味のあるものになる可能性が高くなります。あるいは、上位 p 設定を使用して、ランダム サンプリングを制限し、結合確率が p を超えない予測のみをサンプリングすることもできます。たとえば、p を 0.3 に設定した場合、確率は 0.2 と 0.1 であり、合計すると 0.3 になるため、選択肢はケーキとドーナツになります。次に、モデルはランダムな確率の重み付け方法を使用してこれらのトークンから選択します。
ここに画像の説明を挿入

top k ではランダムに選択されるトークンの数を指定し、top p ではモデルが選択する全体の確率を指定します。

温度と呼ばれるパラメーターを使用して、モデル出力のランダム性を制御することもできます。このパラメーターは、モデルが次のトークンについて計算する確率分布の形状に影響します。
ここに画像の説明を挿入

大まかに言うと、温度が高いほどランダム性が高くなり、温度が低いほどランダム性が低くなります。温度値は、モデルの最後のソフトマックス層に適用されるスケーリング係数であり、次のトークンの確率分布の形状に影響を与えます。トップ k およびトップ p パラメーターとは対照的に、温度を変更するとモデルの予測が実際に変わります。低い温度値、たとえば 1 未満を選択すると、ソフトマックス層から得られる確率分布はより強くピークに達し、確率はより少ない単語に集中します。これは、テーブルの隣の青いバーに確率の棒グラフが表示されているのがわかります。確率のほとんどはケーキという単語に集中しています。モデルはランダム サンプリングを使用してこの分布から選択し、生成されるテキストはランダム性が低く、モデルがトレーニング中に学習した最も可能性の高い単語のシーケンスに近くなります。逆に、温度を高い値、たとえば 1 より大きい値に設定すると、モデルは次のトークンのより広く平坦な確率分布を計算します。青いバーと比較して、確率がトークン全体に均等に分布していることに注意してください。
ここに画像の説明を挿入

これにより、モデルは低温設定と比較して、より高いランダム性と出力変動性を備えたテキストを生成できます。これは、より創造的な響きのテキストを生成するのに役立ちます。温度値を 1 に設定すると、softmax 関数はデフォルトの状態のままになり、変更されていない確率分布が使用されます。

たくさんのことをカバーしてきましたね。LLM が実行できるタスクの種類を調べ、これらの素晴らしいツールを駆動するモデル アーキテクチャである Transformers について学びました。また、ヒント エンジニアリングを使用したり、さまざまな推論構成パラメーターを試したりして、これらのモデルから最高のパフォーマンスを引き出す方法についても検討しました。

次のビデオでは、この基本的な知識に基づいて、Transformers を利用したアプリケーションを開発して起動するために必要な手順について考えていきます。

参考

https://www.coursera.org/learn/generative-ai-with-llms/lecture/18SPI/generative-configuration

おすすめ

転載: blog.csdn.net/zgpeace/article/details/132400629