1 Punkte von GN⁺ 2024-10-27 | 1 Kommentare | Auf WhatsApp teilen
  • Entropix ist ein Projekt, das die Unsicherheit eines LLMs in dem Moment ausliest, in dem es das nächste Token auswählt, und je nach Zustand die Sampling-Methode ändert, um die Inferenzqualität zu verbessern
  • Als Entscheidungskriterien dienen die Entropie und die Varentropie (varentropy) der Logit-Verteilung; aus der Kombination beider Werte wird der Konfidenzzustand des Modells in vier Kategorien eingeteilt
  • Bei hoher Konfidenz eignet sich Argmax-Sampling, während sich in Zuständen mit mehreren plausiblen Kandidaten Pfade per Branching vergleichen lassen
  • Zustände mit hoher Entropie können bedeuten, dass das Modell wirklich nichts weiß oder dass die Optionen faktisch gleichwertig sind; nötig sind dann Reaktionen wie das Einfügen von Thinking Tokens, Temperatur-Anpassung oder Branching
  • Noch gibt es keine groß angelegte Evaluation, daher ist die Wirksamkeit unklar; Sampling zur Inferenzzeit ist jedoch ein Bereich, in dem sich auch ohne großes Budget Verbesserungen in Open-Source-Experimenten erproben lassen

Das Problem, auf das Entropix abzielt

  • Entropix ist ein von XJDR entwickeltes Projekt, das die Inferenz verbessern will, indem es in Momenten der Unsicherheit des Modells die Sampling-Strategie ändert
  • Bislang gibt es keine groß angelegte Evaluation zu Entropix, daher ist das tatsächliche Ausmaß der Leistungsverbesserung nicht klar
  • Dennoch bietet unsicherheitsbasiertes Sampling eine experimentelle Methode und ein Denkmodell, um LLM-Inferenz anders zu betrachten

Wo zeigt sich Unsicherheit bei LLMs?

  • Sampling ist der Prozess, bei dem ein LLM entscheidet, welches Token es aus der Verteilung möglicher Tokens, den Logits, auswählt
  • Wie sicher sich das Modell ist, lässt sich an der Logit-Verteilung für das nächste Token ablesen
    • Bei hoher Konfidenz konzentriert sich die Wahrscheinlichkeit deutlich auf einige wenige Tokens
    • Bei niedriger Konfidenz sind die Kandidaten für das nächste Token breiter verteilt
  • Unsicherheit ist nicht immer ein schlechtes Signal und kann verschiedene Ursachen haben
    • Tokens wie good und great sind Synonyme oder faktisch gleichwertig
    • Es gibt Verzweigungspfade, etwa wenn ein Programm in Java oder in C geschrieben werden kann
    • Das Modell weiß nicht, was es tun soll, oder trifft auf eine Out-of-Distribution-Eingabe, die es in den Trainingsdaten nicht gesehen hat

Entropie und Varentropie

  • Entropix misst Unsicherheit über die Entropie (entropy) und Varentropie (varentropy) der Logits
  • Entropie beschreibt, wie stark sich die vorhergesagten Logits voneinander unterscheiden, und zeigt die Unsicherheit über das wahrscheinlichste Ergebnis
    • Bei niedriger Entropie ist das Modell in Bezug auf einige Logits recht sicher
    • Bei hoher Entropie wird die Logit-Verteilung gleichmäßiger, und die Konfidenz sinkt
  • Varentropie ist eine Kennzahl, die die Form (shape) der Unsicherheit zeigt
    • Hohe Varentropie bedeutet, dass einige Werte sich stark von anderen unterscheiden
  • Beide Kennzahlen basieren auf dem Konzept des Surprisals (self-information)
    • Surprisal misst, wie unerwartet ein Ereignis im Verhältnis zu seiner Wahrscheinlichkeit ist
    • Wenn die Wahrscheinlichkeit eines Ereignisses x gleich P(x) ist, dann ist das Surprisal I(x) = -log₂(P(x))
    • Bei P(x) = 1/8 beträgt das Surprisal 3 Bit, bei P(x) = 1/2 beträgt es 1 Bit
  • Entropie ist der Erwartungswert des Surprisals über alle möglichen Ergebnisse
  • Varentropie wird als Varianz des Surprisals berechnet und zeigt, wie viel überraschender einige Ergebnisse im Vergleich zum durchschnittlichen Surprisal sind

Vier Unsicherheitszustände

  • Betrachtet man Entropie und Varentropie gemeinsam, lässt sich der Modellzustand in vier Kategorien einteilen
    • Niedrige Entropie, niedrige Varentropie: eine spitze Verteilung, bei der ein Ergebnis eine sehr hohe Wahrscheinlichkeit hat
    • Niedrige Entropie, hohe Varentropie: eine Verteilung mit mehreren unterschiedlichen Peaks
    • Hohe Entropie, niedrige Varentropie: eine gleichmäßige oder nahezu gleichmäßige Verteilung
    • Hohe Entropie, hohe Varentropie: eine breit gestreute, aber nicht gleichmäßige Verteilung

Adaptives Sampling je nach Zustand

  • Niedrige Entropie, niedrige Varentropie

    • Das ist ein idealer Zustand, in dem das Modell nicht nur bei seiner ersten Wahl, sondern auch bei Alternativen für den Fall eines Fehlers dieser Wahl relativ sicher ist
    • Oft ist die Kandidatenliste sauber sortiert, sodass sich Argmax-Sampling eignet, also die Wahl des Tokens mit der höchsten Wahrscheinlichkeit
  • Niedrige Entropie, hohe Varentropie

    • In diesem Zustand prognostiziert das Modell einige wenige Optionen mit sehr hoher Wahrscheinlichkeit
    • Er ist schwer zu beurteilen, weil er einen ganz neuen Ausgabepfad bedeuten kann oder eine Situation, in der mehrere Formulierungen wie Synonyme gleichermaßen möglich sind
    • Eine mögliche Reaktion ist Branching: Beide Logits werden vorhergesagt, die jeweiligen Pfade verfolgt und die Ergebnisse nach einem bestimmten Zeitpunkt verglichen
    • Wenn die Branching-Ergebnisse ähnlich hohe Konfidenz haben, sich aber inhaltlich unterscheiden, kann daraus eine Rückfrage an den Nutzer gemacht werden
  • Hohe Entropie, niedrige Varentropie

    • Das Modell kann sich in einem Zustand niedriger Konfidenz befinden, oder alle Optionen können untereinander austauschbar sein
    • Entropix schlägt in diesem Fall vor, ein Thinking Token als nächstes Token einzufügen, damit das Modell in einen Zustand höherer Konfidenz gelangt
    • Ein Beispiel ist ein Token wie Wait..
    • Ein Thinking Token wird in die Ausgabe eingefügt, um zu signalisieren, dass das Modell vor der Antwort mehr Rechenzeit zum Nachdenken aufwenden soll
    • Wenn das Modell beispielsweise The capital of Germany is Paris vorhersagen will, sich dabei aber nicht sicher ist, kann durch Einfügen von Wait eine Fortsetzung wie The capital of Germany is Paris… Wait, no, it’s actually Berlin entstehen
  • Hohe Entropie, hohe Varentropie

    • Es gibt keinen klaren Top-Kandidaten, aber das Modell ist sich bei einigen Ausgaben sicherer als bei anderen
    • Weil die besten Optionen wie Synonyme alle akzeptable Entscheidungen sein können, lässt sich mit höherer Temperatur (temperature) zufällig auswählen
    • Wie in den vorherigen Zuständen sind auch Branching oder das Einfügen eines Thinking Tokens möglich

Unterschied zwischen Branching und Thinking Tokens

  • Beide Methoden versuchen, in unsicheren Zuständen mehr Inferenz-Rechenaufwand einzusetzen
  • Branching-Vorhersagen folgen mehreren Logits, um zu prüfen, zu welchen anderen Tokens sie führen
    • Das wird häufig MCTS (Monte Carlo Tree Search) genannt
    • Es wurde bei LLMs oft ausprobiert, die Ergebnisse waren jedoch eher mittelmäßig
    • Der wichtigste Trade-off ist, dass die einzelnen Branches die Berechnungen der jeweils anderen nicht nutzen können
  • Thinking Tokens sind eine Methode, zusätzliche Berechnung in unsicheren Zuständen zu ermöglichen, ohne Rechenaufwand für die Erkundung von Branches zu verwenden, die später verworfen werden könnten
    • Das Einfügen von Wait… bringt die KI dazu, zu erkennen, dass sie sich möglicherweise geirrt hat
  • Welche der beiden Varianten, Branching oder Thinking Tokens, besser ist, bleibt eine offene Forschungsfrage

Auf Attention basierende Signale

  • Entropix nutzt bei der Anpassung der Temperatur teilweise auch andere Entropie-Messwerte
  • Attention Entropy zeigt, ob ein Attention Head einem bestimmten Token folgt oder seine Aufmerksamkeit auf viele Tokens im Kontext verteilt
  • Attention Agreement zeigt, ob mehrere Attention Heads ihre Aufmerksamkeit auf dasselbe Token richten oder unterschiedliche Tokens betrachten
  • Wenn die Entropie der Heads niedrig und das Agreement hoch ist, kann das ein zusätzliches Signal dafür sein, dass das Token mit der höchsten Wahrscheinlichkeit gesampelt werden kann
  • Ist das Agreement niedrig, können unterschiedliche Heads zu unterschiedlichen Vorhersagen beitragen, sodass Branching erwägenswert ist

Warum das wichtig ist

  • Die Idee von Entropix ist leicht verständlich und auch nicht völlig neu, lenkt den Blick aber erneut darauf, Verbesserungen der LLM-Inferenz auf der Sampling-Ebene zu denken
  • Auch wenn in Evaluationen noch kein großer Vorteil bestätigt wurde, sind solche Techniken zur Inferenzzeit vergleichsweise leicht zu erproben
  • Für Open-Source-Hacker könnte das eine vielversprechende Richtung sein, um ohne großes Budget Verbesserungen bei der Inferenz zu versuchen

1 Kommentare

 
GN⁺ 2024-10-27
Meinungen auf Hacker News
  • Er sei zweimal gefragt worden: „Mr. Babbage, wenn man falsche Zahlen in die Maschine eingibt, kommen dann richtige Antworten heraus?“
    Das ist Charles Babbages Aussage, er habe nicht wirklich begreifen können, welche Verwirrung des Denkens eine solche Frage hervorbringt.

    • Die Leute glauben zu wissen, was „AI“ tun soll, nennen es aber kaputt, wenn sie sich tatsächlich anders verhält als erwartet.
    • Das ist eine völlig berechtigte Frage; eher wirkt es so, als habe Babbage sie nicht verstanden oder absichtlich so getan, als verstünde er sie nicht.
  • Solche samplingbasierten Verfahren sind einer der seltenen Fälle, in denen man aktuelle Modelle mit Consumer-Hardware verbessern kann.
    Ich glaube nicht, dass das lange so bleibt; am Ende wird es wohl trainierbare Sampler geben, aber im Moment lohnt es sich, damit ausgiebig herumzuspielen: https://github.com/codelion/optillm
    Die Autoren von optillm scheinen der Ansicht zu sein, dass der zusätzliche Rechenaufwand von Entropics keine besseren Ergebnisse liefert als einfaches Chain-of-Thought-Decoding. Ob sie auch die Effizienz geprüft haben, weiß ich nicht: https://x.com/asankhaya/status/1846736390152949966
    Viele Probleme von LLMs scheinen, wie im GSM-Symbolic-Paper, von semantischem Leakage oder davon zu kommen, dass Aufmerksamkeit durch irrelevante Informationen abgelenkt wird; vielleicht gibt es auch Spielraum für Verbesserungen an der Attention.
    Dazu habe ich auch ein paar Beiträge geschrieben: https://zzbbyy.substack.com/p/semantic-leakage-quick-notes, https://zzbbyy.substack.com/p/llms-and-reasoning, https://zzbbyy.substack.com/p/o1-inference-time-turing-machi...

    • Das Problem bei diesen verschiedenen Sampling-Verfahren liegt darin, wie sie üblicherweise bewertet werden.
      Es gibt Leute, die behaupten, sie funktionierten besser, aber es fehlen strenge Benchmarks, die das belegen. Es heißt dann: „Der Text wird besser“, „der Stil ist frischer“ und dergleichen; in diesem Punkt hat LeCun meiner Ansicht nach zu 100 % recht. Ein General-Purpose-Modell danach zu bewerten, ob es bei „Gedichten“ oder „Prosa“ gut sei, kommt der Definition von Bias ziemlich nahe und man stellt sich mit persönlichen Anekdoten selbst ein Bein.
      Ich würde gern Ergebnisse für Coding oder Mathematik sehen. Zum Beispiel, ob ein Sampler bei Mathematik-Olympiade-Aufgaben besser funktioniert, sauber vor und nach der Änderung gebenchmarkt.
    • Semantisches Leakage könnte einfach eine Schwäche des Modells sein, oder es könnte mit der Behauptung zusammenhängen, dass das Modell nicht „wirklich“ schlussfolgert. Mehr Training könnte womöglich helfen.
      Oder es ist eine grundlegendere Schwäche des Attention-Mechanismus. Inzwischen tauchen auch Alternativen auf.
  • Ich bin mir nicht sicher, ob dieses Projekt auf einem wissenschaftlichen Paper basiert, also ob es eine veröffentlichte Methode zur Bestimmung der Unsicherheit von LLMs verwendet.
    Unter den neueren Arbeiten scheint diese ziemlich relevant zu sein: https://learnandburn.ai/p/how-to-tell-if-an-llm-is-just-gues...
    Dort wird die Idee der semantischen Entropie verwendet, die ausgefeilter ist als die Standardentropie von Token-Logits und sich besser eignet, statistisch zu quantifizieren, ob ein LLM gerade rät oder mit hoher Sicherheit antwortet. Das ursprüngliche Paper ist ein Nature-Paper von Autoren aus Oxford.

    • Die Kernidee der semantischen Entropie – also die Entropie der Verteilung über Bedeutungseinheiten statt über einzelne Sequenzen im Ausgaberaum zu schätzen – ist gut, aber etwas naiv darin, diese Bedeutungseinheiten als wohldefinierte Partition des Ausgaberaums zu betrachten.
      Es gibt auch eine Arbeit [1], die diesen Ansatz stärker verallgemeinert und auf Basis eines Begriffs semantischer Äquivalenz zwischen Sample-Ausgaben ein weiches Clustering durchführt.
      Trotzdem ist Vorsicht geboten. Wir haben kürzlich ein Paper [2] veröffentlicht, das aktuelle Methoden zur Unsicherheitsschätzung bei LLMs umfassend benchmarked; in vielen Fällen funktionieren semantikbasierte Methoden sehr gut, in anderen Aufgaben waren einfache Baselines wie die mittlere Entropie der Token-Verteilung aber ähnlich gut oder sogar besser als komplexe Verfahren.
      Außerdem entwickeln wir eine Open-Source-Python-Bibliothek [3], die aktuelle auf LLMs anwendbare Verfahren zur Unsicherheitsschätzung implementiert und es erleichtert, Schätzverfahren zu benchmarken sowie die Ausgabeunsicherheit laufender Modelle zu bestimmen.
      [1] https://arxiv.org/abs/2307.01379
      [2] https://arxiv.org/abs/2406.15627
      [3] https://github.com/IINemo/lm-polygraph
    • Das basiert auf der Arbeit dieses anonymen Twitter-Accounts: https://x.com/_xjdr
      Ich habe das ziemlich genau verfolgt; interessant fand ich, dass kleine Modelle bei diesem Sampler effizienter sein könnten. Wenn es dich interessiert, lohnt es sich, die Posts zu lesen; diese Art von Sampling fühlt sich nach einer wirklich bedeutsamen Sache an.
    • Ich glaube nicht, dass es ein wissenschaftliches Paper ist. Von der akademischen Seite würde ich erwarten, dass man den Unterschied zwischen Token-Unsicherheit und semantischer Unsicherheit/semantischer Korrektheit besser versteht oder zumindest eine datenbasierte Korrelation herstellt, bevor man eine Beziehung zwischen beiden behauptet.
      Wie ich auch in einem anderen Kommentar geschrieben habe, scheint der Autor einem grundlegenden Missverständnis zu unterliegen, und nach den Hinweisen am Anfang des Beitrags zu urteilen könnte das der Grund sein, warum am Ende keine praktisch nutzbaren Ergebnisse herausgekommen sind.
      Das soll kein Vorwurf sein und auch nicht entmutigen. Vielleicht hat er etwas erwischt, und solche ungewöhnlichen Ansätze sind es wert, ausprobiert zu werden. Aber aus den genannten Gründen wäre es schwer gewesen, daraus ein Paper zu machen, wenn es keinen positiven Effekt gibt; deshalb überrascht es mich auch nicht, dass es kein wissenschaftliches Paper zu diesem Ansatz gibt.
    • Soweit ich weiß, ist es kein wissenschaftliches Paper, und gerade deshalb wollte ich diesen Beitrag schreiben. Trotzdem hat dieses Projekt auf ML Twitter sowohl begeisterte Anhänger als auch vehemente Gegner.
    • Das war an HN-Leser gerichtet, die sich für LLM-Unsicherheit interessieren; vom Autor des Beitrags/Repositorys würde ich gern Testergebnisse dazu sehen, wie gut es Unsicherheit tatsächlich erkennt.
  • Wenn die Entropie hoch ist, sollte das Modell meiner Ansicht nach einen Ausweg haben
    Es sollte auslösen, dass die Sicherheit der gesamten Antwort niedrig ist, während der Generierung einen Sicherheits-Score akkumulieren und dem Nutzer am Ende ermöglichen zu prüfen, ob die Antwort sehr unsicher war. Eine solche Antwort sollte man verwerfen oder durch „Ich weiß es nicht“ ersetzen können.

    • Üblicherweise nennt man das Abstention oder Ablehnung
      Wenn man in diesem Bereich verschiedene Methoden zur Quantifizierung von Modellunsicherheit vergleicht, führt man häufig eine Ablehnungsvalidierung durch. Im Grunde lehnt man Datenpunkte mit hoher Unsicherheit fortlaufend ab und betrachtet, wie die durchschnittliche Qualität der verbleibenden Outputs steigt. Eine gute Unsicherheitsschätzung sollte stark mit der Output-Qualität korrelieren; daher sollte die durchschnittliche Qualität von Outputs mit niedriger Unsicherheit höher sein.
      Auch ein aktueller Benchmark [1] zu Ansätzen für Unsicherheitsschätzung bei LLMs hat genau diese Methode verwendet, und eine Open-Source-Bibliothek [2], die solche Benchmarks ermöglicht, ist ebenfalls in Entwicklung. Man kann auch Unsicherheits-Scores für konkrete Modellausgaben erzeugen, sodass sie sich in der Industrie in Anwendungen integrieren lassen.
      [1] https://arxiv.org/abs/2406.15627
      [2] https://github.com/IINemo/lm-polygraph
    • Das Problem ist, dass Deep-Neural-Network-Klassifikatoren im Allgemeinen im Ausgangszustand statistisch nicht gut kalibriert sind
      Daher ist hohe Entropie oft ein Signal für „nicht sicher“, aber ein Modell kann auch sehr häufig selbstbewusst falsch liegen. Logit-Entropie als Vertrauensindikator zu verwenden, kann daher leicht stark irreführend sein.
      Ich bin kein LLM-Experte; das ist eine Einschätzung auf Basis meines Verständnisses allgemeiner Klassifikatoren. Ich frage mich, ob diese Überlegung bei genügend Daten nicht mehr gilt.
    • Entropix stellt ein Framework bereit, mit dem man so etwas tun kann. Strukturell erkennt es den aktuellen Zustand und passt dann die Sampler-Einstellungen an oder wechselt zu einer völlig neuen Sampling-Strategie
      Man kann damit auch experimentell stark in Richtung Ablehnungsantworten gehen; ich empfehle, es selbst auszuprobieren. Das Repository smollm-entropix [1] implementiert das Ganze als Jupyter-Notebook, sodass sich die Idee leichter testen lässt.
      [1]: https://github.com/SinatrasC/entropix-smollm
    • Es scheint fast sicher, dass dem Vokabular viele zusätzliche Tokens hinzugefügt werden. Nicht nur so etwas wie Thinking-Tokens, sondern auch „Ich-weiß-nicht“-Tokens sind möglich, und es wird viele ausgefeilte Decoding-Strategien geben. Was man braucht, ist die Erzeugung von Daten.
    • Das neue Claude Sonnet 3.5 macht meiner Erfahrung nach in gewissem Maß so etwas.
  • Moderne große GPTs geben die Logits eines riesigen Klassifikators über das gesamte Token-Vokabular aus
    Diese liegen in irgendeinem Raum, und man kann nicht nur eine Mannigfaltigkeit mit nichttrivialen Konvexitätseigenschaften annehmen, sondern sie auch empirisch berechnen. Die Aufgabe zu bestimmen, welches LLM einen Text geschrieben hat, ist – selbst wenn man Fälle einbezieht, in denen eine bestimmte Sprechweise vorgegeben wurde – gut definiert oder praktisch nahezu gelöst.
    Das war nicht nur ein Forschungsproblem, sondern ein Bereich mit schnellen und beeindruckenden Fortschritten, der dann irgendwann einfach abgeschaltet wurde.
    In diesem Bereich der Beste zu werden, ist ein riesiges Geschäft. Und es ist genau die Art von Aufgabe für ein Startup. Denn reiche etablierte Anbieter werden kaum als Konkurrenten auftreten – nicht, weil sie den Markt ignorieren, sondern weil sie aktiv nicht wollen, dass dieser Markt existiert.

    • Kannst du etwas genauer erklären, warum das nützlich ist? Nach der Beschreibung klingt es so, als würden viele Anfragen den Output ausreichend verändern, um die Erkennung eines bestimmten LLM zu verhindern. Außerdem dürfte die Tatsache, dass neue LLMs viel synthetische und generierte Daten verwenden, ebenfalls eine ziemlich große Variable einführen.
  • Diese Art der Erklärung klingt fast wie ein Labyrinth-Suchalgorithmus. Die Rechenzeit entspricht dabei „wie tief man einem Pfad folgt, um zu testen, ob er eine mögliche Lösung ist“
    Ich frage mich, ob es weitere Ähnlichkeiten gibt. Gibt es zum Beispiel Labyrinth-Lösungsalgorithmen, die sich auf LLMs anwenden ließen?

    • Sequentiell zu samplen, um die Sequenz mit der höchsten gemeinsamen Wahrscheinlichkeit zu finden, ist eindeutig ein Suchproblem. Deshalb werden Algorithmen wie Beam Search häufig beim Sampling eingesetzt.
    • Die Frage, LLM-Decoding aus Navigationsperspektive zu betrachten, wurde – wenn auch aus einem anderen Blickwinkel – auch in diesem Reddit-Beitrag gestellt: https://www.reddit.com/r/MachineLearning/comments/1dw2pqo/d_...
    • Stimmt, das wirkt wie ein Bereich, in dem weitere Forschung möglich ist
      Ehrlich gesagt geht das in die entgegengesetzte Richtung zur Bitter Lesson (http://www.incompleteideas.net/IncIdeas/BitterLesson.html). Diese Lehre stammt auch daraus, dass man bei Schach die Labyrinthsuche übermäßig ausgefeilt behandelte. Aber bei der heutigen LLM-Skalierung könnten solche Verbesserungen wertvoll sein.
  • Jedes Mal, wenn ich von solchen potenziellen Optimierungen lese, fällt es mir schwer zu verstehen, wie Leute LLMs mit nur minimaler Aufsicht vertrauensvoll einsetzen können.
    Glauben sie wirklich, dass „AI“-Produkte, die LLMs verwenden, kompetent genug sind, um Computer zu steuern oder korrekten Code zu schreiben? Ist konstruktionsbedingt nicht alles eine „Halluzination“ oder eine Vermutung? Kann man das wirklich überwinden?

    • Ich habe mit ChatGPT und Python einige Programme geschrieben bzw. beaufsichtigt, die im Produktionstestsystem unserer Firma eingesetzt werden.
      Es sind Programme, die Befehle an Maschinen schicken, Ergebnisse/Fehler/Ausgaben abfragen, das Ganze in .csv speichern und anschließend in eine ansprechend formatierte Excel-Datei umwandeln. Außerdem liefern sie eine Einstiegshilfe, die Technikern zeigt, wie sie bei bestimmten Tests die Verbindungen herstellen müssen.
      Ich bin kein Programmierer, und in unserer Firma gibt es auch keine Programmierer. Trotzdem hat es Code geschrieben, der genau so funktioniert, wie ich es verlangt habe. Wenn ich während der Entwicklung beim Code festhing, habe ich ihn wieder in ChatGPT eingegeben und es das Problem lösen lassen, und am Ende wurde alles gelöst. Es dauerte ungefähr einen Tag; hätte ich es selbst gemacht, wäre es ein Monat gewesen, bei Outsourcing 10.000 Dollar und eine Woche.
      LLMs mögen für hochbezahlte, anspruchsvolle Programmierprojekte schlecht sein. Aber für Menschen, die am Computer etwas erledigen müssen, jedoch die Sprachbarriere nicht überwinden können, dem Computer zu sagen, was er tun soll, sind sie ein Segen.
    • Wie überwinden Menschen das? Wenn man darüber nachdenkt, kommt man zu dem Schluss, dass LLMs für alle möglichen Dinge eingesetzt werden können. Menschen schreiben zum Beispiel auch nicht einfach Code und schieben ihn sofort in die Produktionsumgebung.
    • Natürlich glaube ich das. Das ist keine hypothetische Frage. Fast mein gesamter Code wird von Claude 3.5 Sonnet geschrieben.
      Er ist deutlich robuster und korrekter als der Code, den ich normalerweise schreibe. Ich programmiere seit 20 Jahren.
    • Ich glaube eher nicht. Aber wenn Menschen zu viel investiert haben, ob emotional oder finanziell, ziehen sie sich nicht leicht zurück, sondern setzen am Ende alles darauf.
      Es ist nur eine weitere Überhitzung. Wie Client/Server, Industry 4.0, Machine Learning, Microservices, Cloud, Crypto.
  • Hat jemand ausprobiert, wie die Ausgabe aussieht, wenn man dafür sorgt, dass das Modell niemals unsicher werden kann?
    Zum Beispiel so, dass der Sampler jedes Mal, wenn die Sicherheit unter einen Schwellenwert fällt, zurückgeht und ein anderes Token wählt. Am Ende hätte jedes einzelne Token eine Sicherheit oberhalb des Schwellenwerts.
    Unerwünschte Ausgaben ließen sich damit wohl nicht vollständig beseitigen, aber interessant wäre es.

    • Würde es dann nicht überhaupt keine Antwort liefern können?
      Oder es könnte mit völliger Überzeugung „Ich weiß es nicht“ sagen.
    • Früher kamen nahezu deterministische, zitathafte Ausgaben heraus, aber selbst die waren noch von Gleitkommafehlern beeinflusst.
  • Es gibt Milliarden von Sampling-Strategien für Sprachmodelle.
    Das Problem ist, dass es empirisch sehr schwierig ist zu zeigen, dass irgendeine Sampling-Strategie besser ist als das standardmäßige top-k- oder top-p-Sampling. Allein die Perplexity zu minimieren reicht nicht aus, um die Überlegenheit einer bestimmten Methode zu belegen. Die im Blogbeitrag vorgeschlagene Strategie hat dasselbe Problem. Theoretisch klingt sie plausibel, praktisch ist sie aber eine unbewiesene Neuerung.

    • Einen Beweis braucht man nicht unbedingt.
      Es ist schwer, klar zu sagen, was „besser“ bedeutet, und Belege sind schwierig, weil es teuer ist, etwa Präferenzdaten zu sammeln.
      Nachdem man viele Samples gesehen hat, kann man mit gesundem Menschenverstand sagen: „Wenn man X optimieren will, scheint diese Methode besser zu funktionieren.“
  • Die Grenzen von LLM-Antworten haben viel mehr Dimensionen als nur „Unsicherheit“.
    Es gibt Dinge wie „die Frage/der Satz ergibt keinen Sinn“, „es gibt nicht genügend Informationen, um zu antworten“ oder „es gibt die Information, dass der Expertenkonsens lautet: Niemand kann es wirklich wissen“.
    Menschen neigen dazu, die Gründe, warum eine bestimmte Frage schwer zu beantworten ist, auf ein simples Unsicherheitsproblem zu reduzieren, und betrachten deshalb auch LLM-Antworten so, als hätten sie nur ein einziges Unsicherheitsniveau. Aber das ist Anthropomorphisierung.
    KI-Bilder, und davor schon Fotos, haben neue und zuvor kaum vorstellbare Arten gezeigt, wie Bilder falsch sein können: Sie wirken echt, sind aber falsch. KI-Sprachinteraktionen tun auf subtilere Weise dasselbe.

    • Stimmt. Aber wenn man erkennen kann, dass man möglicherweise in einen dieser Zustände geraten ist, kann man im Nachhinein prüfen, welcher Zustand es genau war.
      Bisher wurde das vor allem per Reinforcement Learning gemacht, aber es scheint sich zu lohnen, auch Ansätze zu untersuchen, die das zur Inferenzzeit erkennen und behandeln. Für Open Source ist das auch deutlich zugänglicher. Solches Reinforcement Learning können nur große ML-Labore leisten.
    • Das ist genauso anthropomorphisierend, wie die Ungenauigkeit eines Modells Halluzination zu nennen.
      Anthropomorphisierung fühlt sich wie ein Teil der Marketingstrategie für LLMs an.
    • Es stimmt, dass Unsicherheit ein ziemlich locker definierter Begriff ist. Meist verwendet man ihn als eine Art Stellvertreter dafür, mit welcher Wahrscheinlichkeit die Modellausgabe in irgendeinem Sinn korrekt ist.
      Unsicherheit kann auch in mehrere „Geschmacksrichtungen“ zerlegt werden. Die einfachste und häufig diskutierte Zerlegung ist die in aleatorische Unsicherheit und epistemische Unsicherheit. Epistemische Unsicherheit, oder modellbasierte Unsicherheit, bezeichnet meist Fälle, in denen ein Modell eine Art von Eingabe erhält, die es zuvor nicht gesehen hat, und deshalb schlechte Ausgaben liefert; es ist dann schwer zu erwarten, dass es damit korrekt umgeht. Aleatorische Unsicherheit liegt dagegen in den Daten selbst, etwa in der natürlichen Mehrdeutigkeit einer Aufgabe oder in verrauschten Labels.
      Im Bereich der Unsicherheitsschätzung besteht großes Interesse daran, Methoden zu entwickeln, um diese unterschiedlichen Arten von Unsicherheit zu quantifizieren, und je nach Methode kann sie für die eine oder andere Art empfindlicher sein.
    • Das scheint sehr eng mit meinem Einsatz von LLMs zur Strukturierung von Daten zusammenzuhängen. Für jedes einzelne Datenelement brauche ich genau einen guten Unsicherheitsindikator.
    • Sind das nicht ebenfalls verschiedene Arten von Unsicherheit?