Inhaltsverzeichnis
Inhaltsverzeichnis
Was ist Lama 3.2 3b?
Flossenlama 3.2 3b
Lora
Bibliotheken erforderlich
Importieren Sie die Bibliotheken
Initialisieren Sie das Modell und die Tokenisierer
Initialisieren Sie das Modell für PEFT
Beschreibung für jeden Parameter
Datenverarbeitung
Einrichten der Trainerparameter
Feinabstimmung des Modells
Testen und speichern Sie das Modell
Abschluss
Häufig gestellte Fragen
Heim Technologie-Peripheriegeräte KI Feinabstimmung Lama 3.2 3b für Lappen - Analytics Vidhya

Feinabstimmung Lama 3.2 3b für Lappen - Analytics Vidhya

Mar 13, 2025 am 09:46 AM

Kleine Sprachmodelle (SLMs) haben einen signifikanten Einfluss auf die KI. Sie bieten eine starke Leistung und sind gleichzeitig effizient und kostengünstig. Ein herausragendes Beispiel ist das Lama 3.2 3b. Es ist außergewöhnlich gut bei den Aufgaben des Abrufs ( ARRAVEAL-AUGMENTED-Generation ), die Rechenkosten und Speicherverbrauch senkt und gleichzeitig eine hohe Genauigkeit aufrechterhalten. In diesem Artikel wird untersucht, wie das Lama 3.2 3B-Modell eine Feinabstimmung. Erfahren Sie, wie kleinere Modelle in Lappenaufgaben überzeugt werden können, und überschreiten die Grenzen dessen, was kompakte AI -Lösungen erreichen können.

Inhaltsverzeichnis

  • Was ist Lama 3.2 3b?
  • Flossenlama 3.2 3b
  • Lora
  • Bibliotheken erforderlich
  • Importieren Sie die Bibliotheken
  • Initialisieren Sie das Modell und die Tokenisierer
  • Initialisieren Sie das Modell für PEFT
  • Datenverarbeitung
  • Einrichten der Trainerparameter
  • Feinabstimmung des Modells
  • Testen und speichern Sie das Modell
  • Abschluss
  • Häufig gestellte Fragen

Was ist Lama 3.2 3b?

Das von Meta entwickelte Lama 3.2 3B -Modell ist ein mehrsprachiger SLM mit 3 Milliarden Parametern, die für Aufgaben wie Fragenbeantwortung, Zusammenfassung und Dialogsysteme entwickelt wurden. Es übertrifft viele Open-Source-Modelle zu Branchenbenchmarks und unterstützt verschiedene Sprachen. LLAMA 3.2 erhältlich in verschiedenen Größen bietet eine effiziente Rechenleistung und enthält quantisierte Versionen für eine schnellere und speichereffiziente Bereitstellung in mobilen und Kantenumgebungen.

Feinabstimmung Lama 3.2 3b für Lappen - Analytics Vidhya

Lesen Sie auch: Top 13 kleine Sprachmodelle (SLMs)

Flossenlama 3.2 3b

Die Feinabstimmung ist für die Anpassung von SLM oder LLMs an bestimmte Bereiche oder Aufgaben wie medizinische, legale oder Lag-Anwendungen von wesentlicher Bedeutung. Während vor der Ausbildung Sprachmodelle es ermöglicht, Texte für verschiedene Themen zu generieren, führt die Feinabstimmung das Modell zu domänenspezifischen oder aufgabenspezifischen Daten neu aus, um die Relevanz und Leistung zu verbessern. Um die hohen Berechnungskosten für die Feinabstimmung aller Parameter zu beheben, konzentrieren sich Techniken wie Parameter effiziente Feinabstimmung (PEFT) auf das Training nur eine Teilmenge der Parameter des Modells, um die Ressourcenverbrauch zu optimieren und gleichzeitig die Leistung aufrechtzuerhalten.

Lora

Eine solche PEFT -Methode ist eine niedrige Anpassung (LORA).

In Lora wird die Gewichtsmatrix in SLM oder LLM in ein Produkt von zwei niedrigrangigen Matrizen zerlegt.

 W = wa * wb
Nach dem Login kopieren

