ML на устройстве (on-device ML) — выполнение моделей машинного обучения непосредственно на мобильном устройстве без отправки данных на сервер. По данным отчёта Google AI, 2025, более 70% пользователей предпочитают приложения с on-device ML из-за конфиденциальности и отсутствия задержек сети. Core ML от Apple, TensorFlow Lite от Google и ML Kit позволяют решать задачи Vision, NLP, распознавания лиц и объектов полностью на устройстве — без интернета и с минимальным энергопотреблением.
Главное
ML на устройстве (on-device ML) — это подход, при котором модели машинного обучения выполняются непосредственно на мобильном устройстве без отправки данных на удалённый сервер. Конфиденциальность — ключевое преимущество: пользовательские данные не покидают устройство. По данным исследования Google (2024), 63% пользователей отказываются от ML-функций, требующих передачи данных на сервер. On-device ML устраняет задержки сети, работает в офлайн-режиме и снижает энергопотребление благодаря аппаратному ускорению.
On-device ML обрабатывает данные за миллисекунды вместо секунд — критически важно для распознавания лиц и объектов в реальном времени. Отсутствие интернет-соединения — ещё одно преимущество: ML-функции доступны в авиарежиме и в регионах с нестабильной связью. Core ML использует Neural Engine в чипах Apple A12+, что обеспечивает 11 триллионов операций в секунду при энергопотреблении менее 1 Вт. Для мобильных приложений on-device ML стал стандартом де-факто в задачах Vision, NLP и распознавания объектов.
ML в мобильных приложениях применяется для аутентификации по лицу (Face ID), AR-фильтров в Snapchat и Instagram, фитнес-трекеров с Pose Detection, OCR-сканирования в Adobe Scan и предиктивного ввода в клавиатурах. Кастомные модели для специфических задач создаются через Core ML (iOS) или TensorFlow Lite (Android). ML Kit подходит для типовых сценариев — распознавание текста, лиц и штрихкодов без необходимости обучать модель.
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 — приложение Apple для обучения простых моделей без написания кода. Для продакшена используют coremltools — утилиту конвертации из PyTorch, TensorFlow и scikit-learn. Coremltools поддерживает квантизацию float32 → float16 и int8, палитрацию цветового пространства и удаление избыточных операций для уменьшения размера модели.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
Neural Engine — специализированный нейропроцессор в чипах Apple A12 и новее. 16 ядер выполняют до 11 триллионов операций в секунду с энергопотреблением менее 1 Вт. Core ML автоматически направляет нейросетевые вычисления на Neural Engine, а GPU-совместимые — на Metal GPU. Разработчику не нужно выбирать устройство — Core ML делает это через Performance Report, анализируя модель и доступное оборудование.
TensorFlow Lite (TFLite) — кроссплатформенное решение Google для выполнения ML-моделей на Android, iOS и Linux. Модели имеют формат .tflite и создаются через TFLiteConverter из экосистемы TensorFlow. TFLite поддерживает квантизацию float32 → int8, что уменьшает размер модели в 4 раза при сохранении 97–99% точности на задачах классификации. Google Play Services for TFLite автоматически обновляет runtime без перевыпуска приложения.
TFLiteConverter — основной инструмент конвертации моделей TensorFlow в формат .tflite. Пост-тренировочная квантизация int8 сжимает модель с 300 МБ до 75 МБ без доступа к полному датасету. Квантизационно-осведомлённое обучение (QAT) даёт минимальную потерю точности — менее 1% на ImageNet. TFLiteConverter также поддерживает обрезку графа и удаление операций, не поддерживаемых TFLite runtime.
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 выполняет модель на 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 — 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 возвращает координаты контура лица, бровей, глаз, носа и губ, а также угол наклона головы и состояние глаз. AR-маски и фильтры в камере — самый популярный сценарий использования. Text Recognition извлекает текст из фотографий с точностью до 99% на печатных символах. API поддерживает распознавание в реальном времени через CameraX.
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 выделяет объекты на изображении с bounding box и меткой класса (человек, автомобиль, животное). Pose Detection определяет 33 ключевые точки тела для фитнес-приложений и анализа движений. Image Labeling возвращает до 10 семантических меток изображения — «природа», «город», «еда».
Apple предоставляет встроенные ML-решения через Vision и NaturalLanguage без установки сторонних SDK. Vision (VNRequest) выполняет детекцию лиц, текста, штрихкодов и контуров на устройстве. NaturalLanguage (NLTokenizer) — токенизацию, лемматизацию, определение языка и анализ тональности. На Android аналоги реализованы через ML Kit (распознавание) и SpeechRecognizer из android.speech (речь). Встроенные инструменты не требуют загрузки моделей — они предустановлены в системе.
Vision включает VNDetectFaceRectanglesRequest (детекция лиц), VNRecognizeTextRequest (распознавание текста), VNDetectBarcodesRequest (штрихкоды) и VNDetectHumanBodyPoseRequest (скелет). VNCoreMLRequest интегрирует кастомную Core ML модель в пайплайн Vision — например, классификация эмоций на найденных лицах. Все запросы выполняются на Neural Engine с минимальной задержкой.
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 предоставляет NLTokenizer для разбивки текста на токены, NLLanguageRecognizer для определения языка (72 языка) и NLSentimentAnalyzer для анализа тональности текста. SFSpeechRecogniser — API распознавания речи с поддержкой 50+ языков на устройстве (iOS 13+). Перед использованием требуется запрос разрешения SFSpeechRecognizerAuthorizationStatus. Результаты приходят асинхронно через SFSpeechRecognitionResultHandler.
Часто задаваемые вопросы
ML на устройстве (on-device ML) — подход, при котором модели машинного обучения запускаются прямо на мобильном устройстве без отправки данных на сервер. Core ML, TensorFlow Lite и ML Kit — основные фреймворки для on-device ML.
Core ML — фреймворк Apple для iOS и macOS с ускорением на Neural Engine. TensorFlow Lite — кроссплатформенное решение от Google для Android, iOS и Linux. Core ML даёт лучшую производительность на устройствах Apple, TFLite — универсальность.
ML Kit решает типовые задачи компьютерного зрения и NLP: распознавание текста, лиц, штрихкодов, объектов и поз тела. Все API работают на устройстве без интернета и не требуют создания собственной модели.
Нет, on-device ML работает полностью локально. Модели загружаются на устройство и выполняются без интернет-соединения. ML Kit также предлагает облачные версии API с более высокой точностью, но on-device режим доступен офлайн.
Для iOS-эксклюзива выбирайте Core ML — он использует Neural Engine и тесно интегрирован с экосистемой Apple. Для кроссплатформенных проектов — TensorFlow Lite. Для типовых задач без кастомной модели — ML Kit с готовыми API.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.