Heim >Technologie-Peripheriegeräte >KI >Feinabstimmung Lama 3.2 Vision für die Kalorienextraktion aus Bildern
In den letzten Jahren hat die Integration künstlicher Intelligenz in verschiedene Bereiche revolutioniert, wie wir mit Technologie interagieren. Eine der vielversprechendsten Fortschritte ist die Entwicklung multimodaler Modelle, die sowohl visuelle als auch textuelle Informationen verstehen und verarbeiten können. Unter diesen fällt das Lama 3.2 Vision-Modell als leistungsstarkes Werkzeug für Anwendungen aus, die eine komplizierte Analyse von Bildern erfordern. Dieser Artikel untersucht den Prozess der Feinabstimmung des Lama 3.2-Vision-Modells speziell zum Extrahieren von Kalorieninformationen aus Nahrungsbildern unter Verwendung von Unloth AI.
Dieser Artikel wurde als Teil des Data Science -Blogathon veröffentlicht.
Table of Contents
lama 3.2 Vision Model
Das von Meta entwickelte LLAMA 3.2 Vision Model ist ein hochmodernes multimodales großes Sprachmodell, das für fortschrittliche visuelle Verständnis- und Argumentationsaufgaben entwickelt wurde. Hier sind die wichtigsten Details zum Modell:
auch lesen: lama 3.2 90b vs gpt 4o: Bildanalysevergleich
Lama 3.2 Vision ist für verschiedene Anwendungen ausgelegt, darunter:
Unloth AI ist eine innovative Plattform, die die Feinabstimmung von großsprachigen Modellen (LLMs) wie LLAMA-3, Mistral, PHI-3 und Gemma verbessern soll. Ziel ist es, den komplexen Prozess der Anpassung vor ausgebildeter Modelle für bestimmte Aufgaben zu optimieren, wodurch es schneller und effizienter wird.
Unloth AI stellt einen signifikanten Fortschritt im KI-Modelltraining dar, wodurch es Entwicklern und Forschern zugänglich macht, die kundenspezifische Modelle effizient erstellen möchten.
Die Lama 3.2 Vision -Modelle Excel bei der Interpretation von Diagrammen und Diagrammen.
Das 11-Milliarden-Modell übertrifft Claude 3 Haiku in visuellen Benchmarks wie MMMU-pro, Vision (23,7), Chartqa (83,4), AI2-Diagramm (91,1), während das 90-Milliarden-Modell das Craude 3 Haikuin aller visuellen Interpretationsabfälle überschreitet.
Infolgedessen ist LLAMA 3.2 eine ideale Option für Aufgaben, die das Verständnis der Dokumente, die Beantwortung der visuellen Frage und das Extrahieren von Daten aus Diagrammen erfordern.
In diesem Tutorial werden wir durch den Prozess der Feinabstimmung des Lama 3.2 11b Vision-Modells gehen. Durch die Nutzung seiner fortschrittlichen Funktionen möchten wir die Genauigkeit des Modells bei der Erkennung von Nahrungsmitteln und der Schätzung ihres Kalorieninhalts basierend auf visuellen Eingaben verbessern.
Feinabstimmung dieses Modells beinhaltet das Anpassen, um die Nuancen von Lebensmittelbildern und Ernährungsdaten besser zu verstehen, wodurch die Leistung in realen Anwendungen verbessert wird. Wir werden uns mit den wichtigsten Schritten, die an diesem Feinabstimmungsprozess beteiligt sind, einschließlich Datensatzvorbereitung und Konfiguration der Trainingsumgebung eingehen. Wir werden auch Techniken wie LORA (Anpassung mit niedriger Rang) anwenden, um die Modellleistung zu optimieren und gleichzeitig die Ressourcennutzung zu minimieren.
Wir nutzen die Ki, um die Funktionen des Modells anzupassen. Der Datensatz, den wir verwenden, besteht aus Lebensmittelnbildern, die jeweils von Informationen zum Kaloriengehalt der verschiedenen Lebensmittel begleitet werden. Auf diese Weise können wir die Fähigkeit des Modells verbessern, Lebensmittel-bezogene Daten effektiv zu analysieren.
Beginnen wir!
!pip install unsloth
from unsloth import FastVisionModel import torch model, tokenizer = FastVisionModel.from_pretrained( "unsloth/Llama-3.2-11B-Vision-Instruct", load_in_4bit = True, use_gradient_checkpointing = "unsloth", ) model = FastVisionModel.get_peft_model( model, finetune_vision_layers = True, finetune_language_layers = True, finetune_attention_modules = True, finetune_mlp_modules = True, r = 16, lora_alpha = 16, lora_dropout = 0, bias = "none", random_state = 3443, use_rslora = False, loftq_config = None, )
get_peft_model:
Diese Methode konfiguriert das Modell für die Feinabstimmung mithilfe von PEFT-Techniken (Parametereffizient).from datasets import load_dataset dataset = load_dataset("aryachakraborty/Food_Calorie_Dataset", split = "train[0:100]")laden wir einen Datensatz auf Lebensmittelbildern zusammen mit ihrer Kalorienbeschreibung im Text.
Der Datensatz hat 3 Spalten - "Bild", "Abfrage", "Antwort"
Schritt 4. Konvertieren des Datensatzes in eine Konversation
def convert_to_conversation(sample): conversation = [ { "role": "user", "content": [ {"type": "text", "text": sample["Query"]}, {"type": "image", "image": sample["image"]}, ], }, { "role": "assistant", "content": [{"type": "text", "text": sample["Response"]}], }, ] return {"messages": conversation} pass converted_dataset = [convert_to_conversation(sample) for sample in dataset]Wir konvertieren den Datensatz in eine Gespräch mit zwei beteiligten Rollen - Benutzer und Assistenten.
Der Assistent antwortet auf die Benutzerabfrage auf den vom Benutzer bereitgestellten Bildern.
Schritt 5. Inferenz des Modells vor Feinabstimmmodell
FastVisionModel.for_inference(model) # Enable for inference! image = dataset[0]["image"] messages = [ { "role": "user", "content": [ {"type": "image"}, {"type": "text", "text": "You are an expert nutritionist analyzing the image to identify food items and estimate their calorie content and calculate the total calories. Please provide a detailed report in the format: 1. Item 1 - estimated calories 2. Item 2 - estimated calories ..."}, ], } ] input_text = tokenizer.apply_chat_template( messages, add_generation_prompt=True) inputs = tokenizer(image,input_text, add_special_tokens=False,return_tensors="pt",).to("cuda") from transformers import TextStreamer text_streamer = TextStreamer(tokenizer, skip_prompt=True) _ = model.generate( **inputs, streamer=text_streamer, max_new_tokens=500, use_cache=True, temperature=1.5, min_p=0.1 )
Ausgabe:
Punkt 1: gebratene Knödel-400-600 Kalorien
Punkt 2: Rote Sauce-200-300 Kalorien
Gesamtkalorien-600-900 Kalorien
Basierend auf Serviergrößen und Zutaten beträgt die geschätzte Kalorienzahl für die beiden Artikel 400-600 bzw. 200-300 für die gebratenen Knödel bzw. roten Sauce. Bei gemeinsam konsumieren Sie zusammen, beträgt die kombinierte geschätzte Kalorienzahl für das gesamte Gericht 600-900 Kalorien.
Gesamtnahrungsmittelinformationen:
Schlussfolgerung: Basierend auf den Zutaten zur Zubereitung der Mahlzeit können die Ernährungsinformationen geschätzt werden.
Die Ausgabe wird für das folgende Eingangsbild erzeugt:
Wie aus der Ausgabe des ursprünglichen Modells hervorgeht, beziehen sich die im Text genannten Elemente auf „gebratene Knödel“, obwohl das ursprüngliche Eingangsbild „gedämpfte Momos“ enthält. Auch die Kalorien des im Eingangsbildes vorhandenen Salzschsalien werden im Ausgang des ursprünglichen Modells nicht erwähnt.
Basierend auf Serviergrößen und Zutaten beträgt die geschätzte Kalorienzahl für die beiden Artikel 400-600 bzw. 200-300 für die gebratenen Knödel bzw. roten Sauce. Bei gemeinsam konsumieren Sie zusammen, beträgt die kombinierte geschätzte Kalorienzahl für das gesamte Gericht 600-900 Kalorien.
Gesamtnahrungsmittelinformationen:
Schlussfolgerung: Basierend auf den zur Zubereitung der Mahlzeit verwendeten Zutaten können die Ernährungsinformationen geschätzt werden.
!pip install unsloth
Schritt 7. Überprüfen Sie die Ergebnisse des Modells nach der Feinabstimmung
!pip install unsloth
Wie aus der Ausgabe des finatunierten Modells hervorgeht, werden alle drei Elemente im Text korrekt erwähnt, zusammen mit ihren Kalorien im erforderlichen Format.
Wir testen auch, wie gut das fein abgestimmte Modell auf unsichtbaren Daten ist. Daher wählen wir die Zeilen der Daten aus, die vom Modell noch nicht gesehen wurden.
Wir wählen dies als Eingabebild aus.
from unsloth import FastVisionModel import torch model, tokenizer = FastVisionModel.from_pretrained( "unsloth/Llama-3.2-11B-Vision-Instruct", load_in_4bit = True, use_gradient_checkpointing = "unsloth", ) model = FastVisionModel.get_peft_model( model, finetune_vision_layers = True, finetune_language_layers = True, finetune_attention_modules = True, finetune_mlp_modules = True, r = 16, lora_alpha = 16, lora_dropout = 0, bias = "none", random_state = 3443, use_rslora = False, loftq_config = None, )
from datasets import load_dataset dataset = load_dataset("aryachakraborty/Food_Calorie_Dataset", split = "train[0:100]"):
Wie wir aus der Ausgabe des fein abgestimmten Modells erkennen können, wurden alle Komponenten der Pizza genau identifiziert und ihre Kalorien wurden ebenfalls erwähnt.
Die Integration von KI -Modellen wie Lama 3.2 Vision transformiert die Art und Weise, wie wir visuelle Daten analysieren und interagieren, insbesondere in Bereichen wie Lebensmittelerkennung und Ernährungsanalyse. Durch die Feinabstimmung dieses leistungsstarken Modells mit Unlodh AI können wir seine Fähigkeit, Lebensmittelbilder zu verstehen und den Kalorieninhalt genau zu verstehen, erheblich verbessern.
.Der Feinabstimmungsprozess, der fortschrittliche Techniken wie LORA und die effizienten Funktionen der KI-KI nutzen, sorgt für eine optimale Leistung und minimieren gleichzeitig die Ressourcenverwendung. Dieser Ansatz verbessert nicht nur die Genauigkeit des Modells, sondern öffnet auch die Tür für reale Anwendungen in der Lebensmittelanalyse, der Gesundheitsüberwachung und darüber hinaus. In diesem Tutorial haben wir gezeigt, wie hochmoderne KI-Modelle für spezielle Aufgaben anpassen und Innovationen sowohl in der Technologie als auch in der Ernährung vorant werden.
Die in diesem Artikel gezeigten Medien sind nicht im Besitz von Analytics Vidhya und wird nach Ermessen des Autors verwendet.
a. Das Lama 3.2 Vision -Modell ist ein multimodales AI -Modell, das von Meta entwickelt wurde und sowohl Text als auch Bilder verarbeiten kann. Es verwendet eine Transformator-Architektur- und Kreuzungsschichten, um Bilddaten in Sprachmodelle zu integrieren, sodass sie Aufgaben wie visuelle Erkennung, Bildunterschriften und Abrufen des Bildtextes ausführen können.
Q2. Wie verbessert die Feinabstimmung des Lama 3.2 Vision-Modells seine Leistung?a. Die Feinabstimmung passt das Modell an bestimmte Aufgaben an, z. B. das Extrahieren von Kalorieninformationen aus Lebensmitteln. Durch das Training des Modells auf einem speziellen Datensatz wird es genauer, Lebensmittel zu erkennen und deren Ernährungsinhalte zu schätzen, was es in realen Anwendungen effektiver macht.
Q3. Welche Rolle spielt Unloth AI im Feinabstimmungsprozess?a. Unloth AI verbessert den Feinabstimmungsprozess, indem er schneller und effizienter wird. Es ermöglicht es, Modelle bis zu 30-mal schneller fein abzustimmen und gleichzeitig die Speicherverwendung um 60%zu verringern. Die Plattform bietet auch Tools für eine einfache Einrichtung und Skalierbarkeit und unterstützt sowohl kleine Teams als auch Anwendungen auf Unternehmensebene.
Q4. Was ist Lora (Anpassung mit niedriger Rang) und warum wird es im Feinabstimmungsprozess verwendet?a. Lora ist eine Technik, mit der die Modellleistung optimiert wird und gleichzeitig die Ressourcenverbrauch reduziert wird. Es hilft, große Sprachmodelle effizienter zu optimieren und den Trainingsprozess schneller und weniger rechnerisch intensiv zu machen, ohne die Genauigkeit zu beeinträchtigen. LORA modifiziert nur eine kleine Teilmenge von Parametern, indem es niedrige Matrizen in die Modellarchitektur einführt.
Q5. Für welche praktischen Anwendungen kann das fein abgestimmte Lama 3.2 Vision-Modell verwendet werden?a. Das fein abgestimmte Modell kann in verschiedenen Anwendungen verwendet werden, einschließlich der Kalorienextraktion aus Lebensmittelbildern, visueller Fragenbeantwortung, Dokumentverständnis und Bildunterschrift. Es kann Aufgaben erheblich verbessern, die sowohl visuelle als auch textuelle Analysen erfordern, insbesondere in Bereichen wie Gesundheit und Ernährung.
Das obige ist der detaillierte Inhalt vonFeinabstimmung Lama 3.2 Vision für die Kalorienextraktion aus Bildern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!