SkipPipe: Phương pháp giao tiếp hiệu quả cho học máy phân tán

Đây là một bài báo khoa học về giao tiếp hiệu quả trong việc huấn luyện song song theo kiểu pipeline. Bài viết giới thiệu một thuật toán lập kế hoạch tối ưu, tối đa hóa hiệu suất và khả năng chịu lỗi, đồng thời giảm thiểu ảnh hưởng đến hội tụ do bỏ qua các cấp độ. Điều này giúp giảm thời gian lặp lại của huấn luyện phân tán xuống 55% và đảm bảo khả năng chịu lỗi với tỷ lệ thất bại của các nút lên đến 50% trong quá trình suy luận.
Những thành tựu gần đây trong các mô hình ngôn ngữ lớn đã đạt được nhờ quy mô. Các bộ dữ liệu lớn hơn và số lượng tham số cao hơn đã dẫn đến việc tạo ra các mô hình tốt hơn. Mặc dù xu hướng này mang lại sự cải thiện dự đoán về hiệu suất, nó cũng dẫn đến việc gia tăng chi phí phát triển lên đến giới hạn, vì các mô hình giờ đây phải được phân phối trên hàng nghìn nút đắt tiền có kết nối trong quá trình huấn luyện.
Để giải quyết vấn đề này, cần có những phương pháp mới hạn chế giao tiếp giữa các nút trong quá trình huấn luyện. Điều này mở ra khả năng huấn luyện trên phần cứng phân tán về mặt địa lý, loại bỏ điểm nghẽn chủ chốt trong các cung cấp hiện tại.
Phần lớn nghiên cứu ban đầu trong lĩnh vực này tập trung vào các phương pháp song song dữ liệu, trong đó mỗi nút huấn luyện độc lập một bản sao của mô hình và chia sẻ các cập nhật gradient qua một số khoảng thời gian hiếm hoi. Các phương pháp này là một điểm xuất phát tốt vì chúng ban đầu hiệu quả về mặt giao tiếp. Tuy nhiên, chúng không mở rộng tốt vì yêu cầu mỗi nút phải lưu trữ toàn bộ mô hình trong bộ nhớ, điều này hạn chế kích thước của mô hình theo dung lượng bộ nhớ của nút tham gia nhỏ nhất.
Giới thiệu SkipPipe
Cùng với các nhà nghiên cứu từ Đại học Neuchâtel và Đại học Công nghệ Delft, chúng tôi đã phát triển SkipPipe — một phương pháp huấn luyện pipeline song song có khả năng chịu lỗi, chủ động bỏ qua và phân phối lại các giai đoạn để tối ưu hóa huấn luyện trong các môi trường phân tán. SkipPipe đã chứng minh giảm thời gian huấn luyện 55% so với các phương pháp huấn luyện pipeline chuẩn trong các môi trường này mà không làm giảm sự hội tụ.
Phương pháp này cũng có khả năng chịu lỗi cao — thể hiện khả năng chịu lỗi lên đến 50% các nút thất bại, chỉ mất 7% perplexity trong quá trình suy luận (tức là khi một nửa số nút của pipeline cho một mô hình không khả dụng, chúng ta chỉ mất 7% perplexity khi thực hiện suy luận qua mô hình giờ đây đã trở nên thưa thớt).
Khác với các phương pháp huấn luyện song song dữ liệu hiện có, SkipPipe có thể huấn luyện các mô hình lớn. Vì nó chia sẻ chính mô hình giữa các nút, thay vì chỉ chia sẻ bộ dữ liệu, SkipPipe giảm khối lượng bộ nhớ trên mỗi nút và loại bỏ giới hạn kích thước mô hình, cho phép xây dựng các mô hình có kích thước lý thuyết vô hạn trên cơ sở hạ tầng phân tán và phân tán.
Cách hoạt động
SkipPipe dựa trên song song pipeline truyền thống, nhưng lựa chọn một cách động các giai đoạn cần thực hiện cho mỗi micro-batch, thay vì xử lý mỗi giai đoạn theo thứ tự. Trong các pipeline truyền thống, mỗi micro-batch đi qua tất cả các lớp của mô hình, điều này có nghĩa là nếu một giai đoạn bị chậm, tất cả các giai đoạn tiếp theo sẽ phải chờ đợi. SkipPipe cho phép xác định tỷ lệ bỏ qua (k%), từ đó cho phép bỏ qua một số lớp đối với micro-batch nếu chúng có thể gây ra độ trễ.

SkipPipe sử dụng một thuật toán lập kế hoạch mới để phân tích các đường đi tính toán có sẵn qua mạng và chọn ra tuyến đường tối ưu. Điều này giúp giảm thiểu thời gian chờ đợi của GPU và cải thiện khả năng chịu lỗi, cho phép hệ thống bỏ qua các nút không hoạt động hoặc chậm.
Kết luận
SkipPipe cung cấp một thành phần cơ bản cho học máy phân tán (và phân tán), vừa đảm bảo hiệu quả giao tiếp, vừa đảm bảo khả năng chịu lỗi cho song song pipeline, trong khi các công trình hiện tại chỉ tập trung vào song song dữ liệu. Bằng cách tập trung vào song song pipeline, chúng tôi loại bỏ giới hạn kích thước mô hình mà các phương pháp hiện có gặp phải, cho phép các mô hình mở rộng qua nhiều nút phân tán thay vì chỉ sao chép và huấn luyện song song.
Khi kết hợp với hệ thống điều phối và phương pháp xác minh đáng tin cậy, SkipPipe cho phép huấn luyện hiệu quả các mô hình tiên tiến khổng lồ trên điện toán crowdsourcing.
Để tìm hiểu thêm, bạn có thể đọc bài báo đầy đủ tại đây.
SkipPipe hoàn toàn mở và chúng tôi khuyến khích cộng đồng nghiên cứu xây dựng phát triển của mình dựa trên mã nguồn.