В SageMaker Python SDK v3 изменился подход к script mode, то есть к запуску пользовательских скриптов обучения и инференса в собственных контейнерах. Как сообщает AWS Machine Learning Blog, специализированные классы для SKLearn, PyTorch и XGBoost заменили двумя универсальными инструментами. ModelTrainer отвечает за запуск заданий обучения, а ModelBuilder упаковывает обработчик инференса и развёртывает его в конечной точке.
При запуске задания объект SourceCode синхронизирует каталог с локальным кодом внутри контейнера. Разработчик может использовать собственный образ из Amazon ECR, AWS Deep Learning Container или сторонний вариант. Скрипты при этом можно менять и запускать повторно без пересборки Docker-образа, что сокращает время между изменением кода и его проверкой. Для обучения SourceCode принимает команду запуска, а для инференса используется входной скрипт.
В материале AWS Machine Learning Blog показаны два сквозных примера. Первый посвящён обучению и развёртыванию scikit-learn Random Forest на наборе данных о диабете с DJL Serving. Во втором Stable Diffusion 3.5 дообучают методом LoRA, используя распределённое обучение на нескольких GPU через Hugging Face Accelerate. В обоих примерах задействованы ModelTrainer и ModelBuilder.
Ключевые факты
SourceCode принимает каталог с локальным кодом и команду для обучения либо входной скрипт для инференса.
Один пример обучает scikit-learn Random Forest на наборе данных о диабете и развёртывает модель с DJL Serving.
Второй пример дообучает Stable Diffusion 3.5 методом LoRA через Hugging Face Accelerate на нескольких GPU.
Для запуска примеров требуется SageMaker Python SDK версии не ниже 3.0.