ML på enheten i mobilutveckling: vad det är, vilka ramverk och hur det fungerar

Författare: IT Sectr Publicerad: 2026-07-29 Lästid: 11 min

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 — körning av maskininlärningsmodeller direkt på en mobil enhet utan serverbaserad databehandling.
  • Core ML — Apples ramverk med hårdvaruacceleration på Neural Engine för iOS och macOS.
  • TensorFlow Lite — Googles plattformsoberoende lösning med kvantisering och GPU-, NNAPI- och XNNPACK-delegater.
  • ML Kit — SDK med färdiga API:er för text-, ansikts-, streckkods- och objektigenkänning utan att skapa en modell.
  • Vision och NaturalLanguage — inbyggda ML-verktyg på iOS för bild- och textanalys.

Vad är ML på enheten och varför behövs det i mobila appar

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.

Fördelar med on-device ML jämfört med molnlösningar

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.

Huvudsakliga användningsområden för on-device ML i mobila appar

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: Apples ramverk för ML på enheten på iOS

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 och coremltools

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.

python
import coremltools as ct

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

Neural Engine och Core ML-hårdvaruacceleration

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: Googles plattformsoberoende ML på enheten

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 och modellkvantisering

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.

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 och XNNPACK

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: färdiga lösningar för ML i mobilutveckling

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 och Text Recognition i ML Kit

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.

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

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

Barcode Scanning och Object Detection i ML Kit

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".

Vision och NaturalLanguage: inbyggda ML-verktyg på iOS och Android

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-ramverket: VNRequest och VNCoreMLRequest

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.

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 och SFSpeechRecognizer på iOS

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

Vad är ML på enheten?

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.

Hur skiljer sig Core ML från TensorFlow Lite?

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.

Vilka uppgifter löser ML Kit?

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.

Krävs internet för on-device ML?

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.

Vilket ramverk ska jag välja för ML i mobilutveckling?

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

  • ML på enheten — körning av modeller direkt på en mobil enhet utan att skicka data till en server, med noll nätverksfördröjning.
  • Core ML — Apples ramverk med hårdvaruacceleration på Neural Engine för iOS och macOS.
  • TensorFlow Lite — Googles plattformsoberoende lösning med int8-kvantisering och GPU-, NNAPI-, XNNPACK-delegater.
  • ML Kit — SDK med färdiga API:er för text-, ansikts- och streckkodsigenkänning utan att bygga en modell.
  • Vision och NaturalLanguage — inbyggda ML-verktyg på iOS utan att installera tredjepartsbibliotek.
  • Kvantisering minskar modellstorleken 4 gånger med minimal noggrannhetsförlust — standard för mobila appar.
  • On-device ML är en obligatorisk standard för appar med känslig data och offline-användningsfall.

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.

Diskutera projektet