Heim > Artikel > Technologie-Peripheriegeräte > HuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellen
Bevor es GPT-4o von OpenAI gab und später die Erfolgsserie Advanced Multi-Modal Large Models auf den Markt kam.
Andere Praktizierende waren schockiert und begannen darüber nachzudenken, wie sie diese Supermodels wieder einholen könnten.
In diesem Artikel von HuggingFace und der Sorbonne-Universität in Frankreich fassten sie die wichtigsten Erfahrungen beim Aufbau großer visueller Modelle zusammen und zeigten Entwicklern einen Weg auf.
Bilder
Diese Erfahrungen decken viele Aspekte ab, wie z. B. die Auswahl der Modellarchitektur, Trainingsmethoden, Trainingsdaten usw. Der Autor gab nach mehreren Vergleichen eine detaillierte Zusammenfassung:
Man kann sagen, dass HF auf der Grundlage dieser Erfahrungen Idefics2 erstellen konnte, ein visuelles SOTA-Modell im gleichen Maßstab.
Idefics2 basiert auf Mistral-7B. Es hat ein Gesamtparametervolumen von 8B und kann handgeschriebene Schriftarten genau erkennen.
Bilder
Dies ist eine gute Rezension von Fachleuten, die sagen, dass dies ein guter Umfragebericht ist und für Entwickler visueller Modelle sehr hilfreich ist, gleichzeitig aber auch daran erinnert wird, ihn nicht als Allheilmittel zu betrachten .
Bilder
Natürlich scherzen manche Leute, dass alle Architekturdaten nur eine Cloud seien und eine GPU das Wichtigste sei.
Bilder
Da ist etwas Wahres dran, aber Spaß beiseite, werfen wir einen Blick auf die Erfahrungen, die HuggingFace uns beschert hat.
Diese Erfahrungen im HuggingFace-Paper stammen aus dem Entwicklungsprozess des visuellen Modells Idefics2.
Verglichen mit der Vorgängergeneration Idefics1 und Flamingo, dem gleichen Maßstab ex-SOTA, schneidet Idefics2 bei mehreren Datensätzen gut ab und übertrifft sogar das größere 13B-Modell.
Gleichzeitig verbraucht Idefics2 im Vergleich zu MM1, das im COCO-Datensatz etwas besser ist als Idefics2, deutlich weniger Token für jedes Bild.
Bilder
Aus der tatsächlichen Entwicklung von Idefics2 umfasst die Erfahrung, die HuggingFace uns bringt, mindestens die folgenden Aspekte:
Aktuelle große visuelle Modelle werden hauptsächlich in Form eines Sprachmodells + eines visuellen Encoders entwickelt. Der Autor hat die Auswirkungen der beiden auf die Gesamtleistung separat bewertet.
Die Ergebnisse zeigen, dass die Qualität des Sprachmodells wichtiger ist als die des visuellen Modells.
Bei gleicher Anzahl von Parametern kann die Verwendung eines besseren Sprachmodells (z. B. das Ersetzen von Llama-7B durch Mistral-7B) die Leistung großer visueller Modelle bei nachgelagerten Aufgaben erheblich verbessern.
Die Verbesserung durch die Aktualisierung des visuellen Encoders ist relativ begrenzt. Der beste Weg, Kompromisse einzugehen, besteht daher darin, stärkeren Sprachmodellen Vorrang einzuräumen.
Bilder
Dies bedeutet natürlich nicht, dass ein Upgrade des visuellen Encoders keine Auswirkungen hat. Wenn die Bedingungen es zulassen, kann die Wahl eines besseren visuellen Encoders auch zu bestimmten Leistungsverbesserungen führen.
Außerdem sollte darauf geachtet werden, dass die Auswahl den nachgelagerten Aufgaben entspricht. Beispielsweise sollte bei Texterkennungsaufgaben ein visueller Encoder verwendet werden, der eine variable Auflösung unterstützt. Wenn die Aufgabe eine hohe Inferenzgeschwindigkeit erfordert, kann ein leichteres Modell verwendet werden ausgewählt werden.
Und in praktischen Anwendungen sind auch Inferenzgeschwindigkeit und Speichernutzung Faktoren, die abgewogen werden müssen. Der von Idefics2 ausgewählte SigLIP-SO400M hat eine gute Balance zwischen Leistung und Effizienz erreicht.
In Bezug auf die Wahl der Architektur werden in diesem Artikel die beiden häufigsten Architekturtypen besprochen: vollständig autoregressiv und kreuzweise.
Die vollständig autoregressive Architektur generiert jede Ausgabe auf autoregressive Weise und berücksichtigt dabei die Abhängigkeiten der gesamten Sequenz.
Letzteres ermöglicht es dem Modell, sich bei der Verarbeitung einer Modalität dynamisch auf verschiedene Teile einer anderen Modalität zu konzentrieren und so eine flexiblere Interaktion zwischen ihnen zu erreichen Modalitäten.
In konkreten Arbeiten stellte der Autor fest, dass die bessere Leistung der Architektur davon abhängt, ob das vorab trainierte Backbone eingefroren ist.
(Einfach ausgedrückt: Wenn das vorab trainierte Rückgrat am formellen Trainingsprozess teilnimmt, ist es nicht eingefroren, und wenn es nicht teilnimmt, ist es eingefroren.)
Wenn es nicht eingefroren ist, ist die Leistung vollständig autoregressiv Architektur ist besser, und umgekehrt ist die Cross-Attention-Architektur besser gut.
Bilder
Ob das Backbone eingefroren werden muss, hängt vom Schwerpunkt der Anforderungen des Entwicklers ab.
Wenn Sie bei begrenzten Ressourcen eine hohe Leistung benötigen und sehr empfindlich auf Latenz reagieren, ist das Einfrieren besser geeignet.
Wenn Sie eine höhere Flexibilität und Anpassungsfähigkeit des Modells wünschen, sollten Sie die nicht einfrierende Trainingsmethode wählen.
Speziell für Idefics2 haben wir uns dafür entschieden, das Backbone nicht einzufrieren, und haben daher eine vollständig autoregressive Architektur übernommen.
Bilder
Während des Trainingsprozesses von Idefics2 ist die Auswahl der geeigneten Architektur wichtig. Der Autor hat diese Erfahrungen als Referenz zusammengefasst:
Der erste besteht darin, als Ganzes eine abgestufte Pre-Training-Strategie zu übernehmen, in der Anfangsphase Bilder mit niedrigerer Auflösung zu verwenden und dann PDF-Dokumente mit höherer Auflösung einzuführen. Dieser Ansatz kann schrittweise die vielfältigen Funktionen des Modells aufbauen.
Die zweite besteht darin, Learned Pooling zu verwenden, anstatt Bildfunktionen direkt in das Sprachmodell einzuspeisen, was die Anzahl der Bildtoken erheblich reduzieren, die Trainings- und Inferenzeffizienz erheblich verbessern und auch Leistungsverbesserungen bewirken kann.
Die dritte Methode besteht darin, das Bild in mehrere Teilbilder aufzuteilen und diese während des Trainings an das Modell zu senden. Dies ist besonders effektiv bei Aufgaben wie der Texterkennung , aber das ist nicht der Fall. Alle Bilder müssen auf diese Weise behandelt werden.
Viertens kann die Verwendung vielfältigerer Daten und Aufgaben in der Feinabstimmungsphase der Anweisungen die Verallgemeinerung und Robustheit des Modells verbessern.
Um das Training zu stabilisieren, verwendet der Autor außerdem die LoRA-Technologie, um die Parameter vor dem Training anzupassen, wenn das vorab trainierte Single-Modal-Backbone am Training teilnimmt (nicht eingefroren).
Neben dem Trainingsprozess selbst haben auch die ausgewählten Daten einen erheblichen Einfluss auf die Leistung des Modells.
Von Beginn der Erfassungsphase an sollte auf die Auswahl mehrerer Datentypen geachtet werden. Die von Idefics2 verwendeten Daten umfassen beispielsweise drei Kategorien – Dokumente mit Bild- und Textausrichtung (z. B. Webseiten), Bild-Text-Paare (z. B. Bildtitel) und PDF-Dokumente mit OCR-Anmerkung.
Auch die Anteile verschiedener Datentypen sollten entsprechend den tatsächlichen Bedürfnissen angemessen ausgewogen sein und nicht einfach in gleiche Teile aufgeteilt werden.
Was die Datengröße betrifft, gilt: je mehr, desto besser, sofern die Bedingungen dies zulassen. Natürlich sollte darauf geachtet werden, Daten von geringer Qualität herauszufiltern.
Natürlich ist die Erfassung nur ein Schritt, um Trainingsdaten zu erhalten. Wenn Sie das Modell gut trainieren möchten, ist eine bestimmte Verarbeitung erforderlich.
Verwenden Sie unterschiedliche Vorverarbeitungs- und Verbesserungsstrategien für verschiedene Datentypen. Beispielsweise ist es für OCR-Daten erforderlich, Bilder mit höherer Auflösung zu verwenden, während andere Daten eine niedrigere Auflösung verwenden können.
Es ist zu beachten, dass bei der Verarbeitung von Bildern das ursprüngliche Seitenverhältnis und die ursprüngliche Auflösung beibehalten werden sollten, was den Rechenaufwand für Training und Inferenz erheblich einsparen und gleichzeitig die Anpassungsfähigkeit des Modells verbessern kann.
Wenn Sie der Meinung sind, dass diese Erfahrungen Sie inspiriert haben, können Sie das Originalpapier für weitere Details lesen. Sie können Ihre Entwicklungserfahrungen auch gerne im Kommentarbereich teilen.
Papieradresse: https://www.php.cn/link/52c8b8d56837155b4870fc2658b676f0
Das obige ist der detaillierte Inhalt vonHuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!