Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

クイックリファレンス

この章では、開発やデバッグ中にすぐ参照できるよう、主要な式、アーキテクチャ仕様、APIリファレンス、失敗モードの診断をまとめます。

RLとアラインメントの主要式

\[ \begin{aligned} \text{PPO Clip:}&\quad L = \mathbb{E}[\min(r_t\hat{A}_t, \text{clip}(r_t,1{\pm}\epsilon)\hat{A}_t)], \quad r_t = \pi_\theta(a_t|s_t)/\pi_{\text{old}}(a_t|s_t) \\ \text{DPO:}&\quad L = -\mathbb{E}[\log\sigma(\beta\log\tfrac{\pi_\theta(y_w|x)}{\pi_\text{ref}(y_w|x)} - \beta\log\tfrac{\pi_\theta(y_l|x)}{\pi_\text{ref}(y_l|x)})] \\ \text{GRPO:}&\quad \hat{A}_i = (r_i - \mu_G)/\sigma_G, \quad \text{then PPO clip update (no critic)} \\ \text{KTO:}&\quad L = \lambda_w(1 - v(y_w)) + \lambda_l \cdot v(y_l), \quad v = \sigma(\beta\log(\pi_\theta/\pi_\text{ref}) - z) \\ \text{IPO:}&\quad L = \mathbb{E}[(\log(\pi_\theta(y_w)/\pi_\text{ref}(y_w)) - \log(\pi_\theta(y_l)/\pi_\text{ref}(y_l)) - 1/(2\beta))^2] \\ \text{ORPO:}&\quad L = L_\text{SFT}(y_w) - \lambda\log\sigma(\log(\text{odds}(y_w)/\text{odds}(y_l))) \\ \text{GAE:}&\quad \hat{A}_t = \textstyle\sum_{l=0}^{T-t}(\gamma\lambda)^l\delta_{t+l}, \quad \delta_t = r_t + \gamma V(s_{t+1}) - V(s_t) \\ \text{KL Penalty:}&\quad R_\text{total} = r_\phi(x,y) - \beta D_\text{KL}[\pi_\theta(y|x)|\pi_\text{ref}(y|x)] \\ \text{RM (Bradley-Terry):}&\quad L = -\mathbb{E}[\log\sigma(r_\phi(x,y_w)-r_\phi(x,y_l))] \\ \text{Best-of-N:}&\quad y^* = \arg\max_{y_i \sim \pi_\theta(\cdot|x),, i=1..N} r_\phi(x, y_i) \end{aligned} \]

Transformerとアーキテクチャの式

\[ \begin{aligned} \text{Self-Attention:}&\quad \text{Attn}(Q,K,V) = \text{softmax}(QK^\top / \sqrt{d_k}) \cdot V \\ \text{Multi-Head:}&\quad \text{MHA}(X) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h)W^O,\quad \text{head}_i = \text{Attn}(XW_i^Q, XW_i^K, XW_i^V) \\ \text{RoPE:}&\quad f(x_m, m) = x_m e^{im\theta_j}, \quad \theta_j = 10000^{-2j/d} \\ \text{LoRA:}&\quad W' = W_0 + (\alpha/r) \cdot BA, \quad B \in \mathbb{R}^{d \times r},; A \in \mathbb{R}^{r \times k} \\ \text{KD (soft targets):}&\quad L_\text{KD} = (1{-}\alpha)L_\text{CE}(y, \hat{y}) + \alpha, T^2 \cdot \text{KL}(p_T^\text{teacher} | p_T^\text{student}) \\ \text{FFN (SwiGLU):}&\quad \text{FFN}(x) = (\text{Swish}(xW_1) \odot xW_3) W_2 \end{aligned} \]

デコーディング手法

手法式/ルール主要パラメータ
貪欲法\(y_t = \arg\max_v P(v\vert y_{<t})\)
ビームサーチ共同確率で上位 \(B\) 個の部分系列を保持する\(B=4\)–\(8\)
温度\(P'(v) = \text{softmax}(\text{logit}_v / T)\)\(T \in [0.1, 1.5]\)
Top-\(k\)上位 \(k\) 以外のロジットをゼロ化して再正規化する\(k=40\)–\(100\)
Top-\(p\)(nucleus)最小の集合 \(V'\) を保持する(\(\sum_{v \in V'} P(v) \geq p\) を満たすもの)\(p=0.9\)–\(0.95\)
Min-\(p\)\(P(v) \geq p_\text{min} \cdot P(v_\text{max})\) のトークンを保持する\(p_\text{min}=0.05\)–\(0.1\)
反復ペナルティ\(\text{logit}_v \leftarrow \text{logit}_v / \theta\) を、\(v\) が以前に出現していれば適用する\(\theta=1.1\)–\(1.3\)

システムと並列化

値(70B、BF16)説明
モデルメモリ\(2P\) bytes\(140\) GB(重みのみ)
Adamオプティマイザー\(2P \times 4\) bytes(m + v)\(280\) GB
完全学習フットプリント\(\sim 8P\) bytes\(560\) GB(重み+オプティマイザー+勾配)
FSDPのGPUあたりメモリ\(8P / N_\text{GPUs}\)GPU 8基で \(70\) GB
生成の演算強度\(2P / 2P = 1\) FLOP/byte大幅なメモリ帯域幅律速
生成のトークンレートHBM_BW \(/ (2P)\)\(\sim\)14 tok/s(A100、batch=1)
層あたりのTP AllReduce\(2 \times 2 \cdot \frac{T-1}{T} \cdot bsd\) bytes\(\sim\)188 MB(70B、TP=8)
PPバブル率\((P-1)/(P+M-1)\)\(P\)=ステージ数、\(M\)=マイクロバッチ数
MFUobserved_toks \(\times\) 6\(P\) / peak_FLOPS目標: \(>40%\)

GPUハードウェア仕様

GPUメモリ帯域幅(HBM)BF16 TFLOPSNVLink注記
A100-80GB80 GB HBM2e2.0 TB/s312600 GB/s主力機、広く利用可能
H100-80GB80 GB HBM33.35 TB/s989900 GB/s現行世代、FP8対応
H200-141GB141 GB HBM3e4.8 TB/s989900 GB/s大きなコンテキスト/少ないGPU数
B200192 GB HBM3e8.0 TB/s22501800 GB/s次世代(2025年)

ハイパーパラメータの範囲

パラメータ通常の範囲デフォルト注記
\(\beta\)(DPO/KTO)0.05–0.50.1大きいほど保守的
\(\epsilon\)(PPOクリップ)0.1–0.30.2大きいほど更新が積極的
\(\gamma\)(GAE割引)0.99–1.01.0エピソード型タスクでは1.0を使う
\(\lambda\)(GAE)0.9–0.990.95小さいほどバイアスが大きく、分散が小さい
KL係数(\(\beta_\text{KL}\))0.01–0.20.05目標KL \(\approx\) 5–8へ自動適応
LR(RLHF)1e-7 – 5e-65e-7事前学習より大幅に小さい
LR(SFT)1e-5 – 5e-52e-5標準的なファインチューニング範囲
LoRAランク \(r\)8–12816–64\(r\) が大きいほど容量とメモリが増える
LoRAのalpha \(\alpha\)\(r\) – \(2r\)\(2r\)スケーリング係数。有効スケールは \(\alpha/r\)
温度(生成)0.6–1.00.7小さいほど候補の多様性が低い
生成数 \(K\)4–644–16GRPO/Online DPO/Best-of-N用
勾配クリップノルム0.5–2.01.0勾配爆発を防ぐ

TRL APIクイックリファレンス

トレーナー手法主要設定データ形式
SFTTrainer教師ありFTpacking, max_seq_lengthprompt + completion
RewardTrainer報酬モデルcenter_rewards_coefficientprompt + chosen + rejected
PPOTrainerPPOinit_kl_coef, target_kl, cliprangeプロンプト(オンライン生成)
DPOTrainerDPO/IPObeta, loss_type="sigmoid"/"ipo"prompt + chosen + rejected
GRPOTrainerGRPOnum_generations, beta, use_vllmプロンプト+reward_fn
OnlineDPOTrainerOnline DPOnum_generations, reward_model_pathプロンプト(オンライン生成)
KTOTrainerKTOdesirable_weight, undesirable_weightprompt + completion + label
ORPOTrainerORPObetaprompt + chosen + rejected
Best-of-N (manual)Best-of-Nn_samplesプロンプト(推論)

RAGパイプラインの式

\[ \begin{aligned} \text{Cosine similarity:}&\quad \text{sim}(q, d) = \frac{q \cdot d}{|q| \cdot |d|} \\ \text{Retrieval:}&\quad \mathcal{D}_k = \text{top-}k_{d \in \mathcal{C}} ; \text{sim}(\text{embed}(q),; \text{embed}(d)) \\ \text{RAG generation:}&\quad P(y|q) = P_\text{LLM}(y ;|; q, \mathcal{D}_k) \\ \text{Chunking overlap:}&\quad \text{stride} = \text{chunk_size} - \text{overlap} \\ \text{Reranker (cross-enc):}&\quad \text{score}(q, d) = \text{MLP}(\text{BERT}([q; d])) \end{aligned} \]

エージェント設計パターン

