Einheit 4 / 11

KI auf dem Gerät: Core ML, TensorFlow Lite und ML Kit

Gewinne:

  • Möglichkeit, sich für Gerät oder Cloud zu entscheiden und das richtige Tool (ML Kit, Core ML, TensorFlow Lite) basierend auf Datenschutz, Offline-Anforderung, Modellgröße und Batteriekriterien auszuwählen
  • Möglichkeit, stille Fehler zu verhindern, indem die Eingabevorverarbeitung (Größe und Normalisierung) anhand des Modelldokuments in der Modellintegration überprüft wird
  • Möglichkeit, den Konfidenzwert auszuwerten und das Ergebnis mit Zustimmung des Benutzers und auf dem realen Gerät zu messen, ohne Vorhersagen mit geringer Konfidenz als absolute Wahrheit darzustellen.

Bisher haben wir KI als Hilfsmittel eingesetzt, um den Entwicklungsprozess zu beschleunigen. Kommen wir nun zur zweiten Rolle der KI: dem in der Anwendung eingebetteten Talent. Moderne Telefone sind in der Lage, KI-Modelle wie Bilderkennung, Textübersetzung, Sprachtranskription usw. direkt auf dem Gerät auszuführen (auf dem Gerät – im Prozessor des Telefons, ohne auf den Server zuzugreifen). KI auf dem Gerät; Es bietet große Vorteile gegenüber Cloud-Lösungen hinsichtlich Geschwindigkeit, Datenschutz und Offline-Betrieb. In dieser Einheit lernen wir, wie man KI mit iOS Core ML, dem plattformübergreifenden TensorFlow Lite (jetzt bekannt als LiteRT) und Googles vorgefertigter Lösung ML Kit in die Anwendung einbettet und wie man KI als Assistent bei dieser Integration verwendet.

Auf dem Gerät oder in der Cloud?

Dies ist die erste und wichtigste architektonische Entscheidung. Die KI auf dem Gerät entfernt keine Daten vom Telefon – ein großer Gewinn für den Datenschutz. Es erfolgt außerdem sofort und funktioniert offline, da es keine Netzwerklatenz gibt. Allerdings ist es durch die Rechenleistung und den Speicher des Geräts begrenzt; Sehr große Modelle (z. B. Modelle mit riesiger Zunge) passen nicht in das Telefon oder belasten den Akku. Cloud AI hingegen bietet unbegrenzte Leistung, sendet jedoch Daten an den Server, erfordert ein Netzwerk und erzeugt Latenz.

Kriterium

Auf dem Gerät

Cloud (Cloud-API)

Privatsphäre

Die Daten bleiben zuverlässig auf dem Gerät

Daten gehen an den Server, Aufmerksamkeit erforderlich

Geschwindigkeit

Sofort, kein Netzwerk

Hängt von der Netzwerklatenz ab

offline

Es funktioniert

Funktioniert nicht

Modellgröße

Begrenzt (Telefonressource)

unbegrenzt

Batterie/Wärme

Effekte bei starker Beanspruchung

Server unter Last, Gerät entspannt

Kosten

Kostenlos (Gerätequelle)

Gebühr pro Nutzung

Entscheidungsregel: Wählen Sie „On-Device“, wenn persönliche/sensible Daten verarbeitet werden, offline gearbeitet werden muss oder eine sofortige Reaktion erforderlich ist. Wenn Sie ein sehr großes Modell benötigen, greifen Sie auf die Cloud zurück. Diese Einheit konzentriert sich auf das Gerät. In der nächsten Einheit werden wir uns mit Cloud-KI befassen.

Tipp: Legen Sie „On-Device“ immer als Standardeinstellung für eine Funktion fest, die vertrauliche Daten (Gesundheit, Biometrie, Standort) verarbeitet. Der Satz „Daten verlassen das Gerät nicht“ ist sowohl für die Einhaltung der Datenschutzbestimmungen als auch für das Vertrauen der Benutzer von unschätzbarem Wert und macht einen großen Unterschied bei der Datenschutzkennzeichnung des Geschäfts.

Drei Möglichkeiten: ML Kit, Core ML, TensorFlow Lite

ML Kit (Google) ist der einfachste Einstieg: Es bietet vorgefertigte Funktionen wie Texterkennung (OCR – Lesen von Text in einem Bild), Gesichtserkennung, Barcode-Lesen und Übersetzung in wenigen Zeilen. Sie müssen Ihr eigenes Modell nicht trainieren. Core ML (Apple) ist die effizienteste Möglichkeit, Ihr eigenes Modell oder ein vorgefertigtes Modell unter iOS auszuführen; Es verwendet Apples Neural Engine-Hardware (künstlicher neuronaler Netzwerkprozessor). TensorFlow Lite/LiteRT ist eine plattformübergreifende Lösung, mit der Sie Ihr eigenes trainiertes Modell sowohl auf Android als auch auf iOS ausführen können.

Der allgemeine Integrationsablauf mit KI sieht folgendermaßen aus:

  1. Talentdefinition. Ein klares Ziel, wie zum Beispiel „Ich möchte den Text auf dem Foto lesen.“
  2. Pfadauswahl. Wenn es bereites Talent gibt, ML Kit; Core ML/TF Lite, falls Sondermodell verfügbar.
  3. Modellformat. .mlmodel (Core ML), .tflite (TF Lite). Erklärt die KI-Transformationsschritte.
  4. Integrationscode. Laden des Modells, Vorverarbeiten der Eingabe, Interpretieren der Ausgabe.
  5. Leistungstest. Geschwindigkeits-, Speicher- und Batteriemessung am realen Gerät.
Achtung: Der häufigste KI-Fehler bei der Modellintegration auf dem Gerät ist die Eingabevorverarbeitung – das Konvertieren des Bildes in das vom Modell erwartete Größen- und Farbformat. Wenn das Modell 224 x 224 Pixel erwartet und Sie 300 x 300 angeben, ist das Ergebnis bedeutungslos, Sie erhalten jedoch keine Fehlermeldung. Überprüfen Sie die Vorverarbeitungswerte aus dem Modelldokument.

Die Grenzen des Modells kennen

Ein Modell auf dem Gerät trifft Entscheidungen auf der Grundlage der Daten, auf denen es trainiert wurde. Ein Objekterkennungsmodell, das nur auf tagsüber aufgenommene Fotos trainiert wird, ist bei Nachtbildern falsch. Das Modell verfügt über einen Konfidenzwert (Konfidenz – wie sicher das Modell in Bezug auf seine Antwort ist, normalerweise zwischen 0 und 1); Es ist gefährlich, dem Benutzer Ergebnisse mit geringer Zuverlässigkeit als genau darzustellen. Beispielsweise sollte in einer Anwendung zum Scannen von Hautflecken nicht „definitiv gutartig“ stehen, sondern „Die Vorhersage des Modells lautet: Bitte konsultieren Sie einen Arzt“. Das Modellergebnis ist eine Empfehlung, keine Diagnose.

drei Mini-Koffer

Fall 1 – Beschleunigung mit OCR. Eine Spesenverfolgungs-App macht die manuelle Eingabe von Belegen mit der Texterkennung von ML Kit überflüssig. Der Benutzer macht ein Foto des Belegs, Betrag und Datum werden automatisch eingetragen. Die manuelle Eingabezeit wurde von 40 Sekunden auf 8 Sekunden pro Beleg verringert. Das Team ließ den Benutzer immer den von der KI gelesenen Betrag bestätigen; weil zerknitterte Belege eine Fehlerquote von 6 % hatten. Automatisierung + menschliche Zustimmung waren die richtige Balance.

Fall 2 – Vorverarbeitungsfehler. Ein Team integrierte ein Pflanzenerkennungsmodell in TensorFlow Lite; Auf dem Tester waren die Ergebnisse zufällig. Das Problem bestand darin, dass der von der KI generierte Code das Bild nicht auf den vom Modell erwarteten Bereich [0,1] normalisierte (Pixelwerte wurden bei 0-255 belassen). Durch die Hinzufügung der Normalisierung erhöhte sich die Genauigkeit von 30 % auf 89 %. Lektion: Vorverarbeitung ist leise, aber tödlich.

Fall 3 – Datenschutzgewinn. Eine Gesundheitsanwendung hat eine Anomalie bei den Herzfrequenzdaten mit dem Core ML-Modell auf dem Gerät festgestellt. Die Daten gingen nie an den Server. Diese Wahl ermöglichte es der Anwendung, den Vermerk „sammelt keine Daten“ im Datenschutzlabel des App Stores zu erhalten und steigerte ihre Download-Rate im Vergleich zu Mitbewerbern. Die Entscheidung für das Gerät war sowohl ethisch als auch wirtschaftlich rentabel.

Schwache Eingabeaufforderung / Starke Eingabeaufforderung

Schwache Aufforderung: „Bilderkennung zu meiner App hinzufügen.“

Leistungsstarke Eingabeaufforderung: „Fügen Sie die Lesefunktion für Menge und Datum zu meiner Android-/Kotlin-Anwendung hinzu. – Verwenden Sie die Texterkennung von Google ML Kit (auf dem Gerät, offline). – Nehmen Sie ein Bild von der Kamera oder Galerie auf.

Kopierbare Vorlagen

Pfadauswahlvorlage: „Ich möchte die folgende Funktion erstellen: [Funktion]. Soll sie auf dem Gerät oder in der Cloud sein? Vergleichen Sie basierend auf: Datenschutz, Offline-Bedarf, Modellgröße, Akku, Kosten. Empfehlen Sie das entsprechende Tool (ML Kit / Core ML / TF Lite) und begründen Sie.“