Wenn W M -Zeilen und N -Säulen hat, kann es mit M -Zeilen und R -Säulen in WA zerlegt werden und WB mit R -Zeilen und N -Spalten. Hier ist R viel weniger als m oder n. Anstatt M*n -Werte zu trainieren, können wir nur die Werte r*(mn) trainieren. R wird als Rang bezeichnet, was der Hyperparameter ist, den wir wählen können.

 Def lora_linear (x):<br> H = X @ W # Regular Linear<br> H = Skala * (x @ w_a @ w_b) # Low-Rank-Update<br> Rückkehr h
Nach dem Login kopieren

Kasse: parametereffiziente Feinabstimmung von Großsprachenmodellen mit Lora und Qlora

Lassen Sie uns Lora im Lama 3.2 3B -Modell implementieren.

Bibliotheken erforderlich

  • Unloth - 2024.12.9
  • Datensätze - 3.1.0

Durch die Installation der obigen Faultierversion werden auch die kompatiblen Pytorch-, Transformers- und NVIDIA -GPU -Bibliotheken installiert. Wir können Google Colab verwenden, um auf die GPU zuzugreifen.

Schauen wir uns jetzt die Implementierung an!

Importieren Sie die Bibliotheken

 aus Unloth importieren Sie FastLanguagemodel, is_bfloat16_Supported, Train_on_responses_only

Aus Datensätzen importieren Sie load_dataset, Datensatz

An apply_chat_template aus trl import SFTTRAINER

Aus Transformers Importing TrainingArguments, DataCollatorForseq2Seq, Textstreamer

Taschenlampe importieren
Nach dem Login kopieren

Initialisieren Sie das Modell und die Tokenisierer

 max_seq_length = 2048 
DTYPE = NONE # Keine für die automatische Erkennung.
load_in_4bit = true # verwenden 4bit quantization, um die Speicherverwendung zu reduzieren. Kann falsch sein.

Modell, Tokenizer = fastLanguagemodel.from_Pretrained (
	model_name = "sloth/lama-3.2-3b-instruct",
	max_seq_length = max_seq_length,
	DTYPE = DTYPE,
	load_in_4bit = lader_in_4bit,
	# token = "hf _...", # Verwenden Sie, wenn Gated-Modelle wie Meta-Llama/Lama-3.2-11b verwendet werden
)
Nach dem Login kopieren

Für andere von Unloth unterstützte Modelle können wir uns auf dieses Dokument beziehen.

Initialisieren Sie das Modell für PEFT

 model = fastLanguagemodel.get_peft_model (
	Modell,
	r = 16,
	target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
                  	"Gate_Proj", "Up_Proj", "Down_proj",],
	lora_alpha = 16,
	lora_dropout = 0,, 
	Bias = "keine",
	Use_gradient_Checkpointing = "Unloth",
	random_state = 42,
	use_rslora = false, 
	loftq_config = keine,
)
Nach dem Login kopieren

Beschreibung für jeden Parameter

  • R : Rang von Lora; Höhere Werte verbessern die Genauigkeit, verwenden jedoch mehr Speicher (vorgeschlagen: 8–128).
  • target_modules : Module zur Feinabstimmung; Fügen Sie alle für bessere Ergebnisse ein
  • lora_alpha : Skalierungsfaktor; Typischerweise gleich oder doppelt so hoch wie der Rang r.
  • lora_dropout : Ausfallrate; Setzen Sie auf 0 für optimiertes und schnelleres Training.
  • Voreingenommenheit : Bias -Typ; "Keine" ist für Geschwindigkeit und minimale Überanpassung optimiert.
  • Use_gradient_Checkpointing : Reduziert das Speicher für ein langes Kontext-Training; "Unloth" wird sehr empfohlen.
  • Random_State : Saatgut für deterministische Läufe, um reproduzierbare Ergebnisse zu gewährleisten (z. B. 42).
  • Use_RSlora : Automatisiert die Alpha -Auswahl; nützlich für rangstabilisierte Lora.
  • loftq_config : Initialisiert Lora mit Top R-Singularvektoren für eine bessere Genauigkeit, obwohl speicherintensiv.

