So führen Sie Batch-Inferenzen mit den 1-Klick-Modellen durch
Einführung
Die 1-Klick-Modelle von DigitalOcean, unterstützt von Hugging Face, erleichtern die Bereitstellung und Interaktion mit beliebten großen Sprachmodellen wie Mistral, Llama, Gemma, Qwen und mehr, alles auf den leistungsstärksten GPUs, die in der Cloud verfügbar sind. Mithilfe von NVIDIA H100 GPU Droplets bietet diese Lösung eine beschleunigte Rechenleistung für Deep-Learning-Aufgaben. Es eliminiert die überwältigende Komplexität der Infrastruktur und ermöglicht es Entwicklern aller Erfahrungsstufen – ob Anfänger oder Fortgeschrittene –, sich auf die Entwicklung von Anwendungen zu konzentrieren, ohne den Aufwand komplizierter Softwarekonfigurationen.
In diesem Artikel demonstrieren wir die Stapelverarbeitung mit dem 1-Klick-Modell. In unserem Tutorial wird das Llama 3.1 8B Instruct-Modell auf einer einzelnen GPU verwendet. Obwohl wir für dieses Beispiel einen kleineren Batch verwenden, kann er je nach Arbeitslast und verfügbaren Rechenressourcen problemlos für größere Batches skaliert werden. Die Flexibilität der 1-Klick-Modellbereitstellung von DigitalOcean ermöglicht Benutzern die einfache Verwaltung unterschiedlicher Datengrößen und eignet sich somit für Szenarien, die von kleinen Aufgaben bis hin zu großen Unternehmensanwendungen reichen.
Voraussetzungen
Stellen Sie Folgendes sicher, bevor Sie mit den 1-Klick-Modellen von DigitalOcean in die Batch-Inferenzierung eintauchen:
- DigitalOcean-Konto: Melden Sie sich für ein DigitalOcean-Konto an und richten Sie die Abrechnung ein.
- 1-Click-Modellbereitstellung: Lesen Sie den Blog, um zu erfahren, wie Sie mit dem 1-Click-Modell auf GPU-Droplets beginnen.
- Bearer-Token: Das Bearer-Token wurde von der Webkonsole des GPU-Droplets erhalten.
Was ist Batch-Inferenzierung?
Bei der Batch-Inferenz handelt es sich um einen Prozess, bei dem Batches oder mehrere Dateneingaben zusammen in einem einzigen Vorgang und nicht einzeln verarbeitet und analysiert werden. Anstatt jede Anfrage einzeln an das Modell zu senden, wird ein Stapel oder eine Gruppe von Anfragen auf einmal gesendet. Dieser Ansatz ist besonders nützlich, wenn Sie mit großen Datensätzen arbeiten oder große Aufgabenmengen bearbeiten.
Dieser Ansatz ist aus mehreren Gründen vorteilhaft, von denen einige im Folgenden aufgeführt sind.
- Schnellere Verarbeitung:
Durch die gemeinsame Verarbeitung mehrerer Eingaben reduziert die Batch-Inferenzierung die Zeit, die für die Analyse großer Datenmengen benötigt wird. - Effiziente Ressourcennutzung:
Das Versenden von Anfragen in großen Mengen reduziert den Aufwand für die Bearbeitung mehrerer einzelner Anfragen und optimiert die Nutzung von Rechenressourcen wie GPUs. - Kostengünstig:
Batch-Inferenz kann die Betriebskosten senken, indem die Anzahl der an den Inferenzendpunkt gesendeten Anforderungen minimiert wird, insbesondere wenn die Abrechnung auf der Grundlage der Anzahl der API-Aufrufe erfolgt. - Skalierbar für Big Data:
Beim Umgang mit großen Datensätzen ermöglicht die Batch-Inferenzierung eine Verarbeitung im großen Maßstab, ohne das System zu überlasten. - Konsistente Ergebnisse:
Die stapelweise Verarbeitung von Eingaben gewährleistet eine einheitliche Modellleistung und verringert die Variabilität der Ergebnisse.
Einrichten der 1-Klick-Modelle von DigitalOcean
Wir haben einen ausführlichen Artikel über den Einstieg in das 1-Klick-Modell und die Plattform von DigitalOcean erstellt. Schauen Sie sich gerne den Link an, um mehr zu erfahren.
So führen Sie Batch-Inferenzen durch und analysieren Stimmungen mithilfe der 1-Klick-Modelle von DigitalOcean
Die Analyse von Kundenkommentaren ist für Unternehmen zu einem wichtigen Instrument geworden, um die Markenwahrnehmung zu überwachen, die Kundenzufriedenheit mit dem Produkt zu verstehen und Trends vorherzusagen. Mit den 1-Klick-Modellen von DigitalOcean können Sie eine Stimmungsanalyse im großen Maßstab effizient durchführen. Im folgenden Beispiel analysieren wir einen Stapel von fünf Kommentaren.
Lassen Sie uns ein Batch-Inferenzbeispiel anhand eines Anwendungsfalls einer Stimmungsanalyse durchgehen.
Schritt 1: Abhängigkeiten installieren
pip install --upgrade --quiet huggingface_hub
Schritt 2: Initialisieren Sie den Inference Client
import os
from huggingface_hub import InferenceClientInitialize the client with your deployed endpoint and bearer token
client = InferenceClient(base_url="http://localhost:8080", api_key=os.getenv("BEARER_TOKEN"))
Schritt 3: Batch-Inputs vorbereiten
# Create a list of inputs
batch_inputs = [
{"role": "user", "content": "I love using this product. It's amazing!"},
{"role": "user", "content": "The service was terrible and I'm very disappointed."},
{"role": "user", "content": "It's okay, not great but not bad either."},
{"role": "user", "content": "Absolutely fantastic experience, I highly recommend it!"},
{"role": "user", "content": "I'm not sure if I like it or not."},
]
Schritt 4: Batch-Inferenzierung durchführen
# Iterate through the batch and send requests
batch_responses = []
for input_message in batch_inputs:Send each input to the deployed model
response = client.chat.completions.create(
model="meta-llama/Meta-Llama-3.1-8B-Instruct",
messages=[input_message],
temperature=0.7,
top_p = 0.95,
max_tokens = 128,)Extract the sentiment result from the response and append the result to the batch_responses list
batch_responses.append(response['choices'][0]['message']['content'])
Schritt 5: Drucken Sie die Ergebnisse aus
# Print the results for each input
for idx, (input_text, sentiment) in enumerate(zip(batch_inputs, batch_responses), start=1):
print(f"Input {idx}: {input_text['content']}")
print(f"Sentiment: {sentiment}")
print("-" * 50)
So funktioniert es:
- Batch-Eingaben: Definieren Sie eine Liste von Eingaben, die jeweils einen Satz enthalten, der auf die Stimmung hin analysiert werden soll.
- Durch Eingaben iterieren: Senden Sie jede Eingabe mithilfe des InferenceClient als Anfrage an das bereitgestellte Modell.
Temperatur und Top-p:
- Stellen Sie die Temperatur auf 0,7 ein, um deterministische Ergebnisse zu erzielen.
- Verwenden Sie top_p=0,95, um zufällige Stichproben zu vermeiden.
- Ergebnisse extrahieren: Sammeln Sie die Stimmungsvorhersagen aus den Antworten und speichern Sie sie.
- Ergebnisse anzeigen: Drucken Sie zur besseren Übersichtlichkeit den Originaltext neben der Stimmungsbeschriftung aus
Wichtige Punkte
- Ersetzen Sie
"YOUR_BEARER_TOKEN"
durch den tatsächlichen Token, den Sie von Ihrem DigitalOcean Droplet erhalten haben. - Passen Sie die Chargengrößen und andere Parameter wie Temperatur und Top-p an.
Durchführen von Batch-Inferenzen: Ein Beispiel für ein Frage-Antwort-System
Um Batch-Inferenzen mit den 1-Klick-Modellen von DigitalOcean durchzuführen, können Sie mehrere Fragen in einer einzigen Anfrage einreichen. Hier ist ein weiteres Beispiel:
# Define a batch of inputs
batch_inputs = [
{"role": "user", "content": "What is Deep Learning?"},
{"role": "user", "content": "Explain the difference between AI and Machine Learning."},
{"role": "user", "content": "What are neural networks used for?"},
]
for input_message in batch_inputs:
response = client.chat.completions.create(
model="meta-llama/Meta-Llama-3.1-8B-Instruct",
messages=[input_message],
temperature=0.7,
top_p = 0.95,
max_tokens = 128,)
batch_responses.append(response['choices'][0]['message']['content'])
for idx, output in enumerate(batch_responses, start=1):
print(f"Response {idx}: {output}")
Erläuterung:
- Der Eingabeparameter ist eine Liste von Zeichenfolgen, die es Ihnen ermöglicht, mehrere Texte in einem einzigen API-Aufruf zu senden.
- Das Modell verarbeitet alle Eingaben auf einmal und gibt die Ergebnisse als Liste zurück.
- Sie können Parameter wie max_length und Temperatur basierend auf den Anforderungen Ihres Modells anpassen.
Skalierung der Batch-Inferenz mit DigitalOcean
Die Infrastruktur von DigitalOcean ist auf Skalierbarkeit ausgelegt:
- Hochleistungs-GPU-Droplets: Nutzen Sie NVIDIA H100-GPUs für schnelle und effiziente Inferenzen.
- Autoskalierung mit Kubernetes: Skalieren Sie Ihren Droplet-Cluster automatisch, um Mikroausbrüche und Verkehrsspitzen zu bewältigen.
- Load Balancer: Verteilen Sie den Datenverkehr auf mehrere Droplets, um eine konsistente Leistung zu erzielen.
Anwendungen aus der Praxis
Neben Stimmungsanalysen oder Empfehlungssystemen ist Batch-Inferenz eine entscheidende Funktion für Geschäftsanwendungen, die große Datenmengen verarbeiten. Dadurch wird der Prozess schneller, effizienter und kostengünstiger.
- Marketingkampagnen: Überwachen Sie die Benutzerstimmung während Produkteinführungen. Unternehmen benötigen häufig die Analyse der Kundenstimmung aus Tausenden von Social-Media-Beiträgen, Tweets und Bewertungen. Die Stapelverarbeitung kann dabei helfen, diese Daten auf einmal zu verarbeiten und Trends zu erkennen, etwa ob die Bewertungen positiv oder negativ zur Produkteinführung sind oder ob die Kunden über ein bestimmtes Serviceproblem sprechen.
- Kundensupport: Unternehmen erhalten große Mengen an Feedback über Umfragen oder Bewertungen. Durch Batch-Inferenzierung kann dieses Feedback in vordefinierte Kategorien (z. B. „positiv“, „negativ“ und „neutral“) klassifiziert werden, wodurch der manuelle Aufwand für die Durchsicht jedes einzelnen Feedbacks reduziert wird.
- Inhaltsgenerierung: Die gleichzeitige Generierung von Antworten auf mehrere Fragen ist in vielen Bildungs- und Forschungseinrichtungen ein häufiger Anwendungsfall. Beispielsweise möchte ein Unternehmen möglicherweise Antworten auf häufig gestellte Fragen automatisieren, oder ein Lehrer benötigt möglicherweise Antworten auf Fragen mehrerer Schüler.
- Inhaltsmoderation auf Plattformen: Online-Plattformen mit benutzergenerierten Inhalten müssen große Mengen an Text, Bildern oder Videos auf unangemessenes Material filtern und moderieren. Die Batch-Inferenzierung ermöglicht die automatische Kennzeichnung von Inhaltsverstößen.
Abschluss
Die Stapelinferenz mit den 1-Klick-Modellen von DigitalOcean ist eine leistungsstarke Möglichkeit, mehrere Eingaben effizient zu verarbeiten. Mit den 1-Klick-Modellen von DigitalOcean können Sie schnell Batch-Inferenzen für die Stimmungsanalyse implementieren und so Echtzeit-Einblicke in Social-Media-Trends ermöglichen. Diese Lösung vereinfacht nicht nur die Bereitstellung, sondern sorgt auch für optimierte Leistung und Skalierbarkeit.
Referenzen
- Erste Schritte mit 1-Klick-Modellen auf GPU-Droplets – Eine Anleitung zu Llama 3.1 mit Hugging Face
- 1-Klick-Modelle von Hugging Face auf DigitalOcean
- Verwandeln Sie Ihre 1-Klick-Modell-GPU-Droplets in einen persönlichen Assistenten
- UMARMUNGEN auf DigitalOcean