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

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

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.

Truyền thông tập thể và NCCL là một khối xây dựng kỹ thuật ảnh hưởng đến chất lượng mô hình, chi phí cơ sở hạ tầng, độ trễ và độ tin cậy trên quy mô lớn.

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ể giảm 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.

Làm chủ 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. 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. Truyền thông tập thể và NCCL là một khối xây dựng kỹ thuật ảnh hưởng đến chất lượng mô hình, chi phí cơ sở hạ tầng, độ trễ và độ tin cậy trên quy mô lớn. Để xây dựng sự hiểu biết sâu sắc, hãy coi Truyền thông tập thể và NCCL như một mô hình hoạt động chứ không phải một tính năng duy nhất: xác định kết quả mong muốn, làm rõ các giả định và tách biệt những gì hệ thống có thể thực hiện một cách đáng tin cậy với những gì vẫn cần đến sự đánh giá của chuyên gia.

Trong thực tế, các nhóm mạnh sử dụng Truyền thông tập thể và NCCL sẽ tối ưu hóa các lựa chọn về kiến ​​trúc, dữ liệu và cơ sở hạ tầng theo độ tin cậy và chi phí. Họ ghi lại các tiêu chí thành công rõ ràng, kiểm tra dựa trên dữ liệu và quy trình làm việc thực tế, đồng thời lặp lại dựa trên các kiểu thất bại được quan sát thay vì chiến thắng điểm chuẩn một lần. Đây là nơi sự hiểu biết về mặt lý thuyết biến thành khả năng bền vững trên toàn bộ sản phẩm, chính sách và hoạt động.

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. Đồng thời, Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu lớn hơn của hệ thống. Cách tiếp cận linh hoạt nhất là kết hợp tốc độ thử nghiệm với kỷ luật quản trị: chạy thử nghiệm, thu thập bằng chứng, xuất bản nhật ký quyết định và liên tục cập nhật các biện pháp bảo vệ khi hành vi của mô hình, kỳ vọng của người dùng và các yêu cầu pháp lý phát triển.

Tác động chiến lược

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.

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. Trong quá trình triển khai chất lượng cao, điều này được chuyển thành các quy tắc vận hành, ranh giới quyền sở hữu và quy trình đánh giá định kỳ có thể đo lường được để các nhóm có thể mở rộng quy mô một cách tự tin thay vì mở rộng quy mô sự mơ hồ.

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.

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. Trong quá trình triển khai chất lượng cao, điều này được chuyển thành các quy tắc vận hành, ranh giới quyền sở hữu và quy trình đánh giá định kỳ có thể đo lường được để các nhóm có thể mở rộng quy mô một cách tự tin thay vì mở rộng quy mô sự mơ hồ.

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.

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. Trong quá trình triển khai chất lượng cao, điều này được chuyển thành các quy tắc vận hành, ranh giới quyền sở hữu và quy trình đánh giá định kỳ có thể đo lường được để các nhóm có thể mở rộng quy mô một cách tự tin thay vì mở rộng quy mô sự mơ hồ.

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

Các mẫu triển khai

Truyền thông tập thể và NCCL trong thực tế

Đồ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.

Đồ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 Các nhóm thường nhận được kết quả tốt hơn khi họ xác định trước các ngưỡng chất lượng, duy trì lộ trình leo thang của con người đối với các trường hợp khó khăn và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.

Truyền thông tập thể và NCCL trong thực tế

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 bằng tính năng thu thập toàn bộ và giảm phân tán trong FSDP hoặc DeepSpeed ZeRO.

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 bằng tính năng thu thập toàn bộ và giảm phân tán trong FSDP hoặc DeepSpeed ​​ZeRO. Các nhóm thường nhận được kết quả tốt hơn khi họ xác định trước các ngưỡng chất lượng, duy trì lộ trình leo thang của con người đối với các trường hợp khó khăn và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.

Truyền thông tập thể và NCCL trong thực tế

Phát trọng số mô hình ban đầu từ một GPU đến tất cả các GPU khác khi bắt đầu quá trình huấn luyện.

Truyền trọng số mô hình ban đầu từ một GPU đến tất cả các GPU khác khi bắt đầu quá trình đào tạo. Các nhóm thường đạt được kết quả tốt hơn khi họ xác định trước các ngưỡng chất lượng, theo dõi lộ trình leo thang của con người đối với các trường hợp khó khăn và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.

Truyền thông tập thể và NCCL trong thực tế

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.

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. Các nhóm thường đạt được kết quả tốt hơn khi họ xác định trước các ngưỡng chất lượng, duy trì lộ trình leo thang của con người đối với các trường hợp phức tạp và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.

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

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.

Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử dụng.

2

Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.

Điểm chuẩn trong điều kiện tải và dữ liệu thực tế. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử dụng.

3

Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.

Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử 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ô.

Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử dụng.

Tiếp tục khám phá