Truyền thông tập thể và NCCL
Giao tiếp tập thể là cách một nhóm GPU trao đổi và kết hợp dữ liệu và NCCL là thư viện của NVIDIA giúp những trao đổi đó diễn ra nhanh chóng.
Tổng quan
Các thao tác như all-reduce là nhịp đập của huấn luyện phân tán, đồng bộ các gradient trên từng GPU mỗi bước.
Lặn sâu
Huấn luyện một mô hình lớn có nghĩa là mỗi GPU tính toán độ dốc trên phần dữ liệu riêng của nó, sau đó tất cả các GPU phải thống nhất về kết quả tổng hợp trước bước tiếp theo. Sự phối hợp đó được thực hiện bằng các hoạt động tập thể: giảm tổng các giá trị trên các GPU và mang lại kết quả cho mọi người; all-gather thu thập từng phần của GPU thành một bản sao đầy đủ trên tất cả chúng; phát sóng gửi dữ liệu của một GPU đến phần còn lại; giảm phân tán kết hợp sau đó chia tách. NCCL (Thư viện truyền thông tập thể NVIDIA) triển khai những điều này một cách hiệu quả trên các GPU trong một máy chủ và trên nhiều máy chủ, sử dụng các thuật toán nhận biết cấu trúc liên kết như vòng và cây giảm hoàn toàn. Nó khai thác NVLink bên trong một nút và InfiniBand hoặc RoCE giữa các nút và là xương sống truyền thông trong PyTorch DDP, FSDP, DeepSpeed và Megatron.
Hiểu biết kỹ thuật
Giảm toàn bộ vòng là thuật toán cổ điển: GPU tạo thành một vòng logic và dữ liệu được chia thành các phần luân chuyển sao cho mỗi bước sẽ chồng chéo lên nhau giao tiếp, làm cho tổng băng thông truyền đạt tối ưu và gần như không phụ thuộc vào số lượng GPU. Đối với nhiều nút, thuật toán dựa trên cây giảm độ trễ bằng cách kết hợp các kết quả theo thứ bậc. NCCL tự động phát hiện cấu trúc liên kết, chọn thuật toán tốt nhất và có thể tải phép toán rút gọn vào mạng bằng NVIDIA SHARP, giảm một nửa dữ liệu phải truyền qua các liên kết.
Tác động chiến lược
Chi phí và ngân sách
Các quyết định về kiến trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm.
Quyết định rõ ràng hơn
Giáo dục kỹ thuật giúp các nhóm chọn nhóm phù hợp chứ không chỉ nhóm mới nhất.
Kiểm soát chất lượng
Lựa chọn kỹ thuật tốt hơn làm giảm sự cố về độ tin cậy trong sản xuất.
Tương lai của Truyền thông Tập thể và NCCL
Khi các cụm có quy mô lên tới hàng trăm nghìn GPU, hoạt động giao tiếp ngày càng chiếm ưu thế trong thời gian đào tạo, vì vậy các thư viện tập thể là một lĩnh vực hấp dẫn. Yêu cầu điện toán trong mạng sâu hơn (các bộ chuyển mạch thực hiện việc giảm thiểu), sự chồng chéo giữa tính toán và giao tiếp tốt hơn để ẩn độ trễ và các tập hợp có độ chính xác thấp hơn sẽ thu nhỏ các byte được di chuyển. Sự cạnh tranh cũng đang gia tăng, với những nỗ lực của nhiều nhà cung cấp và các giải pháp thay thế đẩy RDMA dựa trên Ethernet, trong khi NCCL tiếp tục thắt chặt việc tích hợp với NVLink, NVSwitch và các loại vải quang học mới nổi.
Triển khai trong thế giới thực
Đồng bộ hóa độ dốc trong mỗi bước đào tạo trên tất cả các GPU bằng cách sử dụng tính năng giảm toàn bộ trong PyTorch DistributedDataParallel
Phân chia trạng thái trình tối ưu hóa và thu thập các tham số theo yêu cầu với tính năng thu thập toàn bộ và giảm phân tán trong FSDP hoặc DeepSpeed ZeRO
Phát trọng số mô hình ban đầu từ GPU này sang tất cả các GPU khác khi bắt đầu quá trình huấn luyện
Sử dụng tính năng giảm toàn bộ vòng trên NVLink và InfiniBand để duy trì băng thông ở mức cao trên các cụm GPU nhiều nút
Rủi ro & lan can
Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu của hệ thống rộng hơn.
Chi phí cơ sở hạ tầng và bảo trì thường được đánh giá thấp.
Khoảng cách về bảo mật và khả năng quan sát có thể tăng lên khi hệ thống trở nên phức tạp hơn.
Lộ trình thực hiện
Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai.
Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.
Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.
Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô.
Tiếp tục khám phá
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Collective Communication and NCCL quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Hướng dẫn tiếp theo
Tính năng phục vụ trực tuyến và ngoại tuyến bị lệch
Câu hỏi thường gặp
Giao tiếp Tập thể và NCCL là gì?
Giao tiếp tập thể là cách một nhóm GPU trao đổi và kết hợp dữ liệu và NCCL là thư viện của NVIDIA giúp những trao đổi đó diễn ra nhanh chóng. Các hoạt động như giảm toàn bộ là nhịp tim của quá trình đào tạo phân tán, đồng bộ hóa độ dốc trên mỗi GPU theo từng bước.
Hoạt động all-reduce đạt được điều gì trong đào tạo phân tán?
Tổng giảm toàn bộ (hoặc nói cách khác là kết hợp) một giá trị trên mọi GPU và phân phối kết quả giống hệt nhau cho tất cả chúng, đó là cách độ dốc được đồng bộ hóa.
Từ viết tắt NCCL có nghĩa là gì?
NCCL là Thư viện truyền thông tập thể NVIDIA, triển khai các hoạt động tập thể đa GPU và đa nút nhanh chóng.
Tại sao tính năng giảm toàn bộ vòng được coi là tối ưu băng thông?
Bằng cách chia nhỏ dữ liệu và chuyển các phần xung quanh một vòng logic, mọi liên kết đều được sử dụng đồng thời và tổng quá trình truyền gần như không phụ thuộc vào số lượng GPU.
Hoạt động tập thể nào tập hợp từng phần dữ liệu của GPU thành một bản sao đầy đủ được tất cả các GPU lưu giữ?
All-gather thu thập các phần riêng biệt từ mỗi GPU và lắp ráp bộ hoàn chỉnh trên tất cả chúng, được sử dụng nhiều trong đào tạo phân đoạn như FSDP.
NVIDIA SHARP làm gì cho hoạt động tập thể?
SHARP thực hiện tính toán trong mạng, thực hiện một phần việc giảm thiểu bên trong bộ chuyển mạch để có ít dữ liệu phải truyền qua các liên kết hơn, tăng tốc độ tập thể.