Amazon SageMaker Tự động lái tự động xây dựng, đào tạo và điều chỉnh các mô hình học máy (ML) tốt nhất dựa trên dữ liệu của bạn, đồng thời cho phép bạn duy trì toàn quyền kiểm soát và khả năng hiển thị. Autopilot cũng có thể tự động triển khai các mô hình đã được đào tạo đến các điểm cuối suy luận theo thời gian thực.
Nếu bạn có khối lượng công việc với các mẫu lưu lượng truy cập tăng vọt hoặc không thể đoán trước có thể chịu được khởi động nguội thì việc triển khai mô hình đến điểm cuối suy luận không có máy chủ sẽ tiết kiệm chi phí hơn.
Suy luận không máy chủ của Amazon SageMaker là một tùy chọn suy luận được xây dựng có mục đích, lý tưởng cho khối lượng công việc có lưu lượng truy cập không thể đoán trước và có thể chịu được khởi động nguội. Không giống như điểm cuối suy luận theo thời gian thực, được hỗ trợ bởi một phiên bản điện toán chạy dài, điểm cuối không có máy chủ cung cấp tài nguyên theo yêu cầu với tính năng tự động thay đổi quy mô được tích hợp sẵn. Điểm cuối serverless tự động mở rộng quy mô dựa trên số lượng yêu cầu đến và giảm quy mô tài nguyên xuống 0 khi không có yêu cầu đến, giúp bạn giảm thiểu chi phí.
Trong bài đăng này, chúng tôi trình bày cách triển khai các mô hình được đào tạo Autopilot cho các điểm cuối suy luận không có máy chủ bằng cách sử dụng Thư viện Boto3 cho Amazon SageMaker.
Chế độ đào tạo lái tự động
Trước khi tạo thử nghiệm Autopilot, bạn có thể để Autopilot tự động chọn chế độ đào tạo hoặc bạn có thể chọn chế độ đào tạo theo cách thủ công.
Autopilot hiện hỗ trợ ba chế độ đào tạo:
- Tự động – Dựa trên kích thước tập dữ liệu, Autopilot tự động chọn chế độ tập hợp hoặc HPO. Đối với các tập dữ liệu lớn hơn 100 MB, Autopilot chọn HPO; mặt khác, nó chọn tập hợp.
- Lắp ráp - Autopilot sử dụng AutoGluon kỹ thuật tập hợp bằng cách sử dụng mô hình xếp chồng và tạo ra mô hình dự đoán tối ưu.
- Tối ưu hóa siêu tham số (HPO) – Autopilot tìm phiên bản tốt nhất của mô hình bằng cách điều chỉnh siêu tham số bằng cách sử dụng tối ưu hóa Bayesian hoặc tối ưu hóa đa độ chính xác trong khi chạy các công việc đào tạo trên tập dữ liệu của bạn. Chế độ HPO chọn các thuật toán phù hợp nhất với tập dữ liệu của bạn và chọn phạm vi siêu tham số tốt nhất để điều chỉnh mô hình của bạn.
Để tìm hiểu thêm về các chế độ đào tạo Autopilot, hãy tham khảo Chế độ đào tạo.
Tổng quan về giải pháp
Trong bài đăng này, chúng tôi sử dụng Tiếp thị ngân hàng UCI dữ liệu để dự đoán liệu khách hàng có đăng ký tiền gửi có kỳ hạn do ngân hàng cung cấp hay không. Đây là một loại vấn đề phân loại nhị phân.
Chúng tôi khởi chạy hai công việc Autopilot bằng cách sử dụng Thư viện Boto3 cho SageMaker. Công việc đầu tiên sử dụng tập hợp làm phương thức đào tạo đã chọn. Sau đó, chúng tôi triển khai mô hình tập hợp duy nhất được tạo đến điểm cuối không có máy chủ và gửi yêu cầu suy luận đến điểm cuối được lưu trữ này.
Công việc thứ hai sử dụng chế độ đào tạo HPO. Đối với các loại vấn đề phân loại, Autopilot tạo ra ba vùng chứa suy luận. Chúng tôi trích xuất ba vùng chứa suy luận này và triển khai chúng tới các điểm cuối không có máy chủ riêng biệt. Sau đó, chúng tôi gửi yêu cầu suy luận đến các điểm cuối được lưu trữ này.
Để biết thêm thông tin về các loại vấn đề hồi quy và phân loại, hãy tham khảo Định nghĩa vùng chứa suy luận cho các loại vấn đề hồi quy và phân loại.
Chúng tôi cũng có thể khởi chạy các công việc Autopilot từ Xưởng sản xuất Amazon SageMaker Giao diện người dùng. Nếu bạn khởi chạy công việc từ giao diện người dùng, hãy đảm bảo tắt Triển khai tự động tùy chọn trong Cài đặt triển khai và nâng cao phần. Nếu không, Autopilot sẽ triển khai ứng viên tốt nhất đến điểm cuối thời gian thực.
Điều kiện tiên quyết
Đảm bảo bạn đã cài đặt phiên bản mới nhất của gói Boto3 và SageMaker Python:
pip install -U boto3 sagemaker
Chúng tôi cần phiên bản gói SageMaker >= 2.110.0
và phiên bản Boto3 >= boto3-1.24.84.
Khởi chạy công việc Autopilot với chế độ tập hợp
Để khởi chạy công việc Autopilot bằng thư viện SageMaker Boto3, chúng tôi sử dụng tạo_auto_ml_job API. Sau đó chúng tôi đi vào AutoMLJobConfig
, InputDataConfig
và AutoMLJobObjective
như đầu vào của create_auto_ml_job
. Xem mã sau đây:
Chế độ lái tự động trả lại BestCandidate
đối tượng mô hình có InferenceContainers
cần thiết để triển khai các mô hình tới các điểm cuối suy luận. Để có được BestCandidate
đối với công việc trước đó, chúng tôi sử dụng describe_automl_job
chức năng:
Triển khai mô hình được đào tạo
Bây giờ chúng tôi triển khai vùng chứa suy luận trước đó đến điểm cuối không có máy chủ. Bước đầu tiên là tạo một mô hình từ vùng chứa suy luận, sau đó tạo cấu hình điểm cuối trong đó chúng ta chỉ định MemorySizeInMB
và MaxConcurrency
các giá trị cho điểm cuối serverless cùng với tên mô hình. Cuối cùng, chúng ta tạo điểm cuối với cấu hình điểm cuối đã tạo ở trên.
Chúng tôi khuyên bạn nên chọn kích thước bộ nhớ của điểm cuối theo kích thước mô hình của bạn. Kích thước bộ nhớ ít nhất phải lớn bằng kích thước mô hình của bạn. Điểm cuối không có máy chủ của bạn có kích thước RAM tối thiểu là 1024 MB (1 GB) và kích thước RAM tối đa bạn có thể chọn là 6144 MB (6 GB).
Các kích thước bộ nhớ bạn có thể chọn là 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB hoặc 6144 MB.
Để giúp xác định xem điểm cuối không có máy chủ có phải là tùy chọn triển khai phù hợp từ góc độ chi phí và hiệu suất hay không, chúng tôi khuyến khích bạn tham khảo tài liệu Bộ công cụ đo điểm chuẩn suy luận không có máy chủ của SageMaker, kiểm tra các cấu hình điểm cuối khác nhau và so sánh cấu hình tối ưu nhất với phiên bản lưu trữ thời gian thực tương đương.
Lưu ý rằng điểm cuối serverless chỉ chấp nhận SingleModel
cho các thùng chứa suy luận. Chế độ lái tự động ở chế độ tổng hợp sẽ tạo ra một mô hình duy nhất, vì vậy chúng tôi có thể triển khai vùng chứa mô hình này đến điểm cuối. Xem đoạn mã sau:
Khi điểm cuối suy luận serverless là InService
, chúng ta có thể kiểm tra điểm cuối bằng cách gửi yêu cầu suy luận và quan sát các dự đoán. Sơ đồ sau minh họa kiến trúc của thiết lập này.
Lưu ý rằng chúng tôi có thể gửi dữ liệu thô dưới dạng tải trọng đến điểm cuối. Mô hình tập hợp do Autopilot tạo ra sẽ tự động kết hợp tất cả các bước chuyển đổi tính năng và nhãn nghịch đảo cần thiết, cùng với mô hình thuật toán và các gói, thành một mô hình duy nhất.
Gửi yêu cầu suy luận đến mô hình được đào tạo
Sử dụng mã sau đây để gửi suy luận về mô hình của bạn được đào tạo bằng chế độ tập hợp:
Khởi chạy Công việc lái tự động với chế độ HPO
Ở chế độ HPO, đối với CompletionCriteria
, ngoài ra MaxRuntimePerTrainingJobInSeconds
và MaxAutoMLJobRuntimeInSeconds,
chúng ta cũng có thể chỉ định MaxCandidates
để giới hạn số lượng ứng viên mà công việc Autopilot sẽ tạo ra. Lưu ý rằng đây là những tham số tùy chọn và chỉ được đặt để giới hạn thời gian chạy công việc để trình diễn. Xem đoạn mã sau:
Để có được BestCandidate
đối với công việc trước đó, chúng ta có thể sử dụng lại describe_automl_job
chức năng:
Triển khai mô hình được đào tạo
Chế độ lái tự động ở chế độ HPO cho loại vấn đề phân loại sẽ tạo ra ba vùng chứa suy luận.
Vùng chứa đầu tiên xử lý các bước chuyển đổi tính năng. Tiếp theo, vùng chứa thuật toán tạo ra predicted_label
với xác suất cao nhất. Cuối cùng, vùng chứa suy luận xử lý hậu kỳ thực hiện một phép biến đổi nghịch đảo trên nhãn được dự đoán và ánh xạ nó tới nhãn ban đầu. Để biết thêm thông tin, hãy tham khảo Định nghĩa vùng chứa suy luận cho các loại vấn đề hồi quy và phân loại.
Chúng tôi trích xuất ba vùng chứa suy luận này và triển khai chúng đến các điểm cuối không có máy chủ riêng biệt. Để suy luận, chúng tôi gọi các điểm cuối theo trình tự bằng cách gửi trọng tải trước đến vùng chứa chuyển đổi tính năng, sau đó chuyển đầu ra từ vùng chứa này sang vùng chứa thuật toán và cuối cùng chuyển đầu ra từ vùng chứa suy luận trước đó sang vùng chứa xử lý hậu kỳ, xuất ra nhãn dự đoán.
Sơ đồ sau minh họa kiến trúc của thiết lập này.
Chúng tôi trích xuất ba vùng chứa suy luận từ BestCandidate
với mã sau:
Gửi yêu cầu suy luận đến mô hình được đào tạo
Để suy luận, chúng tôi gửi tải trọng theo trình tự: đầu tiên đến vùng chứa chuyển đổi tính năng, sau đó đến vùng chứa mô hình và cuối cùng đến vùng chứa biến đổi nhãn nghịch đảo.
Xem mã sau đây:
Việc triển khai đầy đủ ví dụ này có sẵn trong jupyter sau máy tính xách tay.
Làm sạch
Để dọn sạch tài nguyên, bạn có thể xóa các điểm cuối, cấu hình điểm cuối và mô hình không có máy chủ đã tạo:
Kết luận
Trong bài đăng này, chúng tôi đã trình bày cách có thể triển khai các mô hình được tạo bằng Autopilot ở cả chế độ tập hợp và chế độ HPO cho các điểm cuối suy luận không có máy chủ. Giải pháp này có thể tăng tốc khả năng sử dụng của bạn và tận dụng các dịch vụ ML được quản lý toàn diện và tiết kiệm chi phí như Autopilot để tạo mô hình nhanh chóng từ dữ liệu thô, sau đó triển khai chúng đến các điểm cuối suy luận không có máy chủ được quản lý hoàn toàn với tính năng tự động thay đổi quy mô tích hợp sẵn để giảm chi phí .
Chúng tôi khuyến khích bạn thử giải pháp này với tập dữ liệu có liên quan đến KPI kinh doanh của bạn. Bạn có thể tham khảo giải pháp được triển khai trong sổ ghi chép Jupyter ở phần Repo GitHub.
Tài liệu tham khảo bổ sung
Lưu ý
Praveen Chamarthi là Chuyên gia cao cấp về AI/ML của Amazon Web Services. Anh ấy đam mê AI/ML và mọi thứ về AWS. Anh ấy giúp khách hàng trên khắp Châu Mỹ mở rộng quy mô, đổi mới và vận hành khối lượng công việc ML một cách hiệu quả trên AWS. Khi rảnh rỗi, Praveen thích đọc sách và xem phim khoa học viễn tưởng.
- Nâng cao (300)
- AI
- nghệ thuật ai
- máy phát điện nghệ thuật ai
- ai rô bốt
- Amazon SageMaker
- Amazon SageMaker Tự động lái
- trí tuệ nhân tạo
- chứng nhận trí tuệ nhân tạo
- trí tuệ nhân tạo trong ngân hàng
- robot trí tuệ nhân tạo
- robot trí tuệ nhân tạo
- phần mềm trí tuệ nhân tạo
- Học máy AWS
- blockchain
- hội nghị blockchain ai
- thiên tài
- trí tuệ nhân tạo đàm thoại
- hội nghị tiền điện tử ai
- dall's
- học kĩ càng
- google ai
- học máy
- plato
- Plato ai
- Thông tin dữ liệu Plato
- Trò chơi Plato
- PlatoDữ liệu
- Platogaming
- quy mô ai
- cú pháp
- Hướng dẫn kỹ thuật
- zephyrnet