Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.

Chạy nhiều mô hình học sâu trên GPU với các điểm cuối đa mô hình của Amazon SageMaker

Khi việc áp dụng AI đang tăng tốc trong toàn ngành, khách hàng đang xây dựng các mô hình tinh vi tận dụng những đột phá khoa học mới trong lĩnh vực học sâu. Các mô hình thế hệ tiếp theo này cho phép bạn đạt được hiệu suất tiên tiến, giống con người trong các lĩnh vực xử lý ngôn ngữ tự nhiên (NLP), thị giác máy tính, nhận dạng giọng nói, nghiên cứu y học, an ninh mạng, dự đoán cấu trúc protein và nhiều lĩnh vực khác . Ví dụ: các mô hình ngôn ngữ lớn như GPT-3, OPT và BLOOM có thể dịch, tóm tắt và viết văn bản mang sắc thái giống con người. Trong không gian thị giác máy tính, các mô hình khuếch tán văn bản thành hình ảnh như DALL-E và Imagen có thể tạo ra hình ảnh chân thực từ ngôn ngữ tự nhiên với mức độ hiểu biết ngôn ngữ và hình ảnh cao hơn từ thế giới xung quanh chúng ta. Các mô hình đa phương thức này cung cấp các tính năng phong phú hơn cho các nhiệm vụ tiếp theo khác nhau và khả năng tinh chỉnh chúng cho các miền cụ thể, đồng thời mang lại cơ hội kinh doanh mạnh mẽ cho khách hàng của chúng tôi.

Các mô hình học sâu này tiếp tục phát triển về mặt kích thước và thường chứa hàng tỷ tham số mô hình để mở rộng hiệu suất mô hình cho nhiều tác vụ khác nhau, chẳng hạn như tạo hình ảnh, tóm tắt văn bản, dịch ngôn ngữ, v.v. Cũng cần phải tùy chỉnh các mô hình này để mang lại trải nghiệm siêu cá nhân hóa cho các cá nhân. Kết quả là, một số lượng lớn hơn các mô hình đang được phát triển bằng cách tinh chỉnh các mô hình này cho các nhiệm vụ tiếp theo khác nhau. Để đáp ứng các mục tiêu về độ trễ và thông lượng của các ứng dụng AI, phiên bản GPU được ưu tiên hơn phiên bản CPU (do khả năng tính toán mà GPU cung cấp). Tuy nhiên, phiên bản GPU đắt tiền và chi phí có thể tăng thêm nếu bạn triển khai hơn 10 mô hình. Mặc dù các mô hình này có khả năng mang lại các ứng dụng AI có tác động mạnh mẽ, nhưng có thể sẽ gặp khó khăn khi mở rộng quy mô các mô hình học sâu này theo cách tiết kiệm chi phí do quy mô và số lượng mô hình của chúng.

Amazon SageMaker điểm cuối đa mô hình (MME) cung cấp một cách có thể mở rộng và tiết kiệm chi phí để triển khai một số lượng lớn các mô hình học sâu. MME là một lựa chọn lưu trữ phổ biến để lưu trữ hàng trăm mẫu dựa trên CPU cho các khách hàng như Zendesk, Veeva và AT&T. Trước đây, bạn có rất ít lựa chọn để triển khai hàng trăm mô hình deep learning cần tăng tốc điện toán bằng GPU. Hôm nay, chúng tôi công bố hỗ trợ MME cho GPU. Giờ đây, bạn có thể triển khai hàng nghìn mô hình deep learning đằng sau một điểm cuối SageMaker. MME hiện có thể chạy nhiều mô hình trên lõi GPU, chia sẻ các phiên bản GPU đằng sau điểm cuối trên nhiều mô hình cũng như tải và dỡ tải động các mô hình dựa trên lưu lượng truy cập đến. Với điều này, bạn có thể tiết kiệm đáng kể chi phí và đạt được hiệu suất giá tốt nhất.

Trong bài đăng này, chúng tôi trình bày cách chạy nhiều mô hình deep learning trên GPU bằng SageMaker MME.

SageMaker MME

MME SageMaker cho phép bạn triển khai nhiều mô hình đằng sau một điểm cuối suy luận duy nhất có thể chứa một hoặc nhiều phiên bản. Với MME, mỗi phiên bản được quản lý để tải và phục vụ nhiều mô hình. MME cho phép bạn giảm chi phí ngày càng tăng tuyến tính của việc lưu trữ nhiều mô hình và tái sử dụng cơ sở hạ tầng trên tất cả các mô hình.

Sơ đồ sau minh họa kiến ​​trúc của SageMaker MME.

SageMaker MME tự động tải xuống các mô hình từ Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) khi được gọi, thay vì tải xuống tất cả các mô hình khi điểm cuối được tạo lần đầu tiên. Kết quả là, lệnh gọi mô hình ban đầu có thể có độ trễ suy luận cao hơn so với các lần suy luận tiếp theo được hoàn thành với độ trễ thấp. Nếu mô hình đã được tải trên vùng chứa khi được gọi thì bước tải xuống và tải sẽ bị bỏ qua và mô hình sẽ trả về các suy luận có độ trễ thấp. Ví dụ: giả sử bạn có một mô hình chỉ được sử dụng một vài lần trong ngày. Nó được tải tự động theo yêu cầu, trong khi các mô hình được truy cập thường xuyên sẽ được giữ lại trong bộ nhớ và được gọi với độ trễ thấp nhất quán.

MME SageMaker có hỗ trợ GPU

SageMaker MME với GPU hoạt động bằng cách sử dụng Máy chủ suy luận NVIDIA Triton. NVIDIA Triton Inference Server là phần mềm phục vụ suy luận nguồn mở giúp đơn giản hóa quy trình phục vụ suy luận và cung cấp hiệu suất suy luận cao. Triton hỗ trợ tất cả các khung đào tạo và suy luận chính, chẳng hạn như TensorFlow, NVIDIA® TensorRT™, PyTorch, MXNet, Python, ONNX, XGBoost, Scikit-learn, RandomForest, OpenVINO, C++ tùy chỉnh, v.v. Nó cung cấp tính năng phân nhóm động, chạy đồng thời, lượng tử hóa sau đào tạo và cấu hình mô hình tối ưu để đạt được hiệu suất suy luận cao. Ngoài ra, Máy chủ suy luận NVIDIA Triton đã được mở rộng để triển khai Hợp đồng API MME, để tích hợp với MME.

Sơ đồ sau minh họa quy trình làm việc MME.

Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.

Các bước quy trình làm việc như sau:

  1. SageMaker MME nhận được yêu cầu gọi HTTP cho một mô hình cụ thể bằng cách sử dụng TargetModel trong yêu cầu cùng với tải trọng.
  2. SageMaker định tuyến lưu lượng truy cập đến đúng phiên bản phía sau điểm cuối nơi mô hình đích được tải. SageMaker hiểu mô hình lưu lượng truy cập trên tất cả các mô hình đằng sau MME và định tuyến các yêu cầu một cách thông minh.
  3. SageMaker đảm nhiệm việc quản lý mô hình đằng sau điểm cuối, tải động mô hình vào bộ nhớ của bộ chứa và dỡ bỏ mô hình dựa trên nhóm phiên bản GPU dùng chung để mang lại hiệu suất giá tốt nhất.
  4. SageMaker tự động tải các mô hình từ Amazon S3 xuống ổ lưu trữ của phiên bản. Nếu mô hình được gọi không có sẵn trên ổ lưu trữ phiên bản thì mô hình đó sẽ được tải xuống ổ lưu trữ phiên bản. Nếu dung lượng lưu trữ phiên bản đạt đến dung lượng, SageMaker sẽ xóa mọi mô hình không sử dụng khỏi dung lượng lưu trữ.
  5. SageMaker tải mô hình vào bộ nhớ của bộ chứa NVIDIA Triton trên phiên bản được tăng tốc GPU và phục vụ yêu cầu suy luận. Lõi GPU được chia sẻ bởi tất cả các mô hình trong một phiên bản. Nếu mô hình đã được tải trong bộ nhớ vùng chứa thì các yêu cầu tiếp theo sẽ được cung cấp nhanh hơn vì SageMaker không cần tải xuống và tải lại.
  6. SageMaker chăm sóc định hình lưu lượng truy cập đến điểm cuối MME và duy trì các bản sao mô hình tối ưu trên các phiên bản GPU để có hiệu suất giá tốt nhất. Nó tiếp tục định tuyến lưu lượng truy cập đến phiên bản mà mô hình được tải. Nếu tài nguyên cá thể đạt đến dung lượng do mức sử dụng cao, SageMaker sẽ dỡ các mô hình ít được sử dụng nhất khỏi vùng chứa để giải phóng tài nguyên nhằm tải các mô hình được sử dụng thường xuyên hơn.

