9

Song song hóa GPU và dùng tiến hóa cải tiến tiến hóa

AI999第5课:方法演化:从优化解到优化算法本身
00:00

Khi thuật toán tiến hóa được dùng đểcải tiến chính thuật toán tiến hóa, trong hệ thống tồn tại đồng thời hai tầng tính toán: tầng trong là việc thực thi và đánh giá nhiều cấu hình thuật toán trên vô số phiên bản tác vụ, còn tầng ngoài dựa trên các kết quả chạy đó để chọn lọc, đột biến và cập nhật cấu hình. Nếu không có nền tảng song song mạnh mẽ, tiến hóa tầng ngoài sẽ bị đánh giá tuần tự ở tầng trong kéo thành nút thắt cổ chai.Song song hóa GPUchính là chìa khóa biến “dùng tiến hóa cải tiến tiến hóa” từ ý tưởng lý thuyết thành một quá trình có thể thực thi với thông lượng cao: các tác vụ tầng trong chạy song song theo lô và liên tục sinh ra dữ liệu hiệu năng, tiến hóa tầng ngoài lấy dữ liệu này làm phản hồi, không ngừng chọn ra cấu hình thuật toán tốt hơn.

Dùng tiến hóa cải tiến tiến hóa: Vòng lặp kín hai tầng song song hóa GPUPhát cấu hình thế hệ mới xuốngTiến hóa tầng ngoài: Bộ chọn cấu hìnhDựa trên phản hồi độ thích nghi, chọn lọc · đột biến · cập nhật cấu hình thuật toánPhản hồi độ thích nghiTầng tổng hợp đánh giá: Phản hồi thống kêTổng hợp hiệu năng tác vụ song song tầng trong → ước lượng độ thích nghi của từng cấu hìnhTổng hợp hiệu năng tác vụThực thi theo lô song song GPU · Tầng trong: Cấu hình × Phiên bản tác vụCấu hình θ1Cấu hình θ2Cấu hình θ3Cấu hình θ4Mỗi ô = một lần chạy song song và chấm điểm của một cấu hình thuật toán trên một phiên bản tác vụVì sao song song hóa lại then chốtMẫu phản hồi dồi dào hơnƯớc lượng độ thích nghi ổn định hơnHướng tìm kiếm đáng tin cậy hơnCơ chế vòng lặp kínThông lượng song songPhản hồi hiệu năngChọn lọc cấu hình

Hai tầng đảm nhận vai trò riêng

  • Tầng trong (Thực thi và đánh giá): Thực thi theo lô trên GPU nhiều cấu hình thuật toán ứng viên (siêu tham số, toán tử hoặc chiến lược tìm kiếm khác nhau), hoàn thành chạy và chấm điểm cho từng phiên bản tác vụ. Tác vụ có độ hạt nhỏ, số lượng lớn, rất khớp với đặc tính thông lượng xử lý theo lô của GPU.
  • Tầng giữa (Tổng hợp phản hồi): Tổng hợp hiệu năng thô của vô số tác vụ tầng trong thành các chỉ số thống kê, ước lượng mức độ tốt xấu của từng cấu hình trên toàn bộ phân phối tác vụ, tạo thành độ thích nghi cho tầng ngoài sử dụng.
  • Tầng ngoài (Chọn lọc cấu hình): Lấy phản hồi thống kê làm đầu vào để thực hiện chọn lọc, đột biến hoặc cập nhật, sinh ra thế hệ cấu hình tiếp theo và gửi trả về tầng trong, tạo thành vòng lặp kín.

Vì sao song song hóa GPU không thể thay thế

Trong vòng lặp tuần tự truyền thống, thời gian thực (wall-clock) của một vòng lặp do “số lượng cấu hình ứng viên × số lượng mẫu tác vụ” cùng quyết định, chỉ cần quy mô lớn hơn một chút là đã không thể chịu nổi, vòng lặp tuần tự vì thế trở thành nút thắt cổ chai chính giới hạn quy mô cấu hình ứng viên và mẫu tác vụ. Song song hóa GPU cho phép nhiều thuật toán tầng trong chạy đồng thời, hạ vòng lặp tuần tự từ “nút thắt cổ chai chính” xuống “chi phí xử lý theo lô có thể chấp nhận được”, từ đó đồng thời mở rộng không gian cấu hình có thể khám phá và lượng mẫu tác vụ.

Cơ chế cốt lõi: Một vòng lặp kín

Toàn bộ hệ thống có thể được tóm tắt thành “Thông lượng song song tác vụ tầng trong → Tổng hợp phản hồi hiệu năng → Chọn lọc cấu hình tầng ngoài” thành vòng lặp: mức độ song song càng cao, mẫu phản hồi càng dồi dào, ước lượng độ thích nghi của tầng ngoài càng ổn định, hướng cải tiến cấu hình càng đáng tin cậy; cấu hình sau khi cải tiến lại được gửi trả về tầng dưới, bước vào vòng thông lượng song song tiếp theo. Chính vòng lặp kín này đã cho thuật toán khả năng tự tối ưu hóa liên tục, đồng thời biến “dùng tiến hóa cải tiến tiến hóa” từ ý tưởng lý thuyết thành một quá trình hiệu quả và có thể thực thi.

Điểm dễ nhầm
Đừng nhầm lẫn hai tầng: tầng trong là “thuật toán chạy tác vụ, cho ra điểm số”, tầng ngoài là “tiến hóa chọn cấu hình”. Phản hồi chỉ có thể đến từ hiệu năng chạy thực tế của tầng trong, chứ không phải từ phỏng đoán ngẫu nhiên hay hằng số do con người đặt ra ở tầng ngoài.