# 一般設定

これらの設定は、言語モデルを使用してテキストを生成するときのサンプリング プロセスを制御します。これらの設定の意味は、サポートされているすべてのバックエンド間で普遍的です。

# コンテキスト設定

# 応答 (トークン)

API が応答を生成するために使用する最大トークン数。

  • 応答の長さが高いほど、応答の生成に長くかかります。
  • API によってサポートされている場合は、Streaming を有効にして、生成中のレスポンスを少しずつ表示できます。
  • Streaming がオフの場合、応答が完了したときに全体が一度に表示されます。

# コンテキスト (トークン)

SillyTavern が API にプロンプトとして送信する最大トークン数。応答の長さを引いた値。

  • コンテキストは、キャラクター情報、システム プロンプト、チャット履歴などで構成されます。
  • メッセージ間の点線は、チャットのコンテキスト範囲を示します。その線の上のメッセージは AI に送信されません。
  • メッセージを生成した後、コンテキストの構成を確認するには、Prompt Itemization メッセージ オプション(... メニューを展開し、線が引かれた四角いアイコンをクリック)をクリックします。

# サンプラーパラメータ

# 温度

Temperature はトークン選択のランダム性を制御します:

  • 低い温度(<1.0)はより予測可能なテキストをもたらし、より高い確率のトークンを優先
  • 高い温度(>1.0)は、より低い確率のトークンにより良い機会を与えることで、出力の創意性と多様性を増加させます。

1 に設定して元の確率を使用します。

# 繰り返しペナルティ

コンテキストで出現頻度に基づいてトークンにペナルティを科すことで、反復を抑制しようとします。

値を 1 に設定してその効果を無効にします。

# 繰り返しペナルティ Range

繰り返しペナルティに関して考慮される、最後に生成されたトークンからのトークン数。これは、「the、a、and」などの一般的な単語が最もペナルティされるため、レスポンスが高く設定されている場合は破損する可能性があります。

値を 0 に設定してその効果を無効にします。

# 繰り返しペナルティ Slope

これと Repetition Penalty Range の両方が 0 より大きい場合、繰り返しペナルティはプロンプトの終わりに向かってより強い効果を持ちます。値が高いほど、効果が強くなります。

値を 0 に設定してその効果を無効にします。

# Top K

Top K は、選択できるトップ トークンの最大数を設定します。たとえば、Top K が 20 の場合、最上位の 20 トークンのみが保持されます(確率が多様であるか制限されているかに関係なく)。

0(または -1、バックエンドによって異なる)に設定して無効にします。

# Top P

Top P(別称:nucleus sampling)は、目標パーセンテージに加算されるすべてのトップ トークンを追加します。上位 2 つのトークンが両方とも 25% で、Top P が 0.50 の場合、上位 2 つのトークンのみが考慮されます。

値を 1 に設定してその効果を無効にします。

# Typical P

Typical P Sampling は、平均的な entropy からの偏差に基づいてトークンを優先します。累積確率が事前に定義された閾値(例:0.5)に近いトークンを保持し、平均的な情報コンテンツを持つトークンを強調します。

値を 1 に設定してその効果を無効にします。

# Min P

最上位トークンを基準に低確率トークンをカットオフすることにより、トークン プールを制限します。より一貫性のある応答が生成されますが、高く設定されている場合は反復が悪化する可能性があります。

  • 0.1-0.01 などの低い値で最適に機能しますが、高い Temperature でより高く設定できます。例:Temperature: 5, Min P: 0.5

値を 0 に設定してその効果を無効にします。

# Top A

Top A は、最上位トークン確率の二乗に基づいてトークン選択の閾値を設定します。たとえば、Top-A 値が 0.2 で、トップ トークンの確率が 50% の場合、確率が 5% 未満(0.2 * 0.5^2)のトークンは除外されます。

値を 0 に設定してその効果を無効にします。

# Tail Freeサンプリング

Tail-Free Sampling (TFS) は、導関数を使用してトークン確率の変化率を分析することで、分布内のトークンの低確率の末尾を検索します。事前定義された閾値(例:0.3)に基づいて正規化された 2 次導関数までのトークンを保持します。0 に近いほど、破棄されるトークンが多くなります。

値を 1 に設定してその効果を無効にします。

# スムージング係数

二次変換を使用して、高確率トークンの可能性を高めながら、低確率トークンの可能性を低下させます。Temperature に関係なく、より創意的な応答を生成することを目指しています。

  • Top KTop PMin P などの切り捨てサンプラーなしで最適に機能します。

値を 0 に設定してその効果を無効にします。

# 動的温度

最上位トークンの確率に基づいて温度を動的にスケーリングします。一貫性を犠牲にすることなく、より創意的な出力を生成することを目指しています。

  • 最小から最大までの温度範囲を受け入れます。例:Minimum Temp: 0.75 および Minimum Temp: 1.25
  • Exponent は最上位トークンに基づいて指数曲線を適用します。

無効にするにはチェックを外します。

# Epsilonカットオフ

Epsilon cutoff は、サンプリングから除外されるトークンの確率フロアを設定します。1e-4 単位の場合は 3 が合理的な値です。

無効にするには 0 に設定します。

# Etaカットオフ

Eta cutoff は特別な Eta Sampling 技術のメイン パラメーターです。1e-4 単位の場合は 3 が合理的な値です。詳細については、Truncation Sampling as Language Model Desmoothing by Hewitt et al. (2022) を参照してください。

無効にするには 0 に設定します。

# DRY繰り返しペナルティ

DRY は、入力の末尾を入力内で以前に発生したシーケンスに拡張するトークンにペナルティを科します。特定のシーケンスを逐語的に繰り返すことを許可したい場合(例:名前)は、シーケンス ブレーカー リストに追加できます。こちらのPull Request を参照してください。

無効にするには乗数を 0 に設定します。

# 上位選択肢の除外 (XTC)

XTC サンプリング アルゴリズムは、最も可能性が高いトークンを選択肢から削除する代わりに、最も可能性が低いトークンを除去します。指定された閾値を満たす、最も可能性が低いトークンを除くすべてを削除し、指定された確率で実行します。これにより、少なくとも 1 つの「実行可能な」選択肢が残り、一貫性が保持されます。こちらのPull Request を参照してください。

無効にするには確率を 0 に設定します。

# Mirostat

Mirostat は、出力の困惑を入力のそれと一致させ、反復トラップ(自動回帰推論がテキストを生成するにつれて、出力の困惑がゼロに向かう傾向)と混乱トラップ(困惑が発散する)を回避します。詳細については、Mirostat: A Neural Text Decoding Algorithm that Directly Controls Perplexity by Basu et al. (2020) を参照してください。

Mode は Mirostat バージョンを選択します。

  • 0 = 無効、
  • 1 = Mirostat 1.0 (llama.cpp のみ)、
  • 2 = Mirostat 2.0。

# ビームサーチ

LLM サンプリングで単語またはトークンの最も可能性の高いシーケンスを見つけるために使用される、貪欲で力ずくのアルゴリズム。複数の候補シーケンスを同時に展開し、各ステップで固定数(ビーム幅)の上位シーケンスを保持します。

# Top nsigma

トークンの統計プロパティに基づいて logits をフィルタリングするサンプリング方法。最大 logit 値の n 標準偏差以内のトークンを保持し、top-p/top-k サンプリングに対するより単純な代替案を提供しながら、異なる温度全体でサンプリングの安定性を維持します。