Khám phá Mô hình Mixture of Experts (MoE), một kiến trúc AI đột phá cho phép các mô hình có khả năng mở rộng và hiệu quả cho NLP, thị giác máy tính, robot học và hơn thế nữa.
Hỗn hợp Chuyên gia (MoE) là một kiến trúc mạng nơ-ron (NN) chuyên biệt được thiết kế để mở rộng năng lực mô hình một cách hiệu quả mà không làm tăng chi phí tính toán tương ứng. Không giống như các mô hình "dày đặc" truyền thống, trong đó mọi tham số đều hoạt động cho mọi đầu vào, mô hình MoE sử dụng một kỹ thuật gọi là tính toán có điều kiện. Kỹ thuật này cho phép hệ thống chỉ kích hoạt động một tập hợp con nhỏ trong tổng số tham số của nó - được gọi là "chuyên gia" - dựa trên các yêu cầu cụ thể của dữ liệu đầu vào. Bằng cách tận dụng sự kích hoạt thưa thớt này, các nhà nghiên cứu có thể huấn luyện các hệ thống lớn, chẳng hạn như Mô hình Ngôn ngữ Lớn (LLM) , sở hữu hàng nghìn tỷ tham số trong khi vẫn duy trì độ trễ suy luận và tốc độ của một mô hình nhỏ hơn nhiều.
Khung MoE thay thế các lớp dày tiêu chuẩn bằng một lớp MoE thưa, bao gồm hai thành phần chính hoạt động song song để xử lý thông tin:
Mặc dù cả hai kiến trúc đều bao gồm nhiều mô hình con, nhưng điều quan trọng là phải phân biệt Hỗn hợp chuyên gia với Tập hợp mô hình .
Kiến trúc MoE đã trở thành nền tảng cho AI hiệu suất cao hiện đại, đặc biệt là trong các tình huống đòi hỏi khả năng lưu giữ kiến thức khổng lồ và khả năng thực hiện nhiều tác vụ.
Hiểu được cơ chế định tuyến là chìa khóa để nắm bắt cách thức hoạt động của MoE. Đoạn mã PyTorch sau đây minh họa một cơ chế gating đơn giản hóa, chọn ra 2 chuyên gia hàng đầu cho một lô đầu vào nhất định.
import torch
import torch.nn as nn
# A simple router selecting the top-2 experts out of 8
num_experts = 8
top_k = 2
input_dim = 128
# The gating network predicts expert relevance scores
gate = nn.Linear(input_dim, num_experts)
input_data = torch.randn(4, input_dim) # Batch of 4 inputs
# Calculate routing probabilities
logits = gate(input_data)
probs = torch.softmax(logits, dim=-1)
# Select the indices of the most relevant experts
weights, indices = torch.topk(probs, top_k, dim=-1)
print(f"Selected Expert Indices:\n{indices}")
Mặc dù hiệu quả, các mô hình MoE vẫn tạo ra sự phức tạp trong quá trình đào tạo . Một thách thức chính là cân bằng tải ; mạng lưới gating có thể hội tụ đến trạng thái định tuyến mọi thứ đến chỉ một vài chuyên gia "nổi tiếng", khiến những người khác không được đào tạo đầy đủ. Để ngăn chặn điều này, các nhà nghiên cứu áp dụng các hàm mất mát phụ trợ khuyến khích phân phối đồng đều cho tất cả các chuyên gia. Ngoài ra, việc triển khai MoE đòi hỏi cơ sở hạ tầng đào tạo phân tán tinh vi để quản lý giao tiếp giữa các chuyên gia được phân bổ trên các GPU khác nhau. Các thư viện như Microsoft DeepSpeed và TensorFlow Mesh đã được phát triển đặc biệt để giải quyết những rào cản song song hóa này.