Легко створюйте та розгортайте класичні ML і LLM за допомогою Amazon SageMaker, частина 1: Покращення PySDK | Веб-сервіси Amazon

Легко створюйте та розгортайте класичні ML і LLM за допомогою Amazon SageMaker, частина 1: Покращення PySDK | Веб-сервіси Amazon

Amazon SageMaker це повністю керований сервіс, який дозволяє розробникам і дослідникам обробки даних швидко й без зусиль створювати, навчати та розгортати моделі машинного навчання (ML) у будь-якому масштабі. SageMaker спрощує розгортання моделей у виробництві безпосередньо через виклики API до служби. Моделі упаковані в контейнери для надійного та масштабованого розгортання. Хоча він надає різні точки входу, такі як SageMaker Python SDK, AWS SDK, консоль SageMaker і Студія Amazon SageMaker ноутбуки для спрощення процесу навчання та розгортання моделей ML у масштабі, клієнти все ще шукають кращі способи розгортання своїх моделей для тестування на майданчику та оптимізації розгортання виробництва.

Ми запускаємо два нові способи спрощення процесу пакування та розгортання моделей за допомогою SageMaker.

У цій публікації ми представляємо новий SDK SageMaker Python ModelBuilder досвіду, який спрямований на те, щоб мінімізувати криву навчання для нових користувачів SageMaker, таких як спеціалісти з обробки даних, а також допомогти досвідченим інженерам MLOps максимізувати використання послуг хостингу SageMaker. Це зменшує складність початкового налаштування та розгортання, а також надає вказівки щодо найкращих практик для використання всіх можливостей SageMaker. Ми надаємо детальну інформацію та приклади GitHub для цієї нової можливості SageMaker.

Інший новий запуск полягає у використанні нового інтерактивного досвіду розгортання в SageMaker Studio. Ми обговорюємо це в частині 2.

Розгортання моделей на кінцевій точці SageMaker передбачає ряд кроків, щоб підготувати модель до розміщення на кінцевій точці SageMaker. Це передбачає отримання артефактів моделі в правильному форматі та структурі, створення коду висновку та визначення важливих деталей, таких як URL-адреса зображення моделі, Служба простого зберігання Amazon (Amazon S3) розташування артефактів моделі, кроки серіалізації та десеріалізації та необхідні Управління ідентифікацією та доступом AWS (IAM) для сприяння відповідним дозволам доступу. Після цього для конфігурації кінцевої точки потрібно визначити тип висновку та налаштувати відповідні параметри, такі як типи екземплярів, кількість і розподіл трафіку між варіантами моделі.

Щоб ще більше допомогти нашим клієнтам під час використання хостингу SageMaker, ми представили новий ModelBuilder у SageMaker Python SDK, який забезпечує наступні ключові переваги під час розгортання моделей на кінцевих точках SageMaker:

  • Уніфікує досвід розгортання в різних структурах – Новий досвід забезпечує послідовний робочий процес для розгортання моделей, створених за допомогою різних фреймворків, таких як PyTorch, TensorFlow і XGBoost. Це спрощує процес розгортання.
  • Автоматизує розгортання моделі – Такі завдання, як вибір відповідних контейнерів, захоплення залежностей і обробка серіалізації/десеріалізації, автоматизовані, що зменшує ручні зусилля, необхідні для розгортання.
  • Забезпечує плавний перехід від локальної кінцевої точки до розміщеної SageMaker – З мінімальними змінами коду моделі можна легко перейти від локального тестування до розгортання на кінцевій точці SageMaker. Живі журнали роблять налагодження безперешкодним.

Загалом, SageMaker ModelBuilder спрощує та оптимізує процес упаковки моделі для висновків SageMaker, обробляючи деталі низького рівня та надає інструменти для тестування, перевірки та оптимізації кінцевих точок. Це підвищує продуктивність розробника та зменшує кількість помилок.

У наступних розділах ми докладніше зануримося в деталі цієї нової функції. Ми також обговорюємо, як розгортати моделі на хостингу SageMaker за допомогою ModelBuilder, що спрощує процес. Потім ми ознайомимо вас із кількома прикладами для різних фреймворків для розгортання як традиційних моделей машинного навчання, так і базових моделей, які забезпечують генеративні випадки використання ШІ.

Знайомство з SageMaker ModelBuilder

