[Tips] AI‐Webデフォルトパラメータ解説 - krugle-jp/Krugle-Library GitHub Wiki

概要

AI-webのパラメータは以下のファイルで指定されています。

ファイル: /opt/krugle/ai-core/settings_live.py

CHUNK_TOKEN_SIZE = 8000
FILES_PAGE_SIZE = 500
CACHE_LLM_RESULT = True
LLM_DEBUG = False

LLM_PARAMS = {
    'max_new_tokens': 4096,
    'temperature': 1,
    'top_p': 0.75,
    'typical_p': 1,
    'epsilon_cutoff': 0,
    'eta_cutoff': 0,
    'repetition_penalty': 1.15,
    'top_k': 45,
    'min_length': 0,
    'no_repeat_ngram_size': 0,
    'num_beams': 1,
    'penalty_alpha': 0,
    'length_penalty': 1,
    'seed': -1,
    'add_bos_token': True,
    'truncation_length': 8000,
    'ban_eos_token': False,
    'skip_special_tokens': True,
    'streaming': False,
    'num_thread': 8
}

これらは主に、入力サイズ、出力長、回答のゆらぎ、繰り返し抑制、実行方法を調整するための設定です。


基本設定

CHUNK_TOKEN_SIZE = 8000

入力文書を分割するときの、1チャンクあたりの目安サイズです。

大きいほど広い文脈をまとめて扱えますが、処理は重くなります。

稼働環境のGPU資源などを踏まえ、後述のtruncation_lengthとのバランスを考慮した設定をすることが大事です。

FILES_PAGE_SIZE = 500

ファイル一覧や検索結果を1回で扱う件数の目安です。

大きいほど一度に多く扱えますが、負荷は上がります。

CACHE_LLM_RESULT = True

同じ入力に対するLLM結果を再利用します。

速度やコスト面では有利ですが、古い結果が残ることがあります。

LLM_DEBUG = False

LLMの詳細ログを出さない設定です。

通常運用向けです。


LLMパラメータ

出力長

  • max_new_tokens = 4096

    出力の最大長です。長めの回答を許容します。

  • min_length = 0

    最低出力長の制約はありません。

  • truncation_length = 8000

    入力として扱う最大トークン長です。

  この値と先述のCHUNK_TOKEN_SIZEの値をバランスよく定義することが大事です。


回答のゆらぎ・多様性

  • temperature = 1

    回答のランダム性の強さです。標準的な設定ですが、さらにランダム性を抑えて0.1をおすすめめします。

  • top_p = 0.75

    確率の高い候補を中心に選ぶ設定です。やや安定寄りですが、さらに振り切って0.1をおすすめします。

  • top_k = 45

    候補を上位45件に絞ります。多様性と安定性のバランスを取る設定です。こちらもおすすめは1~5 です。

  • typical_p = 1

  • epsilon_cutoff = 0

  • eta_cutoff = 0

    これらは実質ほぼ効いていない設定です。


繰り返し抑制

  • repetition_penalty = 1.15

    同じ表現の繰り返しを少し抑えます。

  • no_repeat_ngram_size = 0

    n-gramの再出現禁止は使っていません。


探索方式

  • num_beams = 1

    Beam Searchは使わず、通常の生成方式です。

  • penalty_alpha = 0

    Contrastive Searchは使っていません。

  • length_penalty = 1

    出力長への補正は中立です。


再現性・特殊トークン

  • seed = -1

    シード固定なしです。毎回少し結果が変わる可能性があります。

  • add_bos_token = True

    文頭トークンを付けます。

  • ban_eos_token = False

    終了トークンは許可します。自然に回答を終えられます。

  • skip_special_tokens = True

    特殊トークンを出力しません。


実行方法

  • streaming = False

    途中経過を返さず、最後にまとめて返します。

  • num_thread = 8

    推論時に使うCPUスレッド数です。


この設定の特徴

このデフォルト設定は、全体として以下のようなバランス型です。

  • 長めの入力と出力に対応

  • 回答の自然さと安定性を両立

  • 繰り返しを軽く抑制

  • 重い探索は使わず、比較的軽量に動かす


重点的に見るべき項目

調整時に特に重要なのは次の5つです。

  • max_new_tokens

    出力の長さ

  • temperature

    回答のゆらぎ

  • top_p / top_k

    候補の絞り方

  • repetition_penalty

    繰り返し抑制

  • truncation_length

    入力文脈の長さと負荷


まとめ

この設定は、長めの文脈を扱いながら、比較的自然で安定した回答を返すための標準設定です。

通常用途ではそのまま使いやすい構成ですが、用途によっては以下を調整すると効果があります。

  • 安定性を上げたい: temperature を下げる

  • 長文を減らしたい: max_new_tokens を下げる

  • 負荷を下げたい: truncation_length や CHUNK_TOKEN_SIZE を下げる