Как использовать готовые ML-модели
При внедрении ИИ в бизнес-процессы компании часто решают типовые задачи:
- распознавание текста;
- выделение ключевых слов;
- определение числа и среднего возраста людей в видеопотоке;
- классификация деталей на конвейере.
Перед тем как обучать модель стоит проверить, существуют ли готовые решения, предобученные модели или размеченные датасеты для аналогичных задач.
ЛогикаСегодня разберём варианты использования предобученных моделей и рассмотрим алгоритм их действий.
Предобученные модели, трансферное обучение и фундаментальные модели

Рассмотрите пример: стартап по поиску потерявшихся домашних животных хочет внедрить технологию умного поиска. Задача — определять породу кошки или собаки по фотографии, загруженной пользователем.Варианты решения задачи:
- Использовать предобученную модель классификации изображений Например, ResNet или Inception. Большинство моделей обучались на датасете ImageNet с 1000 классами. Среди них более 20 классов пород кошек и собак.
- Трансферное обучение Если исходных классов недостаточно, можно дообучить модель на нужные категории. Модель использует знания из ImageNet и требует относительно небольшого датасета — несколько сотен или тысяч размеченных изображений. Датасет придётся собрать и разметить самостоятельно.
- Обучение свёрточной сети с нуля Обеспечивает максимальное качество, но требует больших вычислительных ресурсов, огромного датасета (сотни тысяч — миллионы изображений) и высокой квалификации в области Data Science.
Ещё один вариант — использовать фундаментальную модель CLIP от OpenAI, которая сопоставляет текстовые запросы и изображения. Из-за универсальности модели результаты могут быть неточными, а стоимость использования высокой.❗️
Готовый сервис Yandex Cloud для такой задачи недоступен: облако не предоставляет инструмент классификации изображений для специфических категорий.Дополнительно можно применить трансферное обучение на двух датасетах.
Например, для рентгеновских снимков предобученные модели на ImageNet показывают низкую точность из-за различий в природе данных. В этом случае модель обучают сначала на большом датасете рентгеновских снимков, затем используют трансферное обучение для конкретной задачи.
На практике самые точные решения требуют больших данных и ресурсов. Часто выгоднее снизить точность на несколько процентов, чтобы существенно сэкономить время и вычислительные ресурсы.
Возможно, вы уже задались вопросом, как выбрать оптимальный подход для вашей задачи. Для выбора подходящего решения существует специальный алгоритм. О нём вы узнаете дальше.
Алгоритм выбора подхода
После постановки задачи стоит задуматься над возможными вариантами решения. Давайте попробуем структурировать различные подходы к решению интеллектуальных бизнес-задач в Yandex Cloud.Алгоритм выбора подхода изображён на схеме ниже:

Готовые сервисы
В Yandex Cloud есть готовые сервисы для решения разных задач:
- Yandex SpeechKit — используется для распознавания и синтеза речи.
- Yandex Vision OCR — распознаёт текст на изображении.
- Yandex Translate — осуществляет машинный перевод текста.
- YandexGPT API — это фундаментальная языковая модель для обработки естественного языка. Модель Yandex Embeddings из семейства моделей YandexGPT сопоставляет текст и числовой вектор так, что близкие по смыслу фрагменты текста соответствуют близким в пространстве векторам.
- YandexART — генерирует изображения по текстовому запросу.
💡 Существуют и открытые модели для решения типовых задач, например OpenAI Whisper для распознавания речи. Но для использования вам придётся самостоятельно развернуть их в облаке.
Дообучение на пользовательских данных
Многие из указанных выше сервисов могут дообучаться на пользовательских данных. Это позволяет учесть особенности конкретной предметной области. Например:
- Yandex SpeechKit Brand Voice позволяет использовать синтез речи для воспроизведения конкретного голоса.
- Yandex Translate позволяет использовать предметный глоссарий и делает перевод тематических текстов более точным.
- YandexGPT позволяет дообучать модель на парах вопрос — ответ, чтобы она могла поддерживать диалог в специфической предметной области.
Готовые предобученные модели
ЛогикаЕсли облачный сервис не позволяет решить задачу, можно найти готовые предобученные модели. Расскажу про несколько мест, где стоит их искать!
- 📚 huggingface.co — это большой хаб для обмена готовыми моделями и датасетами во всех областях глубокого обучения. Удобно находить модели по задачам с помощью фильтра (справа на рисунке).

