ML på enheten (on-device ML) — exekvering av maskininlärningsmodeller direkt på en mobil enhet utan att skicka data till en server. Enligt en rapport från Google AI, 2025 föredrar över 70 % av användarna appar med on-device ML på grund av integritet och frånvaro av nätverksfördröjning. Core ML från Apple, TensorFlow Lite från Google och ML Kit gör det möjligt att lösa Vision-, NLP-, ansikts- och objektigenkänningsuppgifter helt på enheten — utan internet och med minimal strömförbrukning.
Huvudpunkter
ML på enheten (on-device ML) är ett tillvägagångssätt där maskininlärningsmodeller körs direkt på en mobil enhet utan att skicka data till en fjärrserver. Integritet är den främsta fördelen: användardata lämnar aldrig enheten. Enligt Google-forskning (2024) avvisar 63 % av användarna ML-funktioner som kräver att data skickas till en server. On-device ML eliminerar nätverksfördröjning, fungerar offline och minskar strömförbrukningen genom hårdvaruacceleration.
On-device ML bearbetar data på millisekunder istället för sekunder — avgörande för ansikts- och objektigenkänning i realtid. Inget internetanslutning krävs är en annan fördel: ML-funktioner är tillgängliga i flygplansläge och i regioner med instabil anslutning. Core ML använder Neural Engine i Apple A12+-chip, vilket ger 11 biljoner operationer per sekund vid en strömförbrukning på mindre än 1 W. För mobila appar har on-device ML blivit de facto-standard inom Vision-, NLP- och objektigenkänningsuppgifter.
ML i mobila appar används för ansiktsautentisering (Face ID), AR-filter i Snapchat och Instagram, fitness-trackers med Pose Detection, OCR-skanning i Adobe Scan och prediktiv textinmatning i tangentbord. Anpassade modeller för specifika uppgifter skapas via Core ML (iOS) eller TensorFlow Lite (Android). ML Kit passar för typiska scenarier — text-, ansikts- och streckkodsigenkänning utan att behöva träna en modell.
Core ML är Apples ramverk för att köra ML-modeller på iPhone, iPad, Mac och Apple Watch. Det väljer automatiskt den optimala hårdvaruaccelerationen: Neural Engine för neurala nätverk på enheter med A12+ (11 TOPS), GPU för bildbehandlingsuppgifter och CPU för sekventiella beräkningar. Core ML stöder formaten .mlmodel (original) och .mlmodelc (kompilerad). Modellkonvertering från PyTorch och TensorFlow görs via coremltools — ett Python-bibliotek som bevarar topologi och vikter.
Create ML är Apples app för att träna enkla modeller utan att skriva kod. För produktion används coremltools — ett konverteringsverktyg från PyTorch, TensorFlow och scikit-learn. Coremltools stöder kvantisering från float32 till float16 och int8, färgrymdspalettisering och borttagning av överflödiga operationer för att minska modellstorleken.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
Neural Engine är en specialiserad neuroprocessor i Apple A12-chip och senare. 16 kärnor utför upp till 11 biljoner operationer per sekund med en strömförbrukning på mindre än 1 W. Core ML dirigerar automatiskt neurala nätverksberäkningar till Neural Engine och GPU-kompatibla till Metal GPU. Utvecklaren behöver inte välja enhet — Core ML gör detta via Performance Report, som analyserar modellen och tillgänglig hårdvara.
TensorFlow Lite (TFLite) är Googles plattformsoberoende lösning för att köra ML-modeller på Android, iOS och Linux. Modeller har formatet .tflite och skapas via TFLiteConverter från TensorFlow-ekosystemet. TFLite stöder kvantisering från float32 till int8, vilket minskar modellstorleken 4 gånger med bibehållen 97–99 % noggrannhet på klassificeringsuppgifter. Google Play Services for TFLite uppdaterar automatiskt runtime utan att appen behöver uppdateras.
TFLiteConverter är det primära verktyget för att konvertera TensorFlow-modeller till .tflite-format. Eftertränings-int8-kvantisering komprimerar en modell från 300 MB till 75 MB utan tillgång till hela datasetet. Kvantiseringsmedveten träning (QAT) ger minimal noggrannhetsförlust — mindre än 1 % på ImageNet. TFLiteConverter stöder även grafförenkling och borttagning av operationer som inte stöds av 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()
Utan en delegat kör TFLite modellen på CPU 3–5 gånger långsammare än med hårdvaruacceleration. GPU Delegate använder OpenCL och OpenGL ES 3.1 på Android, Core ML Delegate använder Neural Engine på iOS. NNAPI Delegate utnyttjar NPU och DSP på Android 8.1+. XNNPACK Delegate ger plattformsoberoende acceleration på ARM CPU med optimeringar för mobila processorer. För att välja delegat, använd TfLiteGpuDelegate.create() med en null-kontroll på resultatet.
ML Kit är Googles SDK med färdiga API:er för on-device ML. I mobila appar används ML Kit för textigenkänning (50+ språk inklusive handskrift), Face Detection (468 ansiktspunkter), Barcode Scanning (QR, EAN-13, Code 128, PDF417, Data Matrix) och Object Detection. Alla API:er fungerar helt på enheten utan internet. ML Kit finns på iOS och Android med ett enhetligt API.
Face Detection returnerar koordinaterna för ansiktskonturen, ögonbryn, ögon, näsa och läppar, samt huvudlutningsvinkel och ögonstatus. AR-masker och kamerafilter är det mest populära användningsområdet. Text Recognition extraherar text från foton med upp till 99 % noggrannhet på tryckta tecken. API:et stöder realtidsigenkänning via CameraX.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
Barcode Scanning identifierar streckkoder i realtid från kamerans videoström. Object Detection identifierar objekt i en bild med bounding boxes och klassetiketter (person, bil, djur). Pose Detection bestämmer 33 kroppspunkter för fitnessappar och rörelseanalys. Image Labeling returnerar upp till 10 semantiska bildetiketter — "natur", "stad", "mat".
Apple tillhandahåller inbyggda ML-lösningar via Vision och NaturalLanguage utan att installera tredjeparts-SDK:er. Vision (VNRequest) utför ansikts-, text-, streckkods- och konturdetektering på enheten. NaturalLanguage (NLTokenizer) erbjuder tokenisering, lemmatisering, språkidentifiering och sentimentanalys. På Android är motsvarigheter implementerade via ML Kit (igenkänning) och SpeechRecognizer från android.speech (tal). Inbyggda verktyg kräver inte nedladdning av modeller — de är förinstallerade i systemet.
Vision inkluderar VNDetectFaceRectanglesRequest (ansiktsdetektering), VNRecognizeTextRequest (textigenkänning), VNDetectBarcodesRequest (streckkoder) och VNDetectHumanBodyPoseRequest (skelett). VNCoreMLRequest integrerar en anpassad Core ML-modell i Vision-pipelinen — till exempel känsloigenkänning på detekterade ansikten. Alla förfrågningar körs på Neural Engine med minimal latens.
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 tillhandahåller NLTokenizer för att dela upp text i token, NLLanguageRecognizer för språkidentifiering (72 språk) och NLSentimentAnalyzer för textsentimentanalys. SFSpeechRecognizer är ett taligenkännings-API som stöder 50+ språk på enheten (iOS 13+). Kräver SFSpeechRecognizerAuthorizationStatus-behörighet före användning. Resultat kommer asynkront via SFSpeechRecognitionResultHandler.
Vanliga frågor
ML på enheten (on-device ML) är ett tillvägagångssätt där maskininlärningsmodeller körs direkt på en mobil enhet utan att skicka data till en server. Core ML, TensorFlow Lite och ML Kit är de viktigaste ramverken för on-device ML.
Core ML är Apples ramverk för iOS och macOS med acceleration på Neural Engine. TensorFlow Lite är Googles plattformsoberoende lösning för Android, iOS och Linux. Core ML ger bättre prestanda på Apple-enheter, TFLite ger mångsidighet.
ML Kit löser typiska datorseende- och NLP-uppgifter: text-, ansikts-, streckkods-, objekt- och pose-igenkänning. Alla API:er fungerar på enheten utan internet och kräver inte att du skapar en egen modell.
Nej, on-device ML fungerar helt lokalt. Modeller laddas på enheten och körs utan internetanslutning. ML Kit erbjuder också molnbaserade API-versioner med högre noggrannhet, men on-device-läget är tillgängligt offline.
För iOS-only, välj Core ML — det använder Neural Engine och är tätt integrerat med Apples ekosystem. För plattformsoberoende projekt, välj TensorFlow Lite. För typiska uppgifter utan en anpassad modell, välj ML Kit med färdiga API:er.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.