llm-beginner: スクラッチ実装を通じてLLMとAIエージェントを習得するための段階的なハンズオン・カリキュラム
llm-beginner: スクラッチ実装を通じてLLMとAIエージェントを習得するための段階的なハンズオン・カリキュラム
何を解決するか
このプロジェクトは、初心者が大規模言語モデル(LLM)とAIエージェントを習得するための、構造化された実践的な学習パスを提供します。基本的なTransformerアーキテクチャから複雑な自律型コーディングエージェントまで、6つの段階的なタスクを通じてユーザーを導くことで、理論的知識と実践的な実装の間のギャップを埋めます。
仕組み
ユーザーは、それぞれ数週間かけて完了するように設計された6つの独立したタスクのカリキュラムに従います。学習手法は、根本的な原理を深く理解するために「まずスクラッチで書き、それからフレームワークと比較する」ことを重視しています。各タスクには、独自の依存関係、データダウンロード・スクリプト、および実装を検証するための自己チェック・スクリプトが含まれています。
- Transformer Basics: テキスト分類のためのself-attentionとTransformerブロックの実装。
- mini-GPT: BPE tokenization、RoPE、およびKV cacheを含む、デコーダーのみのモデルをスクラッチで構築。
- SFT & DPO: ベースモデルに対してLoRAを使用して、Supervised Fine-TuningおよびDirect Preference Optimizationを実行。
- RAG: 埋め込みモデル、ベクトルデータベース(FAISS)、およびrerankersを用いた検索拡張生成(RAG)パイプラインの構築。
- Tool Agents: LLMが外部ツール(計算機、サンドボックス、API)を使用できるようにするためのReActループの実装。
- 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
- undefinednndl/llm-beginner