Trong bài viết này
Từ được đánh dấu có giải thích. Di chuột hoặc chạm để xem, hay mở từ điển AI.
Một lớp có tám expert nhưng mỗi token chỉ đi qua hai expert không phải là tám chatbot cùng họp. Trong sparse Mixture of Experts, expert thường là mạng con xử lý vector. Router chọn một tổ hợp nhỏ, rồi hệ thống ghép kết quả để tiếp tục mạng chung.
Bạn nên hiểu feed-forward network, batch và backpropagation. Bài này dùng lớp MoE giản lược để làm rõ đường đi của dữ liệu. Mọi số về kích thước và tỉ lệ đều là giả định phục vụ tính toán.
Theo một token qua router
Gọi x là biểu diễn token. Router tạo điểm cho các expert, chẳng hạn qua phép chiếu tuyến tính rồi softmax. Cơ chế top-k chọn một số expert có điểm cao. Với hai expert được chọn, đầu ra có thể viết y = g1E1(x) + g2E2(x), trong đó g là trọng số cổng theo quy tắc chuẩn hóa của kiến trúc.
Giả sử sau chọn và chuẩn hóa, g1 = 0,7 và g2 = 0,3; hai expert trả lần lượt [2, 0] và [0, 4]. Đầu ra là [1,4; 1,2]. Router không chọn “câu trả lời hay hơn” bằng ngôn ngữ; nó điều phối phép tính trên biểu diễn liên tục.
Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer mô tả việc dùng cổng học được để chọn thưa các mạng con. Công trình năm 2017 nghiên cứu mô hình ngôn ngữ và dịch máy; các triển khai MoE trong Transformer có thể dùng thiết kế routing khác.
Tham số tổng không bằng tham số hoạt động
Giả sử phần chung có 2 tỷ tham số và tám expert mỗi expert có 1 tỷ. Tổng là 10 tỷ. Nếu một token kích hoạt hai expert, phần được dùng cho token ấy tương ứng khoảng 4 tỷ tham số theo cách đếm giản lược này.
Điều đó không có nghĩa bộ nhớ trọng số tự giảm còn 4 tỷ. Các token khác có thể chọn expert khác, nên hệ thống vẫn cần lưu hoặc truy cập toàn bộ expert. Cũng không thể lấy tỉ lệ 4/10 rồi khẳng định thời gian suy luận giảm đúng mức ấy: định tuyến, truyền dữ liệu và kích thước batch đều tốn thời gian.
Một batch lớn có thể kích hoạt gần như mọi expert dù từng token chỉ dùng ít nhánh. Nếu các expert nằm trên nhiều thiết bị, vector token phải được chuyển tới nơi tính rồi trả lại. Băng thông mạng trở thành thành phần của thiết kế mô hình.
Cân bằng tải là một mục tiêu riêng
Nếu router gửi phần lớn token đến một expert, thiết bị chứa expert ấy trở thành nút nghẽn. Các expert ít được chọn nhận ít tín hiệu học hơn. Hệ thống thường cần cơ chế hỗ trợ phân bố tải, nhưng chi tiết và hàm phụ thuộc từng kiến trúc.
Giới hạn capacity đặt số token tối đa một expert xử lý trong một đợt. Khi vượt giới hạn, cách xử lý có thể gồm chuyển tuyến hoặc bỏ qua theo thiết kế; không nên mặc định mọi MoE có cùng chính sách. Đọc cấu hình và ghi lại tỉ lệ vượt capacity nếu phép đo có liên quan.
Mô hình nhận ví dụ đã gán nhãn, tạo dự đoán, đo sai lệch rồi điều chỉnh tham số. Khả năng áp dụng cần được kiểm tra trên dữ liệu chưa dùng để học.
↔ Vuốt ngang để xem toàn bộ sơ đồ.
01 / Ví dụ có nhãn
Các phản hồi về quán cà phê đi kèm nhãn đúng: đồ uống, phục vụ hoặc không gian.
02 / Tạo dự đoán
Mô hình dùng tham số hiện tại để dự đoán chủ đề của phản hồi.
03 / Đo sai lệch
So dự đoán với nhãn đúng. Hàm mất mát biểu diễn mức sai lệch cần giảm.
04 / Điều chỉnh
Thuật toán cập nhật tham số và lặp lại trên dữ liệu học. Sau đó đánh giá bằng các ví dụ được giữ riêng.
Minh họa giản lược cho học máy có giám sát. Một lần điều chỉnh không bảo đảm dự đoán tiếp theo sẽ đúng.
Sơ đồ trên mô tả vòng dữ liệu, dự đoán và cập nhật tham số nói chung. Nó không vẽ router hay loss cân bằng tải. Trong MoE, cần bổ sung việc kiểm tra phân bố token giữa các expert để hiểu vì sao loss tổng thay đổi.
Khi MoE đáng thử và khi chưa phù hợp
MoE hấp dẫn khi muốn tăng khả năng biểu diễn mà giữ số phép tính hoạt động cho từng token có giới hạn. Tuy nhiên, một máy nhỏ có thể bị giới hạn bởi trọng số tổng. Một cụm nhiều thiết bị có thể bị giới hạn bởi trao đổi dữ liệu. Cùng mô hình có thể biểu hiện rất khác trên hai hệ thống.
Đừng đặt tên expert theo nghề nghiệp chỉ từ vài ví dụ đầu ra. Một expert nhận nhiều token mã nguồn chưa chứng minh nó là chuyên gia lập trình độc lập. Việc chuyên môn hóa cần phân tích routing trên dữ liệu và kiểm tra can thiệp có đối chứng.
So sánh với mô hình dense nên giữ cùng nhiệm vụ, cách giải mã và tải đồng thời. Báo riêng chất lượng, độ trễ, thông lượng và bộ nhớ. Một con số “tham số hoạt động” không thay thế được bốn phép đo đó.
Bài tập: tìm nút nghẽn từ bảng định tuyến
Tạo batch giả định 100 token, mỗi token chọn hai expert, tổng cộng 200 lượt phân phối. Cho expert thứ nhất nhận 90 lượt và bảy expert còn lại chia 110 lượt. Hãy tính tỉ lệ tải của expert đầu: 45%, trong khi chia đều sẽ là 12,5% mỗi expert.
Tiêu chí tự kiểm là chỉ ra được nghẽn tải dù tổng phép tính không đổi, đồng thời giải thích vì sao thêm expert chưa chắc giải quyết nếu router vẫn dồn tuyến. Đọc lượng tử hóa mô hình để xem một cách khác giảm áp lực bộ nhớ trọng số.