Новий ModelBuilder це клас Python, зосереджений на створенні моделей ML, створених за допомогою фреймворків, таких як XGBoost або PyTorch, і перетворення їх у моделі, готові для розгортання на SageMaker. ModelBuilder забезпечує build() функція, яка генерує артефакти відповідно до сервера моделі, і a deploy() функцію для розгортання локально або на кінцевій точці SageMaker. Введення цієї функції спрощує інтеграцію моделей із середовищем SageMaker, оптимізуючи їх для продуктивності та масштабованості. Наступна схема показує, як ModelBuilder працює на високому рівні.

Легко створюйте та розгортайте класичні ML і LLM за допомогою Amazon SageMaker, частина 1: Покращення PySDK | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Клас ModelBuilder

Команда ModelBuilder клас надає різні варіанти налаштування. Однак для розгортання каркасної моделі розробник моделі очікує лише модель, вхідні дані, вихідні дані та роль:

class ModelBuilder( model, # model id or model object role_arn, # IAM role schema_builder, # defines the input and output mode, # select between local deployment and depoy to SageMaker Endpoints ...
)

SchemaBuilder

Команда SchemaBuilder клас дозволяє визначати вхід і вихід для вашої кінцевої точки. Це дозволяє конструктору схем генерувати відповідні функції маршалінгу для серіалізації та десеріалізації вхідних і вихідних даних. Наступний файл класу надає всі параметри для налаштування:

class SchemaBuilder( sample_input: Any, sample_output: Any, input_translator: CustomPayloadTranslator = None, output_translator: CustomPayloadTranslator = None
)

Однак у більшості випадків спрацює лише вибірка введення та виведення. Наприклад:

input = "How is the demo going?"
output = "Comment la démo va-t-elle?"
schema = SchemaBuilder(input, output)

Надаючи зразки введення та виведення, SchemaBuilder може автоматично визначати необхідні перетворення, що робить процес інтеграції більш простим. Для більш просунутих випадків використання є гнучкість надання користувацьких функцій перекладу як для введення, так і для виведення, забезпечуючи ефективну обробку складніших структур даних. Ми демонструємо це в наступних розділах, розгортаючи різні моделі з використанням різних фреймворків ModelBuilder.

Досвід локального режиму

У цьому прикладі ми використовуємо ModelBuilder для локального розгортання моделі XGBoost. Ви можете використовувати режим для перемикання між локальним тестуванням і розгортанням на кінцевій точці SageMaker. Спочатку ми навчаємо модель XGBoost (локально або в SageMaker) і зберігаємо артефакти моделі в робочому каталозі:

# Train the model
model = XGBClassifier()
model.fit(X_train, y_train)
model.save_model(model_dir + "/my_model.xgb")

Потім ми створюємо об’єкт ModelBuilder, передаючи фактичний об’єкт моделі, the SchemaBuilder який використовує зразки тестових об’єктів вводу та виводу (ті самі введення та виведення, які ми використовували під час навчання та тестування моделі), щоб визначити необхідну серіалізацію. Зверніть увагу, що ми використовуємо Mode.LOCAL_CONTAINER щоб указати локальне розгортання. Після цього ми називаємо будувати функція автоматичного визначення підтримуваного образу контейнера фреймворку, а також сканування залежностей. Перегляньте наступний код:

model_builder_local = ModelBuilder( model=model, schema_builder=SchemaBuilder(X_test, y_pred), role_arn=execution_role, mode=Mode.LOCAL_CONTAINER
)
xgb_local_builder = model_builder_local.build()

Нарешті ми можемо подзвонити deploy функція в об’єкті моделі, яка також забезпечує оперативне журналювання для полегшення налагодження. Вам не потрібно вказувати тип екземпляра або кількість, оскільки модель буде розгорнуто локально. Якщо ви вказали ці параметри, вони будуть проігноровані. Ця функція поверне об’єкт предиктора, який ми можемо використовувати для прогнозування з тестовими даними:

# note: all the serialization and deserialization is handled by the model builder.
predictor_local = xgb_local_builder.deploy(
# instance_type='ml.c5.xlarge',
# initial_instance_count=1
) # Make prediction for test data. predictor_local.predict(X_test)

За бажанням ви також можете керувати завантаженням моделі та попередньою та постобробкою за допомогою InferenceSpec. Більш детальну інформацію ми надамо далі в цій публікації. Використання LOCAL_CONTAINER це чудовий спосіб перевірити свій сценарій локально перед розгортанням на кінцевій точці SageMaker.

