rasbt/reasoning-from-scratch

Implement a reasoning LLM in PyTorch from scratch, step by step

このプロジェクトについて

rasbt/reasoning-from-scratch は、Sebastian Raschka著『Build a Reasoning Model (From Scratch)』(Manning、2025年、ISBN 9781633434677)の公式コードリポジトリです。この本に付属するすべてのコードが、章ごとに整理されて含まれています。

このプロジェクトが提供するもの

このプロジェクトでは、推論大規模言語モデル(LLM) がどのように機能するかを実践的に学べます。理論を読むだけではなく、事前学習済みのベースLLM(オープンソースのQwen3モデル)から始めて、自分でコードを書きながら推論機能を段階的に追加していきます。このアプローチは、DeepSeek R1やGPT-5 Thinkingなどの大規模推論モデルがどのように構築されるかを反映しています。

この本では、LLMの推論を向上させるための3つの主要なテクニックを扱っています。

  • 推論時スケーリング — モデルに応答前に「考える」ための時間と計算をより多く与えます(例:思考連鎖プロンプト、自己整合性、ベストオブNサンプリング、自己改善)。
  • 強化学習 — 報酬ベースの学習(具体的にはGRPOと呼ばれる手法)を通じて、モデルがより良く推論するようにトレーニングします。
  • 蒸留 — より大きく高性能な「教師」モデルから、より小さな「生徒」モデルがその推論を模倣するようにトレーニングし、効率化を図ります。

中身の紹介

  • 8章 + 7つの付録 のコード(主にJupyterノートブックの .ipynb ファイル)。各章のフォルダには、メインのコードと演習の解答が含まれています。
  • いくつかのフォルダにあるボーナス資料。以下を含みます:
    • MATH-500ベンチマークでの評価スクリプト
    • GRPOトレーニングスクリプト(基本版と応用版)
    • 蒸留用データ生成およびトレーニングスクリプト
    • ダウンロード可能なトレーニングチェックポイント
    • チャットインターフェース(付録G)
    • MMLU評価方法、LLMリーダーボード、LLM-as-a-judge(付録F)
  • 一般的な問題のためのトラブルシューティングガイド。

ハードウェア要件

メインの章のコードは、コンシューマーハードウェア(専用サーバーは不要)で妥当な時間内に実行できるように設計されています。第2〜4章はCPUとGPUで問題なく動作します。第5章と第6章では、本の結果を再現するにはGPUを推奨します。コードは、GPUが利用可能な場合は自動的にGPUを使用します。

対象読者

このプロジェクトは、推論LLMが実際にどのように機能するのかを理解したい人向けです。ブラックボックスとして使用するのではなく、自分で構築して学びます。教育的な目的であり、構築するモデルは小さいながらも機能します。基本的なLLMをゼロから構築する方法を最初に理解したい場合は、著者は以前の著書『Build a Large Language Model (From Scratch)』を参照することを勧めています。

重要な注意事項

  • このリポジトリは印刷された本に対応しているため、著者は本との整合性を保つためにメインの章のコードを変更するような貢献を受け付けることができません。フィードバックや質問は、ManningフォーラムまたはGitHub Discussionsで受け付けています。
  • READMEには、研究でこの本を引用するための引用形式(シカゴスタイルとBibTeX)が含まれています。

クイックスタート

リポジトリをZIPでダウンロードするか、クローンできます:

git clone --depth 1 https://github.com/rasbt/reasoning-from-scratch.git

本の第2章には、Pythonとコーディング環境のセットアップのヒントが記載されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト