Сервис для обучения нейронных сетей без кода
Август 2022

Сервис для обучения нейронных сетей без кода

Сервис для обучения нейронных сетей без кода
Направления
Технологии
Машинное обучение набирает обороты, эта тема вышла за рамки среды разработчиков и уже стало общей темой для широкой общественности. При этом обучение моделей нейронных сетей требует высокого уровня знаний и опыта. Не все могут обучить модель самостоятельно, а обращаться к сторонним специалистам дорого. Рассказываем, как мы создавали систему по обучению нейронных сетей.

Проблемная ситуация

Чтобы обучить нейросеть, необходимо:

  • собрать данные, на которых модель будет обучаться,
  • сделать препроцессинг этих данных,
  • выбрать фрэймворк для обучения нейронной сети,
  • подобрать архитектуру сети,
  • натренировать ее с использованием GPU ресурсов.

А после - запустить весь процесс заново, до тех пор пока не будет достигнута требуемая точность.

Если первый этап еще можно сделать, не имея специального опыта и знаний, то остальные этапы - никак. Построение модели иногда требует особенных навыков, и как правило, очень мощное железо. А проанализировать качество модели может только тот, кто понимает метрики и умеет их применять.

Как бизнес может поступить?

  • Можно передать обучение модели на аутсорс ИИ разработчикам, которые специализируются на машинлёнинге и нейронках;
  • Можно нанять ML/DL разработчика в штат;
  • А можно найти сервис, который позволит натренировать модель, не обращаясь к сторонним разработчикам.

Разработчиком такого сервиса и стала «Технологика», совместно с AI-стартапом.

Сервис должен помочь в автоматическом режиме с минимальными трудозатратами и знаниями бизнес пользователю натренировать нейронную сеть и выгрузить ее для использования в необходимой инфраструктуре (мобильное приложение, веб сервис, камера, IoT устройство и пр.) для разработчиков.

Бизнес-процесс

Система представляет собой платформу для тренировки моделей. Внутри всё группируется по проектам. Проекты делятся на два типа:

  1. Детекция объектов - детектирование объектов определенного типа;
  2. Классификация объектов - определение типа объекта.

Проекты

Наша система позволяет пользователю создавать и управлять сразу несколькими проектами. По всем проектам есть исчерпывающая информация: статус проекта, тип проекта, точность натренированной модели, дата создания и прочие данные.

 

Датасет

Начиная новый проект, пользователь загружает датасет (набор изображений). На этих изображениях будет тренироваться будущая модель.

Далее эти данные нужно подготовить для обучения - разметить лейблами, которые наша система должна распознать.

После этого датасету дается оценка сбалансированности (balancing score) - а именно, каковы у него показатели разметки (сколько объектов, каких видов, сколько размеченных и неразмеченных изображений, оценка качества разметки).

 

Тренировка модели по распознаванию изображений

Как только данные подготовлены, можно запускать тренировку модели. Здесь пользователь может согласиться с настройками по-умолчанию, которые подходят для большинства кейсов. А может выбрать фреймворк, конфигурацию (Tensorflow или PyTorch), базовую модель и типы аугментации и пр. В системе предусмотрена возможность конфигурации для более продвинутых пользователей.

 

В процессе тренировки пользователь в реальном времени видит на графиках, как улучшаются показатели точности модели.

 

Тестирование модели и загрузка данных

После окончания процесса обучения, модель можно или проверить на работоспособность, загрузив фото/видео и получив ответ от модели (inference), или вернуться на шаг назад и добавить больше фото в датасет, если не устраивает точность определения модели.

Последний шаг - обученную модель можно скачать в виде APK, APK source code или в других форматах (TFLite (Quantized/Non-Quantized, Int8/Float16/Float32, Saved Model (.pb)) или YOLOv5 (.pt)), которые устанавливаются на различные камеры, телефоны, IoT девайсы.

Генерация 3D-моделей

По просьбе заказчика мы разработали дополнительную функцию - возможность генерации 3D-моделей. Она позволяет пользователям загружать фотографии любого объекта с различных ракурсов и получать подробную 3D-модель, которую затем можно использовать для 3D-печати.

Умный помощник на базе ChatGPT

Чтобы клиент сервиса мог быстро обучить себе нейросеть, мы внедрили в сервис умного помощника на базе ChatGPT. Мы обучили нейросеть, какие пользователи могут задавать вопросы, а также как правильно им отвечать. Таким образом, пользователь будущего сервиса получит понятную и легкодоступную инструкцию по выбору настроек и сможет быстро обучить себе нейросеть.

Результаты

На данный момент мы сделали систему рабочей и стабильной, подготовили к soft launch на ограниченном количестве пользователей. Мягкий запуск позволит разрешить проблемы, которые не выявились на данный момент.

Мы сделали MVP, который уже используется заказчиком для решения своих задач. Постепенно появляются пожеланию по доработке системы на основе обратной связи от первых пользователей. У клиента в планах уже следующий этап по расширению поддерживаемых типов ml-задач (будем добавлять решения OCR задач и сегментацию изображений).

другие наши проекты

Мониторинг показаний глюкометра с помощью OCR

Мониторинг показаний глюкометра с помощью OCR

Мобильное приложение Straw для быстрого создания опросов

Мобильное приложение Straw для быстрого создания опросов

Приложение для организации вечеринок

Приложение для организации вечеринок

Система сканирования паспортов

Система сканирования паспортов

Uber-like сервиc по вывозу мусора

Uber-like сервиc по вывозу мусора

Мобильный оксиметр для научной лаборатории

Мобильный оксиметр для научной лаборатории

Зарплатная система для сети отелей и ресторанов

Зарплатная система для сети отелей и ресторанов

Мобильное приложение для удалённого контроля брака печати 3D-принтеров

Мобильное приложение для удалённого контроля брака печати 3D-принтеров

Сервис для рекрутинга новых спортсменов в команду

Сервис для рекрутинга новых спортсменов в команду

Облачная хостинг-платформа

Облачная хостинг-платформа

Система Сопровождения Контрактов (ССК)

Система Сопровождения Контрактов (ССК)

Кросс-платформенное приложение для видеозвонков

Кросс-платформенное приложение для видеозвонков

Давайте найдем решение для вашего бизнеса!

Давайте найдем решение для вашего бизнеса!

Пожалуйста, заполните 'Имя'
Пожалуйста, заполните 'Телефон'
Пожалуйста, заполните 'Емейл'
Пожалуйста, заполните 'Сообщение'

Пожалуйста, заполните 'Имя и фамилия'
Пожалуйста, заполните 'Телефон'
Пожалуйста, заполните 'Емейл'
Выберите файл
Пожалуйста, выберите файл 'Резюме'
Выберите файл
Пожалуйста, прикрепите файл 'Код / ТЗ'