Exorust/TorchLeet
LeetCode for PyTorch — 65 ML/AI interview problems from real interviews at Google, Meta, Anthropic. Jupyter notebooks, an auto-grader, and an MCP AI tutor.
TorchLeet — 概要
TorchLeet は、Google、Meta、Anthropic、OpenAI、DeepMind などの企業での実際の機械学習/AI エンジニアリング面接から集められた 68 の PyTorch コーディング問題 を無料で公開しているオープンソースのコレクションです。著者は実際の面接質問の直接の報告からリストをまとめました。
仕組み
- 各問題は Jupyter ノートブック として提供され、質問ファイルと別の
_SOLN解答ファイルが含まれています。 - 質問ノートブックを開き、
...と#TODOブロックを埋めてから、自分の解答と比較します。 - README には GPT や他の AI を使って問題を解かないように という明示的な警告があります — 重要なのは、自分で苦労して PyTorch を深く理解することです。(著者は初期コードの作成に GPT を使用したが、すべての問題を個人的に解いてテストしたと述べています。)
3 つのトラック
| トラック | 焦点 | 問題数 |
|---|---|---|
| 基礎 | コア PyTorch、古典的 ML、基礎 | 24 |
| LLM 学習パス | 順番にゼロから LLM を構築 | 23 |
| 上級 | システム、カーネル、最新アーキテクチャ、アライメント | 48 |
問題はトラック間で重複しています。多くの問題には、それらを尋ねると報告されている企業がタグ付けされています。
LLM 学習パス
ゼロから完全な LLM を一度に 1 つの問題ずつ構築するためのガイド付きシーケンス:
- 基礎 — バイトペアエンコーディング、正弦波埋め込み、ROPE 埋め込み、RMS 正規化、スクラッチからのアテンション
- コア Transformer — マルチヘッドアテンション、グループ化クエリアテンション、KV キャッシュ、スライディングウィンドウアテンション
- 完全なモデル — SmolLM をスクラッチから実装
- アライメントとファインチューニング — KL ダイバージェンス損失、LoRA、SmolLM での SFT、DPO 損失、RLHF のための PPO、GRPO(DeepSeek-R1)
- デコーディングと推論 — 温度サンプリング、top-k、top-p、投機的デコーディング、連続バッチ処理、完全な推論エンジン
- システム — 混合エキスパート層
上級トピック
- 最新アーキテクチャ:CLIP 対比損失、2D 位置埋め込み、知識蒸留、DDPM 拡散、DDIM + 分類器フリーガイダンス、Mamba、Vision Transformer + MAE、Swin Transformer
- アライメント:LoRA、DPO、PPO、勾配チェックポイント、GRPO
- 推論システム:KV キャッシュ、投機的デコーディング、連続バッチ処理、GPTQ 量子化、RAG 埋め込み検索、完全な推論エンジン
- GPU カーネル:Triton での融合 softmax、Triton での FlashAttention-2、FSDP、リングアテンション
- ハードな基礎:カスタム autograd、スクラッチからの Transformer、GAN、アテンション付き seq2seq、説明可能な AI
AI チューター(MCP サーバー)
このプロジェクトには、AI アシスタント(Claude Code、Codex、Claude Desktop、Cursor、VS Code)を問題セットに接続する MCP サーバー(torchleet-mcp)が含まれています。4 つの学習ガイドを提供します:
torchleet-tutor— 問題を通して段階的なヒントtorchleet-interview-prep— 特定の企業向けの時間制限付き模擬面接torchleet-review— シニア ML エンジニアのペルソナがコードをレビューtorchleet-explain— 直感から数学、コードへの深掘り
AI チューターは ネタバレなしの教育スタイル を強制します — 答えを与えるのではなくコーチします。
企業クイックリファレンス
README には、企業を優先問題にマッピングする表が含まれています(例:Anthropic のリストには、対比損失、2D 位置埋め込み、top-p サンプリング、KV キャッシュ、DPO、PPO、投機的デコーディング、Mamba、FSDP、GRPO、リングアテンションが含まれます)。
はじめに
# 最初に PyTorch をインストール(pytorch.org)
# リポジトリをクローンし、ノートブックを実行:
jupyter notebook torch/basic/lin-regression/lin-regression.ipynb
また、ターミナルインターフェースと AI チューターのセットアップ手順を備えたコンパニオンウェブサイト torch-leet.vercel.app もあります。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト