Рассмотреть пример применения облачных сервисов для дообучения моделей искусственной нейронной сети и развертывания готового приложения.
Kaggle — это онлайн-платформа для работы с данными, которая объединяет специалистов в области машинного обучения, анализа данных и искусственного интеллекта со всего мира. На текущий момент платформа Kaggle представляет возможность бесплатно использовать в течение 30 часов в неделю GPU типа Nvidia Tesla P100.
Google Colab (полное название — Google Colaboratory) — это бесплатная облачная платформа от Google, предоставляющая возможность писать и запускать код на Python в браузере, без необходимости установки ПО на компьютер.
Hugging Face — это стартап который стремится упростить процессы разработки, обучения, публикации и использования моделей машинного обучения, особенно в области NLP (Natural Language Processing), CV (Computer Vision) и Audio AI. Платформа ориентирована на открытость, удобство и сообщество.
Основные компоненты платформы Hugging Face:
Hugging Face Spaces поддерживает развертывание Docker-контейнеров и фреймворки Gradio
и Streamlit
.
Gradio — это фреймворк на Python для быстрого создания интерактивных веб-интерфейсов к моделям машинного обучения. Он позволяет всего в несколько строк кода развернуть веб-приложение, где пользователи могут загружать изображения, вводить текст или аудио и получать ответы от модели в реальном времени.
Gradio часто используют для демо, тестирования и визуализации ML-моделей без необходимости писать фронтенд-код. Gradio чаще всего выбирают за его простоту, особенно на этапе прототипирования и презентации моделей. Аналоги Gradio:
Дообучение (fine-tuning) — это процесс адаптации уже обученной модели (обычно нейросети) к новой задаче или новому набору данных. Вместо того чтобы обучать модель с нуля, используется предобученная модель, в которую вносятся изменения только на отдельных слоях или на последнем этапе обучения. Fine-tuning особенно полезен, когда есть ограниченное количество данных, но доступна мощная предобученная модель, уже знакомая с «общими» признаками (например, текстами или изображениями).
MLOps (Machine Learning Operations) — это набор практик и инструментов для автоматизации и управления полным жизненным циклом моделей машинного обучения: от подготовки данных и обучения моделей до их деплоя, мониторинга и обновления.
Он объединяет методы DevOps, Data Engineering и машинного обучения, чтобы упростить и ускорить переход от экспериментальных моделей к стабильным и масштабируемым решениям в продакшене.
Цель MLOps — обеспечить воспроизводимость, автоматизацию, контроль версий и наблюдаемость в ML-проектах.
Наиболее популярные облачные платформы для MLOps включают:
Пайплайн MLOps — это автоматизированная последовательность шагов, которая охватывает весь процесс создания и эксплуатации модели машинного обучения. Он обеспечивает воспроизводимость, масштабируемость и контроль на всех этапах жизненного цикла модели.
Пайплайн обычно состоит из следующих этапов:
План работы
Создайте на локальном компьютере каталог для проекта.
cd <КАТАЛОГ ПРОЕКТА>
py -m venv venv
venv\scripts\activate.bat
pip install aiohttp[speedups] duckduckgo-search
Создайте скрипт prepare_data.py
с помощью кода в гисте.
Изучите код скрипта, внесите необходимые изменения и скачайте с его помощью фотографий 3 различных киноактеров.
dataset
в архив формата zip
.Откройте сервис Google Colab (colab.research.google.com) и авторизуйтесь с помощью своего Google-аккаунта.
Смените тип среды выполнения (Runtime
→ Change runtime type
или Среда выполнения
→ Сменить среду выполнения
) на T4 GPU
.
dataset.zip
в хранилище среды выполнения. После загрузки файла выполните в ячейке:
! unzip dataset.zip
С помощью кода из файла train.py
из гисте выполните обучение модели.
model.pth
.Создайте на локальном компьютере скрипт app.py
с помощью кода из гисты. Исправьте значение пременной labels
так, чтобы в нем были указаны имена актеров из набора данных. Порядок следования имен должен соответствовать алфавитному порядку в каталоге dataset
.
requirements.txt
следующего содержания:
--index-url https://download.pytorch.org/whl/cpu
torch
torchvision
Создайте учетную запись (или войдите в существующую) на сайте huggingface.co. Если создаете новую учетную запись, то нужно подтвердить свой почтовый адрес.
lab17
.Gradio
.Files
, выберите + Contribute
→ Upload files
и загрузите файлы:
model.pth
app.py
requirements.txt