Giải pháp lưu trữ NVMe cho AI: Một cặp đôi hoàn hảo

Khả năng lưu trữ NVMe cung cấp băng thông và độ trễ thấp mà các ứng dụng AI và Machine Learning đòi hỏi để truy cập và quản lý lượng dữ liệu khổng lồ mà chúng sử dụng.

AI và các hệ thống Machine Learning từ lâu đã dựa vào các kiến trúc tính toán và công nghệ lưu trữ truyền thống để đáp ứng nhu cầu về hiệu suất của chúng. Nhưng điều đó sẽ sớm kết thúc. AI ngày nay và các hệ thống Machine Learning – sử dụng GPU, FPGA (field-programmable gate arrays) và các ASICs (application-specific integrated circuits) – cần xử lý dữ liệu nhanh hơn nhiều so với các phiên bản trước đó.

Trong khi đó, các tập dữ liệu được sử dụng để đào tạo các hệ thống thông minh đó đã phát triển ngày càng nhanh hơn. Để đáp ứng những nhu cầu ngày càng tăng này, các nhà phát triển đang chuyển sang sử dụng NVMe cho các AI workload.

NVMe cung cấp băng thông lớn hơn và độ trễ thấp hơn so với chuẩn SAS và SATA, cho phép hiệu suất tối đa workload đòi hỏi. Chẳng hạn, Machine Learning training sử dụng hàng triệu dữ liệu mẫu để đào tạo các thuật toán, để chúng có thể đưa ra quyết định về các dữ liệu mới.

“NVMe đã dịch chuyển từ dòng sản phẩm sơ khai khi ra mắt đầu thập kỷ này thành một lựa chọn lưu trữ chính cho AI vào năm 2019”, Jason Echols, giám đốc tiếp thị kỹ thuật cấp cao của Micron Technology, hãng cung cấp ổ cứng SSD NVMe, cho biết.

Lưu trữ cơ học truyền thống có tốc độ truy xuất chỉ bằng 1/3 so với công nghệ NVMe hiện tại. Bên cạnh đó, công nghệ lưu trữ này được thiết kế với đầu đọc và đĩa quay cơ học, có bản chất là truy xuất tuần tự. Các bộ điều khiển chỉ cung cấp một số lượng hàng đợi thường tương ứng với số lượng đầu đọc trên đĩa. Ngược lại, các thiết bị NVMe có tới 64.000 hàng đợi , cho phép chúng phục vụ tới 64.000 yêu cầu dữ liệu một cách song song.

Nhanh hơn là tốt hơn

Flash là một thành phần quan trọng trong các nền tảng AI kết hợp hệ thống lưu trữ mở rộng, hiệu suất cao với hệ thống tăng tốc xử lý bằng GPU để loại bỏ các tắc nghẽn I/O và thúc đẩy khả năng nắm bắt về AI ở quy mô lớn. Nhanh hơn luôn luôn tốt hơn, vì vậy NVMe là một sự tiến triển tự nhiên của các giải pháp này, thúc đẩy hiệu suất tăng cường và đưa chúng đến gần hơn với thời gian thực.

Rất có thể NVMe sẽ thay thế lưu trữ truyền thống trong môi trường AI. Các ứng dụng AI thường yêu cầu các tập dữ liệu khổng lồ và khi các ứng dụng hướng đến vấn đề hiệu năng hơn, các hệ thống lưu trữ bổ trợ truyền thống nhanh chóng trở nên khó đáp ứng các yêu cầu xử lý.

Chỉ một vài năm trước đây, thành phần network là nhân tố chính làm hạn chế hiệu năng của hệ thống tổng thể. Khi các nhà cung cấp giải pháp chuyển sang 10 Gigabit Ethernet, rồi 25 GbE và sắp tới là 100 GbE (và sau đó là 400 GbE!), network đang nhanh chóng tiếp cận tốc độ truy cập của bộ nhớ cục bộ.