Integrationsvorlage: „Schreiben Sie eine [Modell/Fähigkeit]-Integration für [Plattform]: 1) Laden des Modells 2) Vorverarbeitung der Eingabe (erwartete Größe und Normalisierung) 3) Inferenzaufruf 4) Interpretation der Ausgabe und Überprüfung der Konfidenzbewertung 5) Warnung an den Benutzer bei Ergebnis mit geringer Konfidenz. Erinnern Sie mich daran, die Vorverarbeitungswerte aus der Dokumentation des Modells zu überprüfen.“

Vorlage für die Konfidenzbewertung: „Berücksichtigen Sie die Konfidenzbewertung in diesem Inferenzcode: – Präsentieren Sie das Ergebnis „exakt“ unterhalb des Schwellenwerts (z. B. 0,6). – Zeigen Sie dem Benutzer den Hinweis „Dies ist eine Schätzung“ an. – Wenden Sie sich an einen Experten, wenn kritischer Bereich (Gesundheit, Sicherheit) [Code]“ ist.

Vorlage zur Leistungsüberprüfung: „Listen Sie die Metriken auf, die ich auf dem tatsächlichen Gerät für diese On-Device-Modellintegration messen muss: Inferenzzeit, Speichererweiterung, Batterieauswirkung, Erwärmung. Geben Sie jeweils die Messmethode an.“

Häufige Fehler

  • Die Vorverarbeitung wird übersprungen oder falsch ausgeführt. Falsche Größe/Normalisierung führt stillschweigend zu falschen Ergebnissen.
  • Den Konfidenzwert ignorieren. Die Darstellung einer Schätzung mit geringer Konfidenz als genau führt den Benutzer in die Irre.
  • Testen des Modells im Emulator. Die tatsächliche Geschwindigkeit des Geräts und der Akku unterscheiden sich stark. Messen Sie immer an echter Hardware.
  • Unnötiges Senden sensibler Daten an die Cloud. Die Entscheidung für die Cloud, wenn dies auf dem Gerät möglich ist, birgt ein Datenschutzrisiko.
  • Modellgröße wird ignoriert. Große Modell-Apps erhöhen die Downloadgröße und stürzen auf niedriger Hardware ab.
  • Das Trainingslimit des Modells vergessen. Das Modell irrt sich in dem Zustand, in dem es nicht sieht (Nacht, andere Sprache); Machen Sie dies dem Benutzer klar.

Zusammenfassend

Die KI auf dem Gerät sorgt für Privatsphäre, Geschwindigkeit und Offline-Betrieb, indem die Daten auf dem Telefon gespeichert werden. Die Grenze liegt in der Geräteleistung und der Modellgröße. ML Kit wird für sofort einsatzbereite Funktionen verwendet, Core ML (iOS) und TensorFlow Lite (plattformübergreifend) werden für benutzerdefinierte Modelle verwendet. Der stille Killer der Integration ist eine unsachgemäße Vorverarbeitung. Die Eingabegröße und Normalisierung werden anhand der Modelldokumentation überprüft. Zu jedem Ergebnis gehört ein Konfidenzwert, und Vorhersagen mit geringer Konfidenz werden nicht als absolute Wahrheit dargestellt. Entscheidungen werden auf dem realen Gerät gemessen, nicht auf dem Emulator.

Anwendungsaufgabe

Für eine Funktion zum „Lesen von Text aus einem Foto“ oder zum „Lesen von Barcodes“ fragen Sie die KI mit der „Pfadauswahlvorlage“, ob sie auf dem Gerät oder in der Cloud erfolgen soll, und fordern Sie dann mit der „Integrationsvorlage“ einen ML-Kit-basierten Entwurf an. Stellen Sie sicher, dass der Vorverarbeitungsschritt und der Benutzergenehmigungs-/Bearbeitungsablauf im Code vorhanden sind. Legen Sie einen Schwellenwert für die Vertrauensbewertung fest und schreiben Sie, was Sie tun werden, wenn das Ergebnis ein niedriges Vertrauen ist.

Checkliste

  • [ ] Ich habe die On-Device-/Cloud-Entscheidung anhand von Kriterien getroffen
  • [ ] Ich habe das richtige Tool ausgewählt (ML Kit / Core ML / TF Lite)
  • [ ] Ich habe die Vorverarbeitungsdimension und Normalisierung anhand der Modelldokumentation überprüft
  • [ ] Ich habe den Vertrauenswert überprüft und vor niedrigen Vertrauensergebnissen gewarnt
  • [ ] Ich habe das Ergebnis dem Benutzer mit Genehmigung/Bearbeitung präsentiert, ich habe es nicht blind gespeichert
  • [ ] Ich habe die Leistung auf dem realen Gerät gemessen, nicht auf dem Emulator