HƯỚNG DẪN KỸ THUẬT

Truyền thông tập thể và NCCL

Truyền thông tập thể điều phối dữ liệu trên một nhóm thiết bị tham gia.

Nghe hướng dẫn nàyAI thuật lại · ~2 min

Trên trang nàyĐọc trong 2 phút
  1. Tổng quan
  2. Lặn sâu
  3. Triển khai trong thế giới thực
  4. Tương lai của Truyền thông Tập thể và NCCL
  5. Đưa nó vào thực tế
  6. Tiếp tục khám phá
  7. Câu hỏi thường gặp

Tổng quan

NCCL triển khai các hoạt động giao tiếp GPU như giảm toàn bộ, thu thập toàn bộ và phát sóng; hiệu suất của chúng phụ thuộc vào kích thước tin nhắn, cấu trúc liên kết, phần cứng và cấu hình.

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.

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

Tương lai của Truyền thông Tập thể và NCCL

Các mô hình và cụm lớn hơn thúc đẩy công việc chồng chéo tính toán/truyền thông, định tuyến nhận biết cấu trúc liên kết và giảm tải mạng. Những điều này có thể cải thiện một số khối lượng công việc trong khi thêm nhu cầu cấu hình và gỡ lỗi. So sánh các thuật toán với kích thước tensor đại diện và các phiên bản bản ghi cũng như cấu trúc liên kết. Việc tham gia và xử lý bộ đệm đúng cách vẫn cần thiết ngay cả khi thư viện tự động hóa phần lớn việc định tuyến. Chỉ yêu cầu về băng thông liên kết không thể thiết lập tốc độ đào tạo từ đầu đến cuối.

Đưa nó vào thực tế

Tại sao nó quan trọng

  • 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.

coi chừng

  • 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.

Các bước tiếp theo

  1. Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai.
  2. Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.
  3. Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.
  4. 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á

Bản tin miễn phí

Nhận bản tóm tắt AI hàng ngày

Ba câu chuyện AI đã được xác minh vào mỗi buổi sáng các ngày trong tuần, được viết bằng tiếng Anh đơn giản. Miễn phí mãi mãi, không có quảng cáo.

Một email mỗi ngày trong tuần. Hủy đăng ký trong một cú nhấp chuột. Chúng tôi không bao giờ bán hoặc chia sẻ địa chỉ của bạn.

Tự kiểm tra

Làm bài kiểm tra Truyền thông tập thể và NCCL

Phản hồi tức thì về mọi câu trả lời và chứng chỉ có thể chia sẻ với ID có thể xác minh sau khi bạn vượt qua khóa học.

Bắt đầu bài kiểm tra

Hỗ trợ giáo dục AI miễn phí. AI Understanding là tổ chức phi lợi nhuận 501(c)(3) — không bao giờ có quảng cáo, không có tường phí. Hãy quyên góp

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

Giao tiếp Tập thể và NCCL là gì?

Truyền thông tập thể điều phối dữ liệu trên một nhóm thiết bị tham gia. NCCL triển khai các hoạt động giao tiếp GPU như giảm toàn bộ, thu thập toàn bộ và phát sóng; hiệu suất của chúng phụ thuộc vào kích thước tin nhắn, cấu trúc liên kết, phần cứng và cấu hình.

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 giao tiếp vòng chunked có thể hữu ích cho một tensor lớn?

Một vòng tổ chức chuyển động theo khối nhưng hiệu suất vẫn phụ thuộc vào mạng và khối lượng công việc.

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.

Giảm tải mạng được hỗ trợ như SHARP có tác dụng gì?

Khả năng giảm tải phụ thuộc vào cấu hình và phải được đánh giá.