Sehen Sie genauso aus wie zuvor. Als Software program -Ingenieur im KI -Bereich struggle meine Arbeit ein Mischung aus Software program -Engineering, KI -Engineering, Produktinformation und Dosen von Nutzern Empathie.
Bei so viel los wollte ich einen Schritt zurücktreten und über das Gesamtbild nachdenken, und die Artwork der Fähigkeiten und mentalen Fashions, die Ingenieure benötigen, um vorne zu bleiben. Eine kürzlich gelesene Lesen von O’Reilly’s AI Engineering gab mir den Anstoß, mich auch tief in den Nachdenken über Evals eintauchen zu wollen – eine Kernkomponente in jedem KI -System.
Eines fiel auf: AI Engineering ist oft mehr Software program als AI.
Außerhalb von Forschungslabors wie OpenAI oder Anthropic trainieren die meisten von uns keine Modelle von Grund auf neu. In der wirklichen Arbeit geht es darum, Geschäftsprobleme mit den bereits vorhandenen Instruments zu lösen-Modellen genügend relevanten Kontext zu geben, APIs zu verwenden, Lag-Pipelines zu bauen, Software-Calling-alles zusätzlich zu den üblichen SWE-Bedenken wie Bereitstellung, Überwachung und Skalierung.
Mit anderen Worten, AI Engineering ersetzt Software program -Engineering nicht – es legt neue Komplexität darüber aus.
Dieses Stück ist, dass ich einige dieser Themen herausholte. Wenn einer von ihnen mitschwingt, würde ich gerne Ihre Gedanken hören – Sie können gerne nachkommen Hier!
Die drei Schichten eines AI -Anwendungsstapels
Stellen Sie sich eine KI -App als auf drei Ebenen basieren: 1) Anwendungsentwicklung 2) Modellentwicklung 3) Infrastruktur.
Die meisten Groups beginnen von oben. Mit leistungsstarken Modellen, die leicht vom Regal erhältlich sind, ist es oft sinnvoll, sich zunächst auf den Aufbau des Produkts zu konzentrieren und erst später in die Modellentwicklung oder -infrastruktur einzusteigen.
Wie O’Reilly es ausdrückt, „AI Engineering ist nur Software program -Engineering mit KI -Modellen, die in den Stapel geworfen werden.“
Warum Evals wichtig sind und warum sie hart sind
In der Software program ist einer der größten Kopfschmerzen für schnelllebige Groups Regressionen. Sie versenden eine neue Funktion und brechen dabei unwissentlich etwas anderes. Wochen später taucht ein Fehler in einer staubigen Ecke der Codebasis auf, und die Verfolgung von Rücken wird zum Albtraum.
Eine umfassende Testsuite hilft dabei, diese Regressionen zu fangen.
Die KI -Entwicklung steht vor einem ähnlichen Downside. Jede Änderung-egal ob es sich um schnelle Änderungen, Updates von Lag-Pipeline, Feinabstimmung oder Kontext-Engineering handelt-kann die Leistung in einem Bereich verbessern und gleichzeitig einen anderen abbauen.
In vielerlei Hinsicht bewertet die Bewertungen KI, welche Checks für Software program sind: Sie fangen Regressionen frühzeitig auf und geben den Ingenieuren das Vertrauen, sich schnell zu bewegen, ohne Dinge zu brechen.
Die Bewertung von KI ist jedoch nicht einfach. Erstens werden die intelligenteren Modelle die härtere Bewertung. Es ist leicht zu erkennen, ob eine Buchzusammenfassung schlecht ist, wenn es kauert ist, aber viel schwieriger, wenn die Zusammenfassung tatsächlich kohärent ist. o Wissen Sie, ob es tatsächlich die wichtigsten Punkte erfasst und nicht nur fließend oder sachlich korrekt klingt, Sie müssen das Buch möglicherweise selbst lesen.
Zweitens sind Aufgaben oft offen. Es gibt selten eine einzige „richtige“ Antwort und unmöglich, eine umfassende Liste der korrekten Ausgänge zu kuratieren.
Drittens werden Basis -Modelle als schwarze Boxen behandelt, in denen Particulars zu Modellarchitektur, Schulungsdaten und Schulungsprozess häufig geprüft oder sogar veröffentlicht werden. Diese Particulars zeigen viel über die Stärken und Schwächen eines Modells und ohne sie bewerten Menschen nur Modelle basierend auf der Beobachtung der Ausgaben.
Wie man über Evale nachdenkt
Ich magazine es, Evals in zwei breite Bereiche zu gruppieren: quantitativ und qualitativ.
Quantitative Evals haben klare, eindeutige Antworten. Wurde das Mathematikproblem richtig gelöst? Hat der Code ohne Fehler ausgeführt? Diese können häufig automatisch getestet werden, was sie skalierbar macht.
Qualitative Evals dagegen leben in den Grauzonen. Es geht um Interpretation und Urteilsvermögen – wie die Bewertung eines Aufsatzes, die Beurteilung des Tons eines Chatbots oder die Entscheidung, ob eine Zusammenfassung „richtig klingt“.
Die meisten Evals sind eine Mischung aus beiden. Die Bewertung einer generierten Web site bedeutet beispielsweise nicht nur zu testen, ob sie seine beabsichtigten Funktionen ausführen (quantitativ: Kann sich ein Benutzer anmelden, sich anmelden usw.), sondern auch zu beurteilen, ob sich die Benutzererfahrung intuitiv (qualitativ) anfühlt.
Funktionale Korrektheit
Das Herzstück der quantitativen Evale ist funktionale Korrektheit: Tut die Ausgabe des Modells tatsächlich das, was es tun soll?
Wenn Sie ein Modell zur Erstellung einer Web site bitten, ist die Kernfrage, ob die Web site ihre Anforderungen entspricht. Kann ein Benutzer wichtige Aktionen ausführen? Funktioniert es zuverlässig? Dies sieht sehr nach herkömmlichen Softwaretests aus, bei denen Sie ein Produkt gegen eine Reihe von Testfällen durchführen, um das Verhalten zu überprüfen. Oft kann dies automatisiert werden.
Ähnlichkeit mit Referenzdaten
Nicht alle Aufgaben haben so klare, prüfbare Ausgänge. Die Übersetzung ist ein gutes Beispiel: Es gibt keine einzige „korrekte“ englische Übersetzung für einen französischen Satz, aber Sie können Ausgänge vergleichen Referenzdaten.
Der Nachteil: Dies stützt sich stark von der Verfügbarkeit von Referenzdatensätzen, die teuer und zeitaufwändig zu erstellen sind. Daten erzeugte Daten werden als Goldstandard angesehen, aber zunehmend werden Referenzdaten von anderen AIs gestaltet.
Es gibt einige Möglichkeiten, Ähnlichkeit zu messen:
- Menschliches Urteil
- Exakte Übereinstimmung: Ob die generierte Antwort genau mit einer der Referenzantworten übereinstimmt. Diese erzeugen booleale Ergebnisse.
- Lexikalische Ähnlichkeit: Messen, wie ähnlich die Ausgänge aussehen (z. B. überlappen in Wörtern oder Phrasen).
- Semantische Ähnlichkeit: Messen, ob die Ausgaben dasselbe bedeuten, auch wenn der Wortlaut unterschiedlich ist. Dies beinhaltet normalerweise, dass Daten in Einbettung (numerische Vektoren) und sie verglichen werden. Einbettungen sind nicht nur für Textual content – Plattformen wie Pinterest verwenden sie für Bilder, Abfragen und sogar Benutzerprofile.
Die lexikalische Ähnlichkeit überprüft nur die Ähnlichkeit auf Oberflächenebene, während die semantische Ähnlichkeit tiefer in die Bedeutung geht.
KI als Richter
Einige Aufgaben sind quick unmöglich, mit Regeln oder Referenzdaten sauber zu bewerten. Bewertung des Tons eines Chatbots, der Beurteilung der Kohärenz einer Zusammenfassung oder der Kritik der Überzeugung der Anzeigenkopie, die alle in diese Kategorie fallen. Menschen können es tun, aber menschliche Evale skalieren nicht.
Hier erfahren Sie, wie Sie den Prozess strukturieren:
- Definieren Sie ein strukturiertes und messbares Bewertungskriterium. Seien Sie explizit über das, was Ihnen wichtig ist – Klarheit, Hilfsbereitschaft, sachliche Genauigkeit, Ton usw. Kriterien können eine Skala (1–5 Bewertung) oder binäre Überprüfungen (Move/Fail) verwenden.
- Die ursprüngliche Eingabe, die generierte Ausgabe und jeder unterstützende Kontext werden dem KI -Richter gegeben. Eine Punktzahl, ein Etikett oder sogar eine Erklärung für die Bewertung wird dann vom Richter zurückgegeben.
- Aggregieren Sie über viele Ausgänge. Wenn Sie diesen Prozess über große Datensätze hinweg ausführen, können Sie Muster aufdecken – beispielsweise zu bemerken, dass die Hilfsbereitschaft nach einem Modell -Replace um 10% gesunken ist.
Da dies automatisiert werden kann, ermöglicht es kontinuierliche BewertungKreditaufnahme aus CI/CD -Praktiken im Software program -Engineering. Evals können vor und nach Änderungen der Pipeline ausgeführt werden (von schnellen Änderungen bis hin zu Modell -Upgrades) oder zur laufenden Überwachung verwendet werden, um Drift und Regressionen zu fangen.
Natürlich sind KI -Richter nicht perfekt. So wie Sie der Meinung einer einzelnen Particular person nicht vollständig vertrauen würden, sollten Sie auch dem eines Modells nicht vollständig vertrauen. Mit sorgfältigem Design, mehreren Richtermodellen oder dem Ausführen vieler Ausgaben können sie jedoch bereitstellen Skalierbare Annäherungen des menschlichen Urteils.
Evalgetriebene Entwicklung
O’Reilly sprach über das Konzept von Bewertungsgetriebene Entwicklunginspiriert von der testgetriebenen Entwicklung im Software program-Engineering, ist etwas, das ich als geteilt hatte.
Die Idee ist einfach: Definieren Sie Ihre Evals, bevor Sie erstellen.
In AI Engineering bedeutet dies, zu entscheiden, wie „Erfolg“ aussieht und wie er gemessen wird.
Die Auswirkungen sind immer noch wichtiger – kein Hype. Die richtigen Evals stellen sicher, dass AI -Apps Wert auf eine Weise demonstrieren, die für Benutzer und das Unternehmen related ist.
Bei der Definition von Evalen finden Sie hier einige wichtige Überlegungen:
Domänenwissen
In vielen Bereichen gibt es öffentliche Benchmarks – Code -Debugging, Rechtswissen, Instrumentgebrauch -, aber sie sind oft generisch. Die bedeutendsten Evals kommen normalerweise vom Sitzen mit den Stakeholdern und definieren, was wirklich wichtig für das Geschäft ist, und überzusetzen Sie das dann in messbar Ergebnisse.
Die Richtigkeit ist nicht genug, wenn die Lösung unpraktisch ist. Beispielsweise kann ein Textual content-zu-SQL-Modell eine korrekte Abfrage generieren. Wenn es jedoch 10 Minuten dauert, oder große Ressourcen zu konsumieren, ist es im Maßstab nicht nützlich. Laufzeit und Speicherverbrauch sind auch wichtige Metriken.
Erzeugungsfähigkeit
Bei generativen Aufgaben-ob Textual content, Bild oder Audio-können Evals fließend, Kohärenz und aufgabenspezifische Metriken wie Relevanz umfassen.
Eine Zusammenfassung könnte sachlich genau sein, aber die wichtigsten Punkte verpassen – eine Bewertung sollte dies erfassen. Zunehmend können diese Eigenschaften selbst von einer anderen KI bewertet werden.
Sachliche Konsistenz
Ausgänge müssen gegen eine Quelle der Wahrheit überprüft werden. Dies kann auf zwei Arten passieren:
- Lokale Konsistenz
Dies bedeutet, die Ausgaben gegen einen bereitgestellten Kontext zu überprüfen. Dies ist besonders nützlich für bestimmte Bereiche, die für sich selbst einzigartig sind und einen begrenzten Umfang haben. Beispielsweise sollten extrahierte Erkenntnisse mit den Daten übereinstimmen. - Globale Konsistenz
Dies bedeutet, dass die Ausgaben gegen offene Wissensquellen überprüft werden, beispielsweise durch Überprüfung der Websuche oder einer Marktforschung usw. - Selbstverifizierung
Dies geschieht, wenn ein Modell mehrere Ausgänge generiert und misst, wie konsistent diese Antworten miteinander sind.
Sicherheit
Über das übliche Sicherheitskonzept, wie sie keine Obszönität und explizite Inhalte enthalten, gibt es tatsächlich viele Möglichkeiten, wie Sicherheit definiert werden kann. Beispielsweise sollten Chatbots keine sensiblen Kundendaten aufzeigen und in der Lage sein, sich vor schnellen Injektionsangriffen zu schützen.
Um zusammenzufassen
Wenn KI -Fähigkeiten wachsen, werden robuste Evals nur wichtiger. Sie sind die Leitplanken, die Ingenieuren schnell bewegen können, ohne die Zuverlässigkeit zu beeinträchtigen.
Ich habe gesehen, wie herausfordernd Zuverlässigkeit sein kann und wie kostspielige Regressionen sind. Sie schädigen den Ruf eines Unternehmens, frustrieren die Benutzer und schaffen schmerzhafte Entwicklererlebnisse, wobei Ingenieure immer wieder dieselben Fehler verfolgen.
Da die Grenzen zwischen technischen Rollen verschwinden, insbesondere in kleineren Groups, haben wir uns vor einer grundlegenden Veränderung der nachdenklichen Softwarequalität gegenüber. Die Notwendigkeit, die Zuverlässigkeit aufrechtzuerhalten und zu messen, erstreckt sich nun über regelbasierte Systeme, die von Natur aus wahrscheinlich wahrscheinlich und stochastisch sind.
