Giảm thiểu độ trễ suy luận theo thời gian thực bằng cách sử dụng chiến lược định tuyến của Amazon SageMaker | Dịch vụ web của Amazon

Giảm thiểu độ trễ suy luận theo thời gian thực bằng cách sử dụng chiến lược định tuyến của Amazon SageMaker | Dịch vụ web của Amazon

Amazon SageMaker giúp việc triển khai các mô hình máy học (ML) để suy luận theo thời gian thực trở nên đơn giản và cung cấp nhiều lựa chọn phiên bản ML trải rộng trên CPU và bộ tăng tốc như Suy luận AWS. Là một dịch vụ được quản lý hoàn toàn, bạn có thể mở rộng quy mô triển khai mô hình của mình, giảm thiểu chi phí suy luận và quản lý mô hình của mình hiệu quả hơn trong quá trình sản xuất với gánh nặng vận hành giảm đi. Điểm cuối suy luận thời gian thực của SageMaker bao gồm điểm cuối HTTP và các phiên bản ML được triển khai trên nhiều Vùng sẵn sàng để có tính sẵn sàng cao. SageMaker ứng dụng tự động mở rộng quy mô có thể điều chỉnh linh hoạt số lượng phiên bản ML được cung cấp cho một mô hình để đáp ứng những thay đổi về khối lượng công việc. Điểm cuối phân phối đồng đều các yêu cầu đến cho các phiên bản ML bằng thuật toán quay vòng.

Khi mô hình ML được triển khai trên các phiên bản nhận lệnh gọi API từ một số lượng lớn khách hàng, việc phân phối yêu cầu ngẫu nhiên có thể hoạt động rất tốt khi không có nhiều biến đổi trong yêu cầu và phản hồi của bạn. Nhưng trong các hệ thống có khối lượng công việc AI tổng hợp, các yêu cầu và phản hồi có thể rất khác nhau. Trong những trường hợp này, bạn nên cân bằng tải bằng cách xem xét công suất và mức sử dụng của phiên bản thay vì cân bằng tải ngẫu nhiên.

Trong bài đăng này, chúng tôi thảo luận về chiến lược định tuyến ít yêu cầu chưa xử lý nhất (LOR) của SageMaker và cách chiến lược này có thể giảm thiểu độ trễ cho một số loại khối lượng công việc suy luận theo thời gian thực nhất định bằng cách xem xét dung lượng và mức sử dụng của phiên bản ML. Chúng tôi nói về lợi ích của nó so với cơ chế định tuyến mặc định và cách bạn có thể bật LOR cho việc triển khai mô hình của mình. Cuối cùng, chúng tôi trình bày phân tích so sánh về các cải thiện độ trễ với LOR qua chiến lược định tuyến mặc định là định tuyến ngẫu nhiên.

Chiến lược SageMaker LOR

Theo mặc định, điểm cuối SageMaker có chiến lược định tuyến ngẫu nhiên. SageMaker hiện hỗ trợ chiến lược LOR, cho phép SageMaker định tuyến các yêu cầu một cách tối ưu đến phiên bản phù hợp nhất để phục vụ yêu cầu đó. SageMaker thực hiện được điều này bằng cách giám sát tải của các phiên bản phía sau điểm cuối của bạn cũng như các mô hình hoặc thành phần suy luận được triển khai trên mỗi phiên bản.

Sơ đồ tương tác sau đây hiển thị chính sách định tuyến mặc định trong đó các yêu cầu đến điểm cuối của mô hình được chuyển tiếp một cách ngẫu nhiên đến các phiên bản ML.

Giảm thiểu độ trễ suy luận theo thời gian thực bằng cách sử dụng chiến lược định tuyến của Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Sơ đồ tương tác sau đây hiển thị chiến lược định tuyến trong đó SageMaker sẽ định tuyến yêu cầu đến phiên bản có số lượng yêu cầu chưa xử lý ít nhất.

Giảm thiểu độ trễ suy luận theo thời gian thực bằng cách sử dụng chiến lược định tuyến của Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Nói chung, định tuyến LOR hoạt động tốt cho các mô hình cơ bản hoặc mô hình AI tổng quát khi mô hình của bạn phản hồi trong hàng trăm mili giây đến vài phút. Nếu phản hồi mô hình của bạn có độ trễ thấp hơn (lên tới hàng trăm mili giây), bạn có thể hưởng lợi nhiều hơn từ định tuyến ngẫu nhiên. Dù thế nào đi nữa, chúng tôi khuyên bạn nên kiểm tra và xác định thuật toán định tuyến tốt nhất cho khối lượng công việc của mình.

Cách đặt chiến lược định tuyến SageMaker

SageMaker hiện cho phép bạn đặt RoutingStrategy tham số trong khi tạo EndpointConfiguration cho các điểm cuối. Sự khác biệt RoutingStrategy các giá trị được SageMaker hỗ trợ là:

  • LEAST_OUTSTANDING_REQUESTS
  • RANDOM

Sau đây là ví dụ về triển khai mô hình trên điểm cuối suy luận đã bật LOR:

  1. Tạo cấu hình điểm cuối bằng cách cài đặt RoutingStrategy as LEAST_OUTSTANDING_REQUESTS:
    endpoint_config_response = sm_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, ProductionVariants=[ { "VariantName": "variant1", "ModelName": model_name, "InstanceType": "instance_type", "InitialInstanceCount": initial_instance_count, ….. "RoutingConfig": { 'RoutingStrategy': 'LEAST_OUTSTANDING_REQUESTS'} }, ],
    )

  2. Tạo điểm cuối bằng cấu hình điểm cuối (không thay đổi):
    create_endpoint_response = sm_client.create_endpoint( EndpointName="endpoint_name", EndpointConfigName="endpoint_config_name"
    )

