Heim >Technologie-Peripheriegeräte >KI >Semantisch komprimieren Text, um LLM -Kosten zu sparen
Eine Zusammenfassung der KI-Kommentare zur Verarbeitung von ultra langer Text: Ein Multi-Channel-Ansatz basierend auf hierarchischen Clustering
ursprünglich am 28. Oktober 2024, Bazaarvoice Developer Blog
veröffentlichtEinführung
Große Sprachmodelle (LLMs) sind leistungsstarke Tools zum Umgang mit unstrukturiertem Text. Was ist jedoch, wenn Ihr Text die Einschränkungen des Kontextfensters überschreitet? Bazaarvoice steht vor dieser Herausforderung beim Erstellen seiner Zusammenfassung der KI -Überprüfung: Millionen von Benutzerbewertungen können einfach nicht in das Kontextfenster des neuesten LLM passen, und selbst wenn sie berücksichtigt werden können, sind die Kosten unerschwinglich.
In diesem Artikel wird teilen, wie Bazaarvoice dieses Problem löst, indem er Eingabetxt komprimiert (ohne Semantik zu verlieren). Insbesondere haben wir einen hierarchischen Clustering-Ansatz mit mehreren Channel verwendet, mit dem wir das Detailniveau, das wir im Austausch gegen Komprimierung verlieren möchten, unabhängig vom ausgewählten Einbettungsmodell explizit anpassen können. Die ultimative Technologie macht unsere Überprüfungsfunktionalität wirtschaftlich tragfähig und bildet die Grundlage für die künftige Geschäftsausdehnung.
FrageBazaarvoice sammelt seit fast 20 Jahren benutzergenerierte Produktbewertungen, sodass wir eine große Datenmenge haben. Diese Produktbewertungen sind vollständig unstrukturiert, mit unterschiedlichen Längen und Inhalten. Großsprachige Modelle sind ideal für die Verarbeitung unstrukturierter Text: Sie können unstrukturierte Daten verarbeiten und relevante Informationen unter Distraktoren identifizieren.
LLM hat jedoch auch seine Einschränkungen, von denen eines das Kontextfenster ist: die Anzahl der Tags (ungefähr die Anzahl der Wörter), die gleichzeitig eingegeben werden können. Hochsprachige Großsprachmodelle wie Claude Version 3 von Anthropic haben ein übergroßes Kontextfenster mit bis zu 200.000 Markierungen. Dies bedeutet, dass Sie kleine Romane einfügen können, aber das Internet ist immer noch eine riesige und wachsende Datensammlung, und unsere von Benutzer erstellten Produktbewertungen sind keine Ausnahme.
Wir haben im Kontextfenster Einschränkungen beim Erstellen unserer Überprüfungsfunktion gestoßen (Zusammenfassung aller Bewertungen für bestimmte Produkte auf der Website des Kunden). In den letzten 20 Jahren haben viele Produkte jedoch Tausende von Bewertungen angesammelt, die das LLM -Kontextfenster schnell überladen haben. Tatsächlich haben wir sogar einige Produkte mit Millionen von Bewertungen, bei denen eine enorme Neugestaltung des LLM in einer Aufforderung behandelt werden muss.
Auch wenn sie technisch machbar sind, können die Kosten sehr hoch sein. Alle LLM -Anbieter werden basierend auf der Anzahl der Eingangs- und Ausgangsmarker berechnet. Wenn Sie sich der Kontextfenstergrenze für jedes Produkt nähern (wir haben Millionen von Produkten), überschreiten unsere Cloud -Hosting -Rechnungen schnell sechs Zahlen.
Unsere Methode
Um diese technischen und wirtschaftlichen Einschränkungen zu überwinden, um eine Überprüfungszusammenfassung zu veröffentlichen, haben wir uns auf einen ziemlich einfachen Einblick in unsere Daten konzentriert: Viele Kommentare geben die gleiche Bedeutung aus. Tatsächlich hängt das gesamte Konzept der Zusammenfassung davon ab: Eine Überprüfung Zusammenfassung erfasst die wiederkehrenden Erkenntnisse, Themen und Emotionen des Kommentators. Wir haben festgestellt, dass wir diese Datenverdoppelung verwenden könnten, um die Menge an Text zu verringern, die an die LLM gesendet werden muss, um zu vermeiden, dass die Kontextfensterbeschränkungen erfüllt werden und die Betriebskosten unseres Systems gesenkt werden. Um dies zu tun, müssen wir Textfragmente identifizieren, die die gleiche Bedeutung ausdrücken. Eine solche Aufgabe ist leichter gesagt als getan: Menschen verwenden oft unterschiedliche Wörter oder Phrasen, um die gleiche Bedeutung auszudrücken.
Zum Glück war die Erkenntnis, ob die Semantik des Textes ähnlich ist, immer ein aktiver Forschungsgebiet im Bereich der Verarbeitung natürlicher Sprache. Die Arbeiten von Agirre et al. Im Jahr 2013 (
SEM 2013 Shared Task: Semantic Text-Ähnlichkeit. Auf der zweiten gemeinsamen Konferenz über Vokabular- und Rechensemantik) veröffentlichte sogar Daten zu einer Reihe von semantischen, semantischen, semantischen Sätzen, die von Human markiert sind. STS -Benchmark genannt. Darin bitten sie die Leute, anzugeben, ob Textsätze semantisch ähnlich oder unterschiedlich sind, basierend auf Rängen von 1-5, wie in der folgenden Tabelle gezeigt (von Cer et al., Semeval-2017 Aufgabe 1: Semantische Text Ähnlichkeit Mehrsprachiger und Cross-Language Focus Assessment ):
STS-Benchmark-Datensätze werden üblicherweise verwendet, um die Fähigkeit von Texteinbettungsmodellen zu bewerten, um semantische ähnliche Sätze in ihrem hochdimensionalen Raum zu korrelieren. Insbesondere wird die Pearson -Korrelation verwendet, um das Ausmaß zu messen, in dem das eingebettete Modell das menschliche Urteilsvermögen darstellt.
Daher können wir ein solches Einbettungsmodell verwenden, um semantische ähnliche Phrasen in Produktbewertungen zu identifizieren und dann doppelte Phrasen zu löschen, bevor sie an die LLM gesendet werden.
Unsere Methode ist wie folgt:
Teilen Sie zunächst die Produktüberprüfung in Sätze.
Einbettungsmodellbewertung
Zuallererst müssen wir sicherstellen, dass das Modell, das wir effektiv in Räume einbetten, in denen semantische ähnliche Sätze nicht semantisch sind, und semantische verschiedene Sätze weit weg. Dazu verwenden wir einfach den STS -Benchmark -Datensatz und berechnen die Pearson -Korrelation des Modells, das wir berücksichtigen möchten. Wir verwenden AWS als Cloud -Anbieter, daher möchten wir natürlich sein Titan -Texteinbettungsmodell bewerten.
Die folgende Tabelle zeigt die Pearson -Korrelationen verschiedener Titan -Einbettungsmodelle für STS -Benchmarks:
Daher ist AWS 'Einbettungsmodell hervorragend bei der Einbettung von Sätzen in ähnliche Semantik. Dies sind gute Nachrichten für uns - wir können diese Modelle direkt verwenden und sie sind äußerst billig.
semantische Ähnlichkeitscluster
Die nächste Herausforderung, mit der wir stehen, ist: Wie können Sie die semantische Ähnlichkeit während des Clustering durchsetzen? Im Idealfall hat kein Cluster eine niedrigere semantische Ähnlichkeit, als Menschen akzeptieren können - die Punktzahl in der obigen Tabelle beträgt 4. Diese Fraktionen können jedoch nicht direkt in die Einbettungsentfernungen umgewandelt werden, was für die hierarchische Clustering -Schwelle für die Aggregation erforderlich ist.
Um dieses Problem zu lösen, wenden wir uns erneut dem STS -Benchmark -Datensatz zu. Wir berechnen die Entfernungen für alle Paare im Trainingsdatensatz und passen das Polynom an den Abstandsschwellenwert entsprechend der Fraktion.
Dieses Polynom ermöglicht es uns, den Abstandsschwellenwert zu berechnen, der zur Erfüllung eines semantischen Ähnlichkeitsziels erforderlich ist. Für die Zusammenfassung der Kommentare haben wir 3,5 Punkte ausgewählt, so dass fast alle Cluster Sätze enthalten, die „ungefähr“ zu „am meisten“ entsprechen.
Es ist erwähnenswert, dass dies in jedem eingebetteten Netzwerk erfolgen kann. Dies ermöglicht es uns, mit dem Aufkommen neu eingebetteter Netzwerke zu experimentieren und sie bei Bedarf schnell zu ersetzen, ohne sich Sorgen zu machen, dass der Cluster Sätze mit unterschiedlichen Semantik enthält.
Multi-Channel-Clustering
Bisher wissen wir, dass wir unserer semantischen Komprimierung vertrauen können, aber es ist nicht klar, wie viel Komprimierung wir aus den Daten erhalten können. Wie erwartet variiert die Komprimierung von Produkt, Kunden und Industrie.
in Abwesenheit eines semantischen Informationsverlusts, d. H. Ein harter Schwellenwert von 4, haben wir nur ein Kompressionsverhältnis von 1,18 erreicht (d. H. Eine Platzeinsparung von 15%).
Offensichtlich reicht verlustfreie Komprimierung nicht aus, um diese Funktion wirtschaftlich machbar zu machen.
Die oben diskutierte Distanzauswahlmethode bietet hier jedoch eine interessante Möglichkeit: Wir können den Informationsverlust allmählich erhöhen, indem wir Cluster wiederholt auf den verbleibenden Daten an einem niedrigeren Schwellenwert ausführen.
Die Methode lautet wie folgt:
Daher opfern wir in jedem Clusterkanal mehr Informationsverlust, werden jedoch mehr Komprimierung und verwechseln nicht die verlustfreien repräsentativen Phrasen, die wir im ersten Kanal ausgewählt haben.
Zusätzlich ist dieser Ansatz nicht nur sehr nützlich für die Zusammenfassung der Kommentare (wir hoffen, dass wir auf Kosten einer weniger Komprimierung ein hohes Maß an semantischer Ähnlichkeit erhalten), sondern auch für andere Anwendungsfälle, in denen wir möglicherweise nicht zu besorgt darüber sind. Semantische Informationen gehen verloren, aber hoffentlich kostet es bei sofortigen Input weniger.
In der Praxis gibt es auch nach mehreren Reduzierungen der Bewertungsschwelle immer noch eine große Anzahl von Clustern mit nur einem Vektor. Diese werden als Ausreißer angesehen und zufällig in die endgültige Eingabeaufforderung einbezogen. Wir haben die Stichprobengröße ausgewählt, um sicherzustellen, dass die endgültige Eingabeaufforderung 25.000 Punkte hat, aber nicht mehr.
Gewährleistung der Authentizität
Multi-Channel-Clustering und zufällige Ausreißer-Stichproben ermöglichen das Opfer semantischer Informationen auf Kosten eines kleineren Kontextfensters (an LLM gesendet). Dies wirft die Frage auf: Wie gut ist unsere Zusammenfassung?
Bei Bazaarvoice wissen wir, dass Authentizität eine notwendige Voraussetzung für das Vertrauen der Verbraucher ist und dass unsere Überprüfungszusammenfassung treu bleiben muss, um wirklich alle in den Kommentaren erfassten Sounds darzustellen. Jede verlustige Komprimierungsmethode besteht das Risiko, Verbraucher falsch darzustellen oder auszuschließen, die Zeit damit verbringen, Bewertungen zu schreiben.
Um sicherzustellen, dass unsere Komprimierungstechnologie wirksam ist, haben wir dies direkt gemessen. Insbesondere für jedes Produkt haben wir einige Bewertungen übernommen und dann LLM Evals verwendet, um festzustellen, ob die Zusammenfassung repräsentativ und für jede Überprüfung relevant ist. Dies bietet uns eine harte Metrik, um unsere Komprimierung zu bewerten und auszugleichen.
Ergebnis
In den letzten 20 Jahren haben wir fast 1 Milliarde vom Benutzer erstellte Kommentare gesammelt und müssen eine Zusammenfassung für zig Millionen von Produkten erstellen. Viele dieser Produkte haben Tausende von Bewertungen, einige sogar bis zu Millionen, die das Kontextfenster von LLM entleeren und den Preis erheblich erhöhen können.
Mit unserer obigen Methode haben wir jedoch die Eingangstextgröße um 97,7% reduziert (Komprimierungsverhältnis beträgt 42 ), sodass wir alle Produkte und jede Menge herstellen können In Zukunft erweitert die Anzahl der Kommentare diese Lösung. Darüber hinaus betragen die Kosten für die Erzeugung von Verdauungen für alle unsere milliarden Ebenen Datensätze 82,4%. Dies schließt die Kosten für die Einbettung von Satzdaten und das Speichern in einer Datenbank ein.
Das obige ist der detaillierte Inhalt vonSemantisch komprimieren Text, um LLM -Kosten zu sparen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!