システムエンジニア向けのハンズオン講座:Apple チップ上で MLX 配列を用い、行列積から始めて Qwen3 の推論を自前で実装し、その後 KV キャッシュ、量子化、連続バッチ処理、ページング KV を段階的に追加してミニ vLLM を構築し、最終的にはコーディングエージェントを組み立てる。
スター数 4851(+22 / 24時間)
理由
- 4週間のロードマップ:第 1 週は mlx.core のみを使用してアテンション、RoPE、GQA、RMSNorm、MLP、サンプリング、自己回帰ループを実装する。第 2 週では KV キャッシュ、4 ビット量子化行列ベクトル積、SIMD プリフィルを追加する。第 3 週では連続バッチ処理、チャンク単位のアドミッション、ページング KV を実装し、デコード時のアテンションと FlashAttention がページを直接読み取れるようにする
- 各演算子について、MLX の既存の最適化バージョンを呼び出さず、Python、C++、または Metal で自前で実装することが求められる。MLX は正しさの参照と性能ベースラインとしてのみ使用する
- 第 4 週のコーディングエージェントは毎日公開されており、現在第 9 日目まで公開されている。承認後のファイル編集、単一の検証コマンド、チェックポイントと復元、コンテキスト圧縮、決定論的な評価などを含む
使い方
- 教材は skyzh.github.io/tiny-llm にあり、まず環境設定の章を読むこと。環境の確認には pdm install -v、pdm run check-installation、pdm run test-refsol -- -- -k week_1 を実行する
- 練習問題は tiny_llm パッケージ内にあり、tiny_llm_ref はテスト用の参考解答である。書籍の目次順に従って進めること
リスク
- Apple チップ搭載の Mac が必要。作者は、第 4 週の第 3 日目からエージェントがファイル内容をモデルに送信し、ファイルの編集やコマンドの実行が可能になるため、秘密鍵のない使い捨てワークスペースを使用するよう注意を促している
- これは教育目的のプロジェクトであり、本番用の推論フレームワークではない。リポジトリは 2025 年前から存在し、ライセンスは Apache-2.0 である