Reichen Ja-Nein, Auswahl und Stufe als Sprache?
Noul, Choice und Score sind eine Sprache für Code. Der Text nimmt eine Spesenabrechnung, um zu zeigen, wie sich die drei Fragen trennen, und wann die Sprache nicht reicht.
Mitautor: folkbench.com (Folkbench ist eine überprüfbare Bewertungs- und Auswahlplattform für KI-APIs, Modelldienste und verwandte Sites. Sie nutzt veröffentlichte Angaben zu Diensten, Preisen, Verfügbarkeit, Latenz und Evidenzfenstern, damit Nutzer Wege vergleichen und einen davon wählen können.)
Zehn Texte in dieser Reihe:
- JEV - Ein Gelenk braucht kein Gehirn
- JEV - Warum ein Jev, das nicht chatten kann, zu einem Agent passt
- JEV - Wie weit „kann nicht halluzinieren“ wirklich reicht
- JEV - Reichen Ja-Nein, Auswahl und Stufe als Sprache?
- JEV - Ein Labor könnte das bauen. Warum es das vielleicht trotzdem nicht tut.
- JEV - Die zwei Demos, die ich laufen ließ
- JEV - Menschen treten aus der Mitte der Schleife an den Rand
- JEV - Jenseits dieser Linie kann ich nicht mehr sagen, wer klüger ist
- JEV - Manche Fragen gehören nicht zu ihm
- JEV - Ein reduziertes Modell, eine Suite und eines, das nicht spricht
Ob diese Sprache reicht, hängt davon ab, was Sie sie sagen lassen wollen. Drei geschlossene Fragen kaufen Geschwindigkeit, und sie kaufen Zusammensetzbarkeit. Der Preis ist, dass alles, was entfaltet werden muss, von ihr nicht gesagt werden kann. Das ist eine Sprache für Code. Sie ist nicht dafür da, dass ein Mensch sie liest.
Die Dokumentation und die Eval-Seite teilen es auf dieselbe Weise: Noul, Choice und Score. Auf der Seite gibt es keine vierte Art.
Die drei Arten in der Dokumentation
Noul fragt nur Ja oder Nein. Es gibt eine Wahrscheinlichkeit zurück. In der Dokumentation läuft diese Zahl von 0 bis 1. Nahe bei 1 ist es ein sicheres Ja. Nahe bei 0 ist es ein sicheres Nein. Bleibt es nahe bei 0.5, heißt das nur, dass beide Seiten gleich möglich sind. Es heißt nicht „ein mittlerer Grad“. Die Dokumentation benennt diese Falle: Fragen Sie, ob jemand stark in Python ist, und 0.5 ist kein mittleres Niveau. Wenn Sie das Niveau wirklich messen wollen, wechseln Sie zu Score und schreiben Sie, wie jede Stufe aussieht. Noul hängt auch keine eigene Konfidenz an. Die Wahrscheinlichkeit ist das Signal.
Choice wählt ein Element aus einer Menge, die festliegt. Zurück kommt das gewählte Element, dazu die ganze Verteilung und eine Konfidenz. Die Konfidenz sieht, ob die Verteilung scharf ist. Ist die Wahrscheinlichkeit auseinandergelegt, ist die Konfidenz niedrig, und der Code weiß, dass diese Frage unsicher steht. Die Obergrenze der Kardinalität bei dieser Frage für Jev ist 255. Darüber nimmt Jev zwei Stufen. Zwei Stufen heißt: zuerst unabhängig bewerten, dann eine ausdrückliche Wahl treffen. Es ist manchmal ein wenig langsamer. Die Langsamkeit ist der zusätzliche Schritt, nicht dieselbe enge Frage, die plötzlich teuer wird.
Score sind Stufen auf einer Skala. Im Gebrauch ist es eine geordnete Skala von 2 bis 10 Stufen. Die Dokumentation sagt mindestens zwei Stufen, und die Schnittstelle nimmt höchstens zehn an. Eine Stufe muss als eine Lage geschrieben werden, die sich treffen lässt. Schreiben Sie nur „etwas hoch“ oder „in Ordnung“, und das Modell hat nichts, woran es sich halten kann. Die Punktzahl kann zwischen zwei Stufen landen. Diese Zahl ist die Summe aus der Position jeder Stufe mal ihrer Wahrscheinlichkeit. Eine Dezimalzahl zwischen zwei Stufen ist normal. Sie ist keine kaputte Rechnung. Es gibt die Punktzahl zurück und zugleich die Verteilung über die Stufen und eine Konfidenz. Dieselbe Punktzahl kann alles auf die mittlere Stufe gedrückt sein oder eine Teilung zwischen den beiden Enden. Sehen Sie nur die Punktzahl, werden Sie das für dasselbe halten. Lesen Sie die Verteilung und die Konfidenz zusammen.
Keine der drei Antworten kann die Zellen verlassen, die Sie im Voraus gegeben haben. Fragen zum selben Material sind voneinander unabhängig. Eine hinzufügen oder eine wegnehmen, und die anderen Fragen ändern sich nicht. Hängt ein Urteil von mehreren Dingen zusammen ab, fragen Sie sie getrennt und lassen Sie die Gewichte im Code. Später, wenn Sie die Richtlinie anpassen, ändern Sie diese Zahlen. Sie schreiben nicht einen ganzen Prompt neu.
Eine Spesenabrechnung, auseinandergenommen
Die offizielle Eval-Seite nimmt eine Spesenabrechnung als Spielzeug. Links steht ein Absatz, den ein Mensch geschrieben hat, die Art Richtlinie, die ein Team aufschreiben würde. Jede Abrechnung muss einen Beleg tragen. Lässt sich der Beleg nicht lesen, bitten Sie die Mitarbeiterin oder den Mitarbeiter um einen anderen. Dann sehen Sie, ob die Ausgabe ein Essen, eine Reise oder Ausrüstung ist. Ist ein Essen über $75 und passt die Beschreibung nicht zum Beleg, muss eine Führungskraft unterschreiben. Die anderen Abrechnungen werden als genehmigt behandelt.
Rechts ist derselbe Absatz in einen Ablauf geteilt. Jeder Satz der Richtlinie ist eine Frage oder eine Code-Regel. Ob der Beleg sich lesen lässt, ist ein Ja-Nein. Lässt er sich nicht lesen, bittet der Code um einen neuen, und dieser Schritt fragt das Modell nicht noch einmal. Die Kategorie nutzt eine Einfachauswahl, und die Optionen sind Essen, Reise oder Ausrüstung. Ob der Betrag über $75 liegt, vergleicht der Code selbst. Nur der Halbsatz darüber, dass die Beschreibung nicht zum Beleg passt, braucht, dass das Modell noch einmal gefragt wird. Zusammen mit dem Betrag entscheidet das, ob eine Führungskraft unterschreibt. Abrechnungen, die keine Unterschrift einer Führungskraft brauchen, behandelt der Code als genehmigt. Das Modell schreibt hier keinen Kommentar.
Die Richtung auf der Eval-Seite ist ein Satz: Struktur ist immer besser als ein großer Prompt. Über die vier Beispielabläufe gemittelt hat jedes Modell auf dem Workflow eine höhere Genauigkeit als die ganze Richtlinie als ein Prompt, und Aufwand und Zeit sind niedriger. Die Prompt-Seite übergibt die ganze Richtlinie und lässt das Modell die Logik in einer Antwort ablaufen. Die Workflow-Seite gibt dem Code, was sich als Regel schreiben lässt, und lässt nur die engen Urteile als Fragen.
Der stetigste reale Ablauf ist gewöhnlich nicht eine große Frage. Es sind viele enge Fragen, unabhängig voneinander. Das Verhalten hängt von der Wahrscheinlichkeit ab, nicht nur von einem diskreten Etikett. Die Kategorie kann fest aussehen, während die anderen Optionen noch einen Anteil der Wahrscheinlichkeit halten. Der Code kann an der Schwelle, die Sie geschrieben haben, noch einen Schritt tun, ohne die Verteilung wegzuwerfen. Außerhalb des Ablaufs ist es immer noch ein Zweig. Die Schicht in der Mitte ist Fachtechnik. Welche Frage diesmal unbenutzt ist und welche Zahl als Überschreiten der Linie gilt, muss für dieses Geschäft aufgeschrieben werden und jedes Mal auf dieselbe Weise laufen. Sobald die Antworten auf die engen Fragen im Code sind, werden Gewichte und Schwellen in dieser Schicht gesetzt.
Nachdem die String-Erzeugung aufgegeben ist
Jev gibt die String-Erzeugung auf und nimmt dafür paralleles Sampling. Die Fragen in einer Anfrage werden zusammen berechnet. Jede Ausgabe kommt auf einmal heraus. Nicht Token für Token. Ein Chat-Modell muss ein Token nach dem anderen wachsen lassen, jedes sieht das davor. Hier gibt es keinen Schritt Buchstabe für Buchstabe. Ein paar gewöhnliche enge Fragen hinzufügen, und die Zeit steigt kaum mit. Die Mehrkosten sind vor allem die eigenen Token der Frage.
Der offizielle Preis ist nicht der Preis der Chat-Schnittstelle. Die Eingabe kostet $0.042 pro Million Token. Die Ausgabe ist FREE. Ohne einen langen Lauf erzeugter Wörter, die nach Token berechnet werden, wird die Ausgabe nicht berechnet. Die Latenz landet bei 70–500 Millisekunden. Dieser Bereich ist für eine Aufrufkette, nicht für das Warten in einem Chat-Fenster.
Der Rückgabewert geht direkt an den Code. Die Wahrscheinlichkeit von Noul kann in ein if eingehen. Routing nutzt das Etikett von Choice. Eine Bewertungsschwelle nutzt die Position von Score. Kein Zerlegen zuerst. Gibt ein Chat-Modell ein Stück Markdown zurück, müssen Sie die Wörter zuerst teilen, und ein Satz zu viel kann das Format so verbiegen, dass der Rest nicht anschließt. Die drei Fragen geben diesen Text nicht zurück, weil Jev ihn nicht erzeugt.
Zu erklären, warum diese Abrechnung abgelehnt wurde, passt nicht in die drei Fragen, und eine Entschuldigung und eine Verhandlung auch nicht. Ein Grund, der für einen Menschen zum Lesen geschrieben ist, steht auch nicht im Rückgabewert. Das geht an ein Modell, das sprechen kann. Jev hört beim Urteil auf.
Wenn es nicht reicht, sind die Fälle konkret. Sind die Optionen Namen in einer offenen Welt, tauchen Firmennamen und Produktnamen immer wieder auf, und die Menge lässt sich nicht im Voraus festlegen. 255 ist eine Obergrenze der Kardinalität, keine unendliche Liste. Wenn ein Grund einen Satz aus der Quelle zitieren muss, gibt es keinen solchen Satz zum Übergeben. Wenn ein Nutzer auf einen menschlichen Satz wartet, will die Oberfläche lesbare Wörter. Jev dann zu zwingen, heißt ein Gelenk als Mund zu behandeln.
Wenn sich eine Richtlinie zu Ja-Nein, Einfachauswahl und Stufen schließen lässt, folgt ein Zweig, und das Urteil wird in denselben Code zurückgebaut. Wenn Sie Geschwindigkeit wollen und diese Art Zusammensetzbarkeit, reicht es. Was entfaltet werden muss, kann es nicht sagen. Geschwindigkeit und Zusammensetzbarkeit sind, was dieser Tausch kauft.
Quellen
- https://typesafe.ai/blog/introducing-system-one-models-and-jev
- https://evals.typesafe.ai/
- https://docs.typesafe.ai/primitives