Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  HuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellen

HuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellen

王林
王林Original
2024-06-05 21:39:58927Durchsuche

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.

HuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellenBilder

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:

  • Wenn Sie bei großen visuellen Modellen gute Arbeit leisten möchten, ist die Wahl der Architektur sehr wichtig.
  • Das Sprachmodell hat einen größeren Einfluss auf die Gesamtleistung als das visuelle Modul.
  • Die Einführung einer abgestuften Pre-Training-Strategie ist förderlicher für den Aufbau von Modellfähigkeiten.
  • Trainingsdaten sollten mehrere Typen enthalten und auf die Ausgewogenheit zwischen ihnen achten.

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.

HuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellenBilder

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 .

HuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellenBilder

Natürlich scherzen manche Leute, dass alle Architekturdaten nur eine Cloud seien und eine GPU das Wichtigste sei.

HuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellenBilder

Da ist etwas Wahres dran, aber Spaß beiseite, werfen wir einen Blick auf die Erfahrungen, die HuggingFace uns beschert hat.

Kommt aus der SOTA-Modellentwicklungspraxis

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.

HuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellenBilder

Aus der tatsächlichen Entwicklung von Idefics2 umfasst die Erfahrung, die HuggingFace uns bringt, mindestens die folgenden Aspekte:

  • Auswahl von Backbone und Architektur
  • Trainingsmethoden und -strategien
  • Datenvielfalt und Verarbeitungsstrategie

Das Sprachmodell hat einen größeren Einfluss auf die Gesamtleistung.

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.

HuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellenBilder

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.

Wählen Sie den Architekturtyp entsprechend Ihren Anforderungen.

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.

HuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellenBilder

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.

HuggingFace zeigt Ihnen, wie Sie ein visuelles SOTA-Modell erstellenBilder

Erfahrungen in der Trainingsphase

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).

Datenvielfalt und Verarbeitungsstrategien

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn