Сообщество RSS DEV
Подписаться
От git push до Fine-Tuned Model в производстве
Автор разработал nebius-actions — набор GitHub Actions для автоматизации дообучения и развертывания моделей в Nebius AI Cloud. Цель состояла в создании полностью автоматизированного конвейера, запускаемого одним нажатием кнопки в GitHub. Этот конвейер включает в себя запуск GPU-инфраструктуры, дообучение модели, упаковку, развертывание в конечной точке, тестирование и очистку всех ресурсов. Демонстрационный рабочий процесс оркестрирует это через пять отдельных заданий GitHub: submit, wait, deploy, try и cleanup. Информация о состоянии передается между этими заданиями с использованием их выходных данных.Задание submit, содержащее большую часть логики, создает конфигурацию Axolotl и bash-скрипт внутри. Этот скрипт обрабатывает процесс дообучения с помощью Axolotl, упаковывает адаптеры и отправляет образ для обслуживания в Nebius Container Registry. Он также выделяет новый S3-бакет для каждого запуска и создает задание Nebius. Аутентификация управляется безопасно с использованием краткосрочных IAM-токенов.Задание wait потоково передает журналы из GPU-задания Nebius и опрашивает его статус, включая критически важную логику отмены GPU-задания при отмене рабочего процесса GitHub, чтобы предотвратить непредвиденные расходы. Задание deploy создает конечную точку Nebius, используя недавно собранный образ, а затем отдельное задание wait опрашивает готовность конечной точки. Задание try выполняет простой дымовой тест, проверяя работоспособность конечной точки и совершая пробный вызов API для проверки функциональности. Наконец, задание cleanup, выполняющееся при любом условии, гарантирует удаление развернутой конечной точки и выделенного S3-бакета, предотвращая появление оставшихся ресурсов и счетов за облачные услуги. Образ остается в реестре для возможного повторного развертывания. nebius-actions разработаны как небольшие, компонуемые строительные блоки, причем каждое действие управляет одним ресурсом.