Див model-builder-xgboost.ipynb приклад, щоб перевірити розгортання як локально, так і на кінцевій точці SageMaker за допомогою ModelBuilder.

Розгортайте традиційні моделі на кінцевих точках SageMaker

У наступних прикладах ми демонструємо, як використовувати ModelBuilder для розгортання традиційних моделей машинного навчання.

Моделі XGBoost

Подібно до попереднього розділу, ви можете розгорнути модель XGBoost на кінцевій точці SageMaker, змінивши mode параметр під час створення ModelBuilder об’єкт:

model_builder = ModelBuilder( model=model, schema_builder=SchemaBuilder(sample_input=sample_input, sample_output=sample_output), role_arn=execution_role, mode=Mode.SAGEMAKER_ENDPOINT
)
xgb_builder = model_builder.build()
predictor = xgb_builder.deploy( instance_type='ml.c5.xlarge', initial_instance_count=1
)

Зауважте, що під час розгортання на кінцевих точках SageMaker вам потрібно вказати тип екземпляра та кількість екземплярів під час виклику deploy функції.

Див model-builder-xgboost.ipynb приклад розгортання моделі XGBoost.

Моделі Triton

Ви можете використовувати ModelBuilder для обслуговування моделей PyTorch Сервер висновків Triton. Для цього потрібно вказати model_server параметр як ModelServer.TRITON, пройти модель і отримати a SchemaBuilder об’єкт, для якого потрібні зразки входів і виходів моделі. ModelBuilder подбає про все інше за вас.

model_builder = ModelBuilder( model=model, schema_builder=SchemaBuilder(sample_input=sample_input, sample_output=sample_output), role_arn=execution_role, model_server=ModelServer.TRITON, mode=Mode.SAGEMAKER_ENDPOINT
) triton_builder = model_builder.build() predictor = triton_builder.deploy( instance_type='ml.g4dn.xlarge', initial_instance_count=1
)

Відноситься до модель-конструктор-тритон.ipynb для розгортання моделі з Triton.

Моделі Hugging Face

У цьому прикладі ми покажемо вам, як розгорнути попередньо підготовлену модель трансформатора, надану Hugging Face для SageMaker. Ми хочемо використовувати Hugging Face pipeline для завантаження моделі, тому ми створюємо власну специфікацію висновку для ModelBuilder:

# custom inference spec with hugging face pipeline
class MyInferenceSpec(InferenceSpec): def load(self, model_dir: str): return pipeline("translation_en_to_fr", model="t5-small") def invoke(self, input, model): return model(input) inf_spec = MyInferenceSpec()

Ми також визначаємо вхід і вихід робочого навантаження логічного висновку, визначаючи SchemaBuilder об'єкт на основі входу та виходу моделі:

schema = SchemaBuilder(value,output)

Потім ми створюємо ModelBuilder і розгорніть модель на кінцевій точці SageMaker, дотримуючись тієї ж логіки, що й у іншому прикладі:

builder = ModelBuilder( inference_spec=inf_spec, mode=Mode.SAGEMAKER_ENDPOINT, # you can change it to Mode.LOCAL_CONTAINER for local testing schema_builder=schema, image_uri=image,
)
model = builder.build( role_arn=execution_role, sagemaker_session=sagemaker_session,
)
predictor = model.deploy( initial_instance_count=1, instance_type='ml.g5.2xlarge'
)

Відноситься до model-builder-huggingface.ipynb щоб розгорнути модель трубопроводу Hugging Face.

Розгортайте базові моделі на кінцевих точках SageMaker

У наступних прикладах ми демонструємо, як використовувати ModelBuilder для розгортання моделей основи. Як і для моделей, згаданих раніше, все, що потрібно, це ідентифікатор моделі.

Hugging Face Hub

Якщо ви хочете розгорнути базову модель із Hugging Face Hub, все, що вам потрібно зробити, це передати попередньо навчений ідентифікатор моделі. Наприклад, наведений нижче фрагмент коду розгортає мета-лама/лама-2-7b-hf моделювати локально. Ви можете змінити режим на Mode.SAGEMAKER_ENDPOINT для розгортання на кінцевих точках SageMaker.

