Microsofts Florence-2: Neue Dimensionen im Vision Language Modeling

Kategorien:
No items found.
Freigegeben:
June 26, 2024

Fine-Tuning von Florence-2: Microsofts Fortschritte im Vision Language Modeling

Einführung


       Die Entwicklung von Vision Language Models (VLM) hat große Fortschritte gemacht, und Microsofts neuestes Modell, Florence-2, ist ein bemerkenswerter Schritt in dieser Richtung. Florence-2 ist ein Vision Language Model, das speziell für Aufgaben der visuellen Fragebeantwortung (DocVQA) optimiert wurde. Vor kurzem wurde eine beeindruckende Feinabstimmung erreicht, die das Modell von einem anfänglichen Ähnlichkeitswert von 0 auf 57.0 auf der Validierungsmenge verbessert hat.
   

Hintergrund und Architektur


       Florence-2 wurde im Juni 2024 von Microsoft veröffentlicht und ist ein Foundation Vision Language Model. Es beeindruckt durch seine kompakte Größe (0.2B und 0.7B Parameter) und seine starke Leistung in verschiedenen Aufgaben der Computer Vision und Vision Language. Die Architektur von Florence-2 ist einfach gehalten, aber seine Stärke liegt in dem umfangreichen Datensatz, mit dem es vortrainiert wurde.
   

Florence-2 Architektur


       Florence-2 formuliert das Computer-Vision-Problem als eine Sequenz-zu-Sequenz-Aufgabe. Es verwendet einen DaViT Vision Encoder, um Bilder in visuelle Einbettungen zu konvertieren, und BERT, um Texteingaben in Text- und Ortseinbettungen umzuwandeln. Diese Einbettungen werden dann von einer Standard-Encoder-Decoder-Transformator-Architektur verarbeitet, um Text- und Ortstoken zu generieren. Die Schlüsselkraft von Florence-2 liegt in dem riesigen Datensatz, mit dem es vortrainiert wurde – dem FLD-5B-Datensatz, der über 5 Milliarden Annotationen für 126 Millionen Bilder enthält.
   

Leistung vor der Feinabstimmung


       Vor der Feinabstimmung zeigte Florence-2 keine brauchbaren Ergebnisse bei der visuellen Fragebeantwortung (VQA). Mehrere Methoden, wie region-to-description prompting, wurden getestet, lieferten jedoch nicht die gewünschten Ergebnisse. Die Einbettungen und die generierten Antworten stimmten nicht mit den erwarteten Ergebnissen überein.
   

Leistung nach der Feinabstimmung


       Nach der Feinabstimmung auf dem DocVQA-Datensatz verbesserte sich die Ähnlichkeit zwischen den Vorhersagen des Modells und den Ground-Truth-Daten auf der Validierungsmenge signifikant. Der Ähnlichkeitswert stieg auf 57.0, was die Effektivität des Modells in der visuellen Fragebeantwortung verdeutlicht.
   

Feinabstimmungsdetails


       Die Feinabstimmung wurde unter ressourcenbeschränkten Bedingungen durchgeführt, um die Fähigkeiten des Modells in solchen Umgebungen zu testen. Der Vision Encoder wurde eingefroren und eine Batch-Größe von 6 auf einer einzigen A100 GPU in Colab verwendet. Parallel dazu wurde ein Experiment mit größeren Ressourcen durchgeführt, bei dem das gesamte Modell mit einer Batch-Größe von 64 feinabgestimmt wurde. In beiden Fällen wurde eine kleine Lernrate von 1e-6 als vorteilhaft für das Training empfunden.
   

Code-Durchführung


       Die Feinabstimmung von Florence-2 wurde mithilfe eines Colab-Notebooks durchgeführt, das die notwendigen Abhängigkeiten installiert, den DocVQA-Datensatz lädt und das Modell sowie den Prozessor initialisiert. Der Vision Encoder wurde eingefroren, um die Feinabstimmung weniger ressourcenintensiv zu gestalten.
   

Ergebnisse und Schlussfolgerungen


       Die Feinabstimmung von Florence-2 auf einem benutzerdefinierten Datensatz zeigt beeindruckende Leistungen in kurzer Zeit. Dieses Modell ist besonders wertvoll für diejenigen, die es auf Geräten mit begrenzten Ressourcen einsetzen oder kosteneffizient in Produktionsumgebungen nutzen möchten. Die offene Quellgemeinschaft wird ermutigt, dieses Feinabstimmungs-Tutorial zu nutzen und das bemerkenswerte Potenzial von Florence-2 für eine Vielzahl neuer Aufgaben zu erforschen.
   

Quellen


       https://huggingface.co/blog/finetune-florence2

       https://www.reddit.com/r/LocalLLaMA/comments/1djwf4v/try_microsofts_florence2_yourself/

       https://github.com/kijai/ComfyUI-Florence2

       https://encord.com/blog/florence-2-explained/

       https://www.gradio.app/changelog

       https://blog.roboflow.com/florence-2/

       https://huggingface.co/spaces/merve/Florence-2-DocVQA

       https://www.reddit.com/r/LocalLLaMA/comments/1diz8en/microsoft_releases_florence2_vision_foundation/
   

Was bedeutet das?
No items found.