Path: blob/main/transformers_doc/ro/tensorflow/quicktour.ipynb
18694 views
Pornire rapidă
Transformers este construit astfel încât să fie rapid și ușor de folosit pentru ca toată lumea să poată să învețe și să construiască utilizând modele transformers.
Numărul de abstractizări orientate către utilizator este limitat la trei clase pentru inițializarea unui model și două API-uri pentru antrenare sau inferență. Acest ghid de pornire rapidă te introduce în funcțiile de bază ale Transformers și îți arată cum să:
încarci un model pre-antrenat
rulezi inferență cu
Pipelineajustezi un model cu
Trainer
Configurare
Pentru început, recomandăm să creezi un cont Hugging Face. Un cont îți permite să rulezi și să accesezi modele, seturi de date și Spaces pe Hub-ul Hugging Face, o platformă colaborativă pentru construire și descoperire.
Creează un User Access Token și autentifică-te în contul tău.
Introdu User Access Token-ul în notebook_login la autentificare.
Asigură-te că package-ul huggingface_hub[cli] este instalat și rulează comanda de mai jos. Introdu User Access Token-ul la autentificare.
Instalează PyTorch.
După, instalează o versiune la zi a Transformers și biblioteci adiționale din ecosistemul Hugging Face pentru a accesa seturi de date, modele de vision, și pentru a evalua și optimiza antrenarea modelelor mari.
Modele pre-antrenate
Fiecare model pre-antrenat moștenește din 3 clase de bază.
| Clasă | Descriere |
|---|---|
PreTrainedConfig | Un fișier care specifică atributele modelului, precum numărul de attention heads și dimensiunea vocabularului. |
PreTrainedModel | Un model (sau o arhitectură) definit(ă) de atributele modelului din fișierul de configurație. Un model pre-antrenat returnează doar raw hidden states. Pentru un task specific, folosește model head-ul potrivit pentru a transforma raw hidden states într-un rezultat relevant (spre exemplu, LlamaModel versus LlamaForCausalLM). |
| Preprocessor | O clasă pentru transformarea din raw inputs (text, imagini, audio, multimodale) în numerical inputs pentru model. Spre exemplu, PreTrainedTokenizer transformă text în tensori și ImageProcessingMixin transformă pixeli în tensori. |
Recomandăm să utilizezi API-ul AutoClass pentru încărcarea modelelor și a preprocesatoarelor pentru că alege automat arhitectura potrivită pentru fiecare task și framework-ul de machine learning în baza numelui sau path-ului pentru model weights și a fișierului de configurație.
Folosește from_pretrained() pentru a încărca weights și fișierul de configurație de pe Hub în model și clasa de preprocesare.
Când încarci un model, configurează parametrii de mai jos pentru ca modelul să fie încărcat optim.
device_map="auto"alocă automat model weights celui mai rapid dispozitiv.dtype="auto"inițializează din start model weights cu tipul de date în care acestea sunt salvate, ceea ce poate evita încărcarea lor de două ori (PyTorch utilizează implicit tipultorch.float32).
Tokenizează textul și returnează tensori PyTorch cu Tokenizatorul. Mută modelul pe un accelerator (dacă unul este disponibil) pentru a accelera inferența.
Modelul este pregătit pentru antrenare sau inferență.
Pentru inferență, introdu input-urile tokenizate în generate() pentru a genera text. Decodează token id-urile înapoi în text utilizând batch_decode().
[!TIP] Vezi secțiunea Trainer ca să înveți cum să ajustezi un model.
Pipeline
Clasa Pipeline este cel mai convenabil mod de a face inferență cu un model pre-antrenat. Suportă multe task-uri, precum generarea de text, segmentarea de imagini, recunoașterea vocală automată, răspunsuri la întrebări din documente și multe altele.
[!TIP] Vezi referința API-ului Pipeline pentru o listă completă de task-uri disponibile.
Creează un obiect Pipeline și selectează un task. Pipeline descarcă și salvează în cache un model pentru un task dat. Introdu numele modelului în parametrul model pentru a alege un model specific.
Utilizează Accelerator pentru a detecta automat un accelerator disponibil pentru inferență.
Introdu text inițial în Pipeline pentru a genera mai mult text.
Utilizează Accelerator pentru a detecta automat un accelerator disponibil pentru inferență.
Introdu o imagine - un URL sau un path local - în Pipeline.
Utilizează Accelerator pentru a detecta automat un accelerator disponibil pentru inferență.
Introdu un fișier audio în Pipeline.
Trainer
Trainer este un loop complet de antrenare și evaluare pentru modelele PyTorch. Abstractizează mult din codul boilerplate întâlnit la scrierea manuală a unui loop de antrenare, ca să poți începe antrenarea mai rapid și ca să te focusezi pe designul antrenării. Ai nevoie doar de un model, un set de date, un preprocesator și un data collator ca să construiești batch-uri de date din set.
Utilizează clasa TrainingArguments pentru a personaliza procesul de antrenare. Dispune de multe opțiuni pentru antrenare, evaluare și multe altele. Experimentează cu hyperparameters de antrenare și funcții precum mărimea batch-ului, rata de învățare, precizia mixtă, torch.compile și multe altele, pentru necesitățile tale la antrenare. Poți folosi și parametrii impliciți de antrenare pentru a produce rapid un baseline.
Încarcă un model, un set de date și un tokenizer pentru antrenare.
Creează o funcție pentru a tokeniza textul și a-l transforma în tensori PyTorch. Aplică această funcție întregului set de date cu metoda map.
Încarcă un data collator pentru a crea batch-uri de date și asociază-i tokenizer-ul.
După, configurează TrainingArguments cu features și hyperparameters de antrenare.
În final, introdu toate aceste componente în Trainer și apelează funcția train() pentru a începe.
Distribuie-ți modelul și tokenizer-ul pe Hub cu push_to_hub().
Felicitări, ai terminat de antrenat primul tău model cu Transformers!
Următorii pași
Acum că știi mai multe despre Transformers și despre ce are de oferit, continuă să explorezi și să înveți ceea ce te interesează.
Clase de bază: Învață mai multe despre clasele de configurație, model și procesare. Asta te va ajuta să creezi și personalizezi modele, să procesezi diferite tipuri de input (audio, imagini, multimodale) și cum să-ți partajezi modelul.
Inferență: Explorează
Pipelineîn detaliu, inferența si conversarea cu LLMs, agenți și cum să optimizezi inferența cu framework-ul de machine learning și hardware-ul tău.Antrenare: Studiază
Trainerîn detaliu, antrenarea distribuită și optimizarea antrenării pe diferite configurații hardware.Quantization: Redu cerințele de memorie și stocare cu quantization și mărește viteza de inferență prin reprezentarea model weights în mai puțini biți.
Resurse: Cauți ghiduri complete pentru antrenarea și inferența cu un model pentru un task specific? Consultă ghidurile pentru task-uri!