Một chuỗi cũng mạnh như liên kết yếu nhất của nó - và cơ sở hạ tầng AI/ML của bạn chỉ nhanh bằng thành phần chậm nhất của bạn. Nếu bạn đào tạo các mô hình học máy bằng GPU thì liên kết yếu có thể là giải pháp lưu trữ của bạn. Kết quả là cái mà tôi gọi là “Sự cố GPU chết đói”. Sự cố GPU đói xảy ra khi mạng hoặc giải pháp lưu trữ của bạn không thể cung cấp dữ liệu đào tạo cho logic đào tạo đủ nhanh để sử dụng tối đa GPU của bạn. Các triệu chứng khá rõ ràng. Nếu bạn đang theo dõi GPU của mình thì bạn sẽ nhận thấy rằng chúng không bao giờ được sử dụng hết công suất. Nếu bạn đã thiết lập mã đào tạo của mình thì bạn sẽ nhận thấy rằng tổng thời gian đào tạo bị chi phối bởi IO.
Thật không may, có một tin xấu cho những người đang vật lộn với vấn đề này. Hãy xem xét một số tiến bộ được thực hiện với GPU để hiểu vấn đề này sẽ trở nên tồi tệ hơn như thế nào trong những năm tới.
GPU đang ngày càng nhanh hơn. Không chỉ hiệu năng thô ngày càng tốt hơn mà bộ nhớ và băng thông cũng ngày càng tăng. Chúng ta hãy xem ba đặc điểm này của GPU gần đây nhất của Nvidia
GPU | HIỆU SUẤT | KÝ ỨC | BĂNG THÔNG BỘ NHỚ |
---|---|---|---|
A100 | 624 TFLOPS | 40GB | 1.555GB/giây |
H100 | 1.979 TFLOPS | 80GB | 3,35TB/giây |
H200 | 1.979 TFLOPS | 141GB | 4,8 TB/giây |
Bảng trên sử dụng số liệu thống kê phù hợp với giải pháp ổ cắm PCIe (Peripheral Component Interconnect Express) cho A100 và giải pháp ổ cắm SXM (Mô-đun PCI Express máy chủ) cho H100 và H200. Số liệu thống kê SXM không tồn tại cho A100. Liên quan đến hiệu suất, số liệu thống kê Lõi căng 16 dấu phẩy động được sử dụng để so sánh.
Một vài quan sát về số liệu thống kê trên đáng được nêu ra. Đầu tiên, H100 và H200 có hiệu năng tương đương (1.979 TFLOPS), gấp 3,17 lần so với A100. H100 có bộ nhớ nhiều gấp đôi so với A100 và băng thông bộ nhớ cũng tăng lên ở mức tương tự - điều này hợp lý nếu không GPU sẽ tự chết đói. H200 có thể xử lý bộ nhớ khổng lồ 141GB và băng thông bộ nhớ của nó cũng tăng tương ứng với các GPU khác.
Chúng ta hãy xem xét từng số liệu thống kê chi tiết hơn và thảo luận về ý nghĩa của nó đối với học máy.
Hiệu suất - Một teraflop (TFLOP) là một nghìn tỷ (10^12) phép tính dấu phẩy động mỗi giây. Đó là số 1 với 12 số 0 sau nó (1.000.000.000.000). Thật khó để so sánh TFLOP với nhu cầu IO tính bằng gigabyte vì các phép toán dấu phẩy động xảy ra trong quá trình đào tạo mô hình liên quan đến phép toán tensor đơn giản cũng như các dẫn xuất đầu tiên dựa trên hàm mất mát (còn gọi là độ dốc). Tuy nhiên, có thể so sánh tương đối. Nhìn vào số liệu thống kê ở trên, chúng ta thấy rằng H100 và H200, cả hai đều hoạt động ở mức 1.979 TFLOPS, nhanh hơn gấp 3 lần - có khả năng tiêu thụ dữ liệu nhanh hơn gấp 3 lần nếu mọi thứ khác có thể theo kịp.
Bộ nhớ GPU - Còn được gọi là RAM video hoặc RAM đồ họa. Bộ nhớ GPU tách biệt với bộ nhớ chính (RAM) của hệ thống và được thiết kế đặc biệt để xử lý các tác vụ xử lý đồ họa chuyên sâu do card đồ họa thực hiện. Bộ nhớ GPU quyết định kích thước lô khi đào tạo mô hình. Trước đây, kích thước lô đã giảm khi chuyển logic huấn luyện từ CPU sang GPU. Tuy nhiên, khi bộ nhớ GPU bắt kịp bộ nhớ CPU về dung lượng, kích thước lô được sử dụng để đào tạo GPU sẽ tăng lên. Khi hiệu suất và dung lượng bộ nhớ tăng cùng lúc, kết quả là các yêu cầu lớn hơn trong đó mỗi gigabyte dữ liệu huấn luyện sẽ được xử lý nhanh hơn.
Băng thông bộ nhớ - Hãy coi băng thông bộ nhớ GPU như “đường cao tốc” kết nối bộ nhớ và lõi tính toán. Nó xác định lượng dữ liệu có thể được truyền trên một đơn vị thời gian. Giống như đường cao tốc rộng hơn cho phép nhiều ô tô đi qua trong một khoảng thời gian nhất định, băng thông bộ nhớ cao hơn cho phép di chuyển nhiều dữ liệu hơn giữa bộ nhớ và GPU. Như bạn có thể thấy, các nhà thiết kế của những GPU này đã tăng băng thông bộ nhớ cho mỗi phiên bản mới tỷ lệ thuận với bộ nhớ; do đó, bus dữ liệu bên trong của chip sẽ không bị nghẽn cổ chai.
Vào tháng 8 năm 2023, Nvidia
Mặc dù tất cả các thông số kỹ thuật trên Grace Hopper Superchip đều thể hiện sự cải tiến so với các chip trước đó nhưng cải tiến quan trọng nhất đối với các kỹ sư AI/ML là bộ nhớ hợp nhất của nó. Grace Hopper cấp cho GPU toàn quyền truy cập vào bộ nhớ của CPU. Điều này rất quan trọng vì trước đây, các kỹ sư muốn sử dụng GPU để đào tạo trước tiên phải lấy dữ liệu vào bộ nhớ hệ thống, sau đó chuyển dữ liệu sang bộ nhớ GPU. Grace Hopper loại bỏ nhu cầu sử dụng bộ nhớ của CPU làm bộ đệm thoát để đưa dữ liệu đến GPU.
Việc so sánh đơn giản một số số liệu thống kê GPU chính cũng như khả năng của Grace Hopper hẳn sẽ hơi đáng sợ đối với bất kỳ ai chịu trách nhiệm nâng cấp GPU và đảm bảo mọi thứ khác có thể theo kịp. Một giải pháp lưu trữ chắc chắn sẽ cần cung cấp dữ liệu với tốc độ nhanh hơn để theo kịp những cải tiến GPU này. Hãy xem xét một giải pháp phổ biến cho vấn đề GPU đói.
Có một giải pháp phổ biến và rõ ràng cho vấn đề này mà không yêu cầu các tổ chức phải thay thế hoặc nâng cấp giải pháp lưu trữ hiện có của họ. Bạn có thể giữ nguyên giải pháp lưu trữ hiện tại của mình để có thể tận dụng tất cả các tính năng doanh nghiệp mà tổ chức của bạn yêu cầu. Giải pháp lưu trữ này rất có thể là Hồ dữ liệu chứa tất cả dữ liệu phi cấu trúc của tổ chức của bạn - do đó, nó có thể khá lớn và tổng chi phí sở hữu là một điều cần cân nhắc. Nó cũng có nhiều tính năng được kích hoạt để dự phòng, độ tin cậy và bảo mật, tất cả đều ảnh hưởng đến hiệu suất.
Tuy nhiên, điều có thể làm là thiết lập giải pháp lưu trữ trong cùng trung tâm dữ liệu với cơ sở hạ tầng điện toán của bạn - lý tưởng nhất là giải pháp này sẽ nằm trong cùng cụm với máy tính của bạn. Đảm bảo bạn có mạng tốc độ cao với các thiết bị lưu trữ tốt nhất hiện có. Từ đó, chỉ sao chép dữ liệu cần thiết cho việc đào tạo ML.
Amazon vừa công bố
Giải pháp phổ biến mà tôi đã nêu ở trên yêu cầu AWS tùy chỉnh giải pháp lưu trữ S3 của mình bằng cách cung cấp các nhóm đặc biệt với chi phí tăng lên. Ngoài ra, một số tổ chức (không phải là khách hàng của MinIO) đang mua các giải pháp lưu trữ chuyên dụng để thực hiện những việc đơn giản mà tôi đã mô tả ở trên. Thật không may, điều này làm tăng thêm sự phức tạp cho cơ sở hạ tầng hiện có vì cần có một sản phẩm mới để giải quyết một vấn đề tương đối đơn giản.
Điều trớ trêu là khách hàng của MinIO luôn có tùy chọn này. Bạn có thể thực hiện chính xác những gì tôi đã mô tả ở trên bằng bản cài đặt MinIO mới trên mạng tốc độ cao với ổ NVMe. MinIO là giải pháp lưu trữ được xác định bằng phần mềm - cùng một sản phẩm chạy trên kim loại trần hoặc cụm bạn chọn bằng nhiều thiết bị lưu trữ. Nếu Data Lake công ty của bạn sử dụng MinIO trên kim loại trần với ổ cứng HDD và nó hoạt động tốt với tất cả dữ liệu không phải ML của bạn - thì không có lý do gì để thay thế nó. Tuy nhiên, nếu bộ dữ liệu được sử dụng cho ML yêu cầu IO nhanh hơn vì bạn đang sử dụng GPU, thì hãy xem xét cách tiếp cận mà tôi đã nêu trong bài đăng này. Hãy đảm bảo tạo một bản sao dữ liệu ML để sử dụng trong phiên bản MinIO tốc độ cao của bạn - một bản sao vàng phải luôn tồn tại trong bản cài đặt MinIO cứng cáp. Điều này sẽ cho phép bạn tắt các tính năng như sao chép và mã hóa trong phiên bản MinIO tốc độ cao của bạn, tăng hiệu suất hơn nữa. Sao chép dữ liệu dễ dàng bằng MinIO's
MinIO có khả năng đạt được hiệu suất cần thiết để cung cấp cho các GPU đang đói khát của bạn - một
Tải xuống
Cũng xuất hiện ở đây .