Chúng tôi vui mừng thông báo phiên bản mới của Toán tử Amazon SageMaker cho Kubernetes bằng cách sử dụng Bộ điều khiển AWS dành cho Kubernetes (ACK). ACK là một khung để xây dựng bộ điều khiển tùy chỉnh Kubernetes, trong đó mỗi bộ điều khiển giao tiếp với API dịch vụ AWS. Các bộ điều khiển này cho phép người dùng Kubernetes cung cấp các tài nguyên AWS như bộ chứa, cơ sở dữ liệu hoặc hàng đợi tin nhắn chỉ bằng cách sử dụng API Kubernetes.
Phát hành v1.2.9 của Nhà khai thác ACK SageMaker bổ sung hỗ trợ cho thành phần suy luận, cho đến nay chỉ khả dụng thông qua API SageMaker và Bộ công cụ phát triển phần mềm (SDK) AWS. Các thành phần suy luận có thể giúp bạn tối ưu hóa chi phí triển khai và giảm độ trễ. Với các khả năng của thành phần suy luận mới, bạn có thể triển khai một hoặc nhiều mô hình nền tảng (FM) trên cùng một Amazon SageMaker điểm cuối và kiểm soát số lượng bộ tăng tốc cũng như lượng bộ nhớ dành riêng cho mỗi FM. Điều này giúp cải thiện việc sử dụng tài nguyên, giảm trung bình 50% chi phí triển khai mô hình và cho phép bạn mở rộng quy mô điểm cuối cùng với các trường hợp sử dụng của mình. Để biết thêm chi tiết, xem Amazon SageMaker bổ sung khả năng suy luận mới để giúp giảm chi phí và độ trễ triển khai mô hình nền tảng.
Tính khả dụng của các thành phần suy luận thông qua bộ điều khiển SageMaker cho phép khách hàng sử dụng Kubernetes làm mặt phẳng điều khiển tận dụng các thành phần suy luận trong khi triển khai mô hình của họ trên SageMaker.
Trong bài đăng này, chúng tôi trình bày cách sử dụng Toán tử SageMaker ACK để triển khai các thành phần suy luận SageMaker.
ACK hoạt động như thế nào
Để lam sang tỏ ACK hoạt động như thế nào, hãy xem một ví dụ sử dụng Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Trong sơ đồ sau, Alice là người dùng Kubernetes của chúng tôi. Ứng dụng của cô ấy phụ thuộc vào sự tồn tại của nhóm S3 có tên my-bucket
.
Quy trình làm việc bao gồm các bước sau:
- Alice thực hiện cuộc gọi tới
kubectl apply
, chuyển vào một tệp mô tả Kubernetes tài nguyên tùy chỉnh mô tả thùng S3 của cô ấy.kubectl apply
chuyển tệp này, được gọi là biểu hiện, tới máy chủ API Kubernetes đang chạy trong nút bộ điều khiển Kubernetes. - Máy chủ API Kubernetes nhận được bảng kê khai mô tả nhóm S3 và xác định xem Alice có quyền để tạo một tài nguyên tùy chỉnh của loại
s3.services.k8s.aws/Bucket
và tài nguyên tùy chỉnh được định dạng đúng. - Nếu Alice được ủy quyền và tài nguyên tùy chỉnh hợp lệ, máy chủ API Kubernetes sẽ ghi tài nguyên tùy chỉnh vào
etcd
kho dữ liệu. - Sau đó nó trả lời Alice rằng tài nguyên tùy chỉnh đã được tạo.
- Tại thời điểm này, dịch vụ ACK điều khiển dành cho Amazon S3, đang chạy trên nút công nhân Kubernetes trong bối cảnh Kubernetes bình thường Pod, được thông báo rằng một loại tài nguyên tùy chỉnh mới
s3.services.k8s.aws/Bucket
Đã được tạo ra. - Sau đó, bộ điều khiển dịch vụ ACK cho Amazon S3 sẽ giao tiếp với API Amazon S3, gọi tới API CreateBucket của S3 để tạo nhóm trong AWS.
- Sau khi liên lạc với API Amazon S3, bộ điều khiển dịch vụ ACK gọi máy chủ API Kubernetes để cập nhật tài nguyên tùy chỉnh tình trạng với thông tin nó nhận được từ Amazon S3.
Các thành phần chính
Khả năng suy luận mới được xây dựng dựa trên điểm cuối suy luận thời gian thực của SageMaker. Như trước đây, bạn tạo điểm cuối SageMaker bằng cấu hình điểm cuối xác định loại phiên bản và số lượng phiên bản ban đầu cho điểm cuối. Mô hình được cấu hình trong một cấu trúc mới, một thành phần suy luận. Tại đây, bạn chỉ định số lượng bộ tăng tốc và dung lượng bộ nhớ bạn muốn phân bổ cho mỗi bản sao của mô hình, cùng với các tạo phẩm mô hình, hình ảnh vùng chứa và số lượng bản sao mô hình để triển khai.
Bạn có thể sử dụng khả năng suy luận mới từ Xưởng sản xuất Amazon SageMaker, Các SDK Python của SageMaker, AWS SDKvà Giao diện dòng lệnh AWS (AWS CLI). Họ cũng được hỗ trợ bởi Hình thành đám mây AWS. Bây giờ bạn cũng có thể sử dụng chúng với Nhà điều hành SageMaker cho Kubernetes.
Tổng quan về giải pháp
Đối với bản demo này, chúng tôi sử dụng bộ điều khiển SageMaker để triển khai bản sao của Mô hình Dolly v2 7B và một bản sao của Mẫu FLAN-T5 XXL từ Trung tâm mô hình khuôn mặt ôm trên điểm cuối thời gian thực của SageMaker bằng cách sử dụng các khả năng suy luận mới.
Điều kiện tiên quyết
Để làm theo, bạn nên cài đặt cụm Kubernetes có cài đặt bộ điều khiển SageMaker ACK v1.2.9 trở lên. Để biết hướng dẫn về cách cung cấp một Dịch vụ Kubernetes đàn hồi của Amazon (Amazon EKS) cụm với Đám mây điện toán đàn hồi Amazon (Amazon EC2) Các nút được Linux quản lý bằng eksctl, xem Bắt đầu với Amazon EKS – eksctl. Để biết hướng dẫn cài đặt bộ điều khiển SageMaker, hãy tham khảo Học máy với Bộ điều khiển ACK SageMaker.
Bạn cần quyền truy cập vào các phiên bản được tăng tốc (GPU) để lưu trữ LLM. Giải pháp này sử dụng một phiên bản ml.g5.12xlarge; bạn có thể kiểm tra tính khả dụng của các phiên bản này trong tài khoản AWS của mình và yêu cầu các phiên bản này nếu cần thông qua yêu cầu tăng Định mức dịch vụ, như minh họa trong ảnh chụp màn hình sau.
Tạo thành phần suy luận
Để tạo thành phần suy luận của bạn, hãy xác định EndpointConfig
, Endpoint
, Model
và InferenceComponent
Các tệp YAML, tương tự như các tệp được hiển thị trong phần này. Sử dụng kubectl apply -f <yaml file>
để tạo tài nguyên Kubernetes.
Bạn có thể liệt kê trạng thái của tài nguyên thông qua kubectl describe <resource-type>
; ví dụ, kubectl describe inferencecomponent
.
Bạn cũng có thể tạo thành phần suy luận mà không cần tài nguyên mô hình. Tham khảo hướng dẫn được cung cấp trong Tài liệu API để biết thêm chi tiết.
YAML cấu hình điểm cuối
Sau đây là mã cho tệp EndpointConfig:
Điểm cuối YAML
Sau đây là mã cho tệp Điểm cuối:
mô hình YAML
Sau đây là mã cho tệp Mô hình:
YAML thành phần suy luận
Trong các tệp YAML sau đây, do phiên bản ml.g5.12xlarge có 4 GPU nên chúng tôi đang phân bổ 2 GPU, 2 CPU và 1,024 MB bộ nhớ cho mỗi kiểu máy:
Gọi mô hình
Bây giờ bạn có thể gọi các mô hình bằng mã sau:
Cập nhật thành phần suy luận
Để cập nhật thành phần suy luận hiện có, bạn có thể cập nhật các tệp YAML và sau đó sử dụng kubectl apply -f <yaml file>
. Sau đây là ví dụ về tệp được cập nhật:
Xóa một thành phần suy luận
Để xóa thành phần suy luận hiện có, hãy sử dụng lệnh kubectl delete -f <yaml file>
.
Tính khả dụng và giá cả
Khả năng suy luận SageMaker mới hiện có sẵn tại các Khu vực AWS Đông Hoa Kỳ (Ohio, N. Virginia), Tây Hoa Kỳ (Oregon), Châu Á Thái Bình Dương (Jakarta, Mumbai, Seoul, Singapore, Sydney, Tokyo), Canada (Miền Trung), Châu Âu ( Frankfurt, Ireland, London, Stockholm), Trung Đông (UAE) và Nam Mỹ (São Paulo). Để biết chi tiết về giá, hãy truy cập Amazon SageMaker Giá.
Kết luận
Trong bài đăng này, chúng tôi đã giới thiệu cách sử dụng Toán tử SageMaker ACK để triển khai các thành phần suy luận SageMaker. Hãy kích hoạt cụm Kubernetes và triển khai FM của bạn bằng khả năng suy luận SageMaker mới ngay hôm nay!
Về các tác giả
Rajesh Ramchander là Kỹ sư ML chính về Dịch vụ chuyên nghiệp tại AWS. Anh ấy giúp đỡ khách hàng ở nhiều giai đoạn khác nhau trong hành trình AI/ML và GenAI của họ, từ những người mới bắt đầu cho đến những người đang dẫn đầu doanh nghiệp của họ bằng chiến lược ưu tiên AI.
Amit Arora là Kiến trúc sư chuyên gia về AI và ML tại Amazon Web Services, giúp khách hàng doanh nghiệp sử dụng các dịch vụ máy học dựa trên đám mây để nhanh chóng mở rộng quy mô đổi mới của họ. Ông cũng là giảng viên phụ trợ trong chương trình phân tích và khoa học dữ liệu MS tại Đại học Georgetown ở Washington DC
Suryansh Singh là Kỹ sư phát triển phần mềm tại AWS SageMaker và làm việc trong việc phát triển các giải pháp cơ sở hạ tầng phân tán ML cho khách hàng AWS trên quy mô lớn.
Saurabh Trikande là Giám đốc sản phẩm cấp cao của Amazon SageMaker Inference. Anh ấy đam mê làm việc với khách hàng và được thúc đẩy bởi mục tiêu dân chủ hóa việc học máy. Ông tập trung vào những thách thức cốt lõi liên quan đến việc triển khai các ứng dụng ML phức tạp, mô hình ML nhiều người thuê, tối ưu hóa chi phí và làm cho việc triển khai các mô hình học sâu dễ tiếp cận hơn. Khi rảnh rỗi, Saurabh thích đi bộ đường dài, tìm hiểu về các công nghệ tiên tiến, theo dõi TechCrunch và dành thời gian cho gia đình.
Johna Liu là Kỹ sư phát triển phần mềm trong nhóm Amazon SageMaker. Công việc hiện tại của cô tập trung vào việc giúp các nhà phát triển lưu trữ hiệu quả các mô hình máy học và cải thiện hiệu suất suy luận. Cô đam mê phân tích dữ liệu không gian và sử dụng AI để giải quyết các vấn đề xã hội.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- PlatoSức khỏe. Tình báo thử nghiệm lâm sàng và công nghệ sinh học. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/machine-learning/use-kubernetes-operators-for-new-inference-capabilities-in-amazon-sagemaker-that-reduce-llm-deployment-costs-by-50-on-average/