MME của SageMaker có thể mở rộng quy mô theo chiều ngang bằng cách sử dụng chính sách tự động thay đổi quy mô và cung cấp các phiên bản tính toán GPU bổ sung dựa trên các số liệu như lệnh gọi trên mỗi phiên bản và mức sử dụng GPU để phục vụ bất kỳ sự gia tăng lưu lượng truy cập nào đến các điểm cuối MME.

Tổng quan về giải pháp

Trong bài đăng này, chúng tôi sẽ hướng dẫn bạn cách sử dụng các tính năng mới của SageMaker MME với GPU trong trường hợp sử dụng thị giác máy tính. Với mục đích trình diễn, chúng tôi sử dụng mô hình được đào tạo trước mạng thần kinh tích chập ResNet-50 có thể phân loại hình ảnh thành 1,000 danh mục. Chúng tôi thảo luận về cách thực hiện như sau:

  • Sử dụng bộ chứa suy luận NVIDIA Triton trên MME SageMaker, sử dụng các chương trình phụ trợ khung mô hình Triton khác nhau như PyTorch và TensorRT
  • Chuyển đổi mô hình ResNet-50 sang định dạng công cụ TensorRT được tối ưu hóa và triển khai nó với SageMaker MME
  • Thiết lập chính sách tự động mở rộng quy mô cho MME
  • Nhận thông tin chi tiết về số liệu phiên bản và lệnh gọi bằng cách sử dụng amazoncloudwatch

Tạo các tạo phẩm mô hình

Phần này hướng dẫn các bước chuẩn bị mô hình được đào tạo trước ResNet-50 để triển khai trên SageMaker MME bằng cách sử dụng cấu hình mô hình Máy chủ suy luận Triton. Bạn có thể sao chép lại tất cả các bước bằng cách sử dụng sổ ghi chép từng bước trên GitHub.

Đối với bài đăng này, chúng tôi minh họa việc triển khai bằng hai mô hình. Tuy nhiên, bạn có thể chuẩn bị và triển khai hàng trăm mô hình. Các mô hình có thể có hoặc không có chung một khuôn khổ.

Chuẩn bị mô hình PyTorch

Đầu tiên, chúng tôi tải mô hình ResNet50 được đào tạo trước bằng gói mô hình torchvision. Chúng tôi lưu mô hình dưới dạng tệp model.pt ở định dạng được tuần tự hóa và tối ưu hóa TorchScript. TorchScript biên dịch chuyển tiếp mô hình ResNet50 ở chế độ háo hức với các đầu vào mẫu, vì vậy chúng tôi chuyển một phiên bản của hình ảnh RGB với ba kênh màu có kích thước 224 x 224.

Sau đó chúng ta cần chuẩn bị các mô hình cho Triton Inference Server. Đoạn mã sau hiển thị kho lưu trữ mô hình cho phần phụ trợ của khung PyTorch. Triton sử dụng tệp model.pt được đặt trong kho mô hình để phục vụ các dự đoán.

resnet
├── 1
│   └── model.pt
└── config.pbtxt

Tệp cấu hình mô hình config.pbtxt phải chỉ định tên của mô hình (resnet), thuộc tính nền tảng và phụ trợ (pytorch_libtorch), max_batch_size (128) và các tensor đầu vào và đầu ra cùng với kiểu dữ liệu (TYPE_FP32) thông tin. Ngoài ra, bạn có thể chỉ định instance_groupdynamic_batching các thuộc tính để đạt được hiệu suất suy luận cao. Xem đoạn mã sau:

name: "resnet"
platform: "pytorch_libtorch"
max_batch_size: 128
input {
  name: "INPUT__0"
  data_type: TYPE_FP32
  dims: 3
  dims: 224
  dims: 224
}
output {
  name: "OUTPUT__0"
  data_type: TYPE_FP32
  dims: 1000
}

Chuẩn bị mô hình TensorRT

