OpenArchがLlamaやDeepSeekなど主要LLMアーキテクチャをPyTorchでゼロから実装
OpenArch – PyTorch implementations of modern LLM architectures
OpenArchは、Llama、Qwen、DeepSeek、Gemma、GPT-OSS、Kimiなど、現代のオープンソースLLMアーキテクチャをPyTorchでゼロから実装したリポジトリ。Sebastian RaschkaのLLM Architecture Galleryに触発され、各モデルを1ファイルで明快に記述。attention、正規化、MoEルーティング、位置エンコーディングなどの設計選択を比較しやすくし、学習リソースとしての可読性を最優先している。
本リポジトリは、速度、シャーディング、後方互換性のために最適化された本番リポジトリとは異なり、読むことに最適化されています。
HNでの議論
32- anuj0456
私は最近のLLMアーキテクチャを勉強していて、各モデルの背後にある設計上の選択をよりよく理解するために、PyTorchでゼロから実装し始めました。
OpenArchはそうした実装を集めたもので、Llama、Qwen、DeepSeek、Gemma、Kimi、GPT-OSSなどを含んでいます。
目標は、論文から実際の実装へと移る際の参考として、コードを読みやすく有用なものに保つことです。
モデルアーキテクチャやトレーニングに携わっている方々からのフィードバックに興味があります。
- k__
昨日まで、私はオープンウェイトモデルを実行するにはカスタムコードが必要だということを知りませんでした。
なんとなく、推論エンジンは任意のウェイトを実行できる汎用のLLMランタイムだと思っていました。
なので、正しく理解したいのですが。
誰かがモデルをトレーニングします。
その人はウェイトとモデルアーキテクチャの参照実装を公開します。
そして、プロバイダーはそのモデルをホストするために、参照実装、オープンソース実装、あるいは独自の実装のいずれかで推論を実行する必要があります。
これはつまり、プロバイダーは量子化や設定だけでなく、推論エンジンの実装も異なるということでしょうか?
- dwrodri
これはlucidrainsを思い出させました。おそらくインターネット上で最も多作なPyTorchユーザーであり論文実装者の一人でしょう。彼の実装は、私が論文実装スキルを独学で身につける上で極めて重要な参考資料でした。彼はまだ活動していて、本当に素晴らしいものをやっているようです。https://github.com/lucidrains
- theGeatZhopa
ねえanuj
これは理解するのに最適ですね。私はなかなか理解にたどり着けずにいます - 私にとってpytorchは、gym/トレーニングとして使われるRLです。そこではppoやdnqなどのエージェントを選んで、あらかじめ定義されたgym/ワールドでいくつかのアクションを実行させられます。
あなたが見せているリポジトリ - 私のRLの理解に当てはめるのに本当に苦労しています。gymは何?エージェントは何?pytorchでそのモデルをトレーニングするのに使えるの?
初歩的な質問ですみません。論文は私の初心者脳を圧倒します。
- gfrangakis
本当にクールです。核心はレイヤーとウェイトにあるのは分かっていますが、実装がこんなに短くシンプルだというのはちょっと驚きです。