コンテンツにスキップ

オンプレLLMでログ一次切り分け:Llama 3.3 70Bでやってみた(根拠引用を強制)

このページの狙い

LLMに「障害の原因を当てさせる」よりも、
(1) ログから根拠を抜き出す → (2) 可能性を整理 → (3) 次に打つコマンドを提案
までを“オンプレで”完結させる例です。


入力ログ(3行)

今回は、よくあるパターンの短いログ断片で試しました(抜粋)。

NVRM: Xid (PCI:0000:3b:00): 31, pid=1234, Ch 00000010, MMU Fault
CUDA error: out of memory
slurmstepd: error: Detected 1 oom_kill event(s) in step

AIの出力(実際のJSONから抜粋)

LLM(Llama 3.3 70B)に「JSONで返す」よう指示し、さらに根拠は入力ログからの引用のみに制約しました。
(出力の要点だけ読みやすく抜粋しています)

  • カテゴリ:GPU / Memory / Slurm
  • 重大度:High

根拠(ログからの引用)

L1: NVRM: Xid ... 31 ... MMU Fault
L2: CUDA error: out of memory
L3: slurmstepd: ... oom_kill event(s) ...

原因候補(確信度つき) - Insufficient GPU memory(confidence: 0.8) - Memory leak in the application(confidence: 0.1) - GPU driver issue(confidence: 0.1)

次にやること(コピペ可能なコマンド)
※安全性と再現性を重視して、環境依存・危険操作(サービス再起動等)は避けています。

nvidia-smi
nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv
nvidia-smi -q -d ECC,ERROR,POWER,TEMPERATURE
dmesg -T | tail -n 200
journalctl -k -b | tail -n 200
sacct -j <JOBID> --format=JobID,State,ExitCode,Elapsed,MaxRSS,AllocTRES%60
scontrol show job <JOBID>
ps -p <PID> -o pid,etime,cmd --sort=pid

追加で欲しい情報(不足しているもの) - GPU model and driver version - System memory configuration - Application code and configuration - Slurm cluster configuration - Detailed system logs


なぜ信頼できる?(根拠引用を強制する工夫)

LLMは親切に補完してしまい、入力に無いログ行を混ぜることがあります。
そこで今回は、次の2つの工夫を入れて 「根拠はログ引用のみ」に寄せました。

  1. ログに行番号を付けて渡す(抜粋の追跡がしやすい)
  2. evidenceは入力ログからの完全一致引用のみにする(捏造を抑える)

「原因を断定するAI」ではなく、根拠を示して次の確認に進める一次切り分けとして現実的です。


PoC(オンプレ)相談

オンプレ環境(H100/H200 NVL等)で、ログを社外に出さずに

  • ログのマスク(ホスト名/IP/パス等)
  • 根拠引用を強制した構造化JSON
  • あなたのRunbook/FAQを参照して「次のコマンド」を提示(RAG)
  • 監査・保存ポリシーに合わせた設計

まで含めて短期PoCが可能です。

相談フォームへ