Modellaktualisierung in Anwendungen
improve this page | report issueÜbersicht
Mit der Einführung von Machine-Learning-Modellen wie CoreML und TensorFlow Lite können mobile Apps auf Geräten ML-Operationen ausführen, z. B. eine Bilderkennung, auch wenn das Gerät offline ist. Ein wichtiges Merkmal von Machine-Learning-Modellen ist, dass sie sich kontinuierlich entwickeln. Die Aktualisierung solcher Modelle mit neueren Versionen wird zu einer sehr kritischen Aufgabe für den Erfolg einer mobilen App.
Damit Sie dieser Forderung leichter nachkommen können, gibt es in der IBM Mobile Foundation das neue Feature für Modellaktualisierung. In die Mobile Foundation können jetzt ML-Modelle eingebettet werden, die drahtlos mit neueren Versionen aktualisiert werden können. Organisationen können so sicherstellen, dass Endbenutzer stets die aktualisierten KI-Modelle verwenden.
Komprimieren Sie das neueste Modell (ZIP-Format), um die Modellversion an eine Anwendung zu senden. Diese .zip
-Datei muss in der MobileFirst Operations Console auf der Registerkarte Machine Learning hochgeladen werden. Ruft die Anwendung im Anschluss daran die API downloadModelUpdate
auf, wird die Modellaktualisierung aktiviert.
Unterstützte Plattformen: Zurzeit wird die Modellaktualisierung nur für iOS unterstützt.
Wichtige Hinweise
- Mit der Modellaktualisierung werden nur KI-Modelle wie das CoreML-Modell von Apple oder das TensorFlow-Modell von Google aktualisiert.
Fahren Sie mit folgenden Abschnitten fort:
Funktionsweise der Modellaktualisierung
Die Modelle werden anfänglich in das Anwendungspaket aufgenommen, damit die Offlineverfügbarkeit gewährleistet ist. Später überprüft die Anwendung bei jedem Aufruf der API downloadModelUpdate
mit MobileFirst Server, ob Updates vorliegen.
Nach einer Modellaktualisierung gibt die API downloadModelUpdate
die Position des heruntergeladenen Modells zurück. Diese Position wird bei jedem Update aktualisiert.
Versionssteuerung
Die Modellaktualisierung gilt nur für eine bestimmte Anwendungsversion. Das bedeutet, dass eine für Version 2.0 einer Anwendung generierte Aktualisierung nicht für eine andere Version dieser Anwendung ausgeführt werden kann.
Modellpakete erstellen und implementieren
Wenn eine neuere oder aktualisierte Modellversion verfügbar ist, führen Sie die folgenden Schritte aus, um die Modelldatei in MobileFirst Server hochzuladen.
Schritte:
- Erstellen Sie ein
.zip
-Archiv aus Machine-Larning-Modelldateien (z. B..mlmodel
). - Öffnen Sie die MobileFirst Operations Console und klicken Sie im linken Fensterbereich auf die Anwendung.
- Navigieren Sie zur Registerkarte Machine Learning und klicken Sie auf Upload model archive, um die Modellpakete hochzuladen.
Update aufrufen
Eine Modellaktualisierung der Anwendung kann durch Aufrufen der folgenden API überprüft werden.
iOS
WLClient.sharedInstance().downloadModelUpdate(completionHandler: CompletionHandler, showProgressBar: Boolean);
Hinweis: Diese API darf nicht zusammen mit der API
ObtainAccessToken
oderWLResourceRequest
aufgerufen werden.
Anwendungsentwickler werden diese API in der Regel während des Anwendungsstarts aufrufen.
Die API downloadModelUpdate
gibt die folgenden Statuscodes zurück sowie einen Link zum heruntergeladenen Paket bei erfolgreichem Download oder den Pfad zum zuvor heruntergeladenen Paket.
Für den abschließenden Status wird einer der folgenden Codes zurückgegeben:
Statuscode | Beschreibung |
---|---|
SUCCESS |
Die Modellaktualisierung wurde fehlerfrei abgeschlossen. |
CANCELED |
Die Modellaktualisierung wurde abgebrochen. |
FAILURE_NETWORK_PROBLEM |
Es gab während der Aktualisierung ein Problem mit einer Netzverbindung. |
FAILURE_DOWNLOADING |
Die Datei wurde nicht vollständig heruntergeladen. |
FAILURE_NOT_ENOUGH_SPACE |
Auf dem Gerät ist nicht genug Speicher verfügbar, um die Aktualisierungsdatei herunterzuladen und zu entpacken. |
FAILURE_UNZIPPING |
Beim Entpacken der Aktualisierungsdatei ist ein Problem aufgetreten. |
FAILURE_ALREADY_IN_PROGRESS |
Eine Aktualisierung wurde angefordert, als bereits eine Aktualisierung lief. |
FAILURE_INTEGRITY |
Die Authentizität der Aktualisierungsdatei kann nicht verifiziert werden. |
FAILURE_UNKNOWN |
Unerwarteter interner Fehler |
Sichere Modellaktualisierung
Die sichere Modellaktualisierung ist standardmäßig inaktiviert. Sie verhindert, dass ein Angreifer von MobileFirst Server (oder von einem Content Delivery Network (CDN)) an die Clientanwendung übertragene Modelle ändert.
Authentizität der Modellaktualisierung aktivieren
Verwenden Sie Ihr bevorzugtes Tool, um den öffentlichen Schlüssel aus dem MobileFirst-Server-Keystore zu extrahieren und in einen Base64-Schlüssel zu konvertieren.
Verwenden Sie den so erzeugten Wert dann wie folgt:
- Öffnen Sie in der Clientanwendung die MobileFirst-Konfigurationsdatei (d. h.
mfpclient.plist
für iOS undmfpclient.properties
für Android). - Fügen Sie den neuen Schlüsselwert
wlSecureModelUpdatePublicKey
hinzu. - Geben Sie den öffentlichen Schlüssel als Wert an und speichern Sie die Datei.
Alle folgenden Modellaktualisierungen für Clientanwendungen sind nun durch die Authentizität der Modellaktualisierung geschützt.
Wie Sie den Anwendungsserver mit der aktalisieren Keystore-Datei konfigurieren können, erfahren Sie unter Sichere Modellaktualisierung implementieren.
Modellaktualisierung in Entwicklung, Tests und Produktion
In der Entwicklungs- und Testphase werden Entwickler für eine Modellaktualisierung normalerweise einfach ein Archiv auf den Entwicklungsserver hochladen. Diese Vorgehensweise ist einfach zu implementieren, aber auch nicht sehr sicher, denn Modelle können während der Übertragung oder nach dem Herunterladen auf dem Gerät manipuliert werden können.
In der Testphase für die Produktion oder auch in Vorbereitung auf die Produktion wird dringend die Implementierung der sicheren Modellaktualisierung empfohlen, bevor Ihre Anwendung im App Store veröffentlicht wird. Für die sichere Modellaktualisierung ist ein RSA-Schlüsselpaar erforderlich, das aus einem von einer Zertifizierungsstelle signierten Serverzertifikat extrahiert wird.
Hinweis: Denken Sie daran, dass die Keystore-Konfiguration nach der Veröffentlichung der Anwendung nicht modifiziert werden darf. Heruntergeladene Aktualisierungen erst wieder authentifiziert, wenn die Anwendung mit einem neuen öffentlichen Schlüssel rekonfiguriert und erneut veröffentlicht wurde. Ohne diese Schritte schlägt die Modellaktualisierung auf dem Client fehl.
Weitere Informationen finden Sie unter Sichere Modellaktualisierung.
Datenübertragungsgeschwindigkeit bei der Modellaktualisierung
Unter optimalen Bedingungen kann ein einzelner MobileFirst Server Daten per Push mit einer Geschwindigkeit von 250 MB pro Sekunde übertragen. Wenn eine höhere Geschwindigkeit erforderlich ist, ziehen Sie einen Cluster oder einen CDN-Service in Betracht.
▲Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.