paint-brush
GPU đói cần lưu trữ đối tượng nhanhtừ tác giả@minio
21,891 lượt đọc
21,891 lượt đọc

GPU đói cần lưu trữ đối tượng nhanh

từ tác giả MinIO6m2024/03/15
Read on Terminal Reader
Read this story w/o Javascript

dài quá đọc không nổi

MinIO có khả năng đạt hiệu suất cần thiết để cung cấp cho các GPU đang đói khát của bạn; điểm chuẩn gần đây đã đạt được 325 GiB/s trên GET và 165 GiB/s trên PUT chỉ với 32 nút SSD NVMe có sẵn.

People Mentioned

Mention Thumbnail
featured image - GPU đói cần lưu trữ đối tượng nhanh
MinIO HackerNoon profile picture

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

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 A100 , các H100 H200 .


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.

Một cái nhìn về tương lai

Vào tháng 8 năm 2023, Nvidia công bố nền tảng thế hệ tiếp theo của nó dành cho điện toán tăng tốc và AI tổng hợp - Nền tảng siêu chip GH200 Grace Hopper. Nền tảng mới sử dụng Siêu chip Grace Hopper , có thể được kết nối với các Superchip bổ sung bằng cách NVIDIA NVLink , cho phép chúng làm việc cùng nhau trong quá trình huấn luyện và suy luận mô hình.


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.

Một giải pháp chung

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ố Một vùng Amazon S3 Express minh họa cho cách tiếp cận này. Đây là loại vùng chứa được tối ưu hóa để có thông lượng cao và độ trễ thấp và được giới hạn trong một Vùng sẵn sàng duy nhất (không có bản sao). Mục đích của Amazon là để khách hàng sử dụng nó để giữ bản sao dữ liệu yêu cầu truy cập tốc độ cao. Do đó, nó được xây dựng nhằm mục đích đào tạo mô hình. Theo Amazon, nó cung cấp tốc độ truy cập dữ liệu gấp 10 lần so với S3 Standard với chi phí gấp 8 lần. Đọc thêm về đánh giá của chúng tôi về Amazon S3 Express One Zone đây .

Giải pháp MinIO

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 phản ánh tính năng.



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 điểm chuẩn gần đây đạt được 325 GiB/s trên GET và 165 GiB/s trên PUT chỉ với 32 nút SSD NVMe có sẵn.


Tải xuống MinIO ngay hôm nay và tìm hiểu việc xây dựng kho dữ liệu dễ dàng như thế nào. Nếu bạn có bất kỳ câu hỏi nào, hãy liên hệ với chúng tôi trên chùng xuống !


Cũng xuất hiện ở đây .