Heim >Technologie-Peripheriegeräte >KI >Feinabstimmung Lama 3.1 für die Textklassifizierung

Feinabstimmung Lama 3.1 für die Textklassifizierung

William Shakespeare
William ShakespeareOriginal
2025-03-05 11:08:09881Durchsuche

Dieses Tutorial zeigt die Feinabstimmung des Lama 3.1-8b-It-Modells für die Analyse der psychischen Gesundheit. Wir werden das Modell so anpassen, dass der psychische Gesundheitszustand von Patienten aus Textdaten vorhergesagt, den Adapter mit dem Basismodell zusammengeführt und das vollständige Modell auf dem umarmenden Gesichtszentrum bereitstellt. entscheidend denken Sie daran, dass ethische Überlegungen bei der Verwendung von KI im Gesundheitswesen von größter Bedeutung sind. Dieses Beispiel dient nur zu veranschaulichen Zwecken.

Wir werden über Kaggle den Zugriff auf Lama 3.1-Modelle mithilfe der Transformers Library für Inferenz und den Feinabstimmungsprozess selbst abdecken. Ein vorheriges Verständnis der LLM-Feinabstimmung (siehe "Ein Einführungshandbuch zur Feinabstimmung LLMs") ist vorteilhaft.

Fine-Tuning Llama 3.1 for Text Classification

Bild vom Autor

Lama 3.1

verstehen

LLAMA 3.1, META AIs mehrsprachiger großer Sprachmodell (LLM), zeichnet sich in Sprachverständnis und Generation aus. Erhältlich in 8B-, 70B- und 405B-Parameterversionen, basiert es auf einer automatischen Architektur mit optimierten Transformatoren. Auf verschiedene öffentliche Daten trainiert, unterstützt es acht Sprachen und verfügt über eine Kontextlänge von 128.000. Die kommerzielle Lizenz ist leicht zugänglich und übertrifft mehrere Konkurrenten in verschiedenen Benchmarks.

Fine-Tuning Llama 3.1 for Text Classification

Quelle: Lama 3.1 (meta.com)

Zugriff auf und verwenden Lama 3.1 auf Kaggle

Wir nutzen Kaggle's Free GPUS/TPUS. Befolgen Sie die folgenden Schritte:

  1. Registrieren Sie sich auf meta.com (mit Ihrer Kaggle -E -Mail).
  2. Zugriff auf das Lama 3.1 Kaggle Repository und Request Model Access.
  3. Starten Sie ein Kaggle -Notizbuch mit der Schaltfläche "Code".
  4. Wählen Sie Ihre bevorzugte Modellversion und fügen Sie sie dem Notizbuch hinzu.
  5. Installieren Sie die erforderlichen Pakete (%pip install -U transformers accelerate).
  6. Laden Sie das Modell und den Tokenizer:
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
import torch

base_model = "/kaggle/input/llama-3.1/transformers/8b-instruct/1"

tokenizer = AutoTokenizer.from_pretrained(base_model)
model = AutoModelForCausalLM.from_pretrained(base_model, return_dict=True, low_cpu_mem_usage=True, torch_dtype=torch.float16, device_map="auto", trust_remote_code=True)
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, torch_dtype=torch.float16, device_map="auto")
  1. Erstellen Sie Eingabeaufforderungen und führen Sie Inferenz aus:
messages = [{"role": "user", "content": "What is the tallest building in the world?"}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=120, do_sample=True)
print(outputs[0]["generated_text"])

Fine-Tuning Llama 3.1 for Text Classification

Feinabstimmungslama 3.1 für die Klassifizierung der psychischen Gesundheit

  1. Setup: Starten Sie ein neues Kaggle -Notizbuch mit Lama 3.1, installieren Sie die erforderlichen Pakete (bitsandbytes, transformers, accelerate, peft, trl) und fügen Sie den Datensatz "Stimmungsanalyse für psychische Gesundheit" hinzu. Konfigurieren Sie Gewichte und Verzerrungen (mit Ihrem API -Schlüssel).

  2. Datenverarbeitung: Laden Sie den Datensatz, reinigen Sie sie (Entfernen Sie mehrdeutige Kategorien: "Suizid", "Stress", "Persönlichkeitsstörung"), Shuffle und Teilen in Training, Bewertung und Testsätze (unter Verwendung von 3000 Proben zur Effizienz). Erstellen Sie Eingabeaufforderungen mit Aussagen und Beschriftungen.

  3. Modellbelastung: Laden Sie das LAMA-3.1-8B-Instruct-Modell unter Verwendung der 4-Bit-Quantisierung für die Speichereffizienz. Laden Sie den Tokenizer und stellen Sie die Pad -Token -ID ein.

  4. Bewertung vor dem Finanzabbau: Funktionen erstellen, um Etiketten vorherzusagen und die Modellleistung zu bewerten (Genauigkeit, Klassifizierungsbericht, Verwirrungsmatrix). Bewerten Sie die Grundlinienleistung des Modells vor der Feinabstimmung.

  5. Feinabstimmung: LORA mit den entsprechenden Parametern konfigurieren. Richten Sie Trainingsargumente ein (passen Sie nach Bedarf für Ihre Umgebung an). Trainieren Sie das Modell mit SFTTrainer. Überwachen Sie den Fortschritt mit Gewichten und Vorurteilen.

  6. Nach der Finanzabteilung Bewertung: Bewerten Sie die Leistung des Modells nach der Feinabstimmung neu.

  7. Zusammenführen und Speichern: In einem neuen Kaggle-Notizbuch den fein abgestimmten Adapter mit dem Basismodell mit PeftModel.from_pretrained() und model.merge_and_unload() verschmelzen. Testen Sie das fusionierte Modell. Speichern und schieben Sie das endgültige Modell und Tokenizer in den Umarmungs -Face -Hub.

Denken Sie daran, Platzhalter wie /kaggle/input/... durch Ihre tatsächlichen Dateipfade zu ersetzen. Der vollständige Code und die detaillierten Erklärungen sind in der ursprünglichen, längeren Antwort verfügbar. Diese kondensierte Version bietet einen Überblick über hochrangige und wichtige Code-Snippets. Priorisieren Sie immer ethische Überlegungen bei der Arbeit mit sensiblen Daten.

Das obige ist der detaillierte Inhalt vonFeinabstimmung Lama 3.1 für die Textklassifizierung. 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