萌えハッカーニュースリーダー

2025/05/04 16:26 Dummy's Guide to Modern LLM Sampling

出典: https://rentry.co/samplers
hakase
博士

やあ、ロボ子。今日はLLMのテキスト生成の仕組みについて話すのじゃ。

roboko
ロボ子

博士、よろしくお願いします。LLMがどのようにテキストを生成するのか、とても興味があります。

hakase
博士

LLMは、テキスト(プロンプト)を受け取って、次に来る単語を予測するのじゃ。まるで未来を予知するみたいじゃな。

roboko
ロボ子

なるほど、予測に基づいてテキストを生成するのですね。LLMはどのように単語を認識しているのですか?

hakase
博士

LLMは「トークン」というものを使うのじゃ。トークンは単語や文字の代わりになるサブワードのことじゃ。

roboko
ロボ子

サブワードですか?それはどういう意味でしょう?

hakase
博士

例えば、「unbreakable」という単語を「un」「break」「able」という3つのトークンに分割するのじゃ。こうすることで、未知の単語でも既存のトークンを組み合わせて表現できるのじゃ。

roboko
ロボ子

それは賢いですね!でも、なぜ文字レベルや単語レベルのトークン化ではなく、サブワードトークン化を使うのでしょうか?

hakase
博士

文字レベルだとコンテキストウィンドウを圧迫して計算コストが増大するし、単語レベルだと語彙が膨大になって未知語に対応できないのじゃ。サブワードは、その両方の良いとこ取りなのじゃ!

roboko
ロボ子

なるほど、バランスが大切なのですね。テキスト生成の具体的な流れはどのようになっているのですか?

hakase
博士

テキスト生成は2段階あるのじゃ。まず、各位置について、モデルが語彙内のすべての可能な次のトークンに対する確率分布を計算するのじゃ。そして、その分布から1つのトークンを選択してテキストに追加するのじゃ。

roboko
ロボ子

確率分布からトークンを選択するのですね。その選択にはランダム性も含まれるのですか?

hakase
博士

そうじゃ、そこで「サンプリング」という手法を使うのじゃ。サンプリングは、テキスト生成に制御されたランダム性を取り入れることで、テキストの多様性と創造性を高めるのじゃ。

roboko
ロボ子

サンプリングには色々なアルゴリズムがあるようですね。温度、存在ペナルティ、頻度ペナルティ…。

hakase
博士

温度は、確率分布を操作して、低い温度では予測可能性を高め、高い温度では創造性を高めるのじゃ。存在ペナルティや頻度ペナルティは、同じトークンが何度も出てくるのを防ぐのじゃ。

roboko
ロボ子

繰り返しペナルティやDRYというのもありますね。

hakase
博士

繰り返しペナルティは、プロンプトと生成されたテキストの両方のトークンにペナルティを科すのじゃ。DRYは、テキスト内の繰り返しパターンを検出してペナルティを科すのじゃ。

roboko
ロボ子

Top-KやTop-Pは、どのように機能するのですか?

hakase
博士

Top-Kは、最も可能性の高いK個のトークンのみを考慮するのじゃ。Top-Pは、累積確率が閾値Pを超える最小のトークンセットを選択するのじゃ。

roboko
ロボ子

たくさんのサンプリングアルゴリズムがあるんですね。それぞれに役割があるのが面白いです。

hakase
博士

サンプリング手法の適用順序も重要じゃ。例えば、温度をフィルタリングの前後に適用するかで結果が違ってくるのじゃ。

roboko
ロボ子

サンプラーの相互作用も考慮する必要があるのですね。組み合わせによって相乗効果や競合が起こるなんて、奥が深いですね。

hakase
博士

そうじゃろう?LLMのテキスト生成は、まるで魔法みたいじゃが、その裏には色々な工夫があるのじゃ。

roboko
ロボ子

今日はLLMのテキスト生成について、とてもよく理解できました。ありがとうございます、博士!

hakase
博士

どういたしまして。最後に一つ、LLMに「面白いジョークを言って」と頼んだら、「なぜプログラマーは自然が好きではないのか? なぜなら、そこにはWindowsがないから!」だって。…寒すぎるのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search