ケビンのサンプリング研究室(Sampling Laboratory)
前置き
モデルは「今まで見せた文章の質」を真似ます。誤字や重複、雑な書き方が残っていると、それを学習してさらに悪化しがちです。出力の誤りや繰り返しは放置せず、その都度修正・削除しましょう。きれいな文脈を食べさせるほど、出力も良くなります。
基本
Randomness = 1 は“素の分布”で、比較の基準です。ただし Randomness 単独は品質が出にくく、一般に Top-K < Top-P(Nucleus) の順に良い結果を出しやすいとされます。低品質トークンをうまく削るために、サンプラーでの調整が有効です。
サンプラーで失敗しやすいときは、多くの場合「高確率側を持ち上げすぎ」か「低確率側を削りきれない」のどちらかです。
サンプラーは スライダー設定 から開き、Change Samplers で並べ替えやオン/オフを行います。上から順に適用されるため、順番と値の両方が効きます。
ルール1: サンプラーを積みすぎない
TFS・Typical・Mirostat のような“複雑系”は、前段で分布が変形されると理論前提が崩れて挙動が読めなくなります。基本は 1 種類、多くても 2 種類まで。積み上げて微調整するより、正しい一手を見極める方がうまくいきます。
ルール2: 数学が腹落ちしないなら中庸を使う
詳細は slidersettings#sampling に要約がありますが、トレードオフの理解が浅いまま複雑な手法を使うと崩れやすいです。まずは観測(Token Probabilities)で Before/After の差を見て、直観と一致するかを確かめましょう。
目標(良いサンプラーの条件)
- 低品質の低確率トークンを削るが、削りすぎて単調化しない。
- 20%以上の高確率帯を不必要に平坦化しない(語彙の自然な選好を壊さない)。
- 似た Before は似た After になる。
- 入力分布が少し変わっても、出力分布は滑らかに変わる。
- トークンの順位関係をなるべく保つ(別効果のペナルティ類は除く)。
観察ポイント
Token Probabilities で Before/After を比較します(既定表示は 10 個、Debug で 30 個まで拡張可)。
- 上位(>25%): After は Before の比率を保つか、やや均される程度。
- 中位(5〜30%): After は Before 以上に。
- 低位: 一定のしきい値以下は 0 近くへ。
もし 0.5% 超の確率で“明らかにおかしいトークン”(文字化けや破綻)が見える場合、文脈が壊れているサインです。原因箇所を削って直しましょう。
個別アドバイス
以下は Unified の研究過程からの示唆で、Unified に多少有利です。
Unified
- Randomness はオフ(Linear と役割が被るため)。
- まず Linear を 0〜1 で決める(低いほど“攻め”、高いほど“安全”)。
- 目安:
Quad = 1/3 - Linear * 4 / 15、Conf = -Quad / 2。
式は raw = (logp) * (Linear + entropy * Conf) - (logp)^2 * Quad、After は softmax で正規化。Linear や Conf を負にする場合は Quad > 0 が必須です。しきい値を作りたいなら、Unified の後段に Top-P 高め(0.999) か Min-P 低め(0.0001) を置くのが手っ取り早いです。
Top-P(Nucleus)
古典的ながら堅実。0.95 前後から。低確率の切り捨てで一貫性を上げます。
Min-P
トップ確率に連動したしきい値で切ります。直感的で扱いやすく、まずは小さく(0.02 など)。
Top-K
最上位 K のみ。K=1 はデバッグ用途に便利(同じトークンを常に選ぶ)。
Typical
期待確率から外れた「高すぎ・低すぎ」を削るため、順位が入れ替わりやすい点に注意。多様性は上がるが品質が落ちやすい。
Tail-Free(TFS)
低確率側の曲率で尾部を判断しますが、低確率の微小変化に敏感で不安定になりがち。Top-P で代替できるケースが多いです。
Mirostat
目標パープレキシティ制御を狙う手法ですが、履歴の扱いや上位トークンの傾きに弱く、崩れやすいです。基本は非推奨。