llm-beginner: スクラッチ実装を通じてLLMとAIエージェントを習得するための段階的なハンズオン・カリキュラム

llm-beginner: スクラッチ実装を通じてLLMとAIエージェントを習得するための段階的なハンズオン・カリキュラム

何を解決するか

このプロジェクトは、初心者が大規模言語モデル(LLM)とAIエージェントを習得するための、構造化された実践的な学習パスを提供します。基本的なTransformerアーキテクチャから複雑な自律型コーディングエージェントまで、6つの段階的なタスクを通じてユーザーを導くことで、理論的知識と実践的な実装の間のギャップを埋めます。

仕組み

ユーザーは、それぞれ数週間かけて完了するように設計された6つの独立したタスクのカリキュラムに従います。学習手法は、根本的な原理を深く理解するために「まずスクラッチで書き、それからフレームワークと比較する」ことを重視しています。各タスクには、独自の依存関係、データダウンロード・スクリプト、および実装を検証するための自己チェック・スクリプトが含まれています。

  1. Transformer Basics: テキスト分類のためのself-attentionとTransformerブロックの実装。
  2. mini-GPT: BPE tokenization、RoPE、およびKV cacheを含む、デコーダーのみのモデルをスクラッチで構築。
  3. SFT & DPO: ベースモデルに対してLoRAを使用して、Supervised Fine-TuningおよびDirect Preference Optimizationを実行。
  4. RAG: 埋め込みモデル、ベクトルデータベース(FAISS)、およびrerankersを用いた検索拡張生成(RAG)パイプラインの構築。
  5. Tool Agents: LLMが外部ツール(計算機、サンドボックス、API)を使用できるようにするためのReActループの実装。
  6. Coding Agents: MCP (Model Context Protocol)、Skills、およびSubagentsを使用して、ローカルコードの修正とテストの実行が可能な高度なエージェントの作成。

対象者

Pythonとディープラーニングの基礎があり、実践的なコード中心の演習を通じてLLMとAIエージェントの分野へ移行したい学習者。

ハイライト

  • 段階的なカリキュラム: 基本的なアーキテクチャから高度なエージェント型ワークフローへと進みます。
  • ハンズオンによる検証: 各タスクにeval/run.pyスクリプトが含まれており、実装の正確性について即座にフィードバックを提供します。
  • ハードウェアへのアクセシビリティ: コンシューマーグレードのGPU(8GB-16GB VRAM)またはMac M-seriesチップで動作するように設計されています。
  • 包括的な技術スタック: RoPE、LoRA、DPO、RAG、ReAct、およびMCPのような現代的な手法を網羅しています。

Sources