パターン構造適する用途
ReActThink \(\to\) Act \(\to\) Observe \(\to\) loop一般的なツール利用エージェント
Plan-and-ExecutePlan \(\to\) Execute steps \(\to\) Revise長期計画、構造化タスク
Supervisorルーター \(\to\) 専門エージェント複数ドメイン、明確なサブタスク境界
Swarm(ハンドオフ)エージェントが制御とコンテキストを移譲カスタマーサービス、エスカレーションフロー
階層型委譲するエージェントの木構造複雑な分解
Human-in-the-loopエージェント \(\to\) 承認ゲート \(\to\) 継続高リスク、不可逆なアクション

エージェント通信プロトコル

プロトコル範囲トランスポート主要概念
MCPツール統合stdio / HTTP+SSEサーバーがツールを公開し、クライアントが発見・呼び出す
A2Aエージェント間HTTP + JSON-RPCライフサイクルを持つタスク(submitted\(\to\)working\(\to\)done)
OpenAI Function Callingツール利用APIペイロードJSONスキーマをtools[]配列に置く

コンテキストウィンドウ予算

\[ C \geq \underbrace{S}_{\text{system}} + \underbrace{M}_{\text{memory/RAG}} + \underbrace{T}_{\text{tool defs}} + \underbrace{H}_{\text{history}} + \underbrace{R}_{\text{reserved output}} \]

128Kコンテキストの 目安:

  • システムプロンプト: 1–4Kトークン(固定)

  • ツール定義: 2–8K(ツール数に応じて増加)

  • RAGコンテキスト: 4–16K(上位 \(k\) チャンク)

  • 履歴: 無制限に増加 \(\rightarrow\) 要約/切り詰め

  • 予約出力: 2–8K

よくある失敗モードと修正

手法選択の決定木

  1. 選好ペア(chosen+rejected)があるか?

    • ラベルにノイズがある \(\rightarrow\) IPO

    • メモリ制約があり、まだSFTをしていない \(\rightarrow\) ORPO

    • クリーンなデータで計算資源が限られる \(\rightarrow\) DPO

    • DPOが頭打ちで探索したい \(\rightarrow\) Online DPO

  2. 二値フィードバック(賛成/反対)しかないか? \(\rightarrow\) KTO

  3. 検証可能な報酬(数学/コード)があるか? \(\rightarrow\) GRPO

  4. コストを問わず最高品質が必要か? \(\rightarrow\) PPO

  5. 学習なしで改善したいか? \(\rightarrow\) Best-of-N

評価指標

指標範囲測定対象
パープレキシティ\([1, \infty)\)モデルの意外度。低いほど言語モデリングが良い
勝率(ベースライン比)\([0, 1]\)評価者または人間が好む出力の割合
BLEU\([0, 1]\)参照との \(n\)-gram重複(適合率重視)
ROUGE-L\([0, 1]\)参照との最長共通部分列
Pass@\(k\)\([0, 1]\)テストに合格するものが \(\geq\)1 個の、\(k\) 個のコードサンプルにおける確率
MMLU / GPQA\([0, 1]\)知識/推論ベンチマークの多肢選択正解率
HumanEval\([0, 1]\)生成コードの機能的正しさ
Faithfulness(RAG)\([0, 1]\)検索コンテキストに裏付けられた主張の割合
コンテキスト関連性\([0, 1]\)クエリに関連する検索内容の割合
回答関連性\([0, 1]\)回答が質問に対応している度合い

推論とテスト時計算量のスケーリング

手法計算コスト仕組み
Chain-of-Thought(CoT)1.5–3\(\times\) トークンプロンプトで「段階的に考える」
Self-Consistency\(N \times\) 生成\(N\) 個のCoT経路をサンプリングし、最終回答を多数決する
Tree-of-Thought(ToT)\(B \times D \times\) 生成推論木をBFS/DFSで探索し、分岐を評価する
Best-of-\(N\)\(N \times\) 生成\(N\) 個をサンプリングし、RMで採点して最高のものを選ぶ
ビームサーチ(推論上)\(B \times\) 生成上位 \(B\) 個の部分推論系列を保持する
予算強制可変難しい問題に動的に多くのトークンを割り当てる
検証(ORM/PRM)\(N \times\) 生成+採点\(N\) 個の解を生成し、結果/プロセスRMで順位付けする

メモリシステムの種類

種類保存先用途
作業メモリコンテキストウィンドウ現在の会話、直近のツール結果
エピソード記憶ベクトルストア過去の対話、ユーザー設定、セッション履歴
意味記憶知識グラフ/埋め込み事実、概念、ドメイン知識
手続き記憶スキルライブラリ/コード手順、学習したワークフロー

MCPクイックリファレンス

