Prompt Engineering
Vollständiger Leitfaden zur synthetischen Datengenerierung mit LLM

By
Aayush Mittal Mittal
Große Sprachmodelle (LLMs) sind leistungsstarke Werkzeuge nicht nur für die Generierung von menschenähnlichem Text, sondern auch für die Erstellung von hochwertigen synthetischen Daten. Diese Fähigkeit verändert, wie wir die Entwicklung von künstlicher Intelligenz angehen, insbesondere in Szenarien, in denen reale Daten knapp, teuer oder sensibel sind. In diesem umfassenden Leitfaden werden wir die synthetische Datengenerierung mit LLMs erkunden, indem wir tief in ihre Methoden, Anwendungen und Best Practices eintauchen.
Einführung in die synthetische Datengenerierung mit LLMs
Synthetische Datengenerierung mit LLMs beinhaltet die Nutzung dieser fortschrittlichen KI-Modelle zur Erstellung künstlicher Datensätze, die reale Daten nachahmen. Dieser Ansatz bietet mehrere Vorteile:
- Kosteneffizienz: Die Generierung von synthetischen Daten ist oft billiger als die Erfassung und Annotation von realen Daten.
- Datenschutz: Synthetische Daten können erstellt werden, ohne sensible Informationen preiszugeben.
- Skalierbarkeit: LLMs können große Mengen an diversen Daten schnell generieren.
- Anpassungsfähigkeit: Daten können für spezifische Anwendungsfälle oder Szenarien angepasst werden.
Lassen Sie uns beginnen, den grundlegenden Prozess der synthetischen Datengenerierung mit LLMs zu verstehen:
from transformers import AutoTokenizer, AutoModelForCausalLM # Laden Sie ein vorge trainiertes LLM model_name = "gpt2-large" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) # Definieren Sie einen Prompt für die synthetische Datengenerierung prompt = "Generieren Sie eine Kundenbewertung für ein Smartphone:" # Generieren Sie synthetische Daten input_ids = tokenizer.encode(prompt, return_tensors="pt") output = model.generate(input_ids, max_length=100, num_return_sequences=1) # Dekodieren und Ausgeben des generierten Textes synthetische_bewertung = tokenizer.decode(output[0], skip_special_tokens=True) print(synthetische_bewertung)
Dieses einfache Beispiel zeigt, wie ein LLM verwendet werden kann, um synthetische Kundenbewertungen zu generieren. Die wahre Kraft der LLM-gesteuerten synthetischen Datengenerierung liegt jedoch in fortgeschritteneren Techniken und Anwendungen.
2. Fortgeschrittene Techniken für die synthetische Datengenerierung
2.1 Prompt-Engineering
Prompt-Engineering ist entscheidend für die Steuerung von LLMs, um hochwertige, relevante synthetische Daten zu generieren. Durch sorgfältiges Craften von Prompts können wir verschiedene Aspekte der generierten Daten steuern, wie Stil, Inhalt und Format.
Beispiel für einen komplexeren Prompt:
prompt = """
Generieren Sie eine detaillierte Kundenbewertung für ein Smartphone mit den folgenden Eigenschaften:
- Marke: {marke}
- Modell: {modell}
- Schlüsseleigenschaften: {eigenschaften}
- Bewertung: {bewertung}/5 Sterne
Die Bewertung sollte zwischen 50-100 Wörtern liegen und sowohl positive als auch negative Aspekte enthalten.
Hallo, ich habe Probleme mit meinem neuen Kopfhörer. Der rechte Ohrhörer funktioniert nicht.
Es ist der SoundMax Pro 3000.
Ja, ich habe das versucht, aber es half nicht.
Hi, ich habe gerade mein neues Smartwatch erhalten, aber es schaltet sich nicht ein.
"""
# Generieren Sie das Gespräch
input_ids = tokenizer.encode(few_shot_prompt, return_tensors="pt")
output = model.generate(input_ids, max_length=500, num_return_sequences=1)
synthetisches_gespräch = tokenizer.decode(output[0], skip_special_tokens=True)
print(synthetisches_gespräch)
Dieser Ansatz hilft dem LLM, die gewünschte Gesprächsstruktur und den Stil zu verstehen, was zu realistischeren synthetischen Kunden-Support-Interaktionen führt.
2.3 Bedingte Generierung
Bedingte Generierung ermöglicht es uns, bestimmte Attribute der generierten Daten zu steuern. Dies ist besonders nützlich, wenn wir diverse Datensätze mit bestimmten kontrollierten Eigenschaften erstellen müssen.
from transformers import GPT2LMHeadModel, GPT2Tokenizer
import torch
model = GPT2LMHeadModel.from_pretrained(“gpt2-medium”)
tokenizer = GPT2Tokenizer.from_pretrained(“gpt2-medium”)
def generate_conditional_text(prompt, condition, max_length=100):
input_ids = tokenizer.encode(prompt, return_tensors=”pt”)
attention_mask = torch.ones(input_ids.shape, dtype=torch.long, device=input_ids.device)
# Kodieren der Bedingung
condition_ids = tokenizer.encode(condition, add_special_tokens=False, return_tensors=”pt”)
# Verbinden der Bedingung mit input_ids
input_ids = torch.cat([condition_ids, input_ids], dim=-1)
attention_mask = torch.cat([torch.ones(condition_ids.shape, dtype=torch.long, device=condition_ids.device), attention_mask], dim=-1)
output = model.generate(input_ids, attention_mask=attention_mask, max_length=max_length, num_return_sequences=1, no_repeat_ngram_size=2, do_sample=True, top_k=50, top_p=0.95, temperature=0.7)
return tokenizer.decode(output[0], skip_special_tokens=True)
# Generieren Sie Produktbeschreibungen mit verschiedenen Bedingungen
conditions = [“Luxus”, “Preisgünstig”, “Umweltfreundlich”, “High-Tech”]
prompt = “Beschreiben Sie einen Rucksack:”
Ich habe die letzten fünf Jahre damit verbracht, mich in die faszinierende Welt des Machine Learning und Deep Learning zu vertiefen. Meine Leidenschaft und mein Fachwissen haben mich dazu geführt, an über 50 verschiedenen Software-Entwicklungsprojekten mitzuwirken, mit einem besonderen Fokus auf KI/ML. Meine anhaltende Neugier hat mich auch zum Natural Language Processing hingezogen, ein Feld, das ich weiter erforschen möchte.
You may like
-


Warum die meisten modernen Apps im Zeitalter von KI nutzlos sein werden
-


Von Prompt-Engineering zu Intent-Engineering: Die Evolution der menschlichen Kommunikation mit KI
-


Gemini 3.1 Pro erreicht Rekord-Argumentationsgewinne
-


Humaner Code aus 2020 schlug vibe-codierte Agenten in Agentic-Tests
-
Google enthüllt Gemini 3 Pro mit leistungsbrechender Leistung
-


Vorbereitung auf Werbung in Large Language Models