Quá trình tiến hóa phụ thuộc vào tính đa dạng của quần thể, mà tính đa dạng lại đồng nghĩa với việc quy mô quần thể và số lần đánh giá tăng gấp bội. Khi số lần đánh giá ứng viên lên tới hàng chục nghìn lần,vòng lặp CPU tuần tự truyền thốngliền trở thành đoạn hẹp nhất trên toàn bộ dây chuyền: mỗi lần nó chỉ xử lý một cá thể, khiến năng lực song song của phần cứng gần như bị bỏ không.
Mỗi lần một cá thể: mô hình thực thi của vòng lặp tuần tự
Cách hiện thực đơn giản nhất là coi toàn bộ quần thể như một danh sách, dùng vòng lặp lấy ra từng cá thể: lấy cá thể → giải mã thành tham số cụ thể → gọi hàm đánh giá → ghi độ thích nghi trở lại. Các vòng lặp liền kề gần như không thể chồng lấn: kết quả đánh giá chưa về thì việc ghi lại không thể tiến hành; ghi lại chưa xong thì cá thể tiếp theo không có chỗ để đặt kết quả. Vì thế các đơn vị song song như đa nhân, SIMD, GPU phần lớn thời gian ở trạng thái bỏ không, chỉ biết nhìn một cá thể chạy hết trên dây chuyền.
Chi phí thực sự đến từ đâu
- Số lần đánh giá tăng tuyến tính: tổng số lần đánh giá xấp xỉ bằng quy mô quần thể × số thế hệ lặp, khi đạt mức 10⁵ thì thời gian thực của tuần tự tăng gần như tuyến tính.
- Thực thi từng cá thể ở tầng trình thông dịch: vòng lặp từng cá thể, kiểm tra biên và phân phối kiểu dữ liệu mang lại chi phí hằng số cố định nhưng cao.
- Truy cập bộ nhớ không liên tục và truyền dữ liệu: các cá thể được lấy ra từng cái thường không liên tục trong bộ nhớ, tỉ lệ trúng bộ đệm thấp, chi phí truyền dữ liệu bị trả giá lặp đi lặp lại.
- Đồng bộ và điều phối: để lấy được cá thể tiếp theo, luồng thực thi buộc phải tạm dừng rồi khôi phục liên tục.
Quy đổi quy mô thành thời gian
Lấy ví dụ quần thể 1000, lặp 100 thế hệ, tổng cộng khoảng 100 nghìn lần đánh giá ứng viên. Nếu mỗi lần đánh giá trung bình 1 ms, chỉ riêng khâu đánh giá khi chạy tuần tự đã cần khoảng 100 giây, chưa tính chi phí tính toán toán tử và điều phối; nếu để duy trì tính đa dạng mà tăng số lần khởi động lại từ 1 lên 5 lần, chi phí tăng gần như tuyến tính lên khoảng 500 giây. Với cùng khối lượng công việc đó, nếu tổ chức theo lô và giao cho phần cứng song song xử lý, thời gian thực chủ yếu do số lô chứ không phải số cá thể quyết định.
Khi nào nút thắt này sẽ thu hẹp lại
Các điều kiện biên cũng quan trọng không kém: khi mỗi lần đánh giá cực rẻ (cấp độ micro giây) hoặc quần thể cực nhỏ (dưới mức hàng trăm), chi phí điều phối và bộ nhớ có thể vượt qua chi phí tính toán, khoảng cách giữa tuần tự và song song thu hẹp rõ rệt, lợi ích cận biên của việc tensor hóa giảm dần, nút thắt sẽ chuyển sang độ chi tiết điều phối và băng thông bộ nhớ. Vì vậy việc có đáng cải tạo mô hình thực thi hay không cần được đánh giá kết hợp giữa chi phí đánh giá và quy mô.
