Bắt đầu triển khai các mô hình thời gian thực trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Bắt đầu triển khai mô hình thời gian thực trên Amazon SageMaker

Amazon SageMaker là một dịch vụ được quản lý hoàn toàn, cung cấp cho mọi nhà phát triển và nhà khoa học dữ liệu khả năng xây dựng, đào tạo và triển khai nhanh chóng các mô hình học máy (ML) trên quy mô lớn. ML được hiện thực hóa trong suy luận. SageMaker cung cấp bốn tùy chọn Suy luận:

  1. Suy luận theo thời gian thực
  2. Suy luận không máy chủ
  3. Suy luận không đồng bộ
  4. Chuyển đổi hàng loạt

Bốn tùy chọn này có thể được phân loại rộng rãi thành các tùy chọn suy luận Trực tuyến và Hàng loạt. Trong Suy luận Trực tuyến, các yêu cầu dự kiến ​​sẽ được xử lý khi chúng đến và ứng dụng tiêu dùng sẽ mong đợi phản hồi sau khi mỗi yêu cầu được xử lý. Điều này có thể xảy ra đồng bộ (Suy luận thời gian thực, không có máy chủ) hoặc không đồng bộ (suy luận không đồng bộ). Trong mẫu đồng bộ, ứng dụng tiêu thụ bị chặn và không thể tiếp tục cho đến khi nhận được phản hồi. Những khối lượng công việc này có xu hướng là các ứng dụng thời gian thực, chẳng hạn như phát hiện gian lận thẻ tín dụng trực tuyến, trong đó phản hồi dự kiến ​​theo thứ tự mili giây đến giây và tải trọng yêu cầu nhỏ (vài MB). Trong mẫu không đồng bộ, trải nghiệm ứng dụng không bị chặn (ví dụ: gửi yêu cầu bảo hiểm qua ứng dụng dành cho thiết bị di động) và thường yêu cầu kích thước tải trọng lớn hơn và/hoặc thời gian xử lý lâu hơn. Trong Suy luận ngoại tuyến, một tập hợp (lô) yêu cầu suy luận được xử lý cùng nhau và phản hồi chỉ được cung cấp sau khi toàn bộ lô đã được xử lý. Thông thường, những khối lượng công việc này không nhạy cảm với độ trễ, liên quan đến khối lượng dữ liệu lớn (nhiều GB) và được lên lịch theo nhịp đều đặn (ví dụ: chạy phát hiện đối tượng trên cảnh quay camera an ninh vào cuối ngày hoặc xử lý dữ liệu bảng lương vào cuối ngày). cuối tháng).

Ở xương trần, Suy luận thời gian thực của SageMaker bao gồm (các) mô hình, khung/vùng chứa mà bạn đang làm việc và cơ sở hạ tầng/phiên bản đang hỗ trợ điểm cuối đã triển khai của bạn. Trong bài đăng này, chúng ta sẽ khám phá cách bạn có thể tạo và gọi Điểm cuối mô hình đơn.

Chọn tùy chọn triển khai mô hình

Việc chọn loại suy luận phù hợp có thể khó khăn và hướng dẫn đơn giản sau đây có thể giúp bạn. Đây không phải là một biểu đồ quy trình nghiêm ngặt, vì vậy nếu bạn thấy rằng một tùy chọn khác phù hợp hơn với mình thì hãy thoải mái sử dụng những tùy chọn đó. Đặc biệt, Suy luận thời gian thực là một lựa chọn tuyệt vời để lưu trữ các mô hình của bạn khi bạn có độ trễ thấp và nhất quán (theo thứ tự mili giây hoặc giây) và khối lượng công việc nhạy cảm về thông lượng. Bạn có thể kiểm soát loại phiên bản và đếm đằng sau điểm cuối của mình đồng thời định cấu hình Tự động chia tỷ lệ chính sách xử lý giao thông. Có hai tùy chọn Suy luận SageMaker khác mà bạn cũng có thể sử dụng để tạo điểm cuối. Suy luận không đồng bộ là khi bạn có kích thước tải trọng lớn và băng thông có độ trễ gần thời gian thực. Đây là một lựa chọn tốt, đặc biệt đối với các mô hình NLP và Thị giác máy tính có thời gian xử lý trước lâu hơn. Suy luận không có máy chủ là một lựa chọn tuyệt vời khi bạn có lưu lượng truy cập không liên tục và không muốn quản lý việc mở rộng quy mô cơ sở hạ tầng. Công thức tạo điểm cuối vẫn giữ nguyên bất kể bạn chọn loại Suy luận nào. Trong bài đăng này, chúng tôi sẽ tập trung vào việc tạo điểm cuối dựa trên phiên bản thời gian thực, nhưng bạn có thể dễ dàng điều chỉnh nó cho phù hợp với một trong các Tùy chọn suy luận khác dựa trên trường hợp sử dụng của bạn. Cuối cùng, suy luận hàng loạt diễn ra ngoại tuyến, vì vậy bạn có thể cung cấp một tập hợp dữ liệu mà bạn muốn sử dụng để suy luận và chúng tôi sẽ chạy dữ liệu đó. Điều này dựa trên phiên bản tương tự, vì vậy bạn có thể chọn phiên bản tối ưu cho khối lượng công việc của mình. Vì không có điểm cuối nào được thiết lập và chạy nên bạn chỉ phải trả tiền trong suốt thời gian thực hiện công việc. Nó tốt cho việc xử lý hàng gigabyte dữ liệu và thời gian thực hiện công việc có thể là vài ngày. Có các tính năng tích hợp sẵn để giúp làm việc với dữ liệu có cấu trúc dễ dàng hơn và các tính năng tối ưu hóa để tự động phân phối dữ liệu có cấu trúc. Một số trường hợp sử dụng ví dụ là lập mô hình xu hướng, bảo trì dự đoán và dự đoán rời bỏ. Tất cả những điều này có thể diễn ra ngoại tuyến hàng loạt vì nó không phải phản ứng với một sự kiện cụ thể.

Lưu trữ mô hình trên Điểm cuối SageMaker

Điểm mấu chốt, Điểm cuối thời gian thực của SageMaker bao gồm một mô hình và cơ sở hạ tầng mà bạn chọn để hỗ trợ Điểm cuối. SageMaker sử dụng vùng chứa để lưu trữ mô hình, điều đó có nghĩa là bạn cần vùng chứa thiết lập đúng môi trường cho khung mà bạn sử dụng cho từng mô hình mà bạn cung cấp. Ví dụ: nếu bạn đang làm việc với mô hình Sklearn, bạn phải chuyển tập lệnh/dữ liệu mô hình của mình vào vùng chứa thiết lập Sklearn đúng cách. May mắn thay, SageMaker cung cấp hình ảnh được quản lý dành cho các khung phổ biến, chẳng hạn như TensorFlow, PyTorch, Sklearn và HuggingFace. Bạn có thể truy xuất và sử dụng những hình ảnh này bằng cách sử dụng cấp độ cao SDK Python của SageMaker và đưa các tập lệnh mô hình và dữ liệu của bạn vào các vùng chứa này. Trong trường hợp SageMaker không có vùng chứa được hỗ trợ, bạn cũng có thể Xây dựng vùng chứa của riêng bạn và đẩy hình ảnh tùy chỉnh của riêng bạn, cài đặt các phần phụ thuộc cần thiết cho mô hình của bạn.

SageMaker hỗ trợ cả mô hình được đào tạo và đào tạo trước. Trong đoạn trước khi nói về tập lệnh/dữ liệu mô hình, chúng ta đang đề cập đến vấn đề này. Bạn có thể gắn tập lệnh vào vùng chứa của mình hoặc nếu bạn có tạo phẩm mô hình được đào tạo trước (ví dụ: `người mẫu.joblib` cho SKLearn), thì bạn có thể cung cấp thông tin này cùng với hình ảnh của mình cho SageMaker. Để hiểu Suy luận SageMaker, có ba thực thể chính mà bạn sẽ tạo trong quá trình tạo Điểm cuối:

  1. Thực thể mô hình SageMaker – Tại đây, bạn có thể chuyển vào tập lệnh mô hình/dữ liệu mô hình đã đào tạo và hình ảnh mà bạn đang làm việc cùng, cho dù nó thuộc quyền sở hữu của AWS hay do bạn xây dựng.
  2. Tạo cấu hình điểm cuối – Tại đây bạn xác định cơ sở hạ tầng của mình, nghĩa là bạn chọn loại phiên bản, số lượng, v.v.
  3. Tạo điểm cuối – Đây là Điểm cuối REST lưu trữ mô hình mà bạn đang gọi để nhận phản hồi. Hãy xem cách bạn có thể sử dụng Hình ảnh SageMaker được quản lý và hình ảnh được tạo tùy chỉnh của riêng bạn để triển khai điểm cuối.

Yêu cầu điểm cuối thời gian thực

  1. Trước khi tạo Điểm cuối, bạn phải hiểu loại Mô hình bạn muốn lưu trữ. Nếu đó là mô hình Framework, chẳng hạn như TensorFlow, PyTorch hoặc MXNet, thì bạn có thể sử dụng một trong các mô hình này. Hình ảnh khung dựng sẵn.
    Nếu đó là mô hình tùy chỉnh hoặc bạn muốn hoàn toàn linh hoạt trong việc tạo vùng chứa mà SageMaker sẽ chạy để suy luận thì bạn có thể tạo vùng chứa của riêng mình.

Điểm cuối của SageMaker được tạo thành từ một Mô hình SageMaker Cấu hình điểm cuối.
Nếu bạn đang sử dụng Boto3 thì bạn sẽ tạo cả hai đối tượng. Ngược lại, nếu bạn đang sử dụng SageMaker Python SDK thì Cấu hình điểm cuối sẽ được tạo thay mặt bạn khi bạn sử dụng .deploy(..) chức năng.

Thực thể SageMaker:

  • Mô hình SageMaker:
    • Chứa các chi tiết của hình ảnh suy luận, vị trí của các tạo phẩm mô hình trong Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3), cấu hình mạng và Quản lý truy cập và nhận dạng AWS (IAM) vai trò được sử dụng bởi Endpoint.
      • SageMaker yêu cầu các tạo phẩm mô hình của bạn phải được nén ở dạng .tar.gz tài liệu. SageMaker tự động trích xuất cái này .tar.gz tập tin vào /opt/ml/model/ thư mục trong vùng chứa của bạn. Nếu bạn đang sử dụng một trong các vùng chứa khung, chẳng hạn như TensorFlow, PyTorch hoặc MXNet thì vùng chứa đó sẽ yêu cầu cấu trúc TAR của bạn như sau:
        • TensorFlow
          model.tar.gz/
          |--[model_version_number]/
          |--variables
          |--saved_model.pb
          code/
          |--inference.py
          |--requirements.txt

        • Kim tự tháp
          model.tar.gz/
          |- model.pth
          |- code/
          |- inference.py
          |- requirements.txt # only for versions 1.3.1 and higher

        • MX Net
          model.tar.gz/
          |- model-symbol.json
          |- model-shapes.json
          |- model-0000.params
          |- code/
              |- inference.py
              |- requirements.txt # only for versions 1.6.0 and higher

        • Sklearning
          model.tar.gz/
          |- model.joblib
          | code/ 
          |- inference.py

      • Khi sử dụng hình ảnh Khung, chúng tôi có thể cung cấp tập lệnh điểm nhập tùy chỉnh, nơi chúng tôi có thể triển khai quá trình xử lý trước và sau của riêng mình. Trong trường hợp của chúng tôi, tập lệnh suy luận được đóng gói trong model.tar.gz trong thư mục /code.
    • Cấu hình điểm cuối
      • Chứa thông tin cơ sở hạ tầng cần thiết để triển khai Mô hình SageMaker đến Điểm cuối.
      • Ví dụ: Mô hình SageMaker mà chúng tôi đã tạo được chỉ định ở đây cũng như Loại phiên bản và số lượng phiên bản ban đầu.

Khung và BYOC

    • Truy xuất hình ảnh SageMaker
      • Phần này không phải lúc nào cũng cần thiết và được SageMaker Python SDK trừu tượng hóa thông qua các công cụ ước tính. Tuy nhiên, nếu bạn muốn truy xuất hình ảnh được SageMaker quản lý để mở rộng trên đó thì bạn có thể lấy hình ảnh có sẵn qua SDK. Sau đây là ví dụ về truy xuất hình ảnh TF 2.2 để suy luận.
        import sagemaker
        tf_image = sagemaker.image_uris.retreive(framework="tensorflow", region="us-east-1",
        image_scope = "inference", version = "2.2", instance_type = "ml.c5.xlarge)
        print(tf_image)

    • khung
      • Trong trường hợp bạn muốn triển khai Mô hình khung, chẳng hạn như TensorFlow, PyTorch hoặc MXNet, thì tất cả những gì bạn cần là các tạo phẩm mô hình.
      • Xem tài liệu về cách triển khai mô hình trực tiếp từ các tạo phẩm mô hình để biết TensorFlow, Kim tự tháp, hoặc là MX Net.
    • Lựa chọn giữa 1P và BYOC
      • SDK SageMaker cũng tóm tắt việc xử lý hình ảnh, như bạn đã thấy trong phần Khung trước đó. Nó có các công cụ ước tính được tạo sẵn cho Sklearn, TensorFlow và PyTorch tự động chọn hình ảnh cho bạn dựa trên phiên bản bạn đã chọn. Sau đó, bạn có thể chuyển một tập lệnh huấn luyện/suy luận thông qua Chế độ tập lệnh vào các công cụ ước tính này.
        from sagemaker.pytorch import PyTorch #PyTorch Estimator within SageMaker SDK
        estimator_parameters = {"entry_point": "train_deploy_pytorch_without_dependencies.py",
        "source_dir": "pytorch_script","instance_type": train_instance_type,
        "instance_count": 1,"hyperparameters": hyperparameters,
        "role": role,"base_job_name": "pytorch-model","framework_version": "1.5",
        "py_version": "py3",}
        
        ## Model Training
        estimator = PyTorch(**estimator_parameters)estimator.fit(inputs)
        
        ## Deploy Trained model
        pytorch_predictor = estimator.deploy(initial_instance_count=1, instance_type="ml.m5.xlarge", endpoint_name=pytorch_endpoint_name)

      • Không phải tất cả các gói và hình ảnh đều được SageMaker hỗ trợ và trong trường hợp này bạn phải mang theo hộp đựng của riêng bạn (BYOC). Điều này có nghĩa là xây dựng một Dockerfile sẽ thiết lập môi trường thích hợp cho việc phân phát mô hình của bạn. Một ví dụ về điều này là mô-đun Spacy NLP và không có vùng chứa SageMaker nào được quản lý cho khung này. Do đó, bạn phải cung cấp Dockerfile để cài đặt Spacy. Trong vùng chứa, bạn cũng gắn các tập lệnh suy luận mô hình của mình. Hãy thảo luận nhanh về các thành phần mà bạn cung cấp ở định dạng Mang theo vùng chứa của riêng bạn vì những thành phần này nhất quán trong hầu hết các ví dụ.
        • “nginx.conf“ là tệp cấu hình cho giao diện người dùng nginx. Bạn sẽ không phải chỉnh sửa tệp này, trừ khi bạn muốn điều chỉnh những phần này.
        • "dự đoán.py" là chương trình thực sự triển khai máy chủ web Flask và mã mẫu cho ứng dụng của bạn. Bạn có thể có thêm các tệp hoặc hàm Python trong vùng chứa của mình mà bạn có thể gọi trong tệp này.
        • "phục vụ" chương trình được bắt đầu khi vùng chứa được khởi động để lưu trữ. Nó chỉ đơn giản khởi chạy máy chủ gunicorn, chạy nhiều phiên bản của ứng dụng Flask được xác định trong Predictor.py. Giống như nginx.conf, bạn không phải chỉnh sửa tệp này trừ khi có điều chỉnh thêm mà bạn muốn thực hiện.
        • "xe lửa" là chương trình được gọi khi vùng chứa được chạy để huấn luyện. Bạn sẽ sửa đổi chương trình này để triển khai thuật toán đào tạo của mình. Nếu bạn đang mang theo một mô hình hoặc khung được đào tạo trước như Spacy thì bạn không cần tệp này.
        • “wsgi.py“ là một trình bao bọc nhỏ được sử dụng để gọi ứng dụng Flask. Bạn có thể lấy tệp này theo nguyên trạng, trừ khi bạn đã thay đổi tên của tệp dự đoán.py. Trong trường hợp đó, hãy đảm bảo rằng bản đồ chính xác ở đây.
    • Tập lệnh suy luận tùy chỉnh
      • Bộ chứa SageMaker Framework mang đến cho bạn sự linh hoạt trong việc xử lý quá trình xử lý trước/sau của yêu cầu và tải mô hình bằng cách sử dụng tập lệnh/inference.py điểm nhập tùy chỉnh.
      • Xem tài liệu để tạo tập lệnh inference.py tùy chỉnh cho TensorFlow, Kim tự thápMX Net.
    • vùng chứa tùy chỉnh

Những cách khác nhau mà bạn có thể tương tác với Điểm cuối SageMaker

Có nhiều tùy chọn sử dụng SageMaker theo chương trình để bạn có thể gọi các mô hình đã triển khai của mình để rút ra suy luận. Các Giao diện dòng lệnh AWS (AWS CLI), API REST, Hình thành đám mây AWS, Bộ công cụ phát triển đám mây AWS (AWS CDK) và AWS SDK là những công cụ phổ biến do AWS cung cấp và được các dịch vụ AWS khác hỗ trợ rộng rãi. Đối với SageMaker, chúng tôi cũng có SDK Python của SageMaker. Bây giờ, hãy so sánh các tùy chọn khác nhau để tạo, gọi và quản lý Điểm cuối SageMaker.

Ngoài SageMaker CLI, có hai cách theo chương trình để bạn có thể tương tác với Điểm cuối trong SageMaker thông qua SDK. Chúng ta hãy xem xét một số khác biệt giữa SDK Python của SageMakerBoto3 Python SDK:

  1. SDK “Python” SageMaker cấp cao – SDK này là thư viện mã nguồn mở cung cấp khả năng trừu tượng hóa cấp cao hơn, đặc biệt dành cho việc gọi API SageMaker theo chương trình bằng Python. Điểm hay của SDK này là rất dễ gọi các API sagemaker, rất nhiều công việc nặng nhọc đã được thực hiện như gọi các API ở chế độ đồng bộ/không đồng bộ (giúp tránh bỏ phiếu), lược đồ yêu cầu/phản hồi đơn giản hơn, ít mã hơn nhiều và nhiều hơn thế nữa mã đơn giản hơn. SageMaker Python SDK cung cấp một số thông tin trừu tượng cấp cao để làm việc với SageMaker. Gói này nhằm đơn giản hóa các quy trình ML khác nhau trên SageMaker.
  2. SDK AWS cấp thấp (Boto3 SDK) – SDK này hoạt động ở cấp thấp hơn bằng cách cho phép người dùng chọn trong số các ngôn ngữ lập trình được hỗ trợ và gọi bất kỳ dịch vụ AWS nào theo chương trình. Điều này không chỉ dành riêng cho SageMaker mà còn có thể được sử dụng chung cho tất cả các dịch vụ AWS. SDK AWS cấp thấp có sẵn bằng nhiều ngôn ngữ lập trình khác nhau, chẳng hạn như .NET, Python, Java, Node.js, v.v. Một trong những SDK phổ biến được sử dụng là SDK boto3 python, phổ biến trong cộng đồng nhà khoa học dữ liệu về ML. Điểm hay của SDK này là nó rất nhẹ và được cài đặt mặc định trên AWS Lambda Thời gian chạy. Hơn nữa, bạn có thể sử dụng SDK này để tương tác với bất kỳ dịch vụ AWS nào bên ngoài SageMaker.

Cả hai SDK này đều có thể được sử dụng cho cùng một tác vụ, nhưng trong một số trường hợp, việc sử dụng cái này nhiều hơn cái kia sẽ trực quan hơn. Nên dùng SageMaker Python SDK để dễ dàng kiểm tra trong khi AWS SDK/Boto3 được khuyên dùng cho các trường hợp sử dụng sản xuất để kiểm soát hiệu suất tốt hơn. Ví dụ: SageMaker là một dịch vụ cung cấp hình ảnh được tạo sẵn và duy trì cho các khung phổ biến như Sklearn, PyTorch và TensorFlow. Có thể đặc biệt hữu ích khi sử dụng SageMaker SDK để truy xuất hình ảnh deep learning, đào tạo mô hình bằng cách sử dụng Công cụ ước tínhvà dễ dàng triển khai mô hình bằng lệnh gọi API đơn giản. Có thể tìm thấy một ví dụ để thể hiện điều này trong thực tế tại đây.

Mặt khác, đôi khi bạn có các mô hình được đào tạo trước hoặc các khung công tác khác nhau mà bạn có thể đang sử dụng. Điều này đòi hỏi nhiều tùy chỉnh hơn và SDK SageMaker không phải lúc nào cũng cung cấp điều đó. Chúng tôi có ba bước quan trọng và các lệnh gọi API boto3 tương ứng mà chúng tôi cần thực hiện để triển khai điểm cuối: Tạo mô hình, Tạo cấu hình điểm cuốiTạo điểm cuối. Hai thực thể đầu tiên được trừu tượng hóa bằng SDK SageMaker với các khung được hỗ trợ của chúng tôi, nhưng chúng tôi thấy những chi tiết đó bằng SDK Boto3. Bạn có thể tìm thấy một ví dụ mở rộng để giới thiệu các bước liên quan đến việc sử dụng SDK Boto3 để tạo và quản lý điểm cuối tại đây.

Những cân nhắc về việc lưu trữ SageMaker

Suy luận thời gian thực của SageMaker có hai cách tối ưu hóa chính mà bạn có thể xem xét: 1/ Tối ưu hóa hiệu suất và 2/ Tối ưu hóa chi phí. Trước tiên chúng ta hãy nhìn vào tối ưu hóa hiệu suất, vì khi chúng ta xử lý khối lượng công việc nhạy cảm với độ trễ, mỗi mili giây đều rất quan trọng. Có nhiều nút bấm khác nhau mà bạn có thể điều chỉnh để tối ưu hóa độ trễ và thông lượng của mình. Ở cấp độ cá thể, bạn có thể sử dụng Đề xuất suy luận, công cụ kiểm tra tải tích hợp của chúng tôi, giúp bạn chọn loại phiên bản phù hợp và tính khối lượng công việc của mình. Việc sử dụng sự kết hợp điện toán phù hợp sẽ giúp bạn đạt được cả hiệu suất và chi phí. Bạn cũng có thể điều chỉnh ở cấp vùng chứa và khung.
Các câu hỏi để tự hỏi mình bao gồm:

  1. Bạn đang sử dụng khuôn khổ nào?
  2. Có bất kỳ biến môi trường nào mà bạn có thể điều chỉnh trong vùng chứa của mình không?

Một ví dụ về điều này là tối đa hóa Hiệu suất TensorFlow với bộ chứa SageMaker. Một ví dụ khác về tối ưu hóa cấp vùng chứa là sử dụng gRPC thay vì REST phía sau điểm cuối của bạn. Cuối cùng, bạn cũng có thể tối ưu hóa ở cấp tập lệnh. Mã suy luận của bạn có mất thêm thời gian ở một số khối nhất định không? Việc căn thời gian cho từng dòng trong tập lệnh sẽ giúp bạn nắm bắt được mọi điểm nghẽn trong mã của mình.

Có ba cách để xem xét cải thiện việc sử dụng của điểm cuối Thời gian thực của bạn:

  1. Điểm cuối đa mô hình (MME)
    • Bạn có thể lưu trữ hàng nghìn mô hình đằng sau một điểm cuối duy nhất. Điều này hoàn hảo cho các trường hợp sử dụng mà bạn không cần điểm cuối dành riêng cho từng mô hình của mình. MME hoạt động tốt nhất khi các mô hình có kích thước và độ trễ tương tự nhau và thuộc cùng một khung ML. Chúng thường có thể được sử dụng khi bạn không cần phải gọi cùng một mô hình mọi lúc. Bạn có thể tải động mô hình tương ứng lên Điểm cuối SageMaker để phục vụ yêu cầu của mình. Có thể tìm thấy một ví dụ giới thiệu MME đang hoạt động tại đây. Nếu bạn muốn tìm hiểu thêm về các lưu ý khác nhau và các phương pháp hay nhất để lưu trữ mô hình trên MME, hãy tham khảo bài đăng tại đây.
  2. Điểm cuối nhiều vùng chứa (MCE)
    • Thay vì sử dụng nhiều điểm cuối để lưu trữ nhiều vùng chứa, bạn có thể xem xét việc lưu trữ tối đa 15 vùng chứa trên một điểm cuối duy nhất. Mỗi một trong những container này có thể được gọi trực tiếp. Do đó, bạn có thể xem xét việc lưu trữ các mô hình khác nhau của các khung khác nhau trên một điểm cuối duy nhất. Tùy chọn này là tốt nhất khi các vùng chứa có đặc điểm sử dụng và hiệu suất tương tự. Có thể tìm thấy một ví dụ giới thiệu MCE tại đây. Nếu bạn muốn tìm hiểu thêm về các lưu ý khác nhau và các phương pháp hay nhất để lưu trữ mô hình trên MCE, hãy tham khảo bài đăng tại đây.
  3. Đường ống suy luận nối tiếp (SIP)
    • Nếu bạn có một hệ thống các bước trong logic suy luận của mình thì bạn có thể sử dụng Đường ống suy luận nối tiếp (SIP). SIP cho phép bạn xâu chuỗi 2-15 container lại với nhau sau một điểm cuối duy nhất. SIP hoạt động tốt khi bạn có các bước tiền xử lý và hậu xử lý. Nếu bạn muốn tìm hiểu thêm về các mẫu thiết kế cho đường dẫn suy luận nối tiếp, hãy tham khảo bài viết tại đây.

Tối ưu hóa chính thứ hai cần ghi nhớ là chi phí. Suy luận thời gian thực là một trong ba tùy chọn trong quá trình tạo Điểm cuối SageMaker. Điểm cuối SageMaker luôn chạy trừ khi bị xóa. Do đó, bạn phải xem xét việc cải thiện việc sử dụng điểm cuối, từ đó mang lại lợi ích về chi phí.

SageMaker cũng cung cấp Kế hoạch tiết kiệm. Kế hoạch Tiết kiệm có thể giảm chi phí của bạn tới 64%. Đây là cam kết có thời hạn 1 hoặc 3 năm đối với mức sử dụng nhất quán ($/giờ). Xem cái này Link để biết thêm thông tin. Và xem cái này Link để tối ưu hóa chi phí cho Inference trên Amazon SageMaker một cách tốt nhất.

Kết luận

Trong bài đăng này, chúng tôi đã giới thiệu cho bạn một số phương pháp hay nhất để chọn giữa các tùy chọn lưu trữ mô hình khác nhau trên SageMaker. Chúng tôi đã thảo luận về các yêu cầu của SageMaker Endpoint cũng như các yêu cầu và chức năng của Framework và BYOC. Hơn nữa, chúng tôi đã nói về những cách khác nhau mà bạn có thể tận dụng Điểm cuối thời gian thực để lưu trữ các mô hình ML của mình trong quá trình sản xuất. một cách tiết kiệm chi phí và mang lại hiệu quả cao.

Xem tương ứng Kho GitHub và thử các ví dụ.


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

Bắt đầu triển khai các mô hình thời gian thực trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Raghu Ramesha là một Kiến trúc sư Giải pháp ML của nhóm Dịch vụ Amazon SageMaker. Anh ấy tập trung vào việc giúp khách hàng xây dựng, triển khai và chuyển khối lượng công việc sản xuất ML sang SageMaker trên quy mô lớn. Anh ấy chuyên về học máy, AI và các lĩnh vực thị giác máy tính, và có bằng thạc sĩ về Khoa học máy tính tại UT Dallas. Khi rảnh rỗi, anh thích đi du lịch và chụp ảnh.

Bắt đầu triển khai các mô hình thời gian thực trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Ram Vegiraju là một Kiến trúc sư ML với nhóm Dịch vụ SageMaker. Anh ấy tập trung vào việc giúp khách hàng xây dựng và tối ưu hóa các giải pháp AI / ML của họ trên Amazon SageMaker. Trong thời gian rảnh rỗi, anh ấy thích đi du lịch và viết lách.

Bắt đầu triển khai các mô hình thời gian thực trên Amazon SageMaker PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Marc Karp là một Kiến trúc sư ML với nhóm Dịch vụ SageMaker. Ông tập trung vào việc giúp khách hàng thiết kế, triển khai và quản lý khối lượng công việc ML trên quy mô lớn. Khi rảnh rỗi, anh ấy thích đi du lịch và khám phá những địa điểm mới.

Bắt đầu triển khai các mô hình thời gian thực trên Amazon SageMaker PlatoBlockchain Data Intelligence. 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.

Bắt đầu triển khai các mô hình thời gian thực trên Amazon SageMaker PlatoBlockchain Data Intelligence. 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.

Dấu thời gian:

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