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