On-Device ML: обучение и инференс на устройстве без облака

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1Все 1564 услуг
On-Device ML: обучение и инференс на устройстве без облака
Средний
~2-4 недели
Часто задаваемые вопросы

Направления AI-разработки

Этапы разработки AI-решения

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1348
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1247
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    949
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1183
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    642
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    921

Ваше мобильное приложение обрабатывает биометрию на сервере — каждый запрос идёт через сеть, данные копятся в облаке, а задержка достигает секунды? Это классическая проблема для медицинских, финансовых и корпоративных решений. On-Device ML кардинально меняет подход: модель живёт прямо на устройстве пользователя, обучение и inference происходят локально. Мы реализуем такие системы под ключ — от прототипа до продакшена. Никакой передачи данных, никаких утечек, задержка p99 — единицы миллисекунд. За 4–8 недель вы получаете рабочее решение. Наши сертифицированные инженеры имеют 6+ лет опыта в On-Device ML и выполнили 30+ проектов для FinTech, MedTech и корпоративных клиентов.

Почему стоит выбрать On-Device ML?

On-Device ML — единственный способ соблюсти требования HIPAA, GDPR и корпоративные политики безопасности. Современные мобильные чипы с NPU (Neural Engine, Google Tensor) обеспечивают производительность, сопоставимую с облачной. On-Device inference в 10 раз быстрее облачного при p99 latencies, а on-device training позволяет персонализировать модель под каждого пользователя без отправки данных. Снижение затрат на облачную инфраструктуру достигает 70%.

Как мы реализуем on-device inference

Инференс — сравнительно простая задача. Модель обучается на сервере, затем деплоится на устройство с оптимизацией под конкретное железо.

Платформа Фреймворк Аппаратное ускорение
iOS Core ML Neural Engine (ANE), GPU
Android TFLite NNAPI, GPU, Hexagon DSP
Embedded TFLite Micro, ONNX Runtime Mobile ARM Neon, CMSIS-NN

Типичный кейс: face unlocking на смартфоне. Мы обучили MobileFaceNet на сервере, сконвертировали в Core ML с INT8-квантизацией (размер модели 2.3 МБ) и интегрировали в приложение. Inference занимает 15–20 мс на современных iPhone, что обеспечивает мгновенную разблокировку.

Сравнение on-device inference и training

Характеристика Inference Training
Цель Выполнение готовой модели Дообучение на локальных данных
Потребление памяти Низкое (1–3x от весов) Высокое (3–6x от весов)
Энергопотребление Умеренное Высокое (только при зарядке)
Частота Постоянно Периодически (ночью)
Сложность реализации Средняя Высокая (федеративное обучение)

Как federated learning решает проблему приватности?

Тренинг на устройстве — сложнее: обратное распространение требует ~3x памяти по сравнению с inference, плюс энергопотребление. Мы используем федеративное обучение: устройства дообучают модель на локальных данных, отправляют только градиентные обновления (не данные), сервер агрегирует их через FedAvg. Стек: TensorFlow Federated, PySyft, FATE.

Пример: клавиатурный движок с персонализацией стиля набора. Устройство обучает small transformer поверх Federated EMNIST — только last layer, Adam с градиентной клиппировкой. Процесс запускается во время зарядки. Результат: точность +15% без утечки данных пользователя, при этом дополнительное энергопотребление не превышает 5% от заряда за ночь.

Процесс работы (что входит)

  1. Анализ — определяем, нужен ли on-device training или inference, выбираем архитектуру (MobileNet, TinyBERT и т.д.), оцениваем бюджет памяти и FLOPS. На этом этапе предоставляем детальный technical report.
  2. Проектирование — разрабатываем pipeline: обучение на сервере → квантизация/обрезка → деплой на устройство; для training — конфигурация федеративного цикла. Используем MLflow для версионирования моделей.
  3. Реализация — интеграция с Core ML / TFLite, поддержка batching, асинхронный inference. Пишем unit-тесты и интеграционные тесты на target устройствах.
  4. Тестирование — измеряем latency p99, энергопотребление, accuracy на реальных данных. Используем профайлеры Xcode и Android Studio для точной настройки.
  5. Деплой — выпускаем модель через CDN или в составе APK/IPA. Документируем error handling и graceful degradation (fallback на облачный inference при нехватке памяти).

Сроки: 4–8 недель в зависимости от сложности и количества платформ. Стоимость рассчитывается индивидуально — напишите нам для оценки вашего кейса. Получите консультацию: наши инженеры оценят проект за 1 день. Свяжитесь с нами, чтобы обсудить ваш проект.

Типичные ошибки при внедрении On-Device ML

  • Игнорирование батареи: training без привязки к зарядке убивает user experience. Мы всегда ставим триггер BatteryState.charging.
  • Слишком большая модель: context window > 512 токенов почти нереален на мобильных GPU. Используем LoRA и pruning.
  • Отсутствие fallback: при недостатке памяти переключаемся на облачный inference. Реализуем graceful degradation.

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

Edge AI и оптимизация: деплой моделей без облака

Представьте: ваша модель распознавания лиц выдаёт 4 секунды latency на Jetson Orin, батарея садится за час, модель вылетает по OOM. Мы — команда инженеров по Edge AI с 5+ лет опыта — оптимизировали более 150 моделей для граничных устройств. Без профилирования и правильного выбора квантизации или дистилляции проект обречён. Разрыв между исследовательским кодом и edge-деплоем — отдельная инженерная дисциплина, мы помогаем её освоить за 2–16 недель под ключ. Услуги Edge AI и оптимизация моделей — это не просто экспорт, а системная работа с железом.

Почему просто «экспортировать модель» не работает

PyTorch-модель с float32 и batch_size=32 не готова к edge. Типичные проблемы:

  • ResNet-50 в fp32 занимает 98 MB, inference на Cortex-A78 — 380 мс. После INT8-квантизации torch.ao.quantization — 24 MB, 95 мс. Экспорт в ONNX + TensorRT на Jetson — 28 мс.
  • YOLOv8m на Raspberry Pi 5 в fp32 — 2.8 fps. TFLite INT8 — 9.4 fps. С XNNPACK делегатом — 14 fps.
  • Transformer-энкодер на мобильном CPU: MobileBERT в fp16 через CoreML на iPhone 15 — 18 мс/инференс. distilbert-base-uncased в ONNX — 42 мс.

Проблема не в выборе «квантизировать или нет» — правильный путь определяется устройством, задачей и допустимой деградацией метрики. Предлагаем оценку вашего проекта: за 24 часа скажем, насколько реально ускорить модель.

Какой метод квантизации выбрать для вашей задачи?

PTQ (Post-Training Quantization) — быстрый путь. Берёте обученную модель, прогоняете calibration dataset (200–1000 примеров), получаете INT8 или INT4 веса. Инструменты: torch.ao.quantization, ONNX Runtime quantization tool, bitsandbytes. Деградация точности: 0.5–2% на классификации. Красная зона — детекция мелких объектов и сегментация, где PTQ даёт -4–8% mAP.

QAT (Quantization-Aware Training) — обучение с симулированными квантизационными шумами. Дороже (переобучение), но деградация 0.1–0.5%. Оправдано, когда PTQ неприемлем. В PyTorch — torch.ao.quantization.prepare_qat().

GPTQ / AWQ — для LLM. AWQ лучше сохраняет качество при 4-bit квантизации. llm-compressor от Neural Magic или autoawq — основные библиотеки.

Метод Время реализации Деградация точности Инструменты
PTQ 1–2 дня 0.5–2% (до 8% на детекции) torch.ao, ONNX RT, bitsandbytes
QAT 1–3 недели 0.1–0.5% torch.ao.prepare_qat, TF Quantization
GPTQ/AWQ 3–7 дней 1–3% (LLM) autoawq, llm-compressor

Экономия от выбора правильного метода: до 350 000 ₽ в год на облачных инстансах за счёт снижения latency и энергопотребления. Стоимость проекта рассчитывается индивидуально — диапазон от 100 000 до 500 000 ₽ в зависимости от сложности модели.

Прунинг и дистилляция

Структурный прунинг удаляет каналы или слои. torch.nn.utils.prune — базовый инструмент. Для transformer — прунинг attention heads (LTP, movement pruning). Результат: ResNet-50 после удаления 40% каналов с fine-tuning — -35% размера, -28% latency, -1.2% top-1 accuracy.

Knowledge distillation — обучаем маленькую student имитировать большую teacher. Классика через KLDivLoss на soft labels. Feature distillation на промежуточных слоях эффективнее. Hugging Face DistilBERT: 66M vs 110M параметров, -40% latency, -3% на GLUE. Согласно Wikipedia, это техника сжатия модели.

Комбинированный подход: дистилляция → прунинг → QAT. Даёт максимальный эффект на ограниченном железе. Экономия на облачных вычислениях достигает 70% — мы фиксировали такую у нескольких клиентов.

Целевые платформы и инструменты

Платформа Предпочтительный формат Инструмент Специфика
NVIDIA Jetson TensorRT engine trtexec, torch2trt INT8 calibration, DLA offload
Apple Silicon / iOS CoreML (.mlmodel) coremltools ANE (Neural Engine) автоматически
Android TFLite (.tflite) tf.lite.TFLiteConverter GPU delegate, NNAPI
x86 CPU ONNX + ORT onnxruntime AVX-512, VNNI
Arm Cortex TFLite / ONNX ort-arm, tflite XNNPACK, NEON
Qualcomm NPU QNN (.dlc) Qualcomm AI Hub Hexagon DSP

TensorRT — главный инструмент для NVIDIA edge. TRT строит граф с fusion операторов, выбирает оптимальные ядра. На Jetson AGX Orin YOLOv8m в TRT INT8 даёт 78 fps против 22 fps в fp16 PyTorch.

Практический кейс: детекция дефектов на производственной линии

Задача: обнаружение царапин на металле в реальном времени, 30 fps, камера к Jetson Xavier NX (16GB). Исходная модель YOLOv8l mAP50 0.91, inference на сервере 28 мс, на Jetson в fp16 — 110 мс (9 fps). Не подходит.

Шаги оптимизации:

  1. Переход на YOLOv8m — mAP50 0.887 (-2.3%), 68 мс
  2. Экспорт в TensorRT FP16 через yolo export format=engine half=True — 31 мс (32 fps)
  3. INT8 calibration на 500 кадрах — 22 мс (45 fps), mAP50 0.879

Итого: деградация 3.5% при 5× ускорении. Клиент получил engine и документацию. Гарантируем, что метрика не упадёт ниже оговорённого порога — прописано в договоре.

Пример профилирования модели (latency по слоям)

Срез профиля YOLOv8m на Jetson Xavier NX (fp16):

  • Convolution (layer 1–5): 12 ms
  • Bottleneck (layer 6–10): 8 ms
  • Head (detection): 11 ms

Узкое место — последние слои head'а. После квантования head'а отдельно latency head снизилась до 4 ms.

Что входит в работу

  • Отчёт по профилированию модели на целевом устройстве (latency по слоям, узкие места)
  • Выбор и обоснование методов оптимизации (quantization / pruning / distillation)
  • Оптимизированная модель (TensorRT engine / TFLite / CoreML / ONNX)
  • Конфиги для воспроизведения (скрипты, Docker-образ, инструкция)
  • Тестирование на реальном устройстве (не менее 10 000 инференсов)
  • Обучение вашей команды (2 часа онлайн)
  • Поддержка 1 месяц после передачи

Как заказать оптимизацию модели

  1. Оставьте заявку на сайте или свяжитесь с нами любым удобным способом.
  2. Мы проводим бесплатное профилирование вашей модели на целевом устройстве в течение 24 часов.
  3. Готовим план оптимизации с оценкой trade-off (скорость vs качество).
  4. Вы утверждаете план — мы приступаем к работе.
  5. После завершения передаём оптимизированную модель, конфиги и документацию.
  6. Проводим обучение вашей команды и предоставляем месячную поддержку.

Сроки: оптимизация готовой модели — 2–4 недели. Разработка с нуля под edge — 6–16 недель.

Получите консультацию — мы бесплатно оценим вашу модель и предложим план за 24 часа. Закажите бесплатное профилирование прямо сейчас.