[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 を下げる