2 Punkte von GN⁺ 2024-04-08 | 1 Kommentare | Auf WhatsApp teilen
  • Die Genauigkeit von LLMs schwankt bei komplexen Aufgaben, und diese Studie prüft, ob sich die Leistung auch ohne zusätzliche Struktur allein durch Sampling und Voting steigern lässt
  • Agent Forest ist eine einfache Ensemble-Methode, bei der dieselbe Anfrage mehrfach ausgeführt, die Antworten gesammelt und per Mehrheitsentscheid die endgültige Antwort gewählt wird
  • Auf GSM8K erreichte Llama2-13B bei einer Ensemble-Größe von 15 eine ähnliche Genauigkeit wie Llama2-70B; auch Llama2-70B und GPT-3.5-Turbo näherten sich stärkeren Vergleichsmodellen an
  • Der Ansatz lässt sich unabhängig kombinieren mit CoT-basierten Methoden oder Frameworks für die Zusammenarbeit mehrerer Agenten und kann dadurch zusätzlich zur bestehenden Methodik weitere Leistungsgewinne bringen
  • Die Verbesserungen fallen besonders bei schwierigen Aufgaben und schwächeren Modellen groß aus; auch ohne komplexes Prompt-Design gibt es Potenzial für ein besseres Kosten-Leistungs-Verhältnis

Schwankende LLM-Genauigkeit bei komplexen Aufgaben

  • LLMs zeigen starke Fähigkeiten in vielen Anwendungen wie Sprachgenerierung, Sprachverständnis und Schlussfolgern, haben aber bei komplexen Aufgaben oft Schwierigkeiten, korrekte Antworten zu liefern
  • Frühere Arbeiten zur Leistungssteigerung haben sich im Wesentlichen auf Ensemble-Methoden und Frameworks zur Zusammenarbeit mehrerer LLM-Agenten gestützt
    • LLM-Debate organisiert mehrere LLM-Agenten so, dass sie die endgültige Antwort auf arithmetische Aufgaben diskutieren, und verbessert damit die Schlussfolgerungsleistung gegenüber einem einzelnen Agenten
    • CoT-SC erzeugt mehrere Gedankengänge (thought chains) und wählt die selbstkonsistenteste Antwort aus; dadurch verbessert sich die Schlussfolgerungsleistung gegenüber CoT mit nur einer einzelnen Gedankenkette
  • Auch in früheren Ergebnissen wurde beobachtet, dass die Leistung steigt, wenn die Zahl der Agenten oder Gedankengänge zunimmt, doch die Skalierungseigenschaften der bloßen Anzahl grundlegender LLM-Agenten wurden bisher nicht ausreichend als eigenständiges Forschungsthema untersucht

Funktionsweise von Agent Forest

  • Agent Forest verwendet ein einfaches Verfahren aus Sampling und Voting, um den Einfluss einer steigenden Zahl von LLM-Agenten auf die Leistung zu untersuchen
  • Der Ablauf besteht aus zwei Schritten
    • Eine Aufgabenanfrage wird wiederholt in ein einzelnes LLM oder in ein Framework zur Zusammenarbeit mehrerer LLM-Agenten eingespeist, um mehrere Ausgaben zu erzeugen
    • Auf die erzeugten Ausgaben wird Mehrheitsabstimmung angewendet, um das Endergebnis festzulegen
  • Das Verfahren ist von CoT-SC inspiriert, hängt aber nicht von einem komplexen Design der CoT-Pfade ab
  • Der Name ist eine Anspielung auf den klassischen Random Forest

Ergebnisse auf GSM8K und weiteren Aufgaben

  • Die Experimente wurden mit verschiedenen LLMs unterschiedlicher Größe und auf mehreren Datensätzen mit Aufgaben zu Schlussfolgern und Generierung durchgeführt
  • Insgesamt zeigt sich, dass die LLM-Leistung steigen kann, je größer die Ensemble-Größe, also die Anzahl der Agenten, wird
  • In den GSM8K-Ergebnissen aus Figure 1 steigt die Genauigkeit von Llama2-13B, Llama2-70B und GPT-3.5-Turbo jeweils mit wachsender Ensemble-Größe
    • Bei einer Ensemble-Größe von 15 erreicht Llama2-13B eine mit Llama2-70B vergleichbare Genauigkeit
    • Bei Ensemble-Größen von 15 und 20 zeigen Llama2-70B und GPT-3.5-Turbo jeweils eine Genauigkeit, die mit stärkeren Vergleichsmodellen vergleichbar ist
    • Die Fehlerbalken in der Abbildung geben den Standardfehler an
  • Auch kleinere LLMs können mit einem einfachen Ensemble eine mit größeren LLMs vergleichbare oder sogar bessere Leistung erzielen

Leistungssteigerung, die sich auf bestehende Methoden aufsetzen lässt

  • Agent Forest ist ein Ansatz, der sich unabhängig kombinieren lässt mit bestehenden, komplexeren Methoden zur Leistungssteigerung von LLMs
  • In CoT-basierten Methoden kann er wie ein Plug-in ergänzt werden und zusätzliche Leistungsgewinne erzeugen
  • Selbst im Vergleich zu komplexeren Methoden kann Agent Forest allein in den meisten Fällen eine vergleichbare Leistung erreichen
  • Auch ohne zusätzliches manuelles Prompt-Design oder komplexe Frameworks für Zusammenarbeit lassen sich wettbewerbsfähige Ergebnisse erzielen

Effekt nach Schwierigkeitsgrad und Optimierung

  • Die Leistungssteigerung fällt bei schwierigen Aufgaben und schwächeren Modellen stärker aus
  • Der Einfluss der Aufgabenschwierigkeit auf die Wirkung von Agent Forest wird entlang von drei Dimensionen analysiert
    • Intrinsische Schwierigkeit des Problems
    • Länge der Schlussfolgerungsschritte
    • Vorherige Wahrscheinlichkeit der richtigen Antwort
  • Durch Experimente mit Kontrolle dieser einzelnen Dimensionen werden Eigenschaften identifiziert, die die Wirkung von Agent Forest beeinflussen
  • Auf Basis dieser identifizierten Eigenschaften werden zusätzlich Optimierungsstrategien entwickelt, damit der Effekt von „More Agents“ stärker zum Tragen kommt
  • Der öffentliche Code ist unter https://github.com/MoreAgentsIsAllYouNeed/AgentForest verfügbar

1 Kommentare

 
GN⁺ 2024-04-08
Hacker-News-Kommentare
  • Es scheint Leute zu geben, die das Paper nicht richtig gelesen haben.
    Dieses Paper scheint die Idee von Multi-Agenten-Konfigurationen wie Chain-of-thought oder LLM-Debate beinahe zu widerlegen.
    Die im Paper vorgeschlagene Alternative besteht darin, dieselbe Anfrage mehrfach an dasselbe LLM zu stellen, ohne Kontext zwischen den Anfragen zu teilen, dann die Ähnlichkeit zwischen den Antworten zu berechnen und die häufigste Antwort auszuwählen.
    Wenn ein LLM Halluzinationen und richtige Antworten gemischt ausgibt, ergibt das Sinn: Die richtigen Antworten ähneln einander, während die Halluzinationen verworren verstreut sind.
    Und doch funktioniert dieser einfache Algorithmus ungefähr so gut wie andere Multi-Agenten-Algorithmen, manchmal sogar besser.
    Das heißt, andere Multi-Agenten-Methoden mit cleveren Prompts scheinen nichts Besonderes zu leisten; der Großteil der Verbesserung kommt offenbar daher, das LLM mehrfach laufen zu lassen und es dann die „beste Antwort“ wählen zu lassen.

    • https://en.wikipedia.org/wiki/Lorenz_system
      In Wettersimulationen wird seit Langem das Modell wiederholt mit leicht veränderten Eingabeparametern ausgeführt, Ausreißer werden verworfen und dann wird gemittelt; das funktioniert ziemlich gut.
      LLMs haben im Wesentlichen ebenfalls einen Zufalls-Seed, nämlich den Temperaturwert, daher kann man mit derselben Eingabe und gemittelten Ausgaben eine bessere Schätzung erhalten.
      Das Lorenz system gibt auch einen Hinweis, vielleicht sogar eine Erklärung dafür, warum das Halluzinationsproblem vermutlich unlösbar ist.
      Wenn man diese Sichtweise akzeptiert, wird auch schnell deutlich, dass LLMs auf dem Weg zu allgemeiner künstlicher Intelligenz nahezu eine Sackgasse sind.
      Eine Simulation ist keine Emulation, und die Wahrscheinlichkeit, dass LLMs Intelligenz entwickeln, ist ungefähr so groß wie die, dass eine Wettervorhersage das Wetter kontrolliert.
    • Nach meiner Erfahrung mit GitHub Copilot entstehen Halluzinationen dann, wenn die Wahrscheinlichkeit einer wahren Tatsache niedrig ist und Copilot trotzdem die plausibelste Antwort ausgibt.
      Oft verhält sich eine bestimmte Library auf eine sehr ungewöhnliche und undokumentierte Weise; fragt man nach einem Beispiel, bekommt man stattdessen Code für eine schöne, leicht verständliche Fake-Funktion, die die Library gar nicht nötig machen würde, wenn sie sich tatsächlich so verhielte.
      Es scheint nicht, als würde es helfen, solche Anfragen mehrfach auszuführen.
    • Das ist einer Idee sehr ähnlich, die im Machine Learning schon lange verwendet wird und deren Leistung belegt ist: Ensemble-Modelle.
      Wenn man die Ergebnisse mehrerer Prädiktoren mittelt oder abstimmen lässt und den häufigsten Vorhersagewert wählt, kann man das Rauschen einzelner Vorhersagen verringern, indem man ihren gemeinsamen Nenner nimmt.
    • Wenn man die Temperatur auf 0 setzt, wählt das Modell das wahrscheinlichste Token, und die Ausgabe ist immer gleich.
      Aber wir wissen bereits, dass das keine richtige Antwort garantiert; wie kann es dann besser werden, denselben Lauf mehrfach zu wiederholen?
    • Der Teil „Wenn ein LLM Halluzinationen und richtige Antworten gemischt ausgibt, ähneln die richtigen Antworten einander, während die Halluzinationen verworren verstreut sind“ lässt vermuten, dass das Basismodell für eine bestimmte Behauptung einen Wert nahe seiner Konfidenz liefern würde.
      Das ist an sich gut, aber ich vermute, dass auch Urban Legends oder kulturelle Mythen weit oben landen würden.
      Das ist ein sehr menschlicher Fehler, aber eben trotzdem ein Fehler.
      Um darüber hinauszukommen, muss man meiner Meinung nach ein Weltmodell aufbauen, Widersprüche finden und neue Evidenz suchen, die diese Widersprüche auflöst.
  • Endlich ist es da.
    Ich sage seit etwa 16 Monaten, dass man sich nicht darauf konzentrieren sollte, einen einzelnen Agenten alles richtig machen zu lassen, sondern Agenten zu schichten; schön, jetzt ein Paper zu haben, auf das man verweisen kann.
    Interessant ist auch, dass die abnehmenden Grenzerträge pro Aufgabe ziemlich schnell bei einer Größenordnung abflachen, die der idealen Größe menschlicher Meetings ähnelt: https://www.researchgate.net/figure/18-Optimal-Meeting-Sizes...
    Ich frage mich, wie nah die Zahlen daran lägen, wenn man die Anzahl der Agenten in feineren Abstufungen getestet hätte.
    Später würde ich auch gern sehen, wie stark die Leistung noch steigt, wenn jeder Agent leicht auf unterschiedliche Ziele feinabgestimmt wird.
    Ich denke, schon unterschiedliche Temperaturwerte pro Agent könnten Leistungsverbesserungen bringen.
    Es freut mich sehr, dass sich die Forschungsgemeinschaft in diese Richtung zu bewegen beginnt.

    • Stimme voll zu.
      Die SLIM agents von LLMWare sind auch sehenswert: https://github.com/llmware-ai/llmware/tree/main/examples/SLI...
      Sie verbinden mehrere lokale LLMs und konzentrieren sich fast genau auf dieses Thema.
      Ein gutes angrenzendes Thema ist auch, dass je nach Einsatzzweck des Modells deterministisches Sampling nötig ist.
      Der Begriff ist vielleicht nicht ganz korrekt, aber das Team von LLMWare hat dazu ein gutes zweiteiliges Video gemacht: https://www.youtube.com/watch?v=7oMTGhSKuNY
      Ich denke, spezialisierte kleine LLMs sind der Weg nach vorn.
      Nur zur Klarstellung: Ich habe nichts mit ihnen zu tun, ich halte es einfach für ein wirklich großartiges Projekt.
    • Ich glaube, Menschen funktionieren auch so.
      In unserem Schädel laufen ungefähr 5 oder 8 Versionen von uns selbst herum, und eine davon übernimmt gewissermaßen die Rolle des Supervisors.
    • Ich habe letztes Jahr einige Monate lang mit https://github.com/agi-merge/waggle-dance ein Multi-Agenten-System zur Problemlösung gebaut.
    • Wenn du mit „jeweils leicht auf unterschiedliche Ziele feinabgestimmt“ meinst, ist das dann nicht so etwas wie ein Mixture of Experts?
    • Es ist interessant, dass Forscher Dinge untersuchen, die Leute experimentell schon bauen.
      crewAI ist ein Beispiel dafür.
  • Scheint mit der aktuellen ACM-ByteCast-Episode mit Edward Chang zusammenzuhängen
    In der Episode ist Edward Chang zu Gast, Adjunct Professor am Department of Computer Science der Stanford University: https://learning.acm.org/bytecast/ep50-edward-y-chang
    Wer nicht zuhören will, findet dort auch ein Transkript
    Sein Ansatz besteht darin, mehrere LLMs über ein Diskussionsthema miteinander sprechen zu lassen, während der Mensch die Rolle des Moderators übernimmt, statt des heute üblichen Frage/Antwort-Formats mit einem einzelnen LLM
    Mit denselben Ressourcen soll die endgültige Antwort, zu der mehrere LLMs im Gespräch gelangen, sowohl bei Präzision als auch Genauigkeit deutlich besser sein

    • Dieses Paper scheint zu sagen, dass der Diskussionsteil nicht nötig ist
      Man lässt die LLMs das Problem einfach unabhängig voneinander lösen und wählt dann die populärste Antwort
    • Ich habe etwas Ähnliches in Haskell gebaut
      Ich habe es nicht benchmarked, aber es wirkte ziemlich überzeugend
      Zum Beispiel habe ich jeden Agenten als anderen „Experten“ für ein Teilgebiet der Mathematik definiert: Beweistheoretiker, Experte für abstrakte Algebra usw.
      Es war hilfreich, aber das Signal-Rausch-Verhältnis war hoch, und viele Agenten wiederholten dieselben Punkte
    • Beschreibt das im Grunde so etwas wie crewAI?
  • Bei all dieser Mixture-of-Experts-Forschung gibt es etwas, das mich frustriert hat
    Schon ein zufälliger Einstieg in Algorithmen oder grundlegendes probabilistisches Schließen legt nahe, dass bei einem Temperaturparameter größer als 0 die Strategie, ein LLM N-mal zu befragen und per Mehrheitsentscheid das Ergebnis zu wählen, im Allgemeinen besser abschneiden sollte, als nur einmal zu fragen und dieses Ergebnis zu übernehmen
    Wenn man unterschiedliche LLMs spezialisiert und mischt, dürfte eine zusätzliche Verbesserung möglich sein, und in solchen Fällen könnte man auch mit Temperatur 0 arbeiten
    Oder man kann, wie dieses Paper vorschlägt, die Aufgabe besser in Teilaufgaben zerlegen
    Aber soweit ich sehe, hat niemand diese hypothetischen Gewinne tatsächlich gegenüber einfacher zufälliger Wiederholung quantifiziert
    Insbesondere könnten bestimmte Abstimmungsstrategien oder Mischverfahren, ja sogar bei manchen Modellen so etwas wie MoE, gegenüber naiver Wiederholung strikt schlechter sein
    Ich bin kein LLM-Forscher, eher ein besorgter Bürger, daher übersehe ich vielleicht etwas
    Trotzdem wirkt es seltsam, als hätten LLM-Forscher das erste Kapitel von Motwani/Raghavan vergessen

    • Es scheint einen Unterschied zu geben zwischen der Auswahl des besten Tokens aus zufällig gewählten Tokens und der Auswahl des besten Strings aus zufällig gewählten Token-Strings
  • Wenn man die Grafiken grob betrachtet, scheint der Großteil des Gewinns bei 10 Agenten zu entstehen, mit einem kleinen zusätzlichen Zuwachs bei 20 und danach abnehmendem Grenznutzen
    Nur mehr Agenten hinzuzufügen, wird das Problem wohl nicht lösen

  • Es gibt ein öffentliches Repository: https://anonymous.4open.science/r/more_agent_is_all_you_need...
    Die für die Benchmarks verwendeten Prompts sind hier: https://anonymous.4open.science/r/more_agent_is_all_you_need...
    Sehr interessant
    Ich würde auch gern Benchmarks für LLM-basierte Agenten sehen, die in dieser Art arbeiten, aber Toolsets verwenden

  • Ist das nicht ein extrem teurer und nicht nachhaltiger Ansatz?
    Ich stimme der Stimmung zu, dass bei neueren Modellen wahrscheinlich abnehmender Grenznutzen einsetzt und dass MoE der Weg nach vorn ist
    Aber steigt der Rechenaufwand für einen einzelnen Prompt dadurch nicht plötzlich um 7–15x?

    • GPT-4 ist 20-mal teurer als GPT-3.5, aber wenn 10 Läufe von GPT-3.5 reichen, um eine ähnliche Antwortqualität zu bekommen, lohnt es sich vielleicht trotzdem, zumal es wahrscheinlich sogar schneller ist
    • „Alles, was man braucht, ist eine sechsstellige OpenAI-Rechnung“
    • Auch der Verbrauch nicht erneuerbarer Ressourcen und die Emissionen steigen um 7–15x
    • Und was genau soll daran das Problem sein? GPUs leiden nun wirklich nicht unter Rechenmangel
    • Genau, man muss sich nur die Preise von GPT-3.5 und GPT-4 ansehen
  • Wenn man nur die paar aktuellen Top-Kommentare liest, wirkt das Geschäftsmodell von Firmen, die LLM-Dienste anbieten, irgendwie bizarr
    Wie ein Fahrdienst, den man n-mal rufen muss, um von A nach B zu kommen, oder ein Waschmittel, das man n-mal auftragen muss, damit die Kleidung „vielleicht“ sauber wird
    Wenn ein Unternehmen gegen Geld „künstliche Intelligenz“ anbietet, wäre es dann nicht sinnvoll, nur für richtige Antworten zu zahlen?
    Wenn man einen Fahrdienst anbietet, sollte man dann nicht erst zahlen, wenn man am Ziel angekommen ist?

    • Stimme zu
      Wenn es oft genug scheitert, wird die Schwelle, ab der Menschen oder allgemeine traditionelle Automatisierung besser sind, doch ziemlich niedrig, oder?
      Ich glaube, so wird diese Blase platzen
      Ich habe keinen Zweifel daran, dass LLMs bahnbrechende Werkzeuge sind, aber abgesehen von sehr eng umrissenen Anwendungen bin ich ehrlich gesagt skeptisch
      Vielleicht ist die Lehre daraus, dass die Verteilung der Verantwortung auf LLM-Agenten demselben Fehlermodell folgt wie in bestehenden menschlichen Organisationen
    • Unternehmen bieten in der Regel eine Dienstleistung oder ein Produkt an
      Wenn sie das Vereinbarte nicht liefern, kann der Kunde Nachbesserung verlangen
      Wenn ein Taxifahrer eine unnötig komplizierte Route nimmt, zu viel berechnet oder einen nicht ans Ziel bringt, kann man sich beim Taxiunternehmen beschweren
      Wenn die Wäsche nicht richtig sauber wurde, verlangt man, dass sie noch einmal gewaschen wird
      Aber viele Tätigkeiten sind ihrem Wesen nach riskant oder mit unsicherem Ausgang verbunden
      Denn es gibt immer Faktoren, die niemand kontrollieren kann
      Ein Anwalt kann nicht versprechen, einen Prozess zu gewinnen, muss aber den Fall nach bestem Wissen vertreten
      Ein Arzt garantiert nicht, dass man wieder gesund wird
      Kein Taxifahrer garantiert, pünktlich am Ziel anzukommen, aber er bringt einen immerhin dorthin
      Atlassian garantiert durch die Nutzung einer gemanagten JIRA-Instanz auch nicht, dass man Release-Termine einhält, bemüht sich aber nach Kräften, Datenverlust zu verhindern
      Im Grunde werden Unternehmen, die Zugang zu Chatbots verkaufen, wohl ebenfalls keine korrekten Ergebnisse garantieren
      Wahrscheinlich können sie höchstens Verfügbarkeit zusichern
    • Als Gegenargument: Die Vorhersagen des National Weather Service sind auch nicht immer richtig, aber man bezahlt den NWS nicht nur an den Tagen, an denen die Vorhersage stimmt
  • Selbst ein noch so großes Ensemble aus GPT-3.5-Agenten ist weniger genau als ein einziger GPT-4-Aufruf

    • Das Lustige ist, dass GPT-4 im Grunde ein Haufen GPT-3.5s ist
      Man muss sie nur richtig zusammensetzen