ML на устройството в мобилната разработка: какво е, кои frameworks и как работи

Автор: 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 — framework на 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 W. За мобилни приложения 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: framework на Apple за ML на устройството на iOS

Core ML е framework на 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 W. 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 MB до 75 MB без достъп до пълния набор от данни. Квантуващо-осъзнато обучение (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 осигурява междуплатформенo ускорение на 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 идентифицира обекти в изображение с ограничителна кутия и етикет на класа (човек, кола, животно). 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 модел в pipeline на 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 за анализ на настроение в текст. SFSpeechRecognizer е API за разпознаване на реч с поддръжка на 50+ езика на устройството (iOS 13+). Изисква разрешение SFSpeechRecognizerAuthorizationStatus преди използване. Резултатите идват асинхронно чрез SFSpeechRecognitionResultHandler.

Често задавани въпроси

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

ML на устройството (on-device ML) е подход, при който модели за машинно обучение се стартират директно на мобилно устройство без изпращане на данни към сървър. Core ML, TensorFlow Lite и ML Kit са основните framework-ове за on-device ML.

Как Core ML се различава от TensorFlow Lite?

Core ML е framework на 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 режимът е достъпен офлайн.

Кой framework да избера за ML в мобилната разработка?

За само iOS изберете Core ML — той използва Neural Engine и е тясно интегриран с екосистемата на Apple. За междуплатформени проекти — TensorFlow Lite. За типични задачи без персонализиран модел — ML Kit с готови API.

Обобщение

  • ML на устройството — изпълнение на модели директно на мобилно устройство без изпращане на данни към сървър, с нулево мрежово забавяне.
  • Core ML — framework на 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 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта