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

Song song dữ liệu

Song song dữ liệu huấn luyện một mô hình nhanh hơn bằng cách sao chép mô hình đó trên nhiều GPU, trong đó mỗi GPU xử lý một phần dữ liệu khác nhau.

Tổng quan

Song song dữ liệu huấn luyện một mô hình nhanh hơn bằng cách sao chép mô hình đó trên nhiều GPU, trong đó mỗi GPU xử lý một phần dữ liệu khác nhau. Đó là kỹ thuật đặc biệt cho phép các nhóm mở rộng quy mô lên hàng chục hoặc hàng nghìn máy gia tốc.

Song song dữ liệu 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

Trong song song dữ liệu, mỗi GPU giữ một bản sao giống hệt trọng số của mô hình nhưng xử lý một loạt ví dụ đào tạo nhỏ riêng biệt. Mỗi thiết bị tính toán lượt tiến và lượt lùi một cách độc lập, tạo ra tập hợp độ dốc riêng. Trước khi cập nhật trọng số, độ dốc được tính trung bình trên tất cả các GPU bằng cách sử dụng thao tác giao tiếp all-reduce, để mọi bản sao vẫn được đồng bộ hóa và hoạt động như thể nó được huấn luyện trên một lô kết hợp lớn. Điều này giúp tăng thông lượng một cách hiệu quả: 8 GPU có thể xử lý khoảng 8 lần dữ liệu mỗi bước. Điều đáng chú ý là mỗi GPU phải phù hợp với toàn bộ mô hình, độ dốc của nó và trạng thái tối ưu hóa trong bộ nhớ, do đó, việc song song dữ liệu đơn giản không giúp ích gì khi một mô hình quá lớn đối với một thiết bị.

Hiểu biết kỹ thuật

Thao tác chính là giảm toàn bộ, tính tổng độ dốc trên các thiết bị và phân phối lại kết quả. Giảm toàn bộ vòng, được sử dụng bởi các thư viện như NCCL và Horovod, chuyển các phần chuyển màu xung quanh một vòng logic để tổng giao tiếp không phụ thuộc vào số lượng GPU. DistributedDataParallel của PyTorch chồng chéo giao tiếp này với truyền ngược, kích hoạt đồng bộ hóa độ dốc cho các lớp đầu trong khi các lớp sau vẫn đang tính toán, ẩn phần lớn độ trễ của mạng.

Làm chủ tính song song của dữ liệu

Song song dữ liệu huấn luyện một mô hình nhanh hơn bằng cách sao chép mô hình đó trên nhiều GPU, trong đó mỗi GPU xử lý một phần dữ liệu khác nhau. Đó là kỹ thuật đặc biệt cho phép các nhóm mở rộng quy mô lên hàng chục hoặc hàng nghìn máy gia tốc. Song song dữ liệu 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 tính song song của dữ liệu như một mô hình vận hành 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 Cơ chế song song dữ liệu 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 tính song song dữ liệu

Song song dữ liệu thuần túy ngày càng được kết hợp với phân mảnh và song song mô hình thành các chiến lược 'song song nD' lai cho các mô hình nghìn tỷ tham số. Mong đợi tính năng nén gradient thông minh hơn, giao tiếp không đồng bộ và chồng chéo cũng như tính năng giảm toàn bộ nhận biết cấu trúc liên kết khai thác NVLink nhanh trong một nút và InfiniBand chậm hơn trên các nút. Khi các cụm phát triển, việc giảm tỷ lệ giao tiếp trên tính toán vẫn là thách thức kỹ thuật trọng tâm để khiến hàng nghìn GPU bận rộn.

Triển khai trong thế giới thực

Đào tạo trình phân loại hình ảnh ResNet trên 8 GPU trong một máy chủ bằng PyTorch DistributedDataParallel, mỗi GPU xử lý 32 trong số 256 hình ảnh.

Mở rộng quá trình đào tạo trước BERT trên hàng trăm GPU bằng Horovod, sử dụng tính năng giảm toàn bộ vòng để đồng bộ hóa độ dốc từng bước.

Tinh chỉnh mô hình đề xuất trên cụm nhiều nút trong đó mỗi nút xử lý các phân đoạn tương tác người dùng khác nhau.

Sử dụng MirroredStrategy của TensorFlow để phổ biến việc đào tạo mô hình tầm nhìn trên nhiều GPU trên một máy trạm duy nhất với những thay đổi mã tối thiểu.

Các mẫu triển khai

Song song dữ liệu trong thực tế

Đào tạo trình phân loại hình ảnh ResNet trên 8 GPU trong một máy chủ bằng PyTorch DistributedDataParallel, mỗi GPU xử lý 32 trong số 256 hình ảnh.

Đào tạo trình phân loại hình ảnh ResNet trên 8 GPU trong một máy chủ sử dụng PyTorch DistributedDataParallel, mỗi GPU xử lý 32 trong số 256 hình ảnh Các nhóm thường nhận được kết quả tốt hơn khi xác định trướ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.

Song song dữ liệu trong thực tế

Mở rộng quá trình đào tạo trước BERT trên hàng trăm GPU bằng Horovod, sử dụng tính năng giảm toàn bộ vòng để đồng bộ hóa độ dốc từng bước.

Mở rộng quy trình đào tạo trước BERT trên hàng trăm GPU bằng Horovod, sử dụng tính năng giảm toàn bộ vòng để đồng bộ hóa độ dốc mỗi bước. Các nhóm thường đạt được kết quả tốt hơn khi 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.

Song song dữ liệu trong thực tế

Tinh chỉnh mô hình đề xuất trên cụm nhiều nút trong đó mỗi nút xử lý các phân đoạn tương tác người dùng khác nhau.

Tinh chỉnh mô hình đề xuất trên cụm nhiều nút trong đó mỗi nút xử lý các phân đoạn tương tác người dùng khác nhau. 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.

Song song dữ liệu trong thực tế

Sử dụng MirroredStrategy của TensorFlow để phổ biến việc đào tạo mô hình tầm nhìn trên nhiều GPU trên một máy trạm duy nhất với những thay đổi mã tối thiểu.

Sử dụng MirroredStrategy của TensorFlow để mở rộng hoạt động đào tạo mô hình tầm nhìn trên nhiều GPU trên một máy trạm với ít thay đổi mã nhất Các nhóm thường đạt được kết quả tốt hơn khi xác định trướ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á