OpenAI hat die Spracherkennung gelöst! Wir verstehen, ob dem so ist … / Sudo Null IT News

OpenAI wurde gestern veröffentlicht Flüstert. Tatsächlich haben sie gerade die Gewichte einer Reihe großer (und nicht so) wiederkehrender Transformatoren für die Spracherkennung und einen Artikel veröffentlicht (und vor allem gibt es in dem Artikel kein Wort über Rechenleistung und Ressourcen). Und natürlich begannen bereits gestern und heute Morgen Nachrichten in einer persönlichen Nachricht bei mir einzutrudeln, sie sagen alles, die Spracherkennung ist entschieden, alles ist perfekt und funktioniert schnell, wir zerstreuen uns.

Versuchen wir es unter dem Schnitt herauszufinden. Die kurze Antwort, wenn Sie zu faul zum Lesen sind, lautet für andere Sprachen als Englisch, dass dies höchstwahrscheinlich sehr weit von der Wahrheit entfernt ist (ich habe auf Russisch nachgesehen). Auf Englisch lohnt es sich wahrscheinlich, eine separate und etwas detailliertere Analyse durchzuführen, wenn dieser Artikel mindestens 50 Pluspunkte erhält.

So lass uns gehen!

Geschichte “großer” Gitter in der Spracherkennung

Ehrlich gesagt bin ich zu faul, die ganze Geschichte aus Artikeln und Beispielen zusammenzutragen (das ist mühselige Arbeit für mehrere Tage), aber es war ungefähr so. Zuerst trainierten sie einfach große Gitter nach damaligen Maßstäben auf relativ kleinen Datensätzen auf einer großen Anzahl von Karten. Die Netze waren langsam, wiederkehrend, und das Design der Pipelines und Netze selbst … war nicht auf Effizienz ausgerichtet.

Als dann der Hype um große Textraster vorbei war (und Budgets irgendwo angelegt werden mussten), gab es viele Versuche, Vortraining auf große Audiodaten anzuwenden. Hier ist eine Übersicht Artikel, lesen Sie die Artikel selbst, wenn nicht Faulheit. Unter dem Strich läuft es immer darauf hinaus, dass sie eine Menge Rechenleistung investiert, ein Basismodell erhalten und es signiert haben, bei einem Modelldatensatz wird etwas in eine Art Sparmodus versetzt.

Was in solchen Artikeln natürlich nicht geschrieben wird (weil es nicht cool ist), ist, dass solche Modelle für “nur” Sterbliche bedingt unbrauchbar sind. Zu langsam und schwer in Arbeit und Support (und jede Iteration eines solchen Artikels erscheint alle 1-2 Jahre, was darauf hindeutet). Und wenn Sie eine relativ seltene Sprache erstellen müssen, ist es viel billiger, Markups (mit demselben Modell) zu bootstrappen und am Ausgang ein 100- bis 1000-mal schnelleres normales Modell zu erstellen. Natürlich gibt es virtuelle Gewinne bei Modelldatensätzen.

Parallel dazu gab es viel mehr nützliche und produktbezogene Veranstaltungen zur Sammlung und Veröffentlichung von Datensätzen und im Prinzip einen eher „Produkt“-Ansatz. Ich werde nicht weiter darauf eingehen, warum die Architekturen, auf die sich populäre Artikel konvergierten, nicht ideal sind, aber im Allgemeinen ist dieser Ansatz normal. Grids für die englische Sprache (alle diese Übungen funktionieren wirklich nur dafür) sind im Prinzip sogar akzeptabel, um mit der Recherche zu beginnen.

Auch wenn Sie bedingt glauben, dass “groß angelegtes Vortraining” in irgendeiner Weise hilft, sind alle diese Ansätze in der Phase der Übertragung auf reale Datensätze auseinandergefallen. Trotzdem gibt es keine Verallgemeinerung, es ist notwendig, Daten zu sammeln und zu trainieren. Ja, Sie benötigen möglicherweise weniger Daten, aber es funktioniert immer noch sehr langsam. Und ich wartete weiter darauf, dass OpenAI oder ein aggressiveres Analogon davon auftauchte, und sie sagten, nun, wir haben eine Wagenladung Geld verbrannt und alles für immer entschieden, wir zerstreuen uns.

Lassen Sie uns überprüfen, ob dies so ist, beginnen wir mit dem Guten.

Datensammlung

Um es einfach zu halten, haben sie einfach ALLE Audiodaten im Internet mit Transkripten gesammelt. Prinzipiell stimmt die Auswertungsreihenfolge, wir haben es auch geschafft ca. 100k – 200k Stunden in Englisch zu sammeln (vor diversen Reinigungen ist die Reihenfolge der Anzahl wichtig). Im Russischen stimmt die Reihenfolge der Zahlen auch ungefähr, aber man kann es natürlich viel besser versuchen.

Die Zusammensetzung des Datensatzes

Und hier beginnt das Interessanteste. Natürlich können bei dieser Datenmenge nur rudimentäre Bereinigungen durchgeführt werden (weil OpenAI keine Produktfirma ist). Vollständige Liste in Anhang C am Ende Artikel. Und am wichtigsten ist, dass all diese Säuberungen textuell sind. Im Wesentlichen versuchten die Autoren:

  • Transkripte anderer ASR-Systeme aus dem Datensatz ausschließen;

  • Bringen Sie die Zeichensetzung auf einen gewissen Standard. Eine ernsthafte Normalisierung oder Denormalisierung des Textes wurde nicht durchgeführt. Unter der Haube lernt das seq2seq-Modell alles von selbst;

Wenn Sie näher heranzoomen, können Sie sehen, dass Russisch zu den Top-5-Sprachen im Internet gehört, was etwas kontraintuitiv ist.

Russisch ist hier unter den Top 5Russisch ist hier unter den Top 5Russisch ist in den Top 5 und hierRussisch ist in den Top 5 und hier

Das heißt, theoretisch sollte man auf eine akzeptable Arbeit auf Russisch warten:

Hier stoßen wir sofort auf ein Haar in der Suppe. Schließlich sind FOSS basierend auf den Namen FAIR, OpenAI und andere Altruisten, die für unsere Zukunft kämpfen, sie haben auch den Code für das Training (und nur GAFA-Unternehmen können wiederholen) und alle Datensätze gepostet, oder? In der Praxis ist OpenAI nicht mehr Open, und die jüngste Geschichte mit DALLE-2 / Midjourney / Stable Diffusion verdeutlicht eher den Trend:

  • Zunächst gab es Artikel mit Mathematik ohne Datensätze, Implementierungen und reale Arbeitsbeispiele;

  • Dann blieben die Daten privat und alle Ideen, Codes und Implementierungen wurden öffentlich;

  • Dann kam die Zeit der Bonbonsträuße und vernünftige Datensätze, Pipelines und Codes tauchten auf;

  • Jetzt hört die Anziehungskraft der unerhörten Großzügigkeit auf, und dass der Code für das Training, dass die Datensätze nicht mehr hochgeladen werden, sie laden einfach das Modell hoch, sagen sie, schauen und zittern, Sterbliche;

Ganz bezeichnend ist hier FAIR, was eine Art Standard war. Sie teilten Code, Artikel und praktische Datensätze zur weiteren Verwendung (und feuerten damit offensichtlich die digitale Kluft an). Aber die Spirale ist schon bei ihnen geschwungen.

Wenn der Artikel 50 Pluspunkte erhält, werden wir eine ähnliche Analyse für die englische Sprache durchführen, wo die Qualität viel interessanter sein sollte, und die Autoren versprechen eine Null-Schuss-Qualität auf menschlichem Niveau auf der Ebene von kostenpflichtigen Diensten und offenen Modellen:

In Ordnung, englischsprachige Ledertaschen, zittere!

Die Architektur

Wie in solchen Artikeln üblich, eine ganze Familie von Modellen. Wahrscheinlich ist es nur erwähnenswert, dass dies ein Sequenz-zu-Sequenz-Encoder-Decoder-Transformatormodell ist, ohne große Verringerung der Eingangslänge mit einem ziemlich standardmäßigen Fenster von 25 Millisekunden und einem Schritt von 10 Millisekunden, das mit Audio bei 16 Kilohertz arbeitet. Sie können das Bild unten und den Artikel selbst für weitere Details sehen, alles ist ziemlich klar und Vanille.

großes Bild mit Architektur

Arbeitsgeschwindigkeit und typische Wunden

Und von hier aus beginnt unsere traurige Reise in die Pampa.

Es ist klar, dass ein rekurrentes Sequenz-zu-Sequenz-Modell mit einem Decoder nicht superschnell bei der Inferenz arbeiten kann, nun ja, einfach per Definition.

Ich habe die Geschwindigkeit mehrsprachiger Modelle anhand einer Reihe verständlicher Modelldatensätze gemessen. Anfangs hatte jeder ungefähr eine Stunde Audio, aber aufgrund der langsamen Arbeit der Modelle musste ich 100 Audios für die Messung auswählen. Auf einem großen Modell … auf einem Prozessor … Ich habe nicht einmal gewartet, um ein Beispiel auszuführen!

Die Geschwindigkeit wird wie folgt gemessen. Bedingt werden mit Batch 1 100 Dateien hintereinander eingereicht. Gemessen wird die Länge der Datei in Sekunden und die Bearbeitungszeit. Als Ergebnis wird alles aufsummiert, die Gesamtlänge der Dateien durch die Bearbeitungszeit dividiert und man erhält eine Kennzahl, die die Dimension „Sekunden Audio pro Sekunde“ hat. Die Auslastung dedizierter Prozessor-Threads liegt bei ca. 80-90%, die Auslastung der Karte im Betrieb bei nahezu 100%.

Gerät

Modell

Ressourcen

1/RTF

Chargengröße

VRAM

Zentralprozessor

sehr klein

6 Fäden

1.17

eines

Zentralprozessor

sehr klein

12 Fäden

1.42

eines

Grafikkarte

sehr klein

1080ti

8.72

eines

1,3 G

Grafikkarte

sehr klein

3090

7.46

eines

2,5 G

Grafikkarte

groß

1080ti

1.24

eines

7,6 G

Grafikkarte

groß

3090

2.03

eines

8,8G

Beispiel für eine 1080 Ti-Kartenladetabelle

Was die Autoren zeigen Beispiel nur bei Losgröße 1 deutet sich auch eine Reihe von Nuancen an, die aber eher qualitätsbezogen sind.

Ist eine solche Arbeitsgeschwindigkeit Produkt und akzeptabel? Natürlich bleibt es Ihnen überlassen, sich für Ihren konkreten Anwendungsfall zu entscheiden, aber wenn Sie nur das Erkennungsmodell selbst vergleichen, und nicht das gesamte Bodykit in Form einer Dienstleistung (klar ist, dass hier auch VAD und der Sprachdetektor hineingestopft wurden das Modell), zum Beispiel mit alte Maßstäbe von Silero-Modellen, dann die kleinsten Modelle pro CPU pro 1 Kern (1 Kern = 2 Threads) unterscheiden sich in der Geschwindigkeit … um zwei Größenordnungen. Es ist auch langsam auf der GPU, aber im Prinzip ist es schwierig, irgendwie angemessen zu vergleichen, da unsere aktuellen Modelle geben Hunderte von Sekunden Audio pro Sekunde auf der GPUaber mit Batches.

Und was ist mit der Qualität?

Wiedererkennungsqualität

Beim visuellen Debuggen des einfachsten Codes für Beispieltests habe ich versehentlich geschaut, was das Modell produziert. Und … typisch für Sequenz-zu-Sequenz-Modelle, alle ihre Wunden sind da:

  • Bei kurzen Audios fällt die Qualität stark ab;

  • Halluzinationen in anderen Sprachen;

  • Manchmal beginnt das Modell überhaupt etwas Zufälliges (nicht wie Audio) zu erzeugen;

  • Für andere Sprachen als Englisch gibt es keine Textnormalisierungsregeln als solche; es gibt eine “eigene” zufällige Vision aus;

  • In den Beispielen der Autoren gibt es nur Losgröße 1;

Und jetzt behalten wir den Geschwindigkeitsunterschied von zwei Größenordnungen im Auge und versuchen, die für die Öffentlichkeit am verständlichsten Validierungsdatensätze zu vergleichen. Für unsere Modelle aus der Vergangenheit Veröffentlichungviele dieser Datensätze sind auch wie „Zero-Shot“ (das heißt, wir haben keinen entsprechend großen Trainingsdatensatz).

Es ist wichtig, hier einen Vorbehalt zu machen, dass, da es überhaupt keine Normalisierung gibt, es notwendig ist, alle Audiodaten, bei denen Whisper irgendwelche Zahlen ausgegeben hat, aus dem Sample auszuschließen, sowie Satzzeichen zu bereinigen und zu entfernen, wodurch Whisper einen Vorsprung hat.

Kleine Modelle vergleichen:

flüstern winzig

Silero klein v15

Domain

WIR SIND

WIR SIND

Sprachsynthese

62%

acht%

Öffentlicher Auftritt

86%

vierzehn%

Taxi

70%

vierzehn%

Spalte

75%

fünfzehn%

Nachrichten

80%

fünfzehn%

Radio

76%

achtzehn%

Bücher

81%

zwanzig%

Immobilie

69%

21%

Gerichtssitzung

94%

21%

Spalte weg

66%

26%

Youtube

72%

29%

Lassen Sie uns große Modelle vergleichen und vergleichen (ihr mittleres Modell hat ungefähr die gleiche Größe wie unser xlarge):

flüstern groß

silero xlarge v15

Domain

WIR SIND

WIR SIND

Sprachsynthese

24%

6%

Nachrichten

28%

zehn%

Öffentlicher Auftritt

26%

12%

Spalte

34%

12%

Taxi

36%

13%

Radio

38%

fünfzehn%

Bücher

35%

17%

Spalte weg

23%

achtzehn%

Immobilie

24%

19%

Gerichtssitzung

24%

zwanzig%

Youtube

26%

24%

Auf Russisch ist es also in Bezug auf die Qualität der Offenbarungen vor dem Hintergrund von zwei Größenordnungen “schwereren” Berechnungen nicht nahe.

Ein Eimer Teer und Reservierungen

Der Aufbau des Artikels stellte sich so heraus, dass die Wolken zum Ende hin immer dicker werden. Lassen Sie uns die Dinge etwas auflockern. In Englisch ist die Qualität höchstwahrscheinlich “um ein Vielfaches” besser (sie haben eine Größenordnung mehr Datensätze für Englisch) und hier kann sich die “Enormität” des Modells einschalten (es ist unmöglich zu überprüfen … ob sie hatten ihren gemeldeten Nullschussschacht im Zug). Ich wiederhole, wenn dieser Artikel mindestens 50 Pluspunkte erhält, werde ich eine separate Analyse für die englische Sprache durchführen.

Ehrlich gesagt glaube ich nicht, dass es uns unter den aktuellen Umständen (auch wenn alle Aussagen über Englisch in dem Artikel stimmen, was höchstwahrscheinlich nicht der Fall ist) persönlich in irgendeiner Weise betreffen wird. Ja, es wird ein paar Dutzend Start-ups geben, die sich plötzlich auf Englisch „beschlossen haben, sich anzuerkennen“, und die gleiche Gruppe von Info-Zigeunern, die den Zugang zu diesem Modell mithilfe des Mikrotransaktionsmodells verkaufen.

Denkt man in Kriterien im Sinne von „das sind die Mindestanforderungen, damit so etwas funktioniert und der Artikel wurde deutlich ein, zwei Jahre gesägt“, dann deutet die Unproduktivität des Rasters darauf hin, dass die Ressourcen nicht so gut sind mit großem Nutzen ausgegeben. Es wäre besser, wenn Datensätze für kleine Sprachen gepostet würden xD.

Aber hier ist noch ein anderer, riesig wie ein Elefant in einem Porzellanladen, ein Fass Teer. In den letzten Jahren sind mehrmals Menschen zu uns gekommen, die beträchtliche Zuschüsse aus verschiedenen Budgets (zig Millionen Rubel) für die Digitalisierung und “Kreation” erhalten haben [вставить нужное] software” in einer lokalen Sprache in diesem Bereich.

Vorschläge, den Produktweg zu wiederholen, um ein schnelles und qualitativ hochwertiges System zu erstellen, sind für sie einfach nicht interessant. Sie wollen normalerweise nur “wav2vec 2.0” nehmen, ein einfaches Add-On darüber schreiben und es “auf andere Regionen replizieren”. Das wird die Hände solcher Leute wirklich losbinden und ihnen neue Werkzeuge für diese Art von “Aktivitäten” an die Hand geben. Und am Ende werden weder die Öffentlichkeit noch die Unternehmen noch der Staat etwas Ähnliches wie öffentliche Datensätze oder Produkte erhalten.

Similar Posts

Leave a Reply

Your email address will not be published.