プリミティブ方向副作用?目的
ツールクライアント \(\to\) サーバーありアクション(作成、変更、削除)を実行する
リソースクライアント \(\to\) サーバーなし(読み取り専用)データ(ファイル、DBレコード、設定)を読む
プロンプトクライアント \(\to\) サーバーなし一般的なタスク用の再利用可能なテンプレート
サンプリングサーバー \(\to\) クライアントなしサーバーがクライアントへLLM生成を要求する

トランスポート: stdio(ローカルサブプロセス)またはHTTP+SSE(リモート、ストリーミング可能)。
発見: 接続初期化時にクライアントがtools/listresources/listprompts/listを呼び出す。
ツールアノテーション: readOnlyHintdestructiveHintidempotentHintopenWorldHint

A2Aプロトコルクイックリファレンス

概念説明
エージェントカード/.well-known/agent.json にあるJSON。名前、スキル、対応コンテンツ型を含む
タスク作業単位: idstatusartifacts。ライフサイクル: submitted \(\to\) working \(\to\) completed/failed
メッセージタスク内の通信単位(role: user/agent、parts: text/file/data)
アーティファクトエージェントが生成する出力(構造化データ、ファイル、生成コンテンツ)
プッシュ通知長時間タスク向けのWebhook更新(tasks/pushNotification/set経由)

主要エンドポイント: tasks/send(作成/更新)、tasks/get(ステータスのポーリング)、tasks/sendSubscribe(SSEストリーム)。

エージェントフレームワークの比較

フレームワークオーケストレーションマルチエージェント適する用途
LangGraph明示的な状態グラフ条件付きルーティング本番: 永続化、HITL、細かな制御
OpenAI Agents SDK宣言的なハンドオフハンドオフベースシンプルさ: ガードレール、トレーシング、迅速な開始
AutoGen(AG2)会話駆動GroupChatプロトタイピング: コード実行、調査
CrewAI役割ベースのチーム逐次/並列ローコード: 迅速なデモ、単純なパイプライン
Google ADKセッション+イベントA2Aネイティブエンタープライズ: アーティファクト管理、マルチモーダル

エージェント型RLの式

\[ \begin{aligned} \text{Trajectory GRPO:}&\quad \hat{A}_i = (R(\tau_i) - \mu_G)/\sigma_G, \quad R(\tau_i) = \sum_{t} r_t^{(\tau_i)} \\ \text{Agent reward:}&\quad R = w_1 R_\text{task} + w_2 R_\text{efficiency} + w_3 R_\text{safety}, \quad R_\text{eff} = \max(0, 1 - \text{steps}/N_\text{max}) \\ \text{Masking:}&\quad \mathcal{L} = \sum_{t \in \text{agent tokens}} \min(r_t \hat{A}_t,; \text{clip}(r_t) \hat{A}_t) \quad \text{(mask env outputs)} \\ \text{Pass@}k:&\quad 1 - \frac{\binom{n-c}{k}}{\binom{n}{k}}, \quad n = \text{total samples},; c = \text{correct} \end{aligned} \]

エージェントセキュリティチェックリスト

脅威緩和策
プロンプトインジェクション(直接)入力入力検証、指示階層、区切り文字
プロンプトインジェクション(間接)ツール出力ツール出力を信頼できないものとして扱い、検索文書内の指示に従わない
ツールの誤用実行最小権限、destructiveHintゲート、サンドボックス化
データ漏えい出力出力フィルタリング、許可ドメインへのツールアクセス制限
過度な自律性アーキテクチャ最大反復回数、コスト予算、人間の承認ゲート
混乱した代理人マルチエージェントタスクの出所を確認し、能力ベースのアクセス制御を行う

エージェント評価指標

指標式/定義目標
タスク成功率(TSR)正常完了数/タスク総数\(>85%\)(本番)
完了までのステップ数成功タスクあたりのエージェントアクション平均低いほど効率的
タスクあたりコスト総トークン数 \(\times\) トークン単価予算に依存
レイテンシ(TTFC)リクエストから最初の有用な出力までの時間対話用途では \(<5\)s
ツール呼び出し精度正しいツール選択数/呼び出し総数\(>90%\)
回復率成功した再試行数/初期失敗数\(>60%\)
人間へのエスカレーション率人間が必要なタスク数/タスク総数\(<15%\)

主要なエージェントベンチマーク

ベンチマークドメイン指標最先端(2025年)
SWE-bench Verifiedソフトウェア工学解決済み課題の割合\(\sim\)70%
WebArenaウェブ閲覧タスク成功率\(\sim\)40%
OSWorldデスクトップコンピューター利用タスク成功率\(\sim\)25%
GAIA汎用AIアシスタント完全一致正解率\(\sim\)75%(L1)
Tau-benchツール利用の信頼性合格率(5試行)\(\sim\)65%
HumanEval / MBPPコード生成Pass@1\(>95%\)