Kirill Shoikhet, kiến trúc sư trưởng tại Excelero, nhà cung cấp giải pháp distributed block-based storage cho biết, các ứng dụng AI chạy trên các hệ thống dựa trên GPU có thể sử dụng bộ lưu trữ NVMe để cung cấp cho hầu như mọi hệ thống GPU farm ở mọi quy mô với hiệu năng cao hơn rất nhiều so với các công nghệ lưu trữ truyền thống. “Các GPU hiện đại được sử dụng trong các ứng dụng AI và Machine Learning có một sự “háu ăn” mãnh liệt đối với dữ liệu, lên tới 16 GB/GPU”, ông lưu ý. “Bỏ đói sự thèm ăn đó với việc lưu trữ chậm chạm hoặc lãng phí thời gian sao chép dữ liệu qua lại làm lãng phí các tài nguyên CNTT đắt đỏ mà bạn đãđầu tư”.

Trường hợp sử dụng NVMe cho AI

NVMe hoạt động tốt cho các trường hợp sử dụng AI cụ thể, chẳng hạn như đào tạo model và các checkpoint trong machine learning, trong đó các snapshot dự phòng được thực hiện trong quá trình đào tạo. Machine Learning bao gồm hai giai đoạn: đào tạo một mô hình dựa trên những gì học được từ tập dữ liệu và sau đó thực sự chạy mô hình. “Đào tạo một mô hình là giai đoạn đói tài nguyên nhất”, Shoikhet giải thích. “Phần cứng được sử dụng cho giai đoạn này – thông thường là các GPU cao cấp hoặc SoC chuyên dụng – chúng rất đắt để mua và chạy, vì vậy chúng luôn luôn phải bận rộn”.

Làm thế nào các bộ dữ liệu được sử dụng để đào tạo các ứng dụng học máy

Bộ dữ liệu hiện đại được sử dụng cho đào tạo mô hình có thể rất lớn. Chẳng hạn, MRI scanner có thể đạt tới nhiều terabyte và khi được sử dụng cho học máy, có thể cần hàng chục hoặc thậm chí hàng trăm ngàn hình ảnh.

“Ngay cả khi việc đào tạo tự chạy từ RAM, bộ nhớ nên được cấp dữ liệu từ bộ lưu trữ NVMe”, Shoikhet nói. Phân trang dữ liệu đào tạo cũ và đưa vào dữ liệu mới nên được thực hiện nhanh nhất có thể để giữ cho GPU vận hành. Điều đó có nghĩa là độ trễ cũng phải thấp, và đối với loại ứng dụng này, NVMe là giao thức duy nhất hỗ trợ cả băng thông cao và độ trễ thấp.

Cài đặt checkpoint cũng được hưởng lợi từ công nghệ NVMe. “Nếu quá trình đào tạo kéo dài, hệ thống có thể chọn lưu snapshot của bộ nhớ vào bộ lưu trữ NVMe để cho phép khởi động lại từ snapshot đó trong trường hợp xảy ra sự cố”, Shoikhet giải thích. “Lưu trữ NVMe cũng rất phù hợp cho tình huống này.”

Cạm bẫy tiềm năng

Điều quan trọng là phải hiểu đầy đủ cấu hình I/O lưu trữ của ứng dụng AI để vận dụng SSD NVMe phù hợp với các nhu cầu cụ thể. “Một số môi trường AI, đặc biệt là đào tạo, rất tập trung, có nghĩa là bạn có thể nhận ra lợi ích về chi phí và hiệu suất mà không cần phá vỡ ngân hàng”, Echols nói.

Đối với tất cả các trường hợp sử dụng liên quan đến NVMe cho AI, Hausmann khuyên nên tránh xa các công nghệ lưu trữ NVMe độc quyền và thay vào đó, tìm kiếm giải pháp NVMe được tích hợp trong các sản phẩm doanh nghiệp hàng đầu. “Bạn có thể mất vài nano giây trên giấy, nhưng bạn sẽ đi trước nhiều năm ánh sáng khi hệ thống của bạn sẵn sàng hoạt động và được hỗ trợ tốt trong sáu tháng tiếp theo”.

Liên hệ tác giả