Datenverarbeitung

Wir werden die Lag -Daten zum Fintune verwenden. Laden Sie die Daten von SuggingFace herunter.

 DataSet = load_dataset ("Neural-Bridge/Rag-Dataset-1200", Split = "Train")
Nach dem Login kopieren

Der Datensatz hat drei Schlüssel wie folgt:

Datensatz ({Funktionen: ['Kontext', 'Frage', 'Antwort'], num_rows: 960})

Die Daten müssen je nach Sprachmodell in einem bestimmten Format liegen. Weitere Informationen finden Sie hier .

Konvertieren wir die Daten also in das erforderliche Format:

 Def convert_dataset_to_dict (Datensatz):
    DataSet_dict = {
        "Eingabeaufforderung": [],
        "Fertigstellung": []
    }

    Für Zeile im Datensatz:
        user_content = f "context: {row ['context']} \ nquestion: {row ['Frage']}"
        Assistant_Content = row ['Antwort']

        DataSet_Dict ["Eingabeaufforderung"]. Anhang ([[
            {"Rolle": "Benutzer", "Inhalt": user_content}
        ]))
        DataSet_Dict ["Fertigstellung"]. Anhang ([[
            {"Rolle": "Assistant", "Inhalt": Assistant_Content}
        ]))
    return dataset_dict
    
    
converted_data = convert_dataset_to_dict (Datensatz)
DataSet = dataSet.from_dict (Converted_data)
dataSet = dataSet.map (apply_chat_template, fn_kwargs = {"tokenizer": tokenizer})
Nach dem Login kopieren

Die Datensatznachricht lautet wie folgt:

Feinabstimmung Lama 3.2 3b für Lappen - Analytics Vidhya

Einrichten der Trainerparameter

Wir können den Trainer für die Fülle des SLM initialisieren:

 Trainer = SftTrainer (
	Modell = Modell,
	Tokenizer = Tokenizer,
	train_dataset = dataset,
	max_seq_length = max_seq_length,
	Data_Collator = DataCollatorForseq2Seq (Tokenizer = Tokenizer),
	dataset_num_proc = 2,,
	packing = false, # kann das Training 5x für kurze Sequenzen schneller machen.
	args = TrainingArgumente (
    	per_device_train_batch_size = 2,,
    	gradient_accumulation_steps = 4,,
    	Warmup_steps = 5,
    	# num_train_epochs = 1, # Legen Sie dies für 1 vollständige Trainingslauf ein.
    	max_steps = 6, # mit kleiner Nummer zum Testen verwendet
    	Learning_Rate = 2E-4,
    	fp16 = nicht is_bfloat16_supported (),
    	bf16 = is_bfloat16_supported (),
    	logging_steps = 1,,
    	optim = "adamw_8bit",
    	wight_decay = 0,01,
    	lr_scheduler_type = "linear",
    	Samen = 3407,
    	output_dir = "Ausgänge",
    	Report_to = "Keine", # Verwenden Sie dies für Wandb etc.
	),
)
Nach dem Login kopieren

Beschreibung einiger der Parameter:

  • per_device_train_batch_size: Stapelgröße pro Gerät; Erhöhen Sie, um mehr GPU -Speicher zu verwenden, aber nach Padding -Ineffizienzen (vorgeschlagen: 2).
  • gradient_accumulation_steps: simuliert größere Stapelgrößen ohne zusätzliche Speicherverwendung; Erhöhen Sie für glattere Verlustkurven (vorgeschlagen: 4).
  • max_steps: Gesamttrainingsschritte; Setzen Sie für schnellere Läufe (z. B. 60) oder verwenden Sie `num_train_epochs` für vollständige Datensatzübergänge (z. B. 1–3).
  • Learning_rate: Kontrolliert die Trainingsgeschwindigkeit und Konvergenz; Niedrigere Raten (z. B. 2E-4) verbessern die Genauigkeit, aber ein langsames Training.

Führen Sie den Modellzug nur auf Antworten durch, indem Sie die Antwortvorlage angeben:

 Trainer = train_on_responses_only (
	Trainer,
	Anweisungen_Part = " user  \ n \ n",
	response_part = " Assistent  \ n \ n",
)
Nach dem Login kopieren

Feinabstimmung des Modells

 Trainer_Stats = Trainer.Train ())
Nach dem Login kopieren

Hier sind die Trainingsstatistiken:

Feinabstimmung Lama 3.2 3b für Lappen - Analytics Vidhya

Testen und speichern Sie das Modell

Verwenden wir das Modell für Inferenz:

 FASTLAGUAGEMODEL.FOR_INDERATION (Modell)

Nachrichten = [
	{"Rolle": "Benutzer", "Inhalt": "Kontext: Der Himmel ist tagsüber in der Regel klar. Frage: Welche Farbe hat das Wasser?"},
]
inputs = tokenizer.apply_chat_template (
	Nachrichten,
	tokenize = true,
	add_generation_prompt = true,
	return_tensors = "pt",
) .to ("Cuda")

text_streamer = textStreamer (Tokenizer, Skip_prompt = true)
_ = model.generate (input_ids = Eingänge, Streamer = text_streamer, max_new_tokens = 128,
               	Use_cache = true, Temperatur = 1,5, min_p = 0,1)
Nach dem Login kopieren

Verwenden Sie den folgenden Code, um die trainierten einschließlich Lora -Gewichte zu speichern

 model.save_pretraed_merged ("modell", tokenizer, save_method = "merged_16bit"))
Nach dem Login kopieren

Checkout: Leitfaden zur Feinabstimmung von großsprachigen Modellen

Abschluss

Feinabstimmungslama 3.2 3b für Lappenaufgaben zeigt die Effizienz kleinerer Modelle, um eine hohe Leistung mit reduzierten Rechenkosten zu liefern. Techniken wie Lora optimieren die Ressourcenverbrauch und halten gleichzeitig die Genauigkeit. Dieser Ansatz ermöglicht domänenspezifische Anwendungen und macht fortgeschrittene KI zugänglicher, skalierbarer und kostengünstigerer, die Innovationen bei der agebruft-generierten Generation und der Demokratisierung der KI für reale Herausforderungen vorantreiben.

Lesen Sie auch: Erste Schritte mit Meta Lama 3.2

Häufig gestellte Fragen

Q1. Was ist Lag?

A. RAG kombiniert Abrufsysteme mit generativen Modellen, um die Antworten zu verbessern, indem sie in externem Wissen geerdet werden, wodurch es ideal für Aufgaben wie die Beantwortung und Zusammenfassung von Fragen ist.

Q2. Warum Lama 3.2 3b für die Feinabstimmung wählen?

A. LLAMA 3.2 3B bietet ein Gleichgewicht zwischen Leistung, Effizienz und Skalierbarkeit, wodurch es für Lappenaufgaben geeignet ist und gleichzeitig die Rechen- und Speicheranforderungen reduziert.

Q3. Was ist Lora und wie verbessert es die Feinabstimmung?

A. LORA-Anpassungsanpassung (LORA) minimiert den Ressourcenverbrauch, indem nur niedrige Matrizen anstelle aller Modellparameter trainiert werden, wodurch eine effiziente Feinabstimmung auf eingeschränkte Hardware ermöglicht wird.

Q4. Welcher Datensatz wird für die Feinabstimmung in diesem Artikel verwendet?

A. Sugging Face bietet den RAG-Datensatz, der Kontext, Fragen und Antworten enthält, um das Lama 3.2 3B-Modell für eine bessere Aufgabenleistung zu optimieren.

Q5. Kann das fein abgestimmte Modell auf Kantengeräten bereitgestellt werden?

A. Ja, Lama 3.2 3b, insbesondere in seiner quantisierten Form, ist für die maßstabsgerechte Bereitstellung für Kanten und mobile Umgebungen optimiert.

Das obige ist der detaillierte Inhalt vonFeinabstimmung Lama 3.2 3b für Lappen - Analytics Vidhya. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1657
14
PHP-Tutorial
1257
29
C#-Tutorial
1231
24
Erste Schritte mit Meta Lama 3.2 - Analytics Vidhya Erste Schritte mit Meta Lama 3.2 - Analytics Vidhya Apr 11, 2025 pm 12:04 PM

Metas Lama 3.2: Ein Sprung nach vorne in der multimodalen und mobilen KI Meta hat kürzlich Lama 3.2 vorgestellt, ein bedeutender Fortschritt in der KI mit leistungsstarken Sichtfunktionen und leichten Textmodellen, die für mobile Geräte optimiert sind. Aufbau auf dem Erfolg o

10 generative AI -Codierungsweiterungen im VS -Code, die Sie untersuchen müssen 10 generative AI -Codierungsweiterungen im VS -Code, die Sie untersuchen müssen Apr 13, 2025 am 01:14 AM

Hey da, codieren Ninja! Welche Codierungsaufgaben haben Sie für den Tag geplant? Bevor Sie weiter in diesen Blog eintauchen, möchte ich, dass Sie über all Ihre Coding-Leiden nachdenken-die Auflistung auflisten diese auf. Erledigt? - Lassen Sie &#8217

AV -Bytes: META ' S Lama 3.2, Googles Gemini 1.5 und mehr AV -Bytes: META ' S Lama 3.2, Googles Gemini 1.5 und mehr Apr 11, 2025 pm 12:01 PM

Die KI -Landschaft dieser Woche: Ein Wirbelsturm von Fortschritten, ethischen Überlegungen und regulatorischen Debatten. Hauptakteure wie OpenAI, Google, Meta und Microsoft haben einen Strom von Updates veröffentlicht, von bahnbrechenden neuen Modellen bis hin zu entscheidenden Verschiebungen in LE

Verkauf von KI -Strategie an Mitarbeiter: Shopify -CEO Manifesto Verkauf von KI -Strategie an Mitarbeiter: Shopify -CEO Manifesto Apr 10, 2025 am 11:19 AM

Das jüngste Memo von Shopify -CEO Tobi Lütke erklärt kühn für jeden Mitarbeiter eine grundlegende Erwartung und kennzeichnet eine bedeutende kulturelle Veränderung innerhalb des Unternehmens. Dies ist kein flüchtiger Trend; Es ist ein neues operatives Paradigma, das in P integriert ist

Ein umfassender Leitfaden zu Vision Language Models (VLMs) Ein umfassender Leitfaden zu Vision Language Models (VLMs) Apr 12, 2025 am 11:58 AM

Einführung Stellen Sie sich vor, Sie gehen durch eine Kunstgalerie, umgeben von lebhaften Gemälden und Skulpturen. Was wäre, wenn Sie jedem Stück eine Frage stellen und eine sinnvolle Antwort erhalten könnten? Sie könnten fragen: „Welche Geschichte erzählst du?

GPT-4O gegen OpenAI O1: Ist das neue OpenAI-Modell den Hype wert? GPT-4O gegen OpenAI O1: Ist das neue OpenAI-Modell den Hype wert? Apr 13, 2025 am 10:18 AM

Einführung OpenAI hat sein neues Modell auf der Grundlage der mit Spannung erwarteten „Strawberry“ -Scharchitektur veröffentlicht. Dieses innovative Modell, bekannt als O1

Wie füge ich eine Spalte in SQL hinzu? - Analytics Vidhya Wie füge ich eine Spalte in SQL hinzu? - Analytics Vidhya Apr 17, 2025 am 11:43 AM

SQL -Änderungstabellanweisung: Dynamisches Hinzufügen von Spalten zu Ihrer Datenbank Im Datenmanagement ist die Anpassungsfähigkeit von SQL von entscheidender Bedeutung. Müssen Sie Ihre Datenbankstruktur im laufenden Flug anpassen? Die Änderungstabelleerklärung ist Ihre Lösung. Diese Anleitung Details Hinzufügen von Colu

Neueste jährliche Zusammenstellung der besten technischen Techniken Neueste jährliche Zusammenstellung der besten technischen Techniken Apr 10, 2025 am 11:22 AM

Für diejenigen unter Ihnen, die in meiner Kolumne neu sein könnten, erforsche ich allgemein die neuesten Fortschritte in der KI auf dem gesamten Vorstand, einschließlich Themen wie verkörpertes KI, KI-Argumentation, High-Tech

See all articles