- DSPy (Declarative Self-improving Python) ist ein Framework, das dafür entwickelt wurde, Sprachmodelle (LMs) per Programmierung zu steuern
- Damit lassen sich modulare KI-Systeme schnell aufbauen – von einfachen Klassifikatoren über komplexe RAG-Pipelines bis hin zu Agenten-Loop-Systemen – und es bietet außerdem Algorithmen zur Optimierung von Prompts und Gewichten
- Statt fragiler Prompts schreibt man kombinierbaren Python-Code, um modulare KI-Systeme schnell zu erstellen und LMs darauf zu trainieren, hochwertige Ausgaben zu erzeugen
- Mit Module wird KI-Verhalten als Code statt als String beschrieben
- Um zuverlässige KI-Systeme zu bauen, muss man schnell iterieren können
- Die Pflege von Prompts ist jedoch schwierig, weil bei jeder Änderung von LM, Metrik oder Pipeline Strings oder Daten angepasst werden müssen
- DSPy wurde entwickelt, um die Definition von LM-Systemen von komplexen Entscheidungen über ein bestimmtes LM oder eine bestimmte Prompting-Strategie zu entkoppeln
- Der Programmieransatz von DSPy
- DSPy verlagert den Fokus von der Anpassung einzelner Prompt-Strings hin zu Programmierung mit strukturierten, deklarativen Natural-Language-Modulen
- Für alle KI-Komponenten eines Systems werden Ein-/Ausgabeverhalten als Signaturen festgelegt und per Auswahl von Modulen Strategien für LM-Aufrufe zugewiesen
- DSPy erweitert Signaturen zu Prompts und parst typisierte Ausgaben, sodass sich leicht nutzbare, portable und optimierbare KI-Systeme schreiben lassen
- Der Optimizer passt Prompts und Gewichte von KI-Modulen an
- DSPy bietet Werkzeuge, die High-Level-Code mit natürlichsprachlichen Annotationen in Low-Level-Operationen, Prompts oder Gewichts-Updates kompilieren
- Dadurch lassen sich LMs an die Struktur und die Metriken des Programms anpassen
- Wenn Code oder Metriken geändert werden, kann einfach erneut passend kompiliert werden
- Der Optimierungsprozess in DSPy
- Wenn einige Dutzend oder einige Hundert repräsentative Eingaben für die Aufgabe sowie eine Metrik zur Messung der Qualität der Systemausgaben vorhanden sind, kann der DSPy Optimizer verwendet werden
dspy.BootstrapRS synthetisiert gute Few-Shot-Beispiele für alle Module
dspy.MIPROv2 schlägt bessere natürlichsprachliche Anweisungen für alle Prompts vor und durchsucht den Raum intelligent
dspy.BootstrapFinetune erstellt Datensätze für Module und nutzt sie, um die LM-Gewichte des Systems feinzujustieren
- Das DSPy-Ökosystem treibt Open-Source-KI-Forschung voran
- Das modulare Paradigma von DSPy bietet – verglichen mit großen Sprachmodellen selbst – mehr Forschenden die Möglichkeit, die zusammengesetzte Architektur von LM-Programmen, Inference-Time-Strategien und Optimierungswerkzeuge dezentral weiterzuentwickeln
- Das gibt DSPy-Nutzern mehr Kontrolle, hilft ihnen, schneller zu iterieren, und ermöglicht es, Programme mit aktuellen Optimierungswerkzeugen oder Modulen so weiterzuentwickeln, dass sie mit der Zeit besser werden
- Die DSPy-Forschung begann im Februar 2022 bei Stanford NLP und basiert auf Erkenntnissen aus der frühen Entwicklung zusammengesetzter LM-Systeme wie ColBERT-QA, Baleen und Hindsight
- Die erste Veröffentlichung erfolgte im Dezember 2022 als DSP, im Oktober 2023 entwickelte es sich zu DSPy weiter; dank 250 Beitragenden konnten Zehntausende lernen, wie modulare LM-Programme aufgebaut und optimiert werden
- Die DSPy-Community erzielte zahlreiche Forschungsergebnisse zu Optimierungswerkzeugen wie MIPROv2, BetterTogether und LeReT sowie zu Programmarchitekturen wie STORM, IReRa und DSPy Assertions
- Es gibt außerdem viele erfolgreiche Anwendungen auf neue Problemfelder, etwa PAPILLON, PATH, WangLab@MEDIQA, Prompting-Fallstudien der UMD und das Red-Teaming-Programm von Haize
- Darüber hinaus wird die Praxistauglichkeit von DSPy durch viele Open-Source-Projekte, Produktionsanwendungen und weitere Use Cases belegt
Noch keine Kommentare.