HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

Sebastian Raschka氏、推論モデル構築のゼロからわかるビデオコースを開講

Sebastian Raschka's from-scratch video course on building reasoning models (magazine.sebastianraschka.com)

355 pointsby sgiannopoulos52 コメント

要約

Sebastian Raschka氏は、LLM(大規模言語モデル)の推論モデルをPyTorchでゼロから構築する8本のビデオコース(計11時間)を公開しました。このコースでは、評価、推論時のスケーリング、強化学習、蒸留といった手法に焦点を当て、既存の事前学習済みモデルを改善する方法を解説します。AIエージェントの「エンジン」となる推論モデルの理解を深めることを目的としています。

全文翻訳

推論モデルをゼロから構築する:完全ビデオコース

過去2年間、Ahead of AI では推論モデルについて多くの記事を書いてきました。最近では、現代のLLMにおける推論努力レベルを制御するメカニズムに関する記事も公開しました。推論モデルは依然としてこれまで以上に重要です。実際、今日のほぼすべての現世代LLMは推論モデルであるか、推論モードを提供しています。

推論モデルの仕組み、推論スケーリング、強化学習、蒸留に興味がある方のために、最近書いた「推論モデルを構築する(ゼロから)」があります。これはPyTorchでゼロから実装されており、私の経験では、物事が実際にどのように機能するかを理解し学ぶための最良の方法です。

さて、過去数ヶ月で、私は座って、皆さんと共有したい付随する講義も録画しました。したがって、以下には、8つの推論モデルのゼロからのコーディングビデオ(11時間のコンテンツ)があります。

事前学習済みのLLMから始め、PythonとPyTorchでそれを評価および改善する方法を実装します。昨年の私の「LLMをゼロからコーディングする」コースを楽しんだなら、これは実質的にその続編です(ただし、事前のコースを前提条件とせずに視聴することもできます)。

現在短い休憩を取っており、来月にはさらにエキサイティングなLLMリサーチのまとめをお届けします。それまでの間、コーディングを楽しんでいただければ幸いです!

LLM、推論モデル、エージェントの関係性と位置づけ

簡単な補足として、そしてしばしば尋ねられる推論モデルと今日のAIエージェントの関係性について、ビデオに入る前に短いセクションを設けます。

推論モデルは、本質的に従来のLLMのアップグレードであり、検証可能な報酬による強化学習(およびオプションで推論スケーリング技術)による追加のポストトレーニングにより、より困難な問題を解決する能力を高めます。古典的には、推論モデルは数学とコードのために開発されますが、その能力は他の問題領域にも一般化できます。

推論モデルは、エージェントハーネス内のエンジンとして機能します。エージェントハーネスは、LLM/推論モデルの周りのソフトウェアまたはツーリングフレームワークであり、さらに困難な問題(より大きなコーディングタスク、旅行予約、およびその他のあらゆる種類のパーソナルアシスタントタスク)に取り組むために使用されます。ハーネスのタスクは、洗練されたコンテキスト管理とLLMへのツールのアクセス提供です。

