GPU上でTransformerモデルを学習・推論するための、メモリ効率に優れた厳密なattentionカーネルFlashAttentionの公式実装。
- スター
- 4,695
- フォーク
- 420
- 未解決の Issue
- 16
- 最終コミット
- 3 か月前
これは何?
TorchCodeは、LeetCodeに似た形式でPyTorchを一から実装する練習ができる、41問のコーディング問題集です。各問題では、softmax、LayerNorm、multi-head attention、RoPE、LoRA、GPT-2ブロックなどの一般的な演算やモデル構成要素を、通常torch.nnに頼らず実装します。問題は、空のテンプレートと別個の解答例を含むJupyter notebookとして提供されます。
judgeモジュール(torch_judge)が、実装をテストケースに対して実行します。torch.allcloseで数値的な正しさを確認し、autogradを通じた勾配の伝播、shapeの整合性、エッジケースを検証して、テストごとに合否を報告します。notebookのセルからヒントや進捗ダッシュボードを利用でき、ツールバーのボタンでnotebookを空の状態にリセットできます。
このプラットフォームは、GPUやデータベースを必要とせず、CPU上で単一のDockerまたはPodmanコンテナとして動作します。Hugging Face SpacesやGoogle Colabからも利用でき、その場合はjudgeをPyPIからインストールできます。別のインターフェースとして、Next.jsとFastAPIによるWeb UIも用意されています。
主な機能
- 01基礎、attentionのバリエーション、transformerブロック、学習、デコード、選好ベースの損失関数を扱う41問を収録。
- 02自動judgeが出力の正しさ、勾配の伝播、shape、エッジケースを検証し、テストごとに合否を表示。
- 03各問題でヒントと解答例を利用可能。
- 04ツールバーからリセットするとnotebookが空のテンプレートに戻り、繰り返し練習できます。
- 05CPU上の単一のDockerまたはPodmanコンテナで動作するほか、ローカル環境のセットアップなしでGoogle Colabでも利用できます。
ユースケース
- PyTorchの演算をホワイトボードやコーディング課題で書くよう求められる、MLエンジニアの面接対策。
- 高水準のヘルパーに頼らず実装することで、softmax、attention、正規化、LoRAの仕組みを学ぶ。
- GPUのないノートPCで、PyTorchのテンソル演算とautogradを練習する。
- Colabのリンクを使って、授業や勉強会でガイド付き演習を実施する。
クイックスタート
- 1
ビルド済みの Docker イメージを取得して実行する
docker run -p 8888:8888 -e PORT=8888 ghcr.io/duoan/torchcode:latest - 2
ブラウザーでアプリを開く
使う前に知っておきたいこと
- Docker または Podman が必要です。もしくは make を使ってローカルでビルドできます。
- Judge は Jupyter 上で動作し、汎用利用ではなく、主に PyTorch の練習向けに設計されています。
- プロジェクトのメタデータにライセンスの記載がありません。
トピック
よくある質問
- TorchCode とは?
- Jupyter上で自動採点を受けながら、PyTorchの演算やアーキテクチャを一から実装して練習できる対話型プラットフォーム。 TorchCodeは、LeetCodeに似た形式でPyTorchを一から実装する練習ができる、41問のコーディング問題集です。各問題では、softmax、LayerNorm、multi-head attention、RoPE、LoRA、GPT-2ブロックなどの一般的な演算やモデル構成要素を、通常torch.nnに頼らず実装します。問題は、空のテンプレートと別個の解答例を含むJupyter notebookとして提供されます。
- TorchCode は無料で使えますか?ライセンスは?
- TorchCode にはライセンスが明記されていません。コードは公開されていますが、ライセンスがない場合は再利用の許諾がないため、利用前に作者に確認することをおすすめします。
- TorchCode は今もメンテナンスされていますか?
- 半年以内に更新あり。TorchCode の最終コミットは 2026年7月31日 です。
- TorchCode は何に使えますか?
- PyTorchの演算をホワイトボードやコーディング課題で書くよう求められる、MLエンジニアの面接対策。 高水準のヘルパーに頼らず実装することで、softmax、attention、正規化、LoRAの仕組みを学ぶ。 GPUのないノートPCで、PyTorchのテンソル演算とautogradを練習する。 Colabのリンクを使って、授業や勉強会でガイド付き演習を実施する。
- TorchCode のインストール方法は?
- ビルド済みの Docker イメージを取得して実行する: docker run -p 8888:8888 -e PORT=8888 ghcr.io/duoan/torchcode:latest ブラウザーでアプリを開く
- TorchCode はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/duoan/TorchCode
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
トピック別の問題順、図解付き解答、動画解説、C++・Java・Python・Go・JavaScriptのコードを備えた中国語のLeetCode学習ガイド。
書籍『Build a Large Language Model (From Scratch)』の中国語訳。LLMの原理とGPTスタイルの実装を解説しています。
面接対策に役立つ、LeetCode問題のGo解答集とデータ構造・アルゴリズムを扱う付属のCookbook電子書籍。
LeetCodeの面接問題を再利用可能な解法パターン別に整理し、閲覧や進捗管理ができるWebアプリを備えた学習ガイドです。
FAANG形式の面接対策向けに、DSA、競技プログラミング、CS基礎のノートと解答をJupyter Notebookでまとめたコレクション。