Feinabstimmung des großen Open-Source-Sprachmodells
Dieser Ansatz beinhaltet die Feinabstimmung eines großen Open-Source-Sprachmodells wie Llama2 auf dem Korpus des Kunden. Das fein abgestimmte Modell ist in der Lage, das domänenspezifische Wissen des Kunden zu assimilieren und zu verstehen, um relevante Fragen ohne zusätzlichen Kontext zu beantworten. Es ist jedoch anzumerken, dass die Korpora vieler Kunden einen begrenzten Umfang haben und oft grammatikalische Fehler enthalten. Dies kann eine Herausforderung für die Feinabstimmung großer Sprachmodelle darstellen. Es wurden jedoch ermutigende Ergebnisse bei der Verwendung des feinabgestimmten großen Sprachmodells in den nachfolgend erörterten Retrieval-gestützten Generierungstechniken beobachtet.
Suche Verbesserte Generation
Die zweite Möglichkeit, dieses Problem zu lösen, besteht darin, die erweiterte Generation abzurufen (RAG). Bei diesem Ansatz werden die Daten zunächst in Stücke zerlegt und dann in einer Vektordatenbank gespeichert. Bei der Beantwortung einer Frage ruft das System die relevantesten Datenstücke auf der Grundlage der Anfrage ab und leitet sie an das große Sprachmodell weiter, um die Antwort zu generieren. Derzeit gibt es im Internet eine Reihe von Open-Source-Technologielösungen, die große Sprachmodelle, Vektorspeicher und Orchestrierungs-Frameworks kombinieren. Ein Schema einer Lösung, die die RAG-Technologie nutzt, ist unten abgebildet.
Es gibt jedoch einige Herausforderungen bei der Erstellung einer Lösung mit dem oben genannten Ansatz. Die Leistung der Lösung hängt von einer Reihe von Faktoren ab, wie z. B. der Größe der Textabschnitte, dem Grad der Überlappung zwischen den Abschnitten, der Einbettungstechnik usw., und es obliegt dem Benutzer, die optimalen Einstellungen für jeden dieser Faktoren zu bestimmen. Nachstehend sind einige der wichtigsten Faktoren aufgeführt, die die Leistung beeinflussen können:
Größe des Dokumentenstücks
Wie bereits erwähnt, ist die Kontextlänge eines großen Sprachmodells begrenzt, so dass das Dokument in kleinere Stücke unterteilt werden muss. Die Größe der Chunks ist jedoch entscheidend für die Leistung der Lösung. Zu kleine Chunks können keine Fragen beantworten, die eine Analyse von Informationen über mehrere Passagen hinweg erfordern, während zu große Chunks schnell die Kontextlänge aufbrauchen, was zu weniger Chunks führt, die verarbeitet werden können. Darüber hinaus bestimmt die Größe der Chunks zusammen mit der Einbettungstechnik die Relevanz der abgerufenen Chunks für die Frage.
Überschneidung zwischen benachbarten Chunks
Chunking erfordert eine angemessene Überlappung, um sicherzustellen, dass die Informationen nicht starr abgeschnitten werden. Im Idealfall sollte sichergestellt werden, dass der gesamte für die Beantwortung einer Frage erforderliche Kontext in mindestens einem Chunk vollständig vorhanden ist. Eine zu große Überschneidung löst zwar dieses Problem, kann aber auch eine neue Herausforderung darstellen: mehrere sich überschneidende Chunks mit ähnlichen Informationen, was zu Suchergebnissen mit doppeltem Inhalt führt.
Eingebettete Technologie
Einbettungstechniken sind Algorithmen, die Textabschnitte in Vektoren umwandeln, die anschließend in einem Dokumentensuchgerät gespeichert werden. Die für die Einbettung von Chunks und Fragen verwendete Technik bestimmt die Relevanz der abgerufenen Chunks für die Frage, was sich wiederum auf die Qualität der für das Big Language Model bereitgestellten Inhalte auswirkt.
Dokumenten-Finder
Ein Dokumenten-Retriever (auch Vektorspeicher genannt) ist eine Datenbank zur Speicherung eingebetteter Vektoren und zum schnellen Abruf derselben. Die Algorithmen, die zum Abgleich der nächsten Nachbarn im Retriever verwendet werden (z. B. Punktprodukt, Kosinusähnlichkeit), bestimmen die Relevanz der abgerufenen Chunks. Darüber hinaus sollten Dokumentenabrufsysteme horizontal skalierbar sein, um große Wissensdatenbanken zu unterstützen.
Makrolanguage-Modell
Die Wahl des richtigen großen Sprachmodells ist eine Schlüsselkomponente der Lösung. Die Wahl des besten Modells hängt von mehreren Faktoren ab, darunter die Merkmale des Datensatzes und die anderen oben genannten Faktoren. Um die Lösung zu optimieren, empfiehlt es sich, verschiedene Big-Language-Modelle auszuprobieren und zu ermitteln, welches die besten Ergebnisse liefert. Während einige Organisationen diesen Ansatz gerne wählen, könnten andere dadurch eingeschränkt sein, dass sie nicht in der Lage sind, GPT4, Palm oder Claude Abacus.AI bietet eine Vielzahl von Optionen für große Sprachmodelle, darunter GPT3.5, GPT4, Palm, Azure OpenAI, Claude, Llama2 und Abacus.AIs eigene Modelle. Darüber hinaus hat Abacus.AI die Möglichkeit, das große Sprachmodell auf Benutzerdaten abzustimmen und es für Retrieval-unterstützte Generierungstechniken zu verwenden und so die Vorteile beider zu nutzen.
Anzahl der Chunks
Einige Fragen erfordern Informationen aus verschiedenen Teilen des Dokuments oder sogar aus verschiedenen Dokumenten. Die Beantwortung einer Frage wie "Listen Sie einige Filme auf, in denen wilde Tiere vorkommen" erfordert Clips oder Teile aus verschiedenen Filmen. Es kann vorkommen, dass die relevantesten Abschnitte bei der Vektorsuche nicht ganz oben erscheinen. In diesen Fällen ist es wichtig, dem großen Sprachmodell mehrere Datenabschnitte für die Auswertung und die Generierung von Antworten zur Verfügung zu stellen.
Die Anpassung jedes dieser Parameter erfordert einen erheblichen Aufwand für den Benutzer und ist mit einem langwierigen manuellen Bewertungsprozess verbunden.
Abacus.AI-Lösungen
Um dieses Problem zu lösen, hat Abacus.AI einen innovativen Ansatz gewählt, um seinen Benutzern AutoML-Funktionen zur Verfügung zu stellen. Dieser Ansatz durchläuft automatisch verschiedene Kombinationen von Parametern, einschließlich der Feinabstimmung des großen Sprachmodells, um die beste Kombination für einen bestimmten Anwendungsfall zu finden. Zusätzlich zu der vom Benutzer bereitgestellten Dokumentation ist ein Evaluierungsdatensatz erforderlich, der eine Reihe von Fragen und entsprechende manuell geschriebene Standardantworten enthält, die Abacus.AI verwendet, um die von verschiedenen Parameterkombinationen erzeugten Antworten zu vergleichen und so die optimale Konfiguration zu ermitteln.
Abacus.AI generiert die folgenden Bewertungsmetriken, und der Benutzer kann die von ihm bevorzugten Metriken auswählen, um zu bestimmen, welche Kombination am besten abschneidet.
BLEU-Punktzahl
Die BLEU-Bewertung (Bilingual Evaluation of Alternatives) ist ein häufig verwendetes automatisiertes Bewertungsverfahren, das in erster Linie zur Beurteilung der Qualität von maschinellen Übersetzungen eingesetzt wird. Er soll ein quantitatives Maß für die Übersetzungsqualität liefern, das in hohem Maße mit menschlichen Bewertungen korreliert.
Die BLEU-Punktzahl ergibt sich aus dem Vergleich einer Kandidatenübersetzung (die von der Maschine ausgegebene Übersetzung) mit einer oder mehreren Referenzübersetzungen (von Menschen erstellte Übersetzungen) und der Berechnung des Grades der n-Gramm-Überschneidung zwischen den Kandidaten- und Referenzübersetzungen. Konkret wird bewertet, inwieweit die n-Gramme (d. h. Sequenzen von n Wörtern) in den Kandidatenübersetzungen mit denen in den Referenzübersetzungen übereinstimmen.
METEOR-Punktzahl
METEOR (Metrics for Evaluating Explicitly Ordered Translations) ist eine weitere automatische Bewertungsmethode, die häufig zur Beurteilung der Qualität von maschinellen Übersetzungen verwendet wird. Sie wurde entwickelt, um einige der Unzulänglichkeiten anderer Bewertungsmetriken wie BLEU auszugleichen, insbesondere durch die Einführung eines expliziten Wortreihenfolgeabgleichs und die Berücksichtigung von Synonymen und Prosodie.
BERT-Punktzahl
Die BERT-Punktzahl ist ein automatischer Bewertungsmaßstab, mit dem die Qualität der Texterstellung beurteilt werden kann. Die Punktzahl wird durch Berechnung der Ähnlichkeit zwischen jedem Token in den Kandidaten- und Referenzsätzen ermittelt. Im Gegensatz zum exakten Abgleich verwendet diese Metrik die kontextuelle Einbettung, um die Ähnlichkeit der Token zu bestimmen.
ROUGE-Punktzahl
Die ROUGE-Bewertungen (Recall-Oriented Alternatives for Summary Evaluation) sind eine Reihe automatischer Bewertungsmetriken, die häufig in der Verarbeitung natürlicher Sprache und der Textzusammenfassung verwendet werden. Ursprünglich wurden diese Metriken entwickelt, um die Qualität von Textzusammenfassungssystemen zu bewerten, aber sie werden inzwischen auch in anderen Bereichen wie der maschinellen Übersetzung und der Texterzeugung eingesetzt.
Der ROUGE-Score misst die Qualität des generierten Textes (z. B. einer Zusammenfassung oder Übersetzung), indem er mit einem oder mehreren Referenztexten (in der Regel von Menschen erstellte Zusammenfassungen oder Übersetzungen) verglichen wird. Er misst in erster Linie den Grad der Überschneidung der n-Gramme (d. h. der Abfolge von n Wörtern) und Wortfolgen zwischen dem Kandidatentext und dem Referenztext.
Jede dieser Bewertungen reicht von 0 bis 1, wobei höhere Werte eine bessere Modellleistung anzeigen. Mit Abacus.AI können Sie mehrere Modelle und Metriken ausprobieren, um schnell das Modell zu finden, das für Ihre Daten und Ihre spezifische Anwendung am besten geeignet ist.