Finjustera med Trainer-API:t
Träna en klassificerare på dina data
Finjustera med Trainer-API:t är en gratis lektion i NLP Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för NLP Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i NLP Academy innehåller totalt 4 lektioner.
Varför finjustera
En förtränad modell kan redan språk; finjustering hjälper den att bli bäst på din specifika uppgift med hjälp av dina märkta data.
Börja från en checkpoint
Läs in en modell med ett klassificeringshuvud som är anpassat efter dina etiketter. Basvikterna återanvänds, och bara huvudet börjar från början.
from transformers import AutoModelForSequenceClassification
m = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased", num_labels=2)Möt Trainer
API:et Trainer hanterar hela träningsslingan åt dig: batchning, gradienter, utvärdering och sparande, allt i en och samma klass.
Förbered ditt dataset
Tokenisera texten och behåll etiketterna. Ett Hugging Face-objekt av typen Dataset kan användas direkt med Trainer.
ds = ds.map(lambda x: tok(x["text"], truncation=True), batched=True)Ange träningsargument
TrainingArguments samlar alla inställningar på ett ställe: inlärningshastighet, batchstorlek, epoker och var checkpoints ska sparas.
from transformers import TrainingArguments
args = TrainingArguments("out", num_train_epochs=3)Bygg Trainer
Skicka modellen, argumenten och dina dataset till Trainer. Nu finns allt som behövs för inlärningen i ett enda objekt.
from transformers import Trainer
trainer = Trainer(model=m, args=args, train_dataset=train, eval_dataset=val)Starta träningen
Ett enda anrop kör hela slingan. Trainer går igenom epokerna och uppdaterar vikterna medan den lär sig.
trainer.train()Inlärningshastigheten spelar roll
Vid finjustering används en liten inlärningshastighet, ofta omkring 2e-5, så att de förtränade vikterna justeras försiktigt i stället för att förstöras.
Bara några få epoker
Transformers behöver vanligtvis bara två till fyra genomgångar av data. Efter för många epoker börjar modellen överanpassa sig.
Följ mätvärdena
Ge Trainer en compute_metrics-funktion, så rapporterar den precision eller F1 vid varje utvärdering och du kan följa utvecklingen i realtid.
trainer = Trainer(..., compute_metrics=metric_fn)Använd en datakollator
En datakollator paddar varje batch dynamiskt till längden på dess längsta exempel, vilket sparar minne jämfört med att fylla ut allt till samma längd.
Snabb kontroll
Varför använder finjustering en liten inlärningshastighet?
Sammanfattning
Läs in en modell med ett nytt huvud, tokenisera dina data, ange TrainingArguments och låt sedan Trainer köra några epoker med låg inlärningshastighet. ✅
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Finjustera med Trainer-API:t” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen NLP Academy, inklusive ”Finjustera med Trainer-API:t”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i NLP Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Finjustera med Trainer-API:t”?
Träna en klassificerare på dina data Ni övar på NLP Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig NLP Academy?
Du behöver inga förkunskaper. Utbildningen i NLP Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Finjustera med Trainer-API:t”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här NLP Academy-lektionen?
Ja. Varje NLP Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- En rundtur i Transformers-biblioteket
- Tokenisera för Transformer-modeller
- Finjustera med Trainer-API:t
- Utvärdera och spara din modell