ParallelDroplessMLP initialises self.mlp twice
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
調査の方向性
まず layers/dmoe.py と layers/moe.py のコンストラクタを比較し、ParallelDroplessMLP がどのように self.mlp を継承して置き換えているかに注目します。初期化シーケンスを確認し、self.mlp 以外にスーパークラスの状態が必要かどうかを確認します。置き換えの実装や既存の動作を変更せずに、冗長な MLP の重み割り当てが回避されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
What the title says. In layers/dmoe.py:
class ParallelDroplessMLP(moe.ParallelMLP):
def __init__(self, args : Arguments):
super(ParallelDroplessMLP, self).__init__(args) # <-- first init!
self.hidden_size = args.hidden_size
self.ffn_hidden_size = mpu.features_per_rank(args)
self.blocking = 128
self.mlp = dmlp_registry.get(args) # <-- second init!
As a subclass of moe.ParallelMLP, ParallelDroplessMLP first initialises self.mlp in super().__init__() (at layers/moe.py):
class ParallelMLP(torch.nn.Module):
def __init__(self, args : Arguments):
# ... omitted ...
# Expert MLP.
self.mlp = mlp.MLP(args)
This causes extra initialisation time && init memory usage, as the weights created in this init are immediately overwritten by new weights created via self.mlp = dmlp_registry.get(args).
Apologies in advance if this double-init process is actually crucially important to the mechanics of the library; I personally did not observe anything breaking after commenting out the first initialisation.
- 主要言語
- Python
- スター
- 1.6k
- フォーク
- 230
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
databricks/megablocks のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
databricks/megablocks#188 · コメント 2 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
databricks/megablocks#184 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 30/100
databricks/megablocks#180 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
databricks/megablocks#179 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
databricks/megablocks#178 · コメント 1 件 ·
databricks/megablocks の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
docling-project/docling-mcp#147 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
autowarefoundation/autoware_carla_scenario#405 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mohitmishra786/readprism#322 ·
メンテナーはふだん 1 日以内に返信