Kết quả thực hiện

Chúng tôi đã chạy đo điểm chuẩn hiệu suất để đo độ trễ suy luận từ đầu đến cuối và thông lượng của codegen2-7B mô hình được lưu trữ trên các phiên bản ml.g5.24xl với định tuyến mặc định và điểm cuối định tuyến thông minh. Mô hình CodeGen2 thuộc nhóm mô hình ngôn ngữ tự hồi phục và tạo mã thực thi khi được nhắc bằng tiếng Anh.

Trong phân tích của mình, chúng tôi đã tăng số lượng phiên bản ml.g5.24xl đằng sau mỗi điểm cuối cho mỗi lần chạy thử nghiệm khi số lượng người dùng đồng thời tăng lên, như minh họa trong bảng sau.

Thử nghiệm Số lượng người dùng đồng thời Số lượng phiên bản
1 4 1
2 20 5
3 40 10
4 60 15
5 80 20

Chúng tôi đã đo độ trễ P99 từ đầu đến cuối cho cả hai điểm cuối và nhận thấy độ trễ được cải thiện 4–33% khi số lượng phiên bản tăng từ 5 lên 20, như minh họa trong biểu đồ sau.

Giảm thiểu độ trễ suy luận theo thời gian thực bằng cách sử dụng chiến lược định tuyến của Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Tương tự, chúng tôi nhận thấy thông lượng mỗi phút mỗi phiên bản cải thiện 15–16% khi số lượng phiên bản tăng từ 5 lên 20.

Giảm thiểu độ trễ suy luận theo thời gian thực bằng cách sử dụng chiến lược định tuyến của Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Điều này minh họa rằng định tuyến thông minh có thể cải thiện việc phân bổ lưu lượng giữa các điểm cuối, dẫn đến cải thiện độ trễ từ đầu đến cuối và thông lượng tổng thể.

Kết luận

Trong bài đăng này, chúng tôi đã giải thích các chiến lược định tuyến SageMaker và tùy chọn mới để bật định tuyến LOR. Chúng tôi đã giải thích cách bật LOR và cách nó có thể mang lại lợi ích cho việc triển khai mô hình của bạn. Các thử nghiệm hiệu suất của chúng tôi cho thấy sự cải thiện về độ trễ và thông lượng trong quá trình suy luận theo thời gian thực. Để tìm hiểu thêm về các tính năng định tuyến của SageMaker, hãy tham khảo tài liệu hướng dẫn. Chúng tôi khuyến khích bạn đánh giá khối lượng công việc suy luận của mình và xác định xem bạn có được cấu hình tối ưu với chiến lược định tuyến hay không.


Về các tác giả

Giảm thiểu độ trễ suy luận theo thời gian thực bằng cách sử dụng chiến lược định tuyến của Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Công viên James là Kiến trúc sư giải pháp tại Amazon Web Services. Anh làm việc với Amazon.com để thiết kế, xây dựng và triển khai các giải pháp công nghệ trên AWS và đặc biệt quan tâm đến AI và học máy. Trong thời gian rảnh rỗi, anh ấy thích tìm kiếm những nền văn hóa mới, những trải nghiệm mới và luôn cập nhật những xu hướng công nghệ mới nhất. Bạn có thể tìm thấy anh ấy trên LinkedIn.

Giảm thiểu độ trễ suy luận theo thời gian thực bằng cách sử dụng chiến lược định tuyến của Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Venugopal Pai là Kiến trúc sư giải pháp tại AWS. Anh sống ở Bengaluru, Ấn Độ và giúp những khách hàng gốc kỹ thuật số mở rộng quy mô và tối ưu hóa ứng dụng của họ trên AWS.

Giảm thiểu độ trễ suy luận theo thời gian thực bằng cách sử dụng chiến lược định tuyến của Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.david nigenda là Kỹ sư phát triển phần mềm cao cấp trong nhóm Amazon SageMaker, hiện đang làm việc để cải thiện quy trình machine learning sản xuất, cũng như ra mắt các tính năng suy luận mới. Trong thời gian rảnh rỗi, anh ấy cố gắng theo kịp các con của mình.

Giảm thiểu độ trễ suy luận theo thời gian thực bằng cách sử dụng chiến lược định tuyến của Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Deepti Ragha 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 xây dựng các tính năng để lưu trữ các mô hình học máy một cách hiệu quả. Khi rảnh rỗi, cô thích đi du lịch, đi bộ đường dài và trồng cây.

Alan TấnAlan Tấn là Giám đốc Sản phẩm Cấp cao của SageMaker, dẫn đầu nỗ lực về suy luận mô hình lớn. Anh ấy đam mê ứng dụng học máy vào lĩnh vực phân tích. Ngoài công việc, anh ấy thích hoạt động ngoài trời.

Giảm thiểu độ trễ suy luận theo thời gian thực bằng cách sử dụng chiến lược định tuyến của Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Dhawal Patel là một Kiến trúc sư chính về Học máy tại AWS. Ông đã làm việc với các tổ chức khác nhau, từ các doanh nghiệp lớn đến các công ty khởi nghiệp quy mô trung bình về các vấn đề liên quan đến máy tính phân tán và Trí tuệ nhân tạo. Ông tập trung vào Học sâu bao gồm các lĩnh vực NLP và Thị giác máy tính. Anh ấy giúp khách hàng đạt được khả năng suy luận mô hình hiệu suất cao trên SageMaker.

Dấu thời gian:

Thêm từ Học máy AWS