RobotHienThan.comRobot Hiện Thân
Huấn luyện trong mô phỏng

Mô phỏng song song và ngân sách tính toán

Chạy nhiều môi trường cùng lúc là thứ biến học bằng thử sai thành khả thi. Nhưng lợi ích không tăng mãi, và nút thắt thường không nằm ở chỗ ta nghĩ.

Máy trạm có nhiều card đồ hoạ đang chạy huấn luyện mô phỏng robot

Ý tưởng rất đơn giản: thay vì một robot ảo luyện tập, cho một nghìn robot ảo luyện tập cùng lúc. Nhưng khi triển khai thật, tốc độ thu được thường thấp hơn kỳ vọng, và lý do đáng biết.

Vì sao song song hoá lại hiệu quả

Các phương pháp học bằng thử sai cần rất nhiều kinh nghiệm. Kinh nghiệm đó có thể thu thập độc lập ở nhiều môi trường khác nhau rồi gộp lại để cập nhật chính sách.

Vì các môi trường không cần biết đến nhau, đây là bài toán song song hoá gần như hoàn hảo. Đó là lý do nó cho hiệu quả tốt hơn nhiều so với việc cố chạy một môi trường nhanh hơn.

Song song hoá còn có tác dụng phụ có lợi: nhiều môi trường với điều kiện ngẫu nhiên khác nhau cho tín hiệu học ổn định hơn, vì mỗi lần cập nhật dựa trên một tập kinh nghiệm đa dạng thay vì một chuỗi liên tiếp có tương quan cao.

Ba nút thắt thường gặp

Truyền dữ liệu. Nếu mô phỏng chạy ở một nơi và mô hình chạy ở nơi khác, việc chuyển dữ liệu qua lại có thể chiếm phần lớn thời gian. Các hệ thống nhanh nhất giữ cả hai trên cùng bộ nhớ để tránh việc này.

Kết xuất ảnh. Nếu chính sách nhận đầu vào là ảnh, chi phí kết xuất thường vượt xa chi phí mô phỏng vật lý. Đây là lý do nhiều nhóm huấn luyện phần vận động bằng trạng thái thay vì ảnh, rồi mới xử lý phần thị giác riêng.

Đồng bộ hoá. Nếu phải chờ tất cả môi trường xong mới cập nhật, môi trường chậm nhất quyết định nhịp. Các môi trường kết thúc sớm ngồi chờ, lãng phí tài nguyên.

Vì sao tăng số môi trường không tăng hiệu quả mãi

Ban đầu, gấp đôi số môi trường gần như gấp đôi lượng kinh nghiệm thu được mỗi giây. Nhưng lợi ích giảm dần vì hai lý do.

Giới hạn phần cứng. Đến một mức, bộ nhớ hoặc băng thông trở thành ràng buộc, và thêm môi trường chỉ làm mọi thứ chậm lại.

Giới hạn thuật toán. Kinh nghiệm nhiều hơn không tự động thành học nhanh hơn. Nếu mỗi lần cập nhật đã dùng một lượng dữ liệu đủ lớn, thêm dữ liệu nữa mang lại rất ít.

Trong thực tế, tồn tại một khoảng số môi trường tối ưu cho từng bài toán và từng cấu hình phần cứng. Tìm ra khoảng đó bằng vài thử nghiệm ngắn thường tiết kiệm hơn nhiều so với chạy ngay ở quy mô lớn nhất.

Phân bổ ngân sách tính toán

Với một lượng tài nguyên cố định, có ba cách tiêu, và chúng cạnh tranh nhau.

  • Nhiều môi trường hơn để thu kinh nghiệm nhanh hơn.
  • Mô hình lớn hơn để có năng lực biểu diễn tốt hơn.
  • Nhiều lần chạy thử hơn với các cấu hình khác nhau, để tìm ra cấu hình tốt.

Với dự án ở giai đoạn đầu, cách thứ ba thường cho giá trị cao nhất. Lý do: phần lớn thất bại ban đầu đến từ thiết kế môi trường và hàm thưởng, và phát hiện điều đó bằng nhiều thử nghiệm ngắn rẻ hơn nhiều so với một thử nghiệm dài trên cấu hình sai.

Chỉ khi thiết lập đã ổn định thì việc dồn tài nguyên vào quy mô mới đáng.

Đo hiệu quả sử dụng tài nguyên

Trước khi mua thêm phần cứng, nên kiểm tra phần cứng hiện có đang được dùng tới đâu.

Hai chỉ số hữu ích: mức sử dụng của bộ xử lý đồ hoạ trong lúc huấn luyện, và số bước môi trường thu được mỗi giây.

Nếu mức sử dụng thấp, nút thắt nằm ở nơi khác — thường là truyền dữ liệu hoặc phần mô phỏng chạy trên bộ xử lý trung tâm. Thêm phần cứng đồ hoạ trong tình huống đó không giúp gì.

Một thói quen đáng có: ghi lại số bước mỗi giây cùng với kết quả của mỗi lần chạy thử. Sau vài chục lần, dữ liệu này cho biết rõ cấu hình nào thật sự hiệu quả, thay vì phải dựa vào cảm giác.

Câu hỏi thường gặp

Bao nhiêu môi trường song song là hợp lý?

Không có con số chung; nó phụ thuộc vào độ phức tạp của môi trường, thuật toán và phần cứng. Cách thực dụng là tăng dần và đo số bước thu được mỗi giây, dừng lại khi việc tăng thêm không còn cải thiện đáng kể.

Có cần phần cứng đắt tiền để bắt đầu không?

Không cho giai đoạn học và thử nghiệm ý tưởng. Nhiều bài toán vận động đơn giản chạy được trên một máy tính cá nhân có card đồ hoạ phổ thông. Nhu cầu về phần cứng lớn chỉ xuất hiện khi môi trường phức tạp hoặc khi cần dùng ảnh làm đầu vào.

Vì sao nên huấn luyện bằng trạng thái trước rồi mới dùng ảnh?

Vì nó tách bài toán thành hai phần dễ hơn: học kỹ năng vận động khi đã biết mọi thứ ở đâu, và học cách nhận biết vị trí từ ảnh. Cách này cũng rẻ hơn nhiều vì bỏ được chi phí kết xuất trong phần lớn quá trình huấn luyện.

Kết quả huấn luyện có lặp lại được không?

Thường không lặp lại chính xác do tính ngẫu nhiên trong khởi tạo và trong môi trường. Vì vậy nên chạy mỗi cấu hình vài lần với hạt giống ngẫu nhiên khác nhau và so sánh dải kết quả, thay vì kết luận dựa trên một lần chạy duy nhất.

Đọc thêm trong Sim2real: từ mô phỏng ra máy thậtTriển khai thực tế & thất bại.

Need specific advice for your case?

We will contact you within 24 hours.

Request consultation now

Need advice? Talk to us

Leave your details and our team will contact you within 24 hours. The first consultation is completely free.

or
Call now +84 926 138 138