NVIDIA TenorRT là một SDK dành cho suy luận deep learning hiệu suất cao, đồng thời bao gồm thời gian chạy và trình tối ưu hóa suy luận deep learning mang lại độ trễ thấp và thông lượng cao cho các ứng dụng suy luận. Chúng tôi sử dụng công cụ dòng lệnh trtexec để tạo ra một công cụ được tuần tự hóa TensorRT từ một ONNX định dạng mô hình. Hoàn thành các bước sau để chuyển đổi mô hình được đào tạo trước ResNet-50 sang NVIDIA TensorRT:

  1. Xuất mô hình ResNet-50 được đào tạo trước sang định dạng ONNX bằng cách sử dụng ngọn đuốc.onnx.Bước này chạy mô hình một lần để theo dõi quá trình chạy của nó với đầu vào mẫu, sau đó xuất mô hình được theo dõi sang tệp đã chỉ định model.onnx.
  2. Sử dụng trtexec để tạo sơ đồ công cụ TensorRT từ model.onnx tài liệu. Bạn có thể tùy ý giảm độ chính xác của các phép tính dấu phẩy động bằng cách chạy chúng trong dấu phẩy động 16 bit hoặc bằng cách lượng tử hóa các giá trị dấu phẩy động để có thể thực hiện các phép tính bằng cách sử dụng số nguyên 8 bit.

Đoạn mã sau hiển thị cấu trúc kho lưu trữ mô hình cho mô hình TensorRT:

resnet
├── 1
│   └── model.plan
└── config.pbtxt

Đối với mô hình TensorRT, chúng tôi chỉ định tensorrt_plan làm nền tảng và nhập các thông số kỹ thuật Tensor của hình ảnh có kích thước 224 x 224, có các kênh màu. Tensor đầu ra với 1,000 kích thước là loại TYPE_FP32, tương ứng với các loại đối tượng khác nhau. Xem đoạn mã sau:

name: "resnet"
platform: "tensorrt_plan"
max_batch_size: 128
input {
  name: "input"
  data_type: TYPE_FP32
  dims: 3
  dims: 224
  dims: 224
}
output {
  name: "output"
  data_type: TYPE_FP32
  dims: 1000
}
model_warmup {
    name: "bs128 Warmup"
    batch_size: 128
    inputs: {
        key: "input"
        value: {
            data_type: TYPE_FP32
            dims: 3
            dims: 224
            dims: 224
            zero_data: false
        }
    }
}

Lưu trữ các thành phần lạ của mô hình trên Amazon S3

SageMaker mong đợi các tạo phẩm mô hình trong .tar.gz định dạng. Chúng cũng phải đáp ứng các yêu cầu về thùng chứa Triton như tên model, phiên bản, config.pbtxt tập tin, và nhiều hơn nữa. tar thư mục chứa tệp mô hình như .tar.gz và tải nó lên Amazon S3:

!mkdir -p triton-serve-pt/resnet/1/
!mv -f workspace/model.pt triton-serve-pt/resnet/1/
!tar -C triton-serve-pt/ -czf resnet_pt_v0.tar.gz resnet
model_uri_pt = sagemaker_session.upload_data(path="resnet_pt_v0.tar.gz", key_prefix="resnet-mme-gpu")
!mkdir -p triton-serve-trt/resnet/1/
!mv -f workspace/model.plan triton-serve-trt/resnet/1/
!tar -C triton-serve-trt/ -czf resnet_trt_v0.tar.gz resnet
model_uri_trt = sagemaker_session.upload_data(path="resnet_trt_v0.tar.gz", key_prefix="resnet-mme-gpu")

Bây giờ chúng ta đã tải các tạo phẩm mô hình lên Amazon S3, chúng ta có thể tạo SageMaker MME.

Triển khai các mô hình với MME

Hiện tại, chúng tôi triển khai mô hình ResNet-50 với hai phần phụ trợ khung khác nhau (PyTorch và TensorRT) cho SageMaker MME.

Lưu ý rằng bạn có thể triển khai hàng trăm mô hình và các mô hình có thể sử dụng cùng một khung. Họ cũng có thể sử dụng các khung khác nhau, như được hiển thị trong bài đăng này.

Chúng tôi sử dụng AWS SDK cho Python (Boto3) API tạo_model, tạo_endpoint_configtạo_điểm cuối để tạo MME.

Xác định vùng chứa phục vụ

Trong định nghĩa vùng chứa, hãy xác định model_data_url để chỉ định thư mục S3 chứa tất cả các mô hình mà SageMaker MME sử dụng để tải và cung cấp dự đoán. Bộ Mode đến MultiModel để cho biết rằng SageMaker tạo điểm cuối bằng thông số kỹ thuật của bộ chứa MME. Chúng tôi đặt vùng chứa bằng hình ảnh hỗ trợ triển khai MME bằng GPU. Xem đoạn mã sau:

