Ce înseamnă PyTorch
PyTorch este o bibliotecă Python pentru construirea și antrenarea rețelelor neuronale. A fost creată de laboratorul de cercetare AI al Meta (pe atunci Facebook) și publicată în 2016-2017. Din 2022 este administrată de PyTorch Foundation, parte din Linux Foundation, ca proiect independent.
A devenit instrumentul preferat al cercetătorilor, iar astăzi majoritatea modelelor publicate în lucrări științifice și pe Hugging Face, inclusiv multe modele de limbaj mari, sunt scrise în PyTorch.
Cum funcționează
PyTorch lucrează cu tensori (tablouri de numere pe mai multe dimensiuni) care pot fi mutați ușor pe GPU. Ideea care l-a făcut popular este graful dinamic: calculul se construiește pe măsură ce rulează codul Python obișnuit, așa că poți folosi if, bucle și instrumente de depanare normale.
Modulul autograd calculează automat gradienții pentru backpropagation. Pe lângă bibliotecă există un ecosistem întreg: torchvision pentru imagini, torchaudio pentru sunet și instrumente pentru antrenarea pe multe GPU-uri simultan.
Pe înțelesul tuturor
Dacă un framework mai rigid e ca o rețetă care trebuie scrisă integral înainte să aprinzi aragazul, PyTorch e ca gătitul obișnuit: guști, ajustezi și schimbi pașii pe parcurs.
Exemplu
Un doctorand de la Universitatea din București descarcă de pe Hugging Face un model de limbaj scris în PyTorch și îl ajustează (fine-tuning) pe un corpus de texte juridice românești, folosind un GPU din laboratorul facultății.
De reținut
- PyTorch este un framework de deep learning, nu un model.
- Este standardul de facto în cercetare și la modelele de limbaj.
- Graful dinamic îl face natural pentru programatorii Python.
Nu confunda
- PyTorch vs. Torch: Torch era o bibliotecă mai veche, în limbajul Lua, din care PyTorch a preluat idei.
Termeni înrudiți
- TensorFlow: Bibliotecă open source creată de Google pentru construirea, antrenarea și rularea modelelor de machine learning.
- Deep learning (învățare profundă): Tip de machine learning bazat pe rețele neuronale cu multe straturi; stă în spatele chatboților, traducerilor și recunoașterii imaginilor.
- Backpropagation: Metoda prin care o rețea neuronală află cât a contribuit fiecare pondere la eroare, ca să știe cum să le corecteze.
- GPU (pentru AI): Procesorul plăcii video, cu mii de nuclee care fac calcule în paralel; a devenit motorul principal al antrenării și rulării modelelor AI.
- CUDA: Platforma NVIDIA care permite programelor să folosească plăcile video pentru calcule generale, inclusiv antrenarea și rularea modelelor AI.
- Hugging Face: Platforma online unde comunitatea AI publică și descarcă modele, seturi de date și aplicații demonstrative; un fel de GitHub al AI-ului.