# ローカルLLM評価手順（案）

## 記録から読み取れる傾向

まず、記録00000〜00160の構造上の特徴を整理します（**根拠**）。

- **入力長**：1,024トークンから概ね73トークンずつ増加し、約12,700トークンまで単調に伸びている。
- **同時利用数**：1〜4件が周期4で循環している。
- **開始待ち**：0〜80秒の範囲で周期が変動しており、システム負荷やキューイングの影響を疑わせる値となっている。
- **用途と確認項目**：4種類の用途（要約・コード説明・FAQ作成・議事録整理）に応じ、出力の正確性、応答時間変動、GPUメモリ余裕、ログ保存が確認項目として対応づいている。

なお、本記録は架空データのため、待ち時間と入力長の間に実在する因果関係は確認できません（**推測**：実際の運用では同時利用数の増加が開始待ちの増大につながる可能性が高い）。

## 評価手順

### 1. 評価環境の準備
(1) 評価対象のローカルLLMと推論フレームワーク（llama.cpp、vLLM等）を固定した上で、GPUドライバー、CUDA、ライブラリのバージョンを記録する。
(2) `nvidia-smi -l 1` または同様の監視ツールでGPU使用率とメモリ使用量を常時記録できるよう設定する。
(3) 全リクエストの開始時刻、終了時刻、入力トークン数、出力トークン数をログとして保存する（記録00003等の「ログの保存」確認項目に対応）。

### 2. 入力処理時間の測定
(1) 入力長を約1,000／4,000／8,000／12,000トークンの4水準に揃えたテストセットを用意する（記録の入力長分布を踏まえた設定）。
(2) 各水準について同一プロンプトを10回実行し、プロンプト処理に要した時間（time to first token）を計測する。
(3) 入力長と処理時間の関係が線形か、長文で劣化が生じるかをグラフ化して確認する。

### 3. 生成速度の測定
(1) 同じテストセットで生成トークン数÷経過時間によりトークン/秒を算出する。
(2) 用途別（要約・コード説明・FAQ・議事録整理）に出力長が異なるため、用途ごとに平均値とばらつき（標準偏差）を求める。
(3) 応答時間の変動を確認するため、同一条件での最大値・最小値・中央値を記録する（確認項目「応答時間の変動」に対応）。

### 4. 同時利用数による負荷試験
(1) 同時利用数を1件、2件、3件、4件の4水準に設定する（記録の同時利用パターンに対応）。
(2) 各水準で10分間の連続リクエストを実行し、開始待ち時間（キュー滞留時間）を測定する。
(3) 同時数を増やした際のスループット合計と1リクエストあたりの応答時間の劣化率を比較する。
(4) 開始待ちが著しく増大する閾値（例：平均待ちが30秒を超える水準）を「実用上限」として報告する。

### 5. GPUメモリの確認
(1) 各同時利用数・各入力長の組み合わせでピークメモリ使用量を記録する。
(2) モデルの重み分とKVキャッシュ分を区別して把握する（KVキャッシュは入力長と同時数に比例して増加するため）。
(3) メモリ使用率が搭載量の90%を超える条件を