[

[画像]

](https://substackcdn.com/image/fetch/$s_!0A8p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0fa0f45-5efe-4937-a0e9-970b6f65ed8e_1868x986.png)

図1:従来のLLM、推論モデル、エージェントハーネスのエンジンアナロジー。私の「コーディングエージェントのコンポーネント」記事からの図。

上記の図に示されたアナロジーでは、モデルはエンジンであり、エージェントハーネスはそれをさまざまな用途に使用できるようにする機械(単純なチャットボットインターフェースからのアップグレードとして)を追加します。エージェントは従来のLLMまたは推論モデルを使用できますが、推論モデルの方がより有能であるため、より一般的な選択肢です。(前述のように、ほとんどの現世代LLMは、可変の推論努力設定を持つ推論モデルです。)

したがって、結論として、推論モデルは「エンジン」として、最新のLLMエージェントを理解する上で重要な部分であり続けます。

上記で示されたこれらのトピックに関連するリソースは次のとおりです。

以下のビデオは、そのようなシステムを駆動できる推論モデルの開発に焦点を当てています。

スコープと前提条件

ゼロからの推論ビデオは、小さな事前学習済みQwen3モデルに焦点を当てており、PythonとPyTorchで推論手法を独自に実装します。事前学習済みモデルから始めることで、興味深い部分、つまり評価、推論時のスケーリング、強化学習、蒸留に集中できます。

前提条件については、PythonとPyTorchに慣れていることをお勧めします。推論資料はスタンドアロンコンテンツとして設計されているため、以前の「大規模言語モデルをゼロから構築する」コンテンツは推奨されますが、必須ではありません。

コンピューティングリソースに関しては、CPUで初期のテキスト生成と評価の例をこなすことができます。後続の実験、特にトレーニングでは、GPUがあると作業がより実用的になります。最初のビデオではセットアップとその他の推奨事項について説明しています。リポジトリには、ハードウェアと環境の推奨事項も含まれています。

[

[画像: topics]

](https://substackcdn.com/image/fetch/$s_!xQp0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67d8d671-53cc-4111-a3df-80ed733af3b5_1868x622.png)

図2:カバーされているトピックの概要。

付随する書籍

これらのビデオは、私の書籍「推論モデルを構築する(ゼロから)」に付随しています。詳細な説明を自分のペースで読み進め、演習に取り組みたい場合は、この書籍を付随資料としてお勧めします。

最も深い学習体験を得るには、各章を読み、対応するビデオと並行してコードを試してから、演習に取り組むことをお勧めします。

この書籍は、Manning および Amazon で入手可能で、印刷版はカラーです!

[

[画像: color-book]

](https://substackcdn.com/image/fetch/$s_!GRkU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa32da890-2402-4704-a90b-b46b4f64b95c_1544x864.png)

図3:「推論モデルを構築する(ゼロから)」の印刷書籍からのランダムな抜粋。

この本を購入してくれたり、友人に勧めてくれたりしたすべての方々に感謝します。皆さんのサポートが、私がこれらの教材を作り続ける助けとなっています。

ビデオ

以下のメインビデオに進む前に、簡単な補足として:より短く、より概念的な概要については、私のLinkedIn LearningのAI推論モデルコースもお勧めします(リンク経由でアクセスした場合、24時間無料になるはずで、LinkedIn Premiumサブスクリプションは不要です)。

このコースは約90分で、推論モデルの仕組みを説明し、推論時のスケーリング、強化学習、蒸留の背後にある主要なアイデアをカバーしています。以下の完全な実装に取り組む前に、主要なアイデアを知りたい場合に役立つオプションのプレビューです。

この記事のメイン部分に進むために、ここに8つのメイン講義ビデオがあります。

1. モチベーションとコードセットアップ

最初のビデオでは、従来のLLM、推論モデル、エージェントの関係性の説明から始まります。次に、ビデオの主なトピックはコーディング環境のセットアップです。これには、PythonおよびPyTorchの依存関係(uvを使用)のインストールなどが含まれます。ハードウェアの選択や一般的なセットアップの問題についても説明します。

カバーされるトピック

  • 従来のLLM、推論モデル、エージェントハーネスの関係性

  • コード実装を通じた学習の利点

  • このビデオシリーズのスコープ

  • Python依存関係のインストール

  • ハードウェアの選択とCUDAまたはApple Siliconサポートの確認

  • VS Codeを使用したリモートGPUの使用と環境のトラブルシューティング

ビデオ1を視聴 · セットアップ手順

2. ベースモデルのロード、テキスト生成、KVキャッシュ

次のビデオで推論メソッドを追加する前に、動作するベースモデルが必要です。ゼロからトレーニングするのは別の書籍になるため(大規模言語モデルをゼロから構築するを参照)、事前学習済みモデルから始めます。

ここでは、Qwen3 0.6Bモデルの事前学習済み重みをロードします。次に、ストリーミングテキストジェネレーターを介したテキスト生成プロセスを実装し、KVキャッシュとモデルコンパイルを追加してテキスト生成をより効率的にします。

これらの実装は、次のビデオで評価および改善するベースラインと基本コンポーネントを提供します。

カバーされるトピック

  • テキストをトークンとしてエンコードし、テキストに戻してデコードする

  • Qwen3重みのダウンロードと選択したコンピューティングデバイスへのモデルのロード

  • テンソル形状、ロジット、次トークン予測の確認

  • グリーディデコーディングとストリーミングテキスト生成の実装

  • 終了トークンの処理と生成速度の測定

  • KVキャッシュを追加してアテンションキーと値を再利用する

  • KVキャッシュとtorch.compileの組み合わせとハードウェアパフォーマンスの比較

ビデオ2を視聴 · 第2章のコード

3. 評価と強化学習のための検証器の構築

この講義では、回答の抽出から正規化、数学的等価性のチェックまで、ステップバイステップで数学回答検証器を構築します。次に、それを使用してMATH-500でモデルを評価します。

この検証器を使用して、MATH-500評価データセットでのベースモデルのパフォーマンスを評価します。

しかし、検証器はシリーズの後半で2番目のジョブも持ちます。それは、検証可能な報酬による強化学習(RLVR)のための報酬信号を提供することです。

カバーされるトピック

  • 検証器の紹介とLLM評価方法への組み込み方(他の方法は書籍の付録でカバー)

  • RLVRの報酬信号としての回答検証の再利用(第6章で詳細)

  • 最終回答の抽出、回答の正規化、数学的等価性のチェックを含む検証器フロー

  • 回答グレーダーとMATH-500の評価ループの構築

  • MATH-500でのベースモデルと推論モデルの比較

ビデオ3を視聴 · 第3章のコード

4. 推論時のスケーリング:サンプリングと自己整合性

モデルの重みを固定したまま、回答を改善する方法を探ります。しかし、特定の推論スケーリング手法を実装する前に、まず同じプロンプトから多様な回答を生成する方法を実装します(これはChatGPTのようなプロプライエタリLLMチャットボットでは標準的なプラクティスです)。

具体的には、温度スケーリング、多項サンプリング、top-pフィルタリングを実装して多様な応答を生成します。次に、最終回答の多数決を使用して、複数の応答を自己整合性によって組み合わせます。

また、回答の精度と、より多くの候補を生成するために必要な追加計算とのトレードオフについても検討します。

カバーされるトピック

  • トレーニング中と推論中の追加計算がモデルパフォーマンスにどのように役立つかの比較

  • Chain-of-Thoughtプロンプトによる推論スケーリングへの穏やかな導入

  • 温度スケーリングと多項サンプリングを実装して多様な回答を生成する

  • 多様な回答の品質を制御するためのtop-pフィルタリングの追加

  • 最も一般的な推論スケーリング技術の1つである自己整合性による候補回答の組み合わせ

  • 追加推論計算コストに対するMATH-500の精度の評価

ビデオ4を視聴 · 第4章のコード

5. 推論時のスケーリング:スコアリングと自己改善

前のビデオに基づいて、同じプロンプトから生成された複数の回答を比較するためのスコアリング関数を実装します。これらのスコアリング方法を使用して、自己整合性(前の講義でカバー)でのタイブレークを解決することもできます。

ここでカバーされるスコアリング方法には、トークンおよびシーケンスの対数確率の計算が含まれます(これは、後続の強化学習の講義でも関連します)。次に、モデルが回答を批評し、改訂を試みる自己改善ループを実装します。

この評価により、これらの追加ステップがモデルにどれだけ役立つかを確認できます。

カバーされるトピック

  • 複数の回答の比較とタイブレークのためのスコアリング関数の使用

  • 単純なヒューリスティックスコアラーの実装

  • トークン確率とシーケンス尤度の計算(後続の講義にも関連)

  • 数値的安定性の向上のための対数確率の使用

  • 批評と改訂された回答の生成のための自己改善ループの構築

  • MATH-500での自己改善の評価

ビデオ5を視聴 · 第5章のコード

6. 強化学習:RLVRのためのGRPOの実装

この講義では、検証可能な報酬による強化学習(RLVR)と呼ばれるトレーニング手法の実装に進みます。まず、Group Relative Policy Optimization(GRPO)の簡略化されたバージョンを実装し、応答のグループを生成し、検証器でそれらをスコアリングし、トレーニング中のモデル重み更新のために相対報酬を使用します。

カバーされるトピック

  • 推論トレースの生成と、回答の長さと問題解決能力の関係性の理解

  • 2つの重要なLLMポストトレーニング手法の議論と比較:人間からのフィードバックによる強化学習(RLHF)と検証可能な報酬による強化学習(RLVR)

  • 検証器スコアを報酬と相対的な利点に変換する

  • シーケンス対数確率と簡略化されたGRPO損失の計算

  • ロギングとチェックポイント保存を含むトレーニングループのアセンブル

  • チェックポイントの評価とトレーニングの安定性およびメモリ要件の確認

ビデオ6を視聴 · 第6章のコード

7. 強化学習:トラッキング、クリップされたポリシー比率、KL項

前の講義でトレーニングループを実装したので、それを見直し、トレーニング実行をより詳細に分析できます。

具体的には、このビデオでは、エントロピーとアドバンテージ統計、クリップされたポリシー比率、KL損失項の値、フォーマットされた報酬など、検査と分析のための追加のトレーニングメトリックを追加します。

次に、トレーニングログと評価結果を確認して、これらの追加が何をするのか、そしてクリップされたポリシー比率やKL損失項のような追加が役立つかどうかを理解します。

カバーされるトピック

  • より長いトレーニング実験の実行とそのログの解釈

  • トレーニングの動作を理解するためのアドバンテージとエントロピーのトラッキング

  • ポリシー損失へのクリッピングの実装とその影響の分析

  • KL損失項の追加と報酬ハッキングの議論

  • 簡略化されたKL定式化の限界の理解

  • フォーマットされた報酬の実装と回答の正しさに基づいた条件付け

  • MATH-500でのチェックポイントの比較とさらなるGRPO研究の探求

ビデオ7を視聴 · 第7章のコード

8. 推論モデルの蒸留

最後に、より強力な(そしてより大きな)教師モデルによって生成された回答から学習するという、小さな推論モデルをトレーニングする別の方法を探ります。さまざまな形式の蒸留について議論し、推論データを準備し、教師ありトレーニングループを実装します。

この講義とコースを、強化学習による推論能力の開発に代わる方法として、MATH-500で蒸留されたモデルを評価し、結果を比較して締めくくります。

カバーされるトピック

  • ソフト蒸留とハード蒸留、オンポリシー蒸留とオフポリシー蒸留など、さまざまな組み合わせとアプローチの比較

  • MATHデータセット用の教師生成回答の作成と収集(DeepSeek R1を使用)

  • トークン化とトレーニング/検証/テスト分割を含む蒸留データセットの準備

  • 回答トークンの対数確率の計算とクロスエントロピー損失の理解

  • 教師ありトレーニングの実装とトレーニングおよび検証損失のトラッキング

  • MATH-500でのチェックポイントの評価と蒸留結果の比較

ビデオ8を視聴 · 第8章のコード

最後に

これらの講義を見ながら、興味深いアイデアが浮かんだら、時々一時停止して自分で小さな実験を試してみてください。

例えば、サンプリング設定を変更したり、失敗した回答をいくつか調べたり、演習の提案に似たさまざまなアイデアのバリエーションを試したりするのは自由です。

完全な書き起こし、図、演習をビデオと並行して見たい場合は、「推論モデルを構築する(ゼロから)」がManningとAmazonで入手できます。

読んでサポートしていただきありがとうございます。Ahead of AIをサポートしていただきありがとうございます。少し休憩してリフレッシュし、来月には次のLLMリサーチ記事をお届けできるのを楽しみにしています。

[

[画像]

](https://substackcdn.com/image/fetch/$s_!_ebf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9cbbdff-4cb9-47cd-9679-badef260e2f3_4284x3043.jpeg)

それまでの間、視聴と実験を楽しんでください!

投稿なし