ML на устройстве в мобильной разработке: что это, какие фреймворки и как работает

Автор: IT Sectr Опубликовано: 2026-07-29 Время чтения: 11 мин

ML на устройстве (on-device ML) — выполнение моделей машинного обучения непосредственно на мобильном устройстве без отправки данных на сервер. По данным отчёта Google AI, 2025, более 70% пользователей предпочитают приложения с on-device ML из-за конфиденциальности и отсутствия задержек сети. Core ML от Apple, TensorFlow Lite от Google и ML Kit позволяют решать задачи Vision, NLP, распознавания лиц и объектов полностью на устройстве — без интернета и с минимальным энергопотреблением.

Главное

  • ML на устройстве — запуск моделей машинного обучения прямо на мобильном девайсе без серверной обработки данных.
  • Core ML — фреймворк Apple с аппаратным ускорением на Neural Engine для iOS и macOS.
  • TensorFlow Lite — кроссплатформенное решение Google с квантизацией и делегатами GPU, NNAPI и XNNPACK.
  • ML Kit — SDK с готовыми API для распознавания текста, лиц, штрихкодов и объектов без создания модели.
  • Vision и NaturalLanguage — встроенные ML-инструменты на iOS для анализа изображений и текста.

Что такое ML на устройстве и зачем он нужен в мобильных приложениях

ML на устройстве (on-device ML) — это подход, при котором модели машинного обучения выполняются непосредственно на мобильном устройстве без отправки данных на удалённый сервер. Конфиденциальность — ключевое преимущество: пользовательские данные не покидают устройство. По данным исследования Google (2024), 63% пользователей отказываются от ML-функций, требующих передачи данных на сервер. On-device ML устраняет задержки сети, работает в офлайн-режиме и снижает энергопотребление благодаря аппаратному ускорению.

Преимущества on-device ML перед облачными решениями

On-device ML обрабатывает данные за миллисекунды вместо секунд — критически важно для распознавания лиц и объектов в реальном времени. Отсутствие интернет-соединения — ещё одно преимущество: ML-функции доступны в авиарежиме и в регионах с нестабильной связью. Core ML использует Neural Engine в чипах Apple A12+, что обеспечивает 11 триллионов операций в секунду при энергопотреблении менее 1 Вт. Для мобильных приложений on-device ML стал стандартом де-факто в задачах Vision, NLP и распознавания объектов.

Основные сценарии on-device ML в мобильных приложениях

ML в мобильных приложениях применяется для аутентификации по лицу (Face ID), AR-фильтров в Snapchat и Instagram, фитнес-трекеров с Pose Detection, OCR-сканирования в Adobe Scan и предиктивного ввода в клавиатурах. Кастомные модели для специфических задач создаются через Core ML (iOS) или TensorFlow Lite (Android). ML Kit подходит для типовых сценариев — распознавание текста, лиц и штрихкодов без необходимости обучать модель.

Core ML: фреймворк Apple для ML на устройстве на iOS

Core ML — фреймворк Apple для выполнения ML-моделей на iPhone, iPad, Mac и Apple Watch. Он автоматически выбирает оптимальное аппаратное ускорение: Neural Engine для нейронных сетей на устройствах с A12+ (11 TOPS), GPU для задач обработки изображений и CPU для последовательных вычислений. Core ML поддерживает форматы .mlmodel (исходный) и .mlmodelc (скомпилированный). Конвертация моделей из PyTorch и TensorFlow выполняется через coremltools — Python-библиотеку с сохранением топологии и весов.

Create ML и coremltools

Create ML — приложение Apple для обучения простых моделей без написания кода. Для продакшена используют coremltools — утилиту конвертации из PyTorch, TensorFlow и scikit-learn. Coremltools поддерживает квантизацию float32 → float16 и int8, палитрацию цветового пространства и удаление избыточных операций для уменьшения размера модели.

python
import coremltools as ct

model = ct.convert(
    "resnet50.mlmodel",
    source="pytorch",
    convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")

Neural Engine и аппаратное ускорение Core ML

Neural Engine — специализированный нейропроцессор в чипах Apple A12 и новее. 16 ядер выполняют до 11 триллионов операций в секунду с энергопотреблением менее 1 Вт. Core ML автоматически направляет нейросетевые вычисления на Neural Engine, а GPU-совместимые — на Metal GPU. Разработчику не нужно выбирать устройство — Core ML делает это через Performance Report, анализируя модель и доступное оборудование.

TensorFlow Lite: кроссплатформенный ML на устройстве от Google

TensorFlow Lite (TFLite) — кроссплатформенное решение Google для выполнения ML-моделей на Android, iOS и Linux. Модели имеют формат .tflite и создаются через TFLiteConverter из экосистемы TensorFlow. TFLite поддерживает квантизацию float32 → int8, что уменьшает размер модели в 4 раза при сохранении 97–99% точности на задачах классификации. Google Play Services for TFLite автоматически обновляет runtime без перевыпуска приложения.

TFLiteConverter и квантизация моделей

TFLiteConverter — основной инструмент конвертации моделей TensorFlow в формат .tflite. Пост-тренировочная квантизация int8 сжимает модель с 300 МБ до 75 МБ без доступа к полному датасету. Квантизационно-осведомлённое обучение (QAT) даёт минимальную потерю точности — менее 1% на ImageNet. TFLiteConverter также поддерживает обрезку графа и удаление операций, не поддерживаемых TFLite runtime.

python
import tensorflow as tf

converter = tf.lite.TFLiteConverter.from_saved_model(
    "saved_model_dir"
)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()

TFLite Delegate: GPU, NNAPI и XNNPACK

Без делегата TFLite выполняет модель на CPU в 3–5 раз медленнее, чем с аппаратным ускорением. GPU Delegate использует OpenCL и OpenGL ES 3.1 на Android, Core ML Delegate — Neural Engine на iOS. NNAPI Delegate задействует NPU и DSP на Android 8.1+. XNNPACK Delegate — кроссплатформенное ускорение на ARM CPU с оптимизациями под мобильные процессоры. Для выбора делегата используйте TfLiteGpuDelegate.create() с проверкой результата на null.

ML Kit: готовые решения для ML в мобильной разработке

ML Kit — SDK от Google с готовыми API для on-device ML. В мобильных приложениях ML Kit используется для распознавания текста (50+ языков, включая рукописный ввод), Face Detection (468 ключевых точек лица), Barcode Scanning (QR, EAN-13, Code 128, PDF417, Data Matrix) и Object Detection. Все API работают полностью на устройстве без интернета. ML Kit доступен на iOS и Android с единым API.

Face Detection и Text Recognition в ML Kit

Face Detection возвращает координаты контура лица, бровей, глаз, носа и губ, а также угол наклона головы и состояние глаз. AR-маски и фильтры в камере — самый популярный сценарий использования. Text Recognition извлекает текст из фотографий с точностью до 99% на печатных символах. API поддерживает распознавание в реальном времени через CameraX.

kotlin
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)

recognizer.process(image)
    .addOnSuccessListener { result ->
        result.textBlocks.forEach { block ->
            println(block.text)
        }
    }

Barcode Scanning и Object Detection в ML Kit

Barcode Scanning распознаёт штрихкоды в видеопотоке с камеры в реальном времени. Object Detection выделяет объекты на изображении с bounding box и меткой класса (человек, автомобиль, животное). Pose Detection определяет 33 ключевые точки тела для фитнес-приложений и анализа движений. Image Labeling возвращает до 10 семантических меток изображения — «природа», «город», «еда».

Vision и NaturalLanguage: встроенные ML-инструменты на iOS и Android

Apple предоставляет встроенные ML-решения через Vision и NaturalLanguage без установки сторонних SDK. Vision (VNRequest) выполняет детекцию лиц, текста, штрихкодов и контуров на устройстве. NaturalLanguage (NLTokenizer) — токенизацию, лемматизацию, определение языка и анализ тональности. На Android аналоги реализованы через ML Kit (распознавание) и SpeechRecognizer из android.speech (речь). Встроенные инструменты не требуют загрузки моделей — они предустановлены в системе.

Vision framework: VNRequest и VNCoreMLRequest

Vision включает VNDetectFaceRectanglesRequest (детекция лиц), VNRecognizeTextRequest (распознавание текста), VNDetectBarcodesRequest (штрихкоды) и VNDetectHumanBodyPoseRequest (скелет). VNCoreMLRequest интегрирует кастомную Core ML модель в пайплайн Vision — например, классификация эмоций на найденных лицах. Все запросы выполняются на Neural Engine с минимальной задержкой.

swift
let request = VNRecognizeTextRequest { request, error in
    guard let observations = request.results
        as? [VNRecognizedTextObservation] else { return }
    for observation in observations {
        let topCandidate = observation
            .topCandidates(1).first
        print(topCandidate?.string as? String ?? "")
    }
}

let handler = VNImageRequestHandler(
    cgImage: image, options: [:]
)
try? handler.perform([request])

NaturalLanguage и SFSpeechRecognizer на iOS

NaturalLanguage предоставляет NLTokenizer для разбивки текста на токены, NLLanguageRecognizer для определения языка (72 языка) и NLSentimentAnalyzer для анализа тональности текста. SFSpeechRecogniser — API распознавания речи с поддержкой 50+ языков на устройстве (iOS 13+). Перед использованием требуется запрос разрешения SFSpeechRecognizerAuthorizationStatus. Результаты приходят асинхронно через SFSpeechRecognitionResultHandler.

Часто задаваемые вопросы

Что такое ML на устройстве?

ML на устройстве (on-device ML) — подход, при котором модели машинного обучения запускаются прямо на мобильном устройстве без отправки данных на сервер. Core ML, TensorFlow Lite и ML Kit — основные фреймворки для on-device ML.

Чем Core ML отличается от TensorFlow Lite?

Core ML — фреймворк Apple для iOS и macOS с ускорением на Neural Engine. TensorFlow Lite — кроссплатформенное решение от Google для Android, iOS и Linux. Core ML даёт лучшую производительность на устройствах Apple, TFLite — универсальность.

Какие задачи решает ML Kit?

ML Kit решает типовые задачи компьютерного зрения и NLP: распознавание текста, лиц, штрихкодов, объектов и поз тела. Все API работают на устройстве без интернета и не требуют создания собственной модели.

Нужен ли интернет для on-device ML?

Нет, on-device ML работает полностью локально. Модели загружаются на устройство и выполняются без интернет-соединения. ML Kit также предлагает облачные версии API с более высокой точностью, но on-device режим доступен офлайн.

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

Для iOS-эксклюзива выбирайте Core ML — он использует Neural Engine и тесно интегрирован с экосистемой Apple. Для кроссплатформенных проектов — TensorFlow Lite. Для типовых задач без кастомной модели — ML Kit с готовыми API.

Итоги

  • ML на устройстве — выполнение моделей прямо на мобильном устройстве без отправки данных на сервер, с нулевой задержкой сети.
  • Core ML — фреймворк Apple с аппаратным ускорением на Neural Engine для iOS и macOS.
  • TensorFlow Lite — кроссплатформенное решение Google с квантизацией int8 и делегатами GPU, NNAPI, XNNPACK.
  • ML Kit — SDK с готовыми API для распознавания текста, лиц и штрихкодов без создания модели.
  • Vision и NaturalLanguage — встроенные ML-инструменты на iOS без установки сторонних библиотек.
  • Квантизация уменьшает размер модели в 4 раза с минимальной потерей точности — стандарт для мобильных приложений.
  • On-device ML — обязательный стандарт для приложений с конфиденциальными данными и офлайн-сценариями использования.

Мы разработаем мобильное приложение под ключ

IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект