
Создание собственного маркетплейса в кризис: выгоды и перспективы
21 Июн 2023
Как мы разрабатываем ML-сервисы?
Есть мнение, что искусственный интеллект — это некая магия: «скармливаешь» данные нейросети, и она сразу выдает гениальные результаты. Но машинное обучение, создание моделей для бизнеса — сложный процесс, состоящий из множества итераций. Он начинается до написания кода и не заканчивается после запуска модели.
В KozhinDev мы выстроили системный подход к созданию моделей машинного обучения, который позволяет превращать идеи в стабильные, масштабируемые ИИ-инструменты. В статье рассказываем, как разрабатываем ML-сервисы, которые реально упрощают работу наших клиентов.
Этапы разработки модели машинного обучения
Разработка ML-модели — последовательность, где каждый шаг опирается на предыдущий.
Вот как выглядит наш алгоритм создания модели машинного обучения:
Результат — действительно полезное решение, которое решает конкретные задачи бизнеса с заданной точностью.
С чего начинается создание модели машинного обучения
Разработка модели машинного обучения начинается с вопроса «Зачем?». Первый этап — это постановка задачи. Наши аналитики погружаются в бизнес-процессы заказчика, предлагают решения, которые действительно сделают работу компании эффективнее. Выбираем, что именно будем автоматизировать, и составляем ТЗ.
Также важно сразу определить метрики качества модели. Например, это может быть снижение числа отказов оборудования на 15% или повышение точности модерации контента до 98%. Эти параметры задают «планку», к которой мы будем стремиться при разработке сервиса.
Подготовка данных и выбор подхода
После постановки цели и утверждения технического задания начинается работа с данными. Собираем информацию из всех доступных источников: внутренних баз данных, логов, открытых источников или API. После этого проводим разведочный анализ данных (EDA). На этом этапе проверяется гипотеза о пригодности данных: достаточно ли их объема, нет ли систематических искажений, корректно ли они размечены.
Далее формируем признаки. Мы не загружаем «сырые» данные в алгоритм, а преобразуем их так, чтобы модель могла уловить скрытые закономерности. Параллельно определяем тип обучения:
Качество датасета и корректный выбор подхода определяют устойчивый и точный результат. Если данные «шумные» или неправильно отражают реальность, никакая, даже самая сложная архитектура нейросети не исправит ситуацию.
Обучение, проверка качества и доработка модели
Мы тщательно разделяем выборку на три части: обучающую, валидационную и тестовую. Валидационная выборка используется только один раз — для финальной оценки готового продукта.
Использование валидационной выборки позволяет вовремя диагностировать и решить две основные проблемы:
Внимательный подход к обучению позволяет нам гарантировать, что в продакшн уйдет не «сырая» модель, а устойчивый алгоритм, способный корректно работать с данными, которых он раньше не видел.
Внедрение ML-сервиса в бизнес-процесс
Чтобы сотрудники компании-заказчика могли пользоваться ИИ-инструментом, мы упаковываем его в «рабочую среду». В зависимости от архитектуры клиента, мы интегрируем сервис:
Тогда модель бесшовно интегрируется в CRM, ERP или интернет-витрины заказчика и становится частью рабочей рутины.
Поддержка, переобучение и развитие ML-решения
Мы не бросаем наши проекты после запуска. Модель, которая была точна при деплое, через полгода может начать «глючить» из-за изменений в данных.
Поэтому мы продолжаем поддержку и развитие сервиса:
Развитие ИИ-решения включает и добавление новых сценариев. Например, спустя несколько месяцев работы рекомендательной системы, бизнес может попросить нас добавить туда блок предсказания времени доставки.
Почему ML-разработка может стоить дорого
Машинное обучение почти никогда не сводится к «обучили модель и забыли». Основная стоимость часто сосредоточена не на этапе написания кода, а вокруг него: нужно сформулировать бизнес-задачу и метрики, собрать и очистить данные, проверить их полноту и репрезентативность, подготовить признаки, провести несколько циклов обучения и валидации, а затем встроить решение в рабочую инфраструктуру.
Отдельная статья расходов — данные. Подготовка и приведение данных к рабочему виду нередко занимает значительную часть времени команды: IBM отмечает, что на обработку и подготовку данных может уходить от 45% до 80% времени специалистов.
Дальше стоимость растет из-за инфраструктуры и эксплуатации сервиса. Даже после успешного пилота ML-сервис требует окружения для обучения, тестирования, деплоя, мониторинга, переобучения и отката версий.
Что может пойти не так
Машинное обучение не является «серебрянной пулей», которая может решить любую проблему заказчика. Поэтому в самом начале разработки необходим анализ возможностей и рисков.
Вывод
Мы убеждены, что создание ML-сервисов для бизнеса требует системности подхода. Поэтому отработали цепочку действий, которая приводит к устойчивому и точному результату: от формулировки бизнес-задачи и анализа данных до внедрения сервиса и последующей технической поддержки. Строгое соблюдение этапов создания моделей машинного обучения позволяет нам гарантировать, что инвестиции заказчика в искусственный интеллект:
Другие статьи
Свяжитесь с нами