container = {
"Image": ,
"ModelDataUrl": ,
"Mode": "MultiModel"
}

Tạo một đối tượng đa mô hình

Sử dụng ứng dụng khách SageMaker Boto3 để tạo mô hình bằng cách sử dụng create_model API. Chúng tôi chuyển định nghĩa vùng chứa cho API tạo mô hình cùng với ModelNameExecutionRoleArn:

create_model_response = sm_client.create_model(
    ModelName=, ExecutionRoleArn=role, PrimaryContainer=container
)

Xác định cấu hình MME

Tạo cấu hình MME bằng cách sử dụng create_endpoint_config API Boto3. Chỉ định một phiên bản điện toán GPU tăng tốc trong InstanceType (chúng tôi sử dụng loại phiên bản g4dn.4xlarge). Chúng tôi khuyên bạn nên định cấu hình điểm cuối của mình với ít nhất hai phiên bản. Điều này cho phép SageMaker cung cấp một bộ dự đoán có tính sẵn sàng cao trên nhiều Vùng sẵn sàng cho các mô hình.

Dựa trên những phát hiện của chúng tôi, bạn có thể có được hiệu suất giá tốt hơn trên các phiên bản được tối ưu hóa ML với một lõi GPU duy nhất. Do đó, tính năng hỗ trợ MME cho GPU chỉ được bật cho các phiên bản lõi GPU đơn. Để biết danh sách đầy đủ các phiên bản được hỗ trợ, hãy tham khảo Các loại phiên bản GPU được hỗ trợ.

create_endpoint_config_response = sm_client.create_endpoint_config(
    EndpointConfigName=,
    ProductionVariants=[
        {
            "InstanceType": "ml.g4dn.4xlarge",
            "InitialVariantWeight": 1,
            "InitialInstanceCount": 2,
            "ModelName": ,
            "VariantName": "AllTraffic",
        }
    ],
)

Tạo MME

Với cấu hình điểm cuối trước đó, chúng tôi tạo MME SageMaker bằng cách sử dụng tạo_điểm cuối API. SageMaker tạo MME, khởi chạy phiên bản điện toán ML g4dn.4xlarge và triển khai các mô hình PyTorch và TensorRT ResNet-50 trên chúng. Xem đoạn mã sau:

create_endpoint_response = sm_client.create_endpoint(
    EndpointName=, EndpointConfigName=
)

Gọi mô hình đích trên MME

Sau khi tạo điểm cuối, chúng tôi có thể gửi yêu cầu suy luận đến MME bằng cách sử dụng invoke_enpoint API. Chúng tôi chỉ định TargetModel trong lệnh gọi và chuyển trọng tải cho từng loại mô hình. Đoạn mã sau đây là lệnh gọi mẫu cho mô hình PyTorch và mô hình TensorRT:

runtime_sm_client.invoke_endpoint(
    EndpointName=,
    ContentType="application/octet-stream",
    Body=json.dumps(pt_payload),
    TargetModel='resnet_pt_v0.tar.gz', #PyTorch Model
)
runtime_sm_client.invoke_endpoint(
    EndpointName=, 
    ContentType="application/octet-stream", 
    Body=json.dumps(trt_payload),
    TargetModel='resnet_trt_v0.tar.gz' #TensorRT Model
)

Thiết lập chính sách tự động mở rộng quy mô cho GPU MME

MME SageMaker hỗ trợ tự động điều chỉnh quy mô cho các mô hình được lưu trữ của bạn. Tự động thay đổi quy mô sẽ tự động điều chỉnh số lượng phiên bản được cung cấp cho một mô hình để đáp ứng những thay đổi trong khối lượng công việc của bạn. Khi khối lượng công việc tăng lên, tính năng tự động thay đổi quy mô sẽ mang lại nhiều phiên bản trực tuyến hơn. Khi khối lượng công việc giảm, tính năng tự động thay đổi quy mô sẽ loại bỏ các phiên bản không cần thiết để bạn không phải trả tiền cho các phiên bản được cung cấp mà bạn không sử dụng.

