Triển khai AI quy mô lớn với Bottlerocket và Amazon EC2 instance với sức mạnh từ NVIDIA

Việc triển khai các dịch vụ được AI hỗ trợ như trợ lý giọng nói, gợi ý sản phẩm trên các nền tảng mua sắm và tự động hóa call center trên quy mô lớn là một thách thức. Để mang lại trải nghiệm tốt nhất cho người dùng cuối, trong khi giảm chi phí hoạt động thì đòi hỏi phải tính đến nhiều yếu tố. Chúng bao gồm các thành phần và hiệu suất của hạ tầng bên dưới, tính linh hoạt để mở rộng tài nguyên dựa trên nhu cầu của người dùng, chi phí quản lý cả hệ thống cụm và vấn đề bảo mật.

Để giải quyết những thách thức khi triển khai AI trên quy mô lớn, bộ phận CNTT trong nhiều doanh nghiệp đã sử dụng Kubernetes (K8s) để điều phối container và các nền tảng xử lý tăng tốc (accelerated computing) của NVIDIA để đáp ứng nhu cầu hiệu suất trong việc triển khai AI ở cấp độ sản xuất. Ngoài ra, ngày càng có sự tập trung vào vai trò của hệ điều hành (OS) đối với hạ tầng cấp sản xuất. Hệ điều hành host của môi trường sản xuất có tác động trực tiếp đến bảo mật, sử dụng tài nguyên và thời gian cần thiết để cung cấp và mở rộng quy mô tài nguyên bổ sung. Điều này ảnh hưởng đến trải nghiệm người dùng, vấn đề bảo mật và chi phí triển khai khi nhu cầu của người dùng tăng lên.

Botterocket: một hệ điều hành tối ưu hóa cho container dựa trên Linux

Bottlerocket là một HĐH tối giản, mã nguồn mở và Linux-based do AWS phát triển và được xây dựng để chuyên cho việc chạy các container. Với sự tập trung về bảo mật, nó chỉ gồm các gói phần mềm cần thiết nhất để chạy các container.

Giải pháp hạ tầng Deep Learning, Trí tuệ Nhân tạo - AI

Điều này làm giảm đi đáng kể bề mặt có thể bị tấn công và tác động của các lỗ hổng, nó đòi hỏi ít nỗ lực hơn để đáp ứng các yêu cầu về tính tuân thủ của node. Ngoài ra, việc có footprint tối thiểu trên host của Bottlerocket giúp cải thiện việc sử dụng tài nguyên của node và cả thời gian boot.

Các bản cập nhật cho Bottlerocket được áp dụng trong một bước duy nhất và có thể được roll-back lại nếu cần. Điều này giúp tỷ lệ lỗi thấp hơn và cải thiện thời gian hoạt động cho các ứng dụng container. Chúng cũng có thể được tự động hóa bằng cách sử dụng các dịch vụ điều phối container như Amazon Elastic Kubernetes Service (EKS) và Amazon Elastic Container Service (ECS).

Sử dụng Bottlerocket với các instance của Amazon EC2 có trang bị GPU NVIDIA

AWS và NVIDIA đã hợp tác để cho phép Bottlerocket hỗ trợ tất cả các instance Amazon EC2 có hỗ trợ NVIDIA GPU bao gồm P4d, P3, G4dn và G5. Sự hỗ trợ này kết hợp sức mạnh xử lý của các instance GPU của NVIDIA với lợi ích của hệ điều hành được tối ưu hóa cho container để triển khai các mô hình AI trên các cụm K8s ở quy mô lớn.

Kết quả là tính bảo mật được nâng cao và thời gian khởi động nhanh hơn, đặc biệt khi chạy các tải công việc AI có thể scaling các instance GPU trong thời gian thực.

Hình 1: Các ứng dụng được tối ưu hóa bằng GPU được tích hợp có thể được triển khai trên các cụm K8s bằng cách sử dụng hỗ trợ Bottlerocket cho các instance Amazon EC2 có hỗ trợ NVIDIA.

Hỗ trợ cho GPU NVIDIA được cung cấp dưới dạng Bottlerocket GPU-optimized AMI. Điều này bao gồm trình điều khiển NVIDIA, K8s GPU device-plugin và container runtime được tích hợp trong base image.

AMI cung cấp mọi thứ để cấp phát và đăng ký các node tự quản lý, với các instance GPU NVIDIA và hệ điều hành Bottlerocket, cho cụm Amazon EKS.

Ngoài ra, bạn cũng có thể tận dụng phần mềm được tối ưu hóa của NVIDIA từ Danh mục NVIDIA NGC trên AWS Marketplace — một nơi tập trung cho các model được đào tạo sẵn, các scripts, Helm charts và một loạt các phần mềm cho AI và HPC.

Để triển khai AI inference trên AWS, bạn có thể tận dụng máy chủ NVIDIA Triton Inference Server. Sử dụng phần mềm phục vụ suy luận mã nguồn mở để triển khai các mô hình AI được đào tạo từ nhiều framework khác nhau bao gồm TensorFlow, TensorRT, PyTorch, ONNX, XGBoost và Python trên bất kỳ hạ tầng GPU hoặc CPU nào.

Tìm hiểu thêm về Bottlerocket support cho GPU NVIDIA từ AWS.

____
Bài viết liên quan

Góp ý / Liên hệ tác giả