- Портал Kaggle от Google содержит хаб предобученных моделей и большое количество предоставленных сообществом датасетов.
- Самые последние научные достижения в области машинного обучения можно искать на портале Papers With Code. Это список научных статей и репозиториев с программной реализацией предложенных методов. Эту реализацию можно настроить под свою задачу.
Трансферное обучение
Если предобученная модель не решает задачу, её можно дообучить на собственных данных с помощью трансферного обучения. А именно: использовать готовую модель для извлечения первичных признаков из неструктурированных данных.Например, для работы с текстом применяются трансформеры семейства BERT. На их основе можно строить простые модели для:
- классификации текста;
- выделения ключевых слов;
- определения тональности.
💻 Для дообучения и развёртывания моделей в облаке подойдёт сервис Yandex DataSphere. Ему будет посвящён отдельный урок в рамках этого курса.
Обучение с нуля
Если вы решаете новую задачу, возможно, придётся обучать модель с нуля. Обучение серьёзной модели глубокого обучения — это процесс, требующий высокой квалификации, большого количества времени и ресурсов. Мощности Yandex Cloud позволяют это делать.
ЛогикаЧтобы разложить по полочкам все подходы к внедрению ИИ, изучите их сравнительную характеристику в общей таблице.

Примеры решения бизнес-задач
ЛогикаКак же выбрать модель для решения типовых задач? Об этом вы узнаете дальше, разобрав примеры.
Рисование стилизованного аватара
Стартап планирует создать социальную сеть нового поколения и автоматически генерировать пользователям аватары в стиле известных художников.Задача: создавать изображения, сохраняющие черты лица пользователя с заданного фото.Решение: YandexART не подходит, так как не позволяет точно воспроизводить черты лица. Оптимальный вариант — использовать технологию InstantID на сайте Papers With Code. Остаётся лишь упаковать в контейнер код, доступный на GitHub, и разместить его в виде сервиса в Yandex DataSphere.
Автоматическая сводка новостей за день
В социальной сети нового поколения вместо ленты сообщений предлагается утренняя газета: сводка заметок друзей за последние сутки со ссылками на полный текст.Задача: создать сервис, который генерирует краткое описание заметок из списка.Решение: для суммаризации текстов подходит фундаментальная модель YandexGPT, которая включает специализированную модель для этой задачи.Если суммарный объём новостей превышает контекст модели, их можно обработать поэтапно:
- Суммаризировать отдельные новости.
- Суммаризировать уже полученный общий текст.
При использовании больших языковых моделей важно учитывать высокую стоимость эксплуатации. Для экономии можно применять компактные модели суммаризации, доступные на Hugging Face. В этом случае качество может быть ниже, а хостинг и обновление модели ложатся на разработчика.
Кластеризация новостей
В качестве альтернативного формата потока новостей на домашней странице нужна автоматическая кластеризация на несколько тематических разделов.Задача: нужно автоматически разделить короткие новости на домашней странице на пять тематических категорий. Решение: для такой задачи необходима кластеризация. Нужно использовать модель, которая преобразует новость в вектор, отражающий её смысл. Для этого подходит сервис Yandex Embeddings или одна из моделей Sentence Embedding с Hugging Face. После преобразования каждой новости в числовой вектор можно применить методы кластеризации с помощью библиотеки Scikit-learn.
Автотегирование новостей
Для социальной сети необходимо реализовать функцию автоматического извлечения тегов из текстов новостей.Задача: дать возможность пользователям искать по тегам и подписываться на них.Решение: есть два подхода:
- взять YandexGPT с соответствующим запросом. Такой подход легко реализовать, но он будет затратным;
- обучить собственную модель с помощью трансферного обучения. В этом случае понадобится фиксированный список тегов и размеченный датасет, где с текстом новости соотносятся теги. После этого можно использовать модели семейства BERT для кодирования текстов, а затем классификатор multi-label. Для каждого тега из списка он вычислит вероятность соответствия входному тексту.
Перевод новостей
В новой социальной сети нужно автоматически переводить все новости на язык пользователя и обеспечивать их озвучивание для слабовидящих.Задача: нужно перевести новости и создать голосовое сопровождение.Решение:
- Перевод новостей Использовать сервис Yandex SpeechKit. Для сохранения терминологии (например, «hubs» как «хабы») предоставить сервису глоссарий.
- Озвучивание новостей Генерировать голосовое сопровождение с помощью SpeechKit при добавлении новости или по запросу пользователя.
0 комментариев