Trong chính sách chia tỷ lệ sau đây, chúng tôi sử dụng số liệu tùy chỉnh GPUUtilization trong TargetTrackingScalingPolicyConfiguration cấu hình và thiết lập một TargetValue of 60.0 cho giá trị mục tiêu của số liệu đó. Chính sách tự động điều chỉnh quy mô này cung cấp các trường hợp bổ sung lên tới MaxCapacity khi mức sử dụng GPU lớn hơn 60%.

auto_scaling_client = boto3.client('application-autoscaling')

resource_id='endpoint/' +  + '/variant/' + 'AllTraffic' 
response = auto_scaling_client.register_scalable_target(
    ServiceNamespace='sagemaker',
    ResourceId=resource_id,
    ScalableDimension='sagemaker:variant:DesiredInstanceCount',
    MinCapacity=1,
    MaxCapacity=5
)

response = auto_scaling_client.put_scaling_policy(
    PolicyName='GPUUtil-ScalingPolicy',
    ServiceNamespace='sagemaker',
    ResourceId=resource_id,
    ScalableDimension='sagemaker:variant:DesiredInstanceCount', 
    PolicyType='TargetTrackingScaling',
    TargetTrackingScalingPolicyConfiguration={
        'TargetValue': 60.0, 
        'CustomizedMetricSpecification':
        {
            'MetricName': 'GPUUtilization',
            'Namespace': '/aws/sagemaker/Endpoints',
            'Dimensions': [
                {'Name': 'EndpointName', 'Value':  },
                {'Name': 'VariantName','Value': 'AllTraffic'}
            ],
            'Statistic': 'Average',
            'Unit': 'Percent'
        },
        'ScaleInCooldown': 600,
        'ScaleOutCooldown': 200 
    }
)

Chúng tôi khuyên bạn sử dụng GPUUtilization or InvocationsPerInstance để định cấu hình chính sách tự động mở rộng quy mô cho MME của bạn. Để biết thêm chi tiết, xem Đặt chính sách tự động mở rộng quy mô cho triển khai điểm cuối đa mô hình

Số liệu CloudWatch dành cho GPU MME

MME SageMaker cung cấp các chỉ số cấp phiên bản sau để theo dõi:

  • Đã tảiMô hìnhĐếm - Số lượng mô hình được tải trong các thùng chứa
  • Sử dụng GPU - Phần trăm đơn vị GPU được các vùng chứa sử dụng
  • GPUMemorySử dụng - Phần trăm bộ nhớ GPU được sử dụng bởi các vùng chứa
  • Sử dụng đĩa - Phần trăm dung lượng ổ đĩa được sử dụng bởi các bộ chứa

Những số liệu này cho phép bạn lập kế hoạch sử dụng hiệu quả tài nguyên phiên bản GPU. Trong biểu đồ sau, chúng ta thấy GPUMemoryUtilization là 38.3% khi hơn 16 mẫu ResNet-50 được nạp vào thùng chứa. Tổng mức sử dụng của từng lõi CPU riêng lẻ (CPUUtilization) là 60.9% và phần trăm bộ nhớ được sử dụng bởi các vùng chứa (MemoryUtilization) là 9.36%.

Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.

MME SageMaker cũng cung cấp số liệu tải mô hình để có được thông tin chi tiết ở cấp độ lệnh gọi mô hình:

  • Mô hìnhĐangĐangChờThời gian - Khoảng thời gian để mô hình được tải xuống hoặc tải xuống
  • Mô HìnhDỡ Thời Gian - Khoảng thời gian để dỡ mô hình ra khỏi thùng chứa
  • Thời gian tải xuống mô hình - Thời gian tải xuống mô hình từ Amazon S3
  • Mô hìnhCacheHit – Số lượng lệnh gọi đến mô hình đã được tải vào vùng chứa

Trong biểu đồ sau, chúng ta có thể quan sát thấy rằng một mô hình mất 8.22 giây để phản hồi yêu cầu suy luận (ModelLatency) và 24.1 mili giây đã được thêm vào độ trễ từ đầu đến cuối do chi phí chung của SageMaker (OverheadLatency). Chúng tôi cũng có thể thấy bất kỳ số liệu lỗi nào từ các lệnh gọi để gọi lệnh gọi API điểm cuối, chẳng hạn như Invocation4XXErrorsInvocation5XXErrors.

Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.

Để biết thêm thông tin về số liệu MME CloudWatch, hãy tham khảo Số liệu CloudWatch cho việc triển khai điểm cuối nhiều mô hình.

Tổng kết

Trong bài đăng này, bạn đã tìm hiểu về tính năng hỗ trợ đa mô hình SageMaker mới dành cho GPU, cho phép bạn lưu trữ hàng trăm mô hình deep learning một cách tiết kiệm chi phí trên phần cứng điện toán được tăng tốc. Bạn đã học cách sử dụng Máy chủ suy luận NVIDIA Triton, máy chủ này tạo cấu hình kho lưu trữ mô hình cho các chương trình phụ trợ khung khác nhau và cách triển khai MME với tính năng tự động mở rộng quy mô. Tính năng này sẽ cho phép bạn mở rộng quy mô hàng trăm mô hình siêu cá nhân hóa được tinh chỉnh để phục vụ trải nghiệm độc đáo của người dùng cuối trong các ứng dụng AI. Bạn cũng có thể tận dụng tính năng này để đạt được hiệu suất giá cần thiết cho ứng dụng suy luận của mình bằng cách sử dụng GPU phân đoạn.

Để bắt đầu hỗ trợ MME cho GPU, hãy xem Hỗ trợ điểm cuối đa mô hình cho GPU.


Giới thiệu về tác giả

Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.Dhawal Patel là 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ô vừa về các vấn đề liên quan đến điện toán phân tán và trí tuệ nhân tạo. Anh ấy tập trung vào học sâu, bao gồm NLP và lĩnh vực thị giác máy tính. Anh ấy giúp khách hàng đạt được suy luận mô hình hiệu suất cao trên Amazon SageMaker.

Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.Vikram Elango là Kiến trúc sư giải pháp chuyên gia AI/ML cấp cao tại Amazon Web Services, có trụ sở tại Virginia, Hoa Kỳ. Vikram giúp khách hàng trong ngành tài chính và bảo hiểm toàn cầu thiết kế, triển khai và tư duy lãnh đạo để xây dựng và triển khai các ứng dụng máy học trên quy mô lớn. Anh hiện đang tập trung vào xử lý ngôn ngữ tự nhiên, AI có trách nhiệm, tối ưu hóa suy luận và mở rộng quy mô ML trên toàn doanh nghiệp. Trong thời gian rảnh rỗi, anh thích đi du lịch, đi bộ đường dài, nấu ăn và cắm trại cùng gia đình.

Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.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.

Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. 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.

Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.Nikhil Kulkarni là nhà phát triển phần mềm với AWS Machine Learning, tập trung vào việc giúp khối lượng công việc machine learning đạt hiệu suất cao hơn trên đám mây và là người đồng sáng tạo AWS Deep Learning Containers để đào tạo và suy luận. Anh ấy đam mê Hệ thống học sâu phân tán. Ngoài công việc, anh ấy thích đọc sách, chơi guitar và làm bánh pizza.

Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.Gia Hồng Lưu là Kiến trúc sư Giải pháp trong nhóm Nhà cung cấp Dịch vụ Đám mây tại NVIDIA. Anh ấy hỗ trợ khách hàng trong việc áp dụng học máy và các giải pháp AI tận dụng tính toán tăng tốc của NVIDIA để giải quyết các thách thức về đào tạo và suy luận của họ. Trong thời gian rảnh rỗi, anh ấy thích xếp giấy origami, các dự án tự làm và chơi bóng rổ.

Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.Eliuth Triana là Giám đốc quan hệ nhà phát triển trong nhóm NVIDIA-AWS. Anh kết nối các nhà lãnh đạo sản phẩm, nhà phát triển và nhà khoa học của Amazon và AWS với các nhà công nghệ và nhà lãnh đạo sản phẩm của NVIDIA để tăng tốc khối lượng công việc Amazon ML / DL, sản phẩm EC2 và dịch vụ AWS AI. Ngoài ra, Eliuth còn là một người đam mê đi xe đạp leo núi, trượt tuyết và chơi poker.

Chạy nhiều mô hình deep learning trên GPU với điểm cuối đa mô hình PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.Maximiliano Maccanti là Kỹ sư chính tại AWS, hiện đang làm việc tại DynamoDB, tôi đã tham gia nhóm khởi chạy SageMaker tại re:Invent 2017 và đã dành 5 năm sau đó trong nền tảng lưu trữ để bổ sung tất cả các loại tính năng mà khách hàng phải đối mặt. Khi rảnh rỗi, tôi sưu tầm, sửa chữa và chơi các máy chơi game điện tử cổ điển.

Dấu thời gian:

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