model_builder = ModelBuilder( model="meta-llama/Llama-2-7b-hf", schema_builder=SchemaBuilder(sample_input, sample_output), model_path="/home/ec2-user/SageMaker/LoadTestResources/meta-llama2-7b", #local path where artifacts will be saved mode=Mode.LOCAL_CONTAINER, env_vars={ # Llama 2 is a gated model and requires a Hugging Face Hub token. "HUGGING_FACE_HUB_TOKEN": "<YourHuggingFaceToken>" }
)
model = model_builder.build()
local_predictor = model.deploy()

Для закритих моделей на Hugging Face Hub вам потрібно надіслати запит на доступ через Hugging Face Hub і використати відповідний ключ, передавши його як змінну середовища HUGGING_FACE_HUB_TOKEN. Для деяких моделей Hugging Face може знадобитися надійний віддалений код. Його також можна встановити як змінну середовища за допомогою HF_TRUST_REMOTE_CODE. За замовчуванням, ModelBuilder використовуватиме висновок про генерацію тексту в обіймах (TGI) як основний контейнер для моделей Hugging Face. Якщо ви хочете використовувати AWS Large Model Inference (LMI) контейнери, ви можете налаштувати model_server параметр як ModelServer.DJL_SERVING коли ви налаштовуєте ModelBuilder об'єкт

Чудова особливість ModelBuilder це можливість запускати локальне налаштування параметрів контейнера, коли ви використовуєте LOCAL_CONTAINER режим. Цю функцію можна використовувати, просто запустивши tuned_model = model.tune().

Відноситься до demo-model-builder-huggingface-llama2.ipynb щоб розгорнути модель Hugging Face Hub.

SageMaker JumpStart

Amazon SageMaker JumpStart також пропонує низку попередньо навчених моделей основи. Подібно до процесу розгортання моделі з Hugging Face Hub, потрібен ідентифікатор моделі. Розгортання моделі SageMaker JumpStart на кінцевій точці SageMaker так само просто, як запуск наступного коду:

model_builder = ModelBuilder( model="huggingface-llm-falcon-7b-bf16", schema_builder=SchemaBuilder(sample_input, sample_output), role_arn=execution_role
) sm_ep_model = model_builder.build() predictor = sm_ep_model.deploy()

Усі доступні ідентифікатори моделі SageMaker JumpStart див Вбудовані алгоритми з попередньо навченою таблицею моделей. Відноситься до model-builder-jumpstart-falcon.ipynb для розгортання моделі SageMaker JumpStart.

Компонент умовиводу

ModelBulder дозволяє використовувати нову можливість компонента висновку в SageMaker для розгортання моделей. Щоб отримати додаткові відомості про компоненти висновку, див Зменшіть витрати на розгортання моделі в середньому на 50% за допомогою останніх функцій SageMaker. Ви можете використовувати компоненти висновку для розгортання з ModelBuilder шляхом уточнення endpoint_type=EndpointType.INFERENCE_COMPONENT_BASED в deploy() метод. Ви також можете використовувати tune() метод, який вибирає оптимальну кількість прискорювачів, і модифікувати його, якщо потрібно.

resource_requirements = ResourceRequirements( requests={ "num_accelerators": 4, "memory": 1024, "copies": 1, }, limits={},
) goldfinch_predictor_2 = model_2.deploy( mode=Mode.SAGEMAKER_ENDPOINT, endpoint_type=EndpointType.INFERENCE_COMPONENT_BASED, ... )

Відноситься до model-builder-inference-component.ipynb щоб розгорнути модель як компонент висновку.

Налаштуйте клас ModelBuilder

Команда ModelBuilder клас дозволяє налаштувати завантаження моделі за допомогою InferenceSpec.

Крім того, ви можете керувати серіалізацією та десеріалізацією корисного навантаження та відповідей, а також налаштовувати попередню та постобробку за допомогою CustomPayloadTranslator. Крім того, якщо вам потрібно розширити наші попередньо створені контейнери для розгортання моделі на SageMaker, ви можете використовувати ModelBuilder керувати процесом пакування моделі. У цьому наступному розділі ми надаємо більш детальну інформацію про ці можливості.

InferenceSpec

InferenceSpec пропонує додатковий рівень налаштування. Це дозволяє вам визначити, як завантажується модель і як вона оброблятиме вхідні запити на висновок. Через InferenceSpec, ви можете визначити спеціальні процедури завантаження для ваших моделей, минаючи стандартні механізми завантаження. Ця гнучкість особливо корисна під час роботи з нестандартними моделями або спеціальними конвеєрами висновків. Метод виклику можна налаштувати, надаючи вам можливість адаптувати, як модель обробляє вхідні запити (попередня обробка та постобробка). Ця настройка може бути важливою для забезпечення відповідності процесу логічного висновку конкретним потребам моделі. Перегляньте наступний код:

class InferenceSpec(abc.ABC): @abc.abstractmethod def load(self, model_dir: str): pass @abc.abstractmethod def invoke(self, input_object: object, model: object): pass

Наступний код показує приклад використання цього класу:

class MyInferenceSpec(InferenceSpec): def load(self, model_dir: str): return // model object def invoke(self, input, model): return model(input)

CustomPayloadTranslator

Під час виклику кінцевих точок SageMaker дані надсилаються через корисні дані HTTP з різними типами MIME. Наприклад, зображення, надіслане до кінцевої точки для висновку, має бути перетворено в байти на стороні клієнта та надіслано через корисне навантаження HTTP до кінцевої точки. Коли кінцева точка отримує корисне навантаження, їй потрібно десеріалізувати рядок байтів назад до типу даних, який очікується моделлю (також відомий як десеріалізація на стороні сервера). Після того, як модель завершить прогнозування, результати потрібно серіалізувати до байтів, які можна надіслати назад через корисне навантаження HTTP користувачу або клієнту. Коли клієнт отримує байтові дані відповіді, йому потрібно виконати десеріалізацію на стороні клієнта, щоб перетворити дані байтів назад у очікуваний формат даних, наприклад JSON. Як мінімум, вам потрібно перетворити дані для наступного (як пронумеровано на наступній діаграмі):

  1. Серіалізація запиту на висновок (обробляється клієнтом)
  2. Десеріалізація запиту на висновок (оброблюється сервером або алгоритмом)
  3. Виклик моделі проти корисного навантаження
  4. Надсилання корисного навантаження відповіді назад
  5. Серіалізація відповіді на висновок (обробляється сервером або алгоритмом)
  6. Десеріалізація відповіді на висновок (обробляється клієнтом)

На наступній діаграмі показано процес серіалізації та десеріалізації під час процесу виклику.

Легко створюйте та розгортайте класичні ML і LLM за допомогою Amazon SageMaker, частина 1: Покращення PySDK | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

У наступному фрагменті коду ми показуємо приклад CustomPayloadTranslator коли потрібна додаткова настройка для обробки як серіалізації, так і десеріалізації на стороні клієнта та сервера відповідно:

from sagemaker.serve import CustomPayloadTranslator # request translator
class MyRequestTranslator(CustomPayloadTranslator): # This function converts the payload to bytes - happens on client side def serialize_payload_to_bytes(self, payload: object) -> bytes: # converts the input payload to bytes ... ... return //return object as bytes # This function converts the bytes to payload - happens on server side def deserialize_payload_from_stream(self, stream) -> object: # convert bytes to in-memory object ... ... return //return in-memory object # response translator class MyResponseTranslator(CustomPayloadTranslator): # This function converts the payload to bytes - happens on server side def serialize_payload_to_bytes(self, payload: object) -> bytes: # converts the response payload to bytes ... ... return //return object as bytes # This function converts the bytes to payload - happens on client side def deserialize_payload_from_stream(self, stream) -> object: # convert bytes to in-memory object ... ... return //return in-memory object

У demo-model-builder-pytorch.ipynb ноутбук, ми демонструємо, як легко розгорнути модель PyTorch на кінцевій точці SageMaker за допомогою ModelBuilder з CustomPayloadTranslator і InferenceSpec клас.

Модель етапу для розгортання

Якщо ви хочете створити модель для висновку або в реєстрі моделей, ви можете використовувати model.create() or model.register(). Увімкнена модель створюється в службі, а потім її можна розгорнути пізніше. Перегляньте наступний код:

model_builder = ModelBuilder( model=model, schema_builder=SchemaBuilder(X_test, y_pred), role_arn=execution_role, )
deployable_model = model_builder.build() deployable_model.create() # deployable_model.register() for model registry

Використовуйте спеціальні контейнери

SageMaker надає попередньо створені образи Docker для його вбудованих алгоритмів і підтримуваних структур глибокого навчання, які використовуються для навчання та висновків. Якщо попередньо зібраний контейнер SageMaker не відповідає всім вашим вимогам, ви можете розширити наявний образ відповідно до ваших потреб. Розширюючи попередньо створений образ, ви можете використовувати включені бібліотеки глибокого навчання та налаштування без необхідності створювати образ з нуля. Докладніше про те, як розширити попередньо зібрані контейнери, див. у документі SageMaker. ModelBuilder підтримує випадки використання під час використання власних контейнерів, які розширені з наших попередньо створених контейнерів Docker.

Щоб використовувати власне зображення контейнера в цьому випадку, вам потрібно встановити поля image_uri та model_server при визначенні ModelBuilder:

model_builder = ModelBuilder( model=model, # Pass in the actual model object. its "predict" method will be invoked in the endpoint. schema_builder=SchemaBuilder(X_test, y_pred), # Pass in a "SchemaBuilder" which will use the sample test input and output objects to infer the serialization needed. role_arn=execution_role, image_uri=image_uri, # REQUIRED FOR BYOC: Passing in image hosted in personal ECR Repo model_server=ModelServer.TORCHSERVE, # REQUIRED FOR BYOC: Passing in model server of choice mode=Mode.SAGEMAKER_ENDPOINT, dependencies={"auto": True, "custom": ["protobuf==3.20.2"]}
)

Ось тут image_uri буде ARN зображення контейнера, який зберігається у вашому обліковому записі Реєстр контейнерів Amazon Elastic (Amazon ECR) репозиторій. Один із прикладів показано таким чином:

# Pulled the xgboost:1.7-1 DLC and pushed to personal ECR repo
image_uri = "<your_account_id>.dkr.ecr.us-west-2.amazonaws.com/my-byoc:xgb"

Коли image_uri встановлено, під час ModelBuilder процес створення, він пропускатиме автоматичне виявлення зображення, оскільки надано URI зображення. Якщо model_server не встановлено в ModelBuilder, ви отримаєте повідомлення про помилку перевірки, наприклад:

ValueError: Model_server must be set when image_uri is set. Supported model servers: {<ModelServer.TRITON: 5>, <ModelServer.DJL_SERVING: 4>, <ModelServer.TORCHSERVE: 1>}

На момент публікації цього допису, ModelBuilder підтримує привезення власних контейнерів, які розширені з наших попередньо зібрані зображення контейнерів DLC або контейнери, створені за допомогою моделей серверів, як Бібліотека глибокої Java (DJL), Висновок генерації тексту (TGI), TorchServe та Сервер висновків Triton.

Спеціальні залежності

Під час запуску ModelBuilder.build(), за замовчуванням він автоматично захоплює ваше середовище Python у файл requirements.txt файл і встановлює ту саму залежність у контейнер. Однак інколи ваше локальне середовище Python конфліктуватиме з середовищем у контейнері. ModelBuilder надає простий спосіб для вас змінити захоплені залежності, щоб виправити такі конфлікти залежностей, дозволяючи вам надавати власні конфігурації в ModelBuilder. Зауважте, що це лише для TorchServe і Triton with InferenceSpec. Наприклад, ви можете вказати залежності вхідних параметрів, які є словником Python, у ModelBuilder наступним чином:

dependency_config = { "auto" = True, "requirements" = "/path/to/your/requirements.txt" "custom" = ["module>=1.2.3,<1.5", "boto3==1.16.*", "some_module@http://some/url"]
} ModelBuilder( # Other params dependencies=dependency_config,
).build()

