ParallelDroplessMLP initialises self.mlp twice
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Lĩnh vực
- machine-learning, performance
Hướng nghiên cứu
Bắt đầu bằng cách so sánh các constructor trong layers/dmoe.py và layers/moe.py, tập trung vào cách ParallelDroplessMLP kế thừa và thay thế self.mlp. Xác nhận trình tự khởi tạo và kiểm tra xem có cần trạng thái nào khác của superclass ngoài self.mlp hay không. Hoàn thành khi tránh được việc cấp phát trọng số MLP dư thừa mà không thay đổi phần triển khai thay thế hoặc hành vi hiện có.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 1.6k
- Fork
- 228
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của databricks/megablocks
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
databricks/megablocks#188 · 2 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
databricks/megablocks#184 ·
-
Compatibility with CUDA 13.0Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 30/100
databricks/megablocks#180 · 1 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
databricks/megablocks#179 ·
-
Issue with Sparse MLPĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
databricks/megablocks#178 · 1 bình luận ·
Tất cả issue của databricks/megablocks
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
GoogleCloudPlatform/gce-rescue#195 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày
-
intake mcp-intake needs-ac needs-human-review priority:medium
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
Ikalus1988/MisakaNet#3848 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
521xueweihan/HelloGitHub#4105 ·
-
bug size:XS
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày