Blähen KI-Workloads Ihre Cloud-Rechnung in die Höhe?

Auf Geschwindigkeit ausgelegt: ~ 10 ms Latenz, auch unter Last
Unglaublich schnelle Methode zum Erstellen, Verfolgen und Bereitstellen Ihrer Modelle!
- Verarbeitet mehr als 350 RPS auf nur 1 vCPU — kein Tuning erforderlich
- Produktionsbereit mit vollem Unternehmenssupport
Wir sind fest davon überzeugt, dass jedes Unternehmen in den kommenden Jahren ein Unternehmen für maschinelles Lernen (ML) sein wird. Wenn Unternehmen maschinelles Lernen einsetzen, besteht eine der größten Herausforderungen darin, die damit verbundenen Cloud-Kosten zu verwalten. Die Ausführung von KI/ML-Workloads in der Cloud kann schnell teuer werden, aber mit sorgfältiger Planung und Optimierung ist es möglich, diese Kosten erheblich zu senken.
In diesem Blogbeitrag werden wir verschiedene Strategien untersuchen, mit denen Sie Ihre KI-Infrastruktur optimieren und letztendlich Ihre Cloud-Ausgaben senken können, ohne die Leistung oder Skalierbarkeit zu beeinträchtigen. Im Folgenden sind die wichtigsten Kategorien aufgeführt, die es zu berücksichtigen gilt:
- Kennzahl und Attribut
- Reduzieren Sie die Rechenkosten durch den Einsatz von Spot-/Reserved Instances
- Wählen Sie die richtige Bereitstellungsarchitektur
- Implementieren Sie Autoscaling
- Datenverarbeitung und Datenzolokation
- Wechseln Sie zu gehosteten Notebooks mit automatischem Stopping, anstatt jedem Entwickler eine eigene VM bereitzustellen
- Verwenden Sie Checkpointing, wenn möglich, um in lang andauernden Trainingsjobs wieder aufgenommen zu werden.
- Effiziente GPU-Nutzung
Kennzahl und Attribut
Nachdem wir mit einer ganzen Reihe von Organisationen zusammengearbeitet haben und aus eigener Erfahrung, ist ein großer Teil der Kosten nur auf menschliche Fehler zurückzuführen, weil vergessen wurde, virtuelle Maschinen und Dienste auszuschalten, oder ein falsches Architekturdesign, was weitere Kosten verursacht. Ein vollständiger Überblick darüber, wem was gehört und welche Kosten auf Team-/Projektbasis anfallen, hilft, Kostenabflüsse schneller zu erkennen und ermöglicht es jedem, für seine eigenen Projekte verantwortlich zu sein.
Was man nicht misst, kann man nicht verbessern

Der allererste Schritt zur Optimierung des ML-Workloads besteht darin, mit der Messung und Berücksichtigung der Attribution zu beginnen. Im Folgenden sind einige der Initiativen aufgeführt, die Sie ergreifen können:
- Verfolgen Sie die Kosten auf jeder Microservice-, Projekt- oder Teamebene.
- Bieten Sie allen Entwicklern Kostentransparenz und stellen Sie sicher, dass sie in die Lage versetzt werden, die Kosten zu verstehen und zu senken.
- Richten Sie Benachrichtigungen zu Cloud-Kosten ein.
- Verwenden Sie Tools wie Infracost.io, um die Kosten der Infrastruktur vor der Bereitstellung zu messen, wenn Sie Terraform verwenden.
Reduzieren Sie die Rechenkosten
ML-Workloads verursachen enorme Rechenkosten, hauptsächlich weil sie hohe Rechenressourcen benötigen — entweder hohe CPU-Anforderungen oder GPUs, die sich beide als sehr teuer herausstellen. Im Folgenden finden Sie einige der Maßnahmen, die Sie ergreifen können, um die Rechenkosten zu senken:
- Modelldestillation und Rebschnitt um den Ressourcenbedarf Ihres Modells zu reduzieren
- Reserved Instances und Spot-Instances verwenden um die Kosten zu senken. Laut Amazon können Sie mit EC2 Spot-Instances potenziell bis zu 90% dessen sparen, was Sie sonst für On-Demand-Instances ausgeben würden.
- Wählen Sie die richtige Ressourcenkonfiguration: Wir haben oft festgestellt, dass ML-Teams die Ressourcen für ML-Dienstleistungen und Schulungsjobs zu hoch bereitstellen. Dies kann entweder bedeuten, dass Sie den falschen Instanztyp wählen, wenn Sie mit virtuellen Maschinen arbeiten, oder dass Sie die falschen CPU- und Speicherressourcenanforderungen wählen. Es ist wichtig, einen Überblick über die angeforderte und verwendete CPU/den verwendeten Arbeitsspeicher zu haben, um die Werte auf optimale Kosten abstimmen zu können.

👉
Spot-Instanz: Mit einer Spot-Instance können Sie zu einem stark reduzierten Preis auf ungenutzte EC2-Kapazitäten zugreifen und diese nutzen.
Wenn Sie eine Spot-Instance starten, geben Sie einen Höchstpreis an, den Sie pro Stunde zu zahlen bereit sind. Wenn der Spot-Preis für den Instance-Typ und die Availability Zone, die Sie anfordern, unter Ihrem Höchstpreis liegt, wird Ihre Instance gestartet. Wenn der Spot-Preis für diesen Instance-Typ und die Availability Zone jedoch über Ihren Höchstpreis steigt, kann Ihre Instance mit einer Frist von zwei Minuten gekündigt werden.
👉
Reservierte Instanz: Darin verpflichten Sie sich, eine bestimmte Menge an EC2-Kapazität für einen bestimmten Zeitraum zu nutzen. Im Gegenzug erhalten Sie einen erheblichen Rabatt auf den On-Demand-Preis für diese Kapazität.
Wir haben eine Vergleichsstudie in den USA Ost (Nord-Virginia) durchgeführt und festgestellt, dass:
- Spot-Instances waren verfügbar für 44%-62% günstiger Tarif.
- Reserved Instances für ein Jahr sind verfügbar für 14% - 37% günstiger Preis.

Wählen Sie die optimale Bereitstellungsarchitektur
Verschiedene Anwendungsfälle in ML erfordern unterschiedliche Architekturen, und die Wahl des falschen Designs kann zu massiven Kostenunterschieden führen. Einige der häufigsten Anwendungsfälle und Fehler, die wir gesehen haben, sind:
- Echtzeitinferenz: In diesem Fall liegt die Latenz der Modellinferenz unter 1—2 Sekunden (oft in der Größenordnung von Millisekunden) und das Verkehrsvolumen ist hoch. Das Modell sollte wie folgt bereitgestellt werden Autoscaling-API in Echtzeit und wir haben normalerweise gefunden Anforderungen/Sekunde, um eine bessere Metrik zu sein für Autoscaling als CPU oder Speicher in vielen ML-Anwendungsfällen. Wenn der Das Verkehrsaufkommen ist überlastet (etwa 2-3 Stunden am Tag) und das Modell ist klein, serverlos bereitgestellt (AWS Lambda) stellt sich als kostengünstigere Art der Bereitstellung heraus.
- Asynchrone Inferenz: In diesem Fall kann die Verarbeitungslogik einige Sekunden in Anspruch nehmen, und für eine bessere Zuverlässigkeit muss eine Warteschlange bereitgestellt werden. Andernfalls führt dies zu Ausfällen und Verlusten bei den Geschäftsergebnissen. Für Autoscaling, Warteschlangenlänge ist eine gute Metrik in diesen Anwendungsfällen.
- Mehrere kleine Modelle mit hohem Verkehrsaufkommen: Dies ist ein häufiger Anwendungsfall in vielen Unternehmen, in denen die Modelle kundenspezifisch sind. In diesem Fall gibt es eine große Anzahl von Modellen, und jedes von ihnen erhält eine geringe Menge an Traffic und die Latenzerwartungen sind recht niedrig. In diesem Fall hostet ein Container mehrere Modelle, und die Modelle werden je nach Bedarf dynamisch im Speicher geladen und entladen. Hier gibt es Herausforderungen, wenn es darum geht, welche Modelle bereits in welche Pods geladen sind und die Anfragen entsprechend weitergeleitet werden müssen.
- Ressourcenintensive, seltene Verarbeitungs-/Cron-Jobs: Dies kann der Anwendungsfall sein, wenn Modelle auf der Grundlage einiger Benutzeraktionen dynamisch trainiert werden. In diesem Fall funktioniert die asynchrone Inferenz möglicherweise nicht, da der Verarbeitungsauftrag mehrere Minuten dauern kann. In diesem Fall sollte die Verarbeitung als Jobs an einen Workflow-Orchestrator gesendet werden, und die Echtzeitaktualisierungen des Jobs sollten in einer Benachrichtigungswarteschlange aktualisiert werden.
Oft kann die Modellierung eines der Anwendungsfälle in einer anderen Architektur zu einem Verlust der Zuverlässigkeit oder zu zusätzlichen Latenzen oder hohen Cloud-Rechnungen führen.
Implementieren Sie Autoscaling
Die Leute gehen davon aus, dass Autoscaling nur dann nützlich ist, wenn ein hohes Verkehrsaufkommen herrscht und Maschinen je nach eingehendem Verkehr hoch- oder herunterskaliert werden müssen. Wir wollen das Konzept des Autoscalings jedoch auch auf Entwicklungsumgebungen ausweiten, um Kosten zu sparen. Einige Bereiche, in denen Autoscaling zu drastischen Kosteneinsparungen beitragen kann, sind:
- Skalieren Sie Ihre Rechenanforderungen automatisch je nach Bedarf: Nutzen Sie die Funktionen zur automatischen Skalierung, um die Größe Ihrer Infrastruktur dynamisch an die Workload-Anforderungen anzupassen. Durch automatisches Hoch- oder Herunterskalieren können Sie die Ressourcennutzung optimieren und die Kosten in Zeiten geringer Aktivität senken. Identifizieren Sie geeignete Schwellenwerte und Auslöser für die Skalierung auf der Grundlage Ihrer Workload-Muster, um eine optimale Ressourcenzuweisung sicherzustellen.
- Bei Nichtgebrauch Infrarot auf Null herunterskalieren (z. B. Entwicklungsinstanzen bei Nacht): Ein Teil der Infrastruktur in einer Organisation wird nicht benötigt, wenn es keine Benutzer gibt. Die Implementierung eines Systems zur Skalierung der Recheninfrastruktur auf Null, wenn sie nicht benötigt wird, kann für ein Unternehmen zu erheblichen Einsparungen führen.
- Beantragen Sie zum Beispiel eine Reservierung bei Ihrem Cloud-Anbieter: Wenn Sie Reserved Instances bei Ihrem Cloud-Anbieter beantragen, erhalten Sie gute Rabatte, wenn Sie einen besser vorhersehbaren Rechenbedarf haben.
- Nutzung von Spot-Instances für statusfreie Workloads erzwingen: Nutzen Sie Spot-Instances (AWS) oder präemptive VMs (Google Cloud) für fehlertolerante ML-Workloads. Diese Instances sind deutlich günstiger als On-Demand-Instances, sodass Sie Kosten sparen können, indem Sie Angebote für ungenutzte Kapazitäten abgeben. Beachten Sie jedoch das Potenzial, beispielsweise eine Kündigung, und gestalten Sie Ihre Infrastruktur so, dass Unterbrechungen problemlos bewältigt werden können. Um die unterschiedlichen Preise für On-Demand- und Spot-Instances aufzuzeigen, vergleichen wir die monatlichen Preise für T4-GPUs in AWS und Azure.
g4dn.xlarge: 383$ (auf Abruf) gegenüber 115$ (Spot)
NC4as T4 v3: 383$ (auf Abruf) gegenüber 49$ (Spot)
Datenverarbeitung und Datenzolokation
Es ist wichtig, die Daten zu lokalisieren und zu berechnen, damit uns nicht viele Eingangs-/Ausgangskosten entstehen. Normalerweise beinhalten Trainingsprozesse das Herunterladen der Daten auf die Maschinen, auf denen das Modell trainiert wird. Hier sind einige Dinge zu beachten, um unerwartete Kosten zu vermeiden:
- Teilen Sie Daten mit mehreren Datenwissenschaftlern: Es ist wichtig, eine einzige Kopie der eingegebenen Trainingsdaten aufzubewahren, die von verschiedenen Datenwissenschaftlern verwendet werden kann, anstatt eine Kopie für jeden Datenwissenschaftler zu erstellen. Dies kann erreicht werden, indem ein schreibgeschütztes Volume mit den Daten auf allen Trainingsgeräten installiert wird.
- Löschen Sie unbenutzte Volumes: Oft vergessen wir, die Volumes zu löschen, die wir möglicherweise erstellt haben, was dazu führt, dass die herumliegenden Volumes Kosten verursachen.
Notebooks werden aufgrund von Inaktivität automatisch heruntergefahren
Oft starten Data Scientists eine VM, richten dort Jupyter Notebook ein oder verwenden es über SSH in VSCode. Dieser Ansatz funktioniert zwar, führt jedoch häufig dazu, dass Entwickler vergessen, die VMs herunterzufahren, wenn sie mit der Arbeit fertig sind. Dies führt zu einer erheblichen Kostenreduzierung. Es lohnt sich, in gehostete Notebooks mit automatischem Shutdown zu investieren, sobald das DS-Team auf mehr als 5 Mitglieder angewachsen ist.
Effiziente GPU-Nutzung
GPUs werden in ML häufig verwendet, in sehr wenigen Fällen werden GPUs jedoch effizient eingesetzt. Dieser Artikel wirft ein hervorragendes Licht darauf, wie GPUs heute hauptsächlich verwendet werden und welche Ineffizienzen es gibt. Die gemeinsame Nutzung der GPU zwischen Workloads und effiziente Batching-Techniken sind unerlässlich, um die GPU effizient zu nutzen.
Wie kann TrueFoundry zur Kostensenkung beitragen?
TrueFoundry hat allen Kunden geholfen, die Infrastrukturkosten um mindestens 40% einzusparen.
Wir verwenden Kubernetes
Kubernetes hilft, die Kosten zu senken, indem Workloads effizient zwischen den Knoten aufgeteilt werden und sichergestellt wird, dass der Cluster effektiv genutzt wird. Dies ist ein großartiger Artikel, der mehr Aufschluss darüber gibt, wie Kubernetes hilft, Kosten zu sparen
Sparen Sie mit zeitbasierter Autoskalierung Ihre Entwicklungskosten um 60%
TrueFoundry macht es wirklich einfach, Ihre Entwicklungsinstanzen mithilfe der zeitbasierten Autoscaling-Funktion herunterzufahren. Entwickler arbeiten meistens etwa 40 Stunden pro Woche, wohingegen Maschinen laufen fast 128 Stunden pro Woche. Wenn wir die Maschinen effektiv abschalten würden, könnten wir rund 60% der Kosten sparen.

Notebooks werden aufgrund von Inaktivität automatisch heruntergefahren
Truefoundry ermöglicht es Datenwissenschaftlern, auf jedem Notebook einen Timeout-Zeitraum für Inaktivität zu konfigurieren, nach dessen Ablauf das Notebook automatisch ausgeschaltet wird.

Dies hilft, eine Menge Kosten zu sparen, insbesondere wenn Notebooks auf GPUs laufen.
Einfach zu verwendende Spot-Instances
Truefoundry macht es Entwicklern wirklich einfach, Spot-/On-Demand-Instances zu verwenden. Entwickler und Datenwissenschaftler kennen ihre Anwendungen am besten. Deshalb überlassen wir es ihnen, die beste Wahl für ihre Anwendungen zu treffen.

Es zeigt Ihnen auch die Kostenkompromisse zwischen Spot- und On-Demand-Instance, damit Sie die richtige Wahl für Ihren Anwendungsfall treffen können.

Ressourcenquoten für Teams/Entwickler
Mit Truefoundry können Sie CPU-, Speicher- und GPU-Kontingente für verschiedene Teams und Entwickler festlegen, sodass Führungskräfte ein Gefühl für die Kostenverteilung zwischen den Teams haben und sich auch vor Fehlern von Entwicklern schützen können, indem sie nicht zulassen, dass sie die zugewiesenen Grenzwerte überschreiten.

Einblicke in die Kostenoptimierung
Truefoundry zeigt Ihnen automatisch die empfohlenen CPU- und Speicherressourcen für Ihren Service an, indem es den Verbrauch des Dienstes in den letzten Tagen analysiert. Derzeit werden Ihnen die empfohlenen CPU- und Speicheranforderungen und Grenzwerte empfohlen. Wir planen jedoch auch, Ihnen in Zukunft automatisch die Autoscaling-Strategie und die richtige Architektur zu empfehlen.

Nehmen Sie an der Bewertung teil
Möchten Sie beurteilen, wie Sie die Kosten für KI-Workloads optimieren können, haben wir eine leicht durchzuführende 5-minütige Bewertung erstellt.
Wir versprechen, den personalisierten Bericht mit Ihnen zu teilen.
TrueFoundry AI Gateway bietet eine Latenz von ~3—4 ms, verarbeitet mehr als 350 RPS auf einer vCPU, skaliert problemlos horizontal und ist produktionsbereit, während LiteLM unter einer hohen Latenz leidet, mit moderaten RPS zu kämpfen hat, keine integrierte Skalierung hat und sich am besten für leichte Workloads oder Prototyp-Workloads eignet.
Der schnellste Weg, deine KI zu entwickeln, zu steuern und zu skalieren














.png)




.png)






.webp)

.webp)