Ми визначаємо такі поля:

  • автоматичний – Чи намагатися автоматично зафіксувати залежності у вашому середовищі.
  • вимога – Нитка шляху до свого requirements.txt файл. (Це необов'язково.)
  • виготовлений на замовлення – Список будь-яких інших настроюваних залежностей, які ви хочете додати або змінити. (Це необов'язково.)

Якщо той самий модуль вказано в кількох місцях, custom матиме найвищий пріоритет requirements та auto матиме найнижчий пріоритет. Наприклад, припустимо, що під час автоматичного визначення ModelBuilder виявляє numpy==1.25, А в requirements.txt надається файл, який визначає numpy>=1.24,<1.26. Крім того, існує спеціальна залежність: custom = ["numpy==1.26.1"]. В цьому випадку, numpy==1.26.1 буде вибрано, коли ми встановимо залежності в контейнері.

Прибирати

Коли ви закінчите тестування моделей, радимо видалити кінцеву точку, щоб заощадити кошти, якщо кінцева точка більше не потрібна. Ви можете стежити за Прибирати у кожному з демонстраційних блокнотів або використайте наступний код, щоб видалити модель і кінцеву точку, створені демонстрацією:

predictor.delete_model()
predictor.delete_endpoint()

Висновок

Нова функція SageMaker ModelBuilder спрощує процес розгортання моделей ML у виробництві на SageMaker. Обробляючи багато складних деталей за лаштунками, ModelBuilder скорочує криву навчання для нових користувачів і максимізує використання для досвідчених користувачів. За допомогою лише кількох рядків коду ви можете розгортати моделі з вбудованими фреймворками, як-от XGBoost, PyTorch, Triton і Hugging Face, а також моделі, надані SageMaker JumpStart, у надійні, масштабовані кінцеві точки на SageMaker.

Ми заохочуємо всіх користувачів SageMaker випробувати цю нову можливість, звернувшись до ModelBuilder сторінка документації. ModelBuilder тепер доступний для всіх користувачів SageMaker без додаткової плати. Скористайтеся цим спрощеним робочим процесом, щоб швидше розгортати свої моделі. Ми з нетерпінням чекаємо почути, як ModelBuilder прискорює життєвий цикл розробки вашої моделі!

Особлива подяка Сіріші Упадх'яялі, Реймонду Лю, Гері Вангу, Дхавалу Пателю, Діпаку Гаргу та Раму Вегіражу.


Про авторів

Легко створюйте та розгортайте класичні ML і LLM за допомогою Amazon SageMaker, частина 1: Покращення PySDK | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Мелані Лі, PhD, є старшим спеціалістом зі штучного інтелекту та ML в AWS у Сіднеї, Австралія. Вона допомагає корпоративним клієнтам створювати рішення за допомогою найсучасніших інструментів AI/ML на AWS і надає вказівки щодо архітектури та впровадження рішень ML із передовими практиками. У вільний час вона любить досліджувати природу та проводити час із родиною та друзями.

Легко створюйте та розгортайте класичні ML і LLM за допомогою Amazon SageMaker, частина 1: Покращення PySDK | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Марк Карп є архітектором ML у команді Amazon SageMaker Service. Він зосереджується на допомозі клієнтам проектувати, розгортати та керувати робочими навантаженнями ML у масштабі. У вільний час він любить подорожувати та досліджувати нові місця.

Легко створюйте та розгортайте класичні ML і LLM за допомогою Amazon SageMaker, частина 1: Покращення PySDK | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Сем Едвардс, є хмарним інженером (AI/ML) в AWS Sydney, який спеціалізується на машинному навчанні та Amazon SageMaker. Він захоплено допомагає клієнтам вирішувати проблеми, пов’язані з робочими процесами машинного навчання, і створює нові рішення для них. Поза роботою він любить грати в ракетний спорт і подорожувати.

Легко створюйте та розгортайте класичні ML і LLM за допомогою Amazon SageMaker, частина 1: Покращення PySDK | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Рагу Рамеша є старшим архітектором рішень ML у команді Amazon SageMaker Service. Він зосереджується на допомозі клієнтам створювати, розгортати та переносити робочі навантаження ML на SageMaker у великих масштабах. Він спеціалізується на машинному навчанні, штучному інтелекті та комп’ютерному зорі, а також має ступінь магістра комп’ютерних наук в UT Dallas. У вільний час захоплюється подорожами та фотографією.

Легко створюйте та розгортайте класичні ML і LLM за допомогою Amazon SageMaker, частина 1: Покращення PySDK | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Шива Раадж Котіні працює головним менеджером із продуктів у портфоліо продуктів Amazon SageMaker. Він зосереджується на розгортанні моделі, налаштуванні продуктивності та оптимізації в SageMaker для висновків.

Легко створюйте та розгортайте класичні ML і LLM за допомогою Amazon SageMaker, частина 1: Покращення PySDK | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Мохан Ганді є старшим інженером-програмістом в AWS. Він працює в AWS протягом останніх 10 років і працював над різними сервісами AWS, такими як EMR, EFA та RDS. Зараз він зосереджений на вдосконаленні SageMaker Inference Experience. У вільний час захоплюється походами та марафонами.

Часова мітка:

Більше від AWS Машинне навчання