Expert Parallelism
Tìm hiểu cách song song hóa chuyên gia phân phối các mô hình Mixture-of-Experts trên các GPU, giúp giảm nhu cầu bộ nhớ đồng thời cân bằng quá trình định tuyến, giao tiếp và hiệu suất.
Song song hóa chuyên gia là một kỹ thuật điện toán phân tán đặt các chuyên gia khác nhau từ một mô hình hỗn hợp chuyên gia trên các GPU hoặc bộ tăng tốc khác nhau. Thay vì mỗi thiết bị lưu trữ mọi chuyên gia, mỗi thiết bị giữ một tập hợp con. Một bộ định tuyến đã học sẽ gửi từng token đầu vào đến các chuyên gia được chọn, cho phép các mô hình rất lớn tăng dung lượng tham số mà không cần kích hoạt mọi tham số cho mọi đầu vào.
Kỹ thuật này áp dụng cụ thể cho kiến trúc hỗn hợp chuyên gia, chứ không phải các mạng nơ-ron dày đặc thông thường. Nó thường được sử dụng khi huấn luyện hoặc phục vụ các mô hình ngôn ngữ lớn và mô hình ngôn ngữ thị giác có các lớp chuyên gia mà nếu không sẽ tiêu thụ quá nhiều bộ nhớ trên một thiết bị.
Song song hóa chuyên gia hoạt động như thế nào#
Một lớp MoE chứa một số mạng chuyên gia, thường là các mạng nơ-ron chuyển tiếp, cộng với một bộ định tuyến. Đối với mỗi token, bộ định tuyến tạo ra điểm số và chọn một số lượng nhỏ chuyên gia, thường được gọi là định tuyến top-k.
Ví dụ, trong một lớp tám chuyên gia được phân phối trên bốn GPU, mỗi GPU có thể lưu trữ hai chuyên gia. Quá trình xử lý sau đó tuân theo bốn bước chính:
- Bộ định tuyến chọn các chuyên gia cho mỗi token.
- Các token được trao đổi giữa các GPU để chúng đến được các thiết bị chứa các chuyên gia đó.
- Mỗi chuyên gia xử lý các token được chỉ định của mình cục bộ.
- Kết quả quay trở lại các vị trí token ban đầu và tiếp tục chạy qua mô hình.
Việc trao đổi này thường dựa trên giao tiếp all-to-all, một thao tác tập thể được mô tả trong tài liệu thao tác tập thể NVIDIA NCCL. Hướng dẫn song song hóa NVIDIA Megatron Bridge cho thấy cách số lượng chuyên gia và kích thước song song hóa chuyên gia xác định số lượng chuyên gia được đặt trên mỗi GPU.
Song song hóa chuyên gia giúp tiết kiệm bộ nhớ trên mỗi thiết bị vì trọng số của chuyên gia được phân vùng. Tuy nhiên, nó không loại bỏ chi phí tính toán hoặc giao tiếp: các token có thể vượt qua ranh giới thiết bị hoặc nút ở mọi lớp MoE.
Song song hóa chuyên gia so với các kỹ thuật liên quan#
Song song hóa chuyên gia là một hình thức huấn luyện phân tán, nhưng nó chia nhỏ mô hình theo cách khác so với các chiến lược khác:
- Song song hóa dữ liệu: Mỗi thiết bị lưu trữ một bản sao mô hình đầy đủ và xử lý một batch khác nhau. Các gradient được đồng bộ hóa giữa các bản sao, như được giải thích trong tổng quan về huấn luyện phân tán PyTorch. Điều này hiệu quả khi toàn bộ mô hình vừa vặn trên mỗi thiết bị.
- Song song hóa tensor: Các ma trận trọng số riêng lẻ và các phép toán bên trong một lớp được chia nhỏ trên các thiết bị. Song song hóa chuyên gia thay vào đó gán các chuyên gia hoàn chỉnh cho các thiết bị.
- Song song hóa pipeline: Các nhóm lớp liên tiếp chạy trên các thiết bị khác nhau, với các microbatch chảy qua chúng dưới dạng các giai đoạn pipeline.
- Song song hóa ngữ cảnh: Các chuỗi đầu vào dài được phân vùng trên các thiết bị để giảm yêu cầu về bộ nhớ kích hoạt.
- Song song hóa tensor chuyên gia: Các chuyên gia được phân phối trên các thiết bị, và mỗi chuyên gia riêng lẻ cũng được chia nhỏ tensor. Cách tiếp cận kết hợp này có thể chứa các chuyên gia lớn hơn nhưng lại làm phát sinh thêm chi phí giao tiếp.
Các phương pháp này mang tính bổ sung cho nhau. Các hệ thống MoE lớn có thể kết hợp song song hóa chuyên gia, dữ liệu, tensor, pipeline và ngữ cảnh tùy theo kích thước mô hình và cấu trúc phần cứng.
Các ứng dụng trong thực tế#
Trợ lý đa ngôn ngữ quy mô lớn: Một mô hình ngôn ngữ MoE có thể chứa nhiều mạng chuyên gia trong khi chỉ kích hoạt một vài mạng cho mỗi token. Song song hóa chuyên gia phân phối các mạng đó trên một cụm phục vụ, cho phép hệ thống duy trì năng lực mô hình cao mà không cần tải mọi chuyên gia lên mọi GPU. Các runtime sản xuất như triển khai song song hóa chuyên gia vLLM và song song hóa chuyên gia TensorRT-LLM hỗ trợ loại bố cục suy luận này.
Phân tích nội dung đa phương thức: Một mô hình MoE lớn xử lý các bản vá hình ảnh và các token văn bản có thể định tuyến đầu vào qua các chuyên gia được chọn phân phối trên nhiều bộ tăng tốc. Điều này có thể hỗ trợ hiểu tài liệu, trả lời câu hỏi trực quan và các dịch vụ AI đa phương thức khác trong khi vẫn giữ cho bộ nhớ chuyên gia trên mỗi thiết bị ở mức có thể quản lý được. Nguyên tắc tương tự có thể áp dụng cho các vision transformer quy mô lớn thưa thớt, mặc dù hầu hết các mô hình thị giác thời gian thực nhỏ gọn đều không yêu cầu điều đó.
Lợi ích, điểm nghẽn và hướng dẫn thực tế#
Song song hóa chuyên gia mang lại ba ưu điểm chính: giảm bộ nhớ trọng số chuyên gia trên mỗi GPU, hỗ trợ các mô hình có tổng dung lượng lớn hơn, và tính toán thưa thớt hiệu quả khi chỉ một vài chuyên gia kích hoạt cho mỗi token. Hướng dẫn song song hóa chuyên gia Amazon SageMaker minh họa cách mức độ song song hóa chuyên gia kiểm soát sự phân phối trên một cụm.
Thách thức chính của nó là sự mất cân bằng tải. Nếu bộ định tuyến gửi quá nhiều token đến một chuyên gia, GPU của chuyên gia đó sẽ trở thành điểm nghẽn trong khi các GPU khác phải chờ đợi. Hậu quả bao gồm thông lượng thấp hơn, độ trễ không ổn định và khả năng rớt token khi dung lượng chuyên gia bị hạn chế. Các kỹ sư nên theo dõi số lượng token trên mỗi chuyên gia, độ cân bằng định tuyến, thời gian giao tiếp, mức sử dụng bộ nhớ và độ trễ đầu cuối. Các đường truyền liên kết băng thông cao và việc chồng chéo tính toán-giao tiếp có thể làm giảm chi phí chuyển dữ liệu.
Song song hóa chuyên gia là không cần thiết khi sử dụng một mô hình dày đặc như Ultralytics YOLO26. Quá trình huấn luyện Ultralytics YOLO đa GPU sử dụng song song hóa dữ liệu phân tán thay thế:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
# Two-GPU YOLO training uses data parallelism, not expert parallelism.
results = model.train(
data="coco8.yaml",
epochs=10,
imgsz=640,
device=[0, 1],
)Quy trình làm việc này nhân bản YOLO26 trên hai GPU và chia các batch huấn luyện giữa chúng; nó không định tuyến đầu vào giữa các mạng chuyên gia. Các nhóm cũng có thể sử dụng huấn luyện trên đám mây Ultralytics Platform để quản lý tập dữ liệu thị giác, quá trình huấn luyện, số liệu, xuất và triển khai mà không cần định cấu hình cơ sở hạ tầng phân tán thủ công.









