ML-Produktionssysteme: Statische und dynamische Inferenz
Inferenz ist der Prozess,
Vorhersagen treffen, indem ein trainiertes Modell
Beispiele ohne Label.
Allgemein ausgedrückt, kann ein Modell Vorhersagen auf zwei Arten ableiten:
Statische Inferenz (auch als Offline-Inferenz oder
Batch-Inferenz) bedeutet, dass das Modell Vorhersagen für eine Reihe von
Gängige Beispiele ohne Label
und speichert diese Vorhersagen irgendwo im Cache.
Dynamische Inferenz (auch als Online-Inferenz oder Echtzeit bezeichnet)
Inferenz) bedeutet, dass das Modell
Vorhersagen nur bei Bedarf trifft.
beispielsweise wenn ein Client eine Vorhersage anfordert.
Nehmen wir ein extremes Beispiel. Stellen Sie sich ein sehr komplexes Modell vor,
dauert es etwa eine Stunde,
um eine Vorhersage abzuleiten.
Dies wäre wahrscheinlich eine hervorragende Situation für statische Inferenz:
Angenommen, dieses komplexe Modell
verwendet fälschlicherweise
statische Inferenz. Wenn viele Clients
gleichzeitig Vorhersagen anfordern,
werden die meisten von ihnen diese Vorhersage erst nach Stunden oder Tagen erhalten.
Nehmen wir nun ein Modell, das schnell ableiten kann, z. B. in 2 Millisekunden,
relatives Minimum an Rechenressourcen. In dieser Situation können die Kunden
Vorhersagen schnell und effizient durch dynamische Inferenz erhalten,
wie in Abbildung 5 dargestellt.
Statische Inferenz
Statische Inferenz hat gewisse Vor- und Nachteile.
Vorteile
Sie müssen sich nicht viele Gedanken über die Inferenzkosten machen.
Die Vorhersagen können vor der Übertragung nachgeprüft werden.
Nachteile
Kann nur im Cache gespeicherte Vorhersagen bereitstellen, sodass das System
Vorhersagen für ungewöhnliche
Eingabebeispiele liefern können.
Die Aktualisierungslatenz wird wahrscheinlich in Stunden oder Tagen gemessen.
Dynamische Inferenz
Dynamische Inferenz hat gewisse Vor- und Nachteile.
Vorteile
Kann eine Vorhersage für jedes neue Element ableiten, sobald es eingeht, was
eignet sich hervorragend für Longtail-Vorhersagen (weniger gängige).
Nachteile
Sie sind rechenintensiv und latenzempfindlich. Durch diese Kombination wird möglicherweise das Modell eingeschränkt
Komplexität; Das heißt, Sie müssen möglicherweise
ein einfacheres Modell entwickeln,
schneller als ein komplexes Modell Vorhersagen ableiten können.
Die Monitoring-Anforderungen sind intensiver.
Übungen: Wissen testen
Welche drei der folgenden vier Aussagen sind
Richtig für statische Inferenz?
Das Modell muss Vorhersagen für alle möglichen Eingaben erstellen.
Ja, das Modell muss Vorhersagen für alle
möglichen Eingaben treffen und
im Cache oder in einer Suchtabelle speichern.
Wenn die Menge der Dinge,
die das Modell vorhersagt, begrenzt ist,
wäre eine statische Inferenz eine gute Wahl.
Bei Eingaben im freien Format, z. B. bei Nutzeranfragen mit einer langen
von ungewöhnlichen oder seltenen Gegenständen, kann statische Inferenz keine Informationen liefern
mehr zum Thema.
Das System kann abgeleitete Vorhersagen vor der Bereitstellung überprüfen
.
Ja, das ist ein nützlicher Aspekt der statischen Inferenz.
Für eine bestimmte Eingabe kann das Modell schneller eine Vorhersage bereitstellen
dynamische Inferenz.
Ja, statische Inferenz kann Vorhersagen fast immer schneller bereitstellen.
als dynamische Inferenz.
Sie können schnell auf Veränderungen in der Welt reagieren.
Nein, das ist ein Nachteil der statischen Inferenz.
Welche eine der folgenden Aussagen ist
trifft dies auf dynamische Inferenz zu?
Sie können Vorhersagen für alle möglichen Elemente angeben.
Ja, dies ist eine Stärke der dynamischen Inferenz. Jede Anfrage, die
erhält eine Bewertung. Dynamische Inferenz verarbeitet Longtail
Verteilungen (mit vielen seltenen Elementen), wie der Raum
mögliche Sätze in Filmrezensionen.
Sie können eine nachträgliche Verifizierung von Vorhersagen durchführen, bevor sie
verwendet werden.
In der Regel ist es nicht möglich,
Vorhersagen, bevor sie verwendet werden,
weil Vorhersagen getroffen werden,
On-Demand-Videos erstellt. Sie können jedoch potenziell überwachen,
aggregieren die Vorhersagequalitäten, um ein gewisses Maß an
Qualitätsprüfung durchgeführt werden. Diese signalisieren jedoch erst Alarme, nachdem
hat sich das Feuer bereits ausgebreitet.
Bei der dynamischen Inferenz müssen Sie
zur Vorhersagelatenz (die Verzögerungszeit für die Rückgabe von Vorhersagen)
wie bei statischer Inferenz.
Die Vorhersagelatenz ist bei der dynamischen Inferenz oft ein echtes Problem.
Leider können Sie Latenzprobleme bei der Vorhersage nicht unbedingt beheben,
indem Sie weitere Inferenzserver hinzufügen.