Kunden erwarten bei jeder Interaktion sofortige Reaktionen, sei es eine in Millisekunden erstellte Empfehlung, eine betrügerische Abbuchung, die vor der Verrechnung blockiert wird, oder ein Suchergebnis, das für den Nutzer unmittelbar erscheint. Bei Scale hängt die Bereitstellung dieser Erfahrungen von Model-Serving-Systemen ab, die selbst bei anhaltender und ungleichmäßiger Last schnell, stabil und vorhersehbar bleiben.
Wenn der Traffic auf Zehntausende oder Hunderttausende von Anfragen pro Sekunde anwächst, stoßen viele Teams auf dieselben Herausforderungen. Die Latenz wird inkonsistent, die Infrastrukturkosten steigen und Systeme erfordern eine ständige Feinabstimmung, um Bedarfsspitzen und -einbrüche zu bewältigen. Fehler sind zudem schwerer zu diagnostizieren, je mehr Komponenten miteinander verknüpft sind. Dies lenkt die Teams von der Verbesserung der Modelle ab und zwingt sie, sich stattdessen auf den laufenden Betrieb der Produktionssysteme zu konzentrieren.
Dieser Beitrag erklärt, wie Model Serving on Databricks Echtzeit-Workloads mit hoher QPS unterstützt, und beschreibt konkrete Best Practices, die Sie anwenden können, um niedrige Latenz, hohen Throughput und vorhersagbare Performance in der Produktion zu erzielen.
Databricks Model Serving bietet eine vollständig verwaltete, skalierbare Serving-Infrastruktur direkt in Ihrem Databricks Lakehouse. Nehmen Sie einfach ein bestehendes Modell aus Ihrer Modellregistrierung, stellen Sie es bereit und erhalten Sie einen REST-Endpunkt auf einer verwalteten Infrastruktur, die hoch skalierbar und für Datenverkehr mit hohen QPS optimiert ist.
Databricks Model Serving ist für geschäftskritische Workloads mit hoher QPS optimiert:
Databricks Model Serving ermöglicht unserem Team, Machine-Learning-Modelle mit der Zuverlässigkeit und Skalierbarkeit bereitzustellen, die für Echtzeitanwendungen erforderlich sind. Es ist darauf ausgelegt, Workloads mit hohem QPS-Wert zu bewältigen und gleichzeitig die Hardwareauslastung zu maximieren. Darüber hinaus bietet Databricks eine SOTA-Feature-Store-Lösung mit superschnellen Lookups, die für solche Workloads benötigt werden. Mit diesen Funktionen können sich unsere ML-Ingenieure auf das Wesentliche konzentrieren: die Verfeinerung der Modell-Performance und die Verbesserung der Benutzererfahrung. — Bojan Babic, Research Engineer, You.com
Auf dieser Grundlage besteht der nächste Schritt darin, Ihre Endpunkte, Modelle und Client-Anwendungen zu optimieren, um insbesondere bei zunehmendem Traffic konsistent einen hohen Durchsatz und eine geringe Latenz zu erzielen. Die folgenden Best Practices unterstützen reale Kunden-Deployments, die täglich Millionen bis Milliarden von Inferenzen ausführen.
Weitere Informationen finden Sie in unserem Leitfaden für Best Practices.
Ein wichtiger erster Schritt ist die Sicherstellung, dass die Netzwerkebene für hohen Durchsatz/QPS und geringe Latenz optimiert ist. Model Serving erledigt dies für Sie durch routenoptimierte Endpunkte. Wenn Sie die Routenoptimierung für einen Endpunkt aktivieren, optimiert Databricks Model Serving das Netzwerk und das Routing für Inferenzanfragen, was zu einer schnelleren und direkteren Kommunikation zwischen Ihrem Client und dem Modell führt. Dies verkürzt die Zeit, die eine Anfrage benötigt, um das Modell zu erreichen, erheblich und ist besonders nützlich für Anwendungen mit geringer Latenz wie Empfehlungssysteme, Suche und Betrugserkennung.
In Szenarien mit hohem Durchsatz helfen die Reduzierung der Modellkomplexität, die Auslagerung der Verarbeitung vom Serving-Endpunkt und die Wahl der richtigen Parallelitätsziele Ihrem Endpunkt, auf große Anforderungsvolumen zu skalieren – und das mit genau der richtigen Menge an benötigtem Compute. So sind Ihre Endpoints kosteneffizient, können aber dennoch skalieren, um Performance-Ziele zu erreichen.
Mit Databricks Model Serving können wir Workloads mit hohen QPS-Raten wie Personalisierung und Empfehlungen in Echtzeit bewältigen. Es bietet unseren Marken die erforderliche Scale und Geschwindigkeit, um unseren Millionen von Lesern maßgeschneiderte Content-Erlebnisse zu bieten. – Oscar Celma, SVP für Data Science und Produktanalytik bei Conde Nast
Die Optimierung des clientseitigen Codes stellt sicher, dass Anfragen schnell verarbeitet werden und Ihre Endpunkt-Recheninstanzen vollständig ausgelastet sind – was zu einem besseren QPS-Durchsatz, Kosteneinsparungen und geringerer Latenz führt.
Fassen Sie Anfragen in Batches zusammen, wenn Sie Databricks Model Serving Endpoints aufrufen
(Dieser Blogbeitrag wurde mit KI-gestützten Tools übersetzt.) Originalbeitrag
Produto
12. Juni 2024/11 min Lesezeit
IA
7. Januar 2025/8 min Lesezeit

