Căutați o modalitate de a antrena o IA puternică pentru aplicațiile dvs. specifice? Încercați să transferați învățarea!
Dacă sunteți interesat să vă antrenați propriul model AI pentru procesarea limbajului natural (NLP) sau viziunea computerizată, ar trebui să vă familiarizați cu învățarea prin transfer și cum să utilizați modele pre-instruite.
Fără învățare prin transfer, formarea unui model eficient și de încredere va fi adesea un efort prohibitiv de resurse, care necesită o mulțime de bani, timp și experiență, cu dezvoltatorul ChatGPT OpenAI estimat că a cheltuit milioane de antrenament GPT-3, GPT-3.5 și GPT-4. Cu puterea învățării prin transfer, vă puteți antrena propriul model la fel de puternic ca cel mai recent model GPT, cu puține resurse într-o perioadă scurtă.
Ce este AI Transfer Learning?
Învățarea prin transfer este ideea de a lua un model pre-instruit, cum ar fi BERT sau unul dintre diferite modele GPT și instruirea acestuia pe un set de date personalizat pentru a lucra la sarcini pe care nu a fost neapărat instruit să le rezolve.
De exemplu, puteți lua un model pre-dresat pentru clasificarea diferitelor specii de pisici și îl puteți antrena pentru a clasifica câinii. Prin învățarea prin transfer, antrenamentul modelului dvs. de clasificare a câinilor ar trebui să necesite mult mai puțin timp și resurse pentru a deveni la fel de fiabil ca modelul original de clasificare a pisicilor.
Acest lucru funcționează, deoarece pisicile și câinii împărtășesc multe trăsături pe care modelul pre-antrenat le poate identifica deja. Deoarece modelul de clasificare a pisicii poate identifica diferitele trăsături ale unei pisici, cum ar fi că are patru picioare, haine de blană și bot, modelul de clasificare a câinilor poate sări peste tot antrenamentul pentru a identifica acele trăsături și a le moșteni din originalul model. După ce ai moștenit toate acele rețele neuronale, apoi tăiați ultimele straturi ale modelului antrenat folosit pentru a identifica trăsăturile mai specifice ale unei pisici și le înlocuiți cu un set de date specific câinilor.
Ce modele de inteligență artificială puteți folosi pentru transferul de învățare?
Pentru a utiliza învățarea prin transfer, veți avea nevoie de un model pre-instruit. Un model pre-antrenat este cunoscut în mod obișnuit ca un model AI antrenat în scopul de a dobândi cunoștințe generale despre un anumit subiect sau idee. Aceste tipuri de modele pre-antrenate sunt create în mod intenționat pentru ca oamenii să ajusteze și să creeze mai multe modele specifice aplicației. Unele dintre cele mai populare modele pre-antrenate sunt pentru NLP, cum ar fi BERT și GPT, și viziune computerizată, cum ar fi VGG19 și Inceptionv3.
Deși populare, aceste modele ușor de reglat fin nu sunt singurele pe care le puteți folosi pentru transferul de învățare. De asemenea, puteți utiliza modele instruite pe sarcini mai specifice decât recunoașterea generală a obiectelor sau a limbii. Atâta timp cât modelul a dezvoltat rețele neuronale aplicabile modelului pe care încerci să-l antrenezi, poți folosi aproape orice model pentru transferul de învățare.
Puteți obține modele pre-antrenate disponibile public din locuri precum TensorFlow Hub, Hugging Face și piața de modele OpenAI.
Beneficiile utilizării AI Transfer Learning
Învățarea prin transfer oferă mai multe beneficii față de formarea unui model AI de la zero.
- Timp de antrenament redus: Când antrenați un model de la zero, o mare parte a procesului de formare este cheltuită pe cunoștințe generale de bază. Prin transferul de învățare, modelul dumneavoastră moștenește automat toate aceste cunoștințe fundamentale, reducând astfel semnificativ timpul de antrenament.
- Mai puțină cerință de resurse: Deoarece toate cunoștințele de bază sunt deja acolo, tot ce trebuie să faceți este să pregătiți în continuare modelul pentru specificul aplicației dvs. Acest lucru necesită adesea doar un set de date relativ mic, care poate fi procesat cu o putere de calcul mai mică.
- Performanta imbunatatita: Dacă nu cheltuiți milioane de dolari pentru construirea modelului dvs. de la zero, nu vă puteți aștepta la un model la fel de bun sau de fiabil ca un model de limbă mare (LLM) de la o companie gigantică de tehnologie. Folosind învățarea prin transfer, puteți profita de capabilitățile puternice ale acestor LLM-uri pre-instruite, cum ar fi GPT, pentru a îmbunătăți performanța modelului dvs.
Este posibil să antrenați un model AI de la zero, dar aveți nevoie de resurse mai mari pentru a face acest lucru.
Cum funcționează transferul de învățare?
În esență, există trei etape când vine vorba de transferul învățării.
- Selectarea unui model pre-antrenat: Un model pre-antrenat este supus unei instruiri inițiale folosind un set de date considerabil dintr-o sarcină sursă, cum ar fi ImageNet, sau o colecție mare de text. Această fază de pregătire inițială permite modelului să dobândească cunoștințe despre caracteristicile și modelele generale găsite în setul de date. Timpul și resursele pe care le economisiți din învățarea prin transfer vor depinde de asemănările dintre modelul pre-antrenat și modelul pe care încercați să îl construiți.
- Extragerea caracteristicilor: Odată ce un model pre-antrenat a fost selectat pentru reglare fină, straturile inițiale ale modelului pre-antrenat (cel mai apropiat de intrare) sunt înghețate; aceasta înseamnă că greutățile lor sunt menținute fixe în timpul reglajului fin. Înghețarea acestor straturi păstrează cunoștințele generale învățate în timpul fazei de pre-antrenament și împiedică ca acestea să fie puternic influențate de setul de date specifice sarcinilor modelului țintă. Pentru modelele pregătite complet pentru aplicații specifice, straturile finale ale modelelor sunt eliminate sau neînvățate pentru ca modelul țintă să fie antrenat în alte aplicații specifice.
- Reglaj fin: După ce modelul pre-antrenat a fost înghețat și straturile superioare eliminate, un nou set de date este alimentat algoritmului de învățare, care este apoi utilizat pentru a antrena noul model și specificul aplicării acestuia.
Există mai mult decât cele trei etape, dar această schiță detaliază aproximativ modul în care funcționează procesul de învățare prin transfer AI, cu unele ajustari fine.
Limitări ale învățării prin transfer AI
Deși învățarea prin transfer este un concept valoros în formarea modelelor eficiente și fiabile, există destul de multe limitări pe care trebuie să le cunoașteți atunci când utilizați învățarea prin transfer pentru a instrui un model.
- Nepotrivirea sarcinii: Atunci când alegeți un model de bază pentru învățarea prin transfer, acesta trebuie să fie cât mai relevant posibil pentru problemele pe care noul model le va rezolva. Utilizarea unui model care clasifică pisicile pentru a crea un model de clasificare a câinilor este mai probabil să producă rezultate mai bune decât utilizarea unui model de clasificare a mașinilor pentru a crea un model pentru plante. Cu cât modelul de bază este mai relevant pentru modelul pe care încercați să îl construiți, cu atât veți economisi mai mult timp și resurse pe parcursul procesului de învățare prin transfer.
- Disturbirea setului de date: Deși modelele pre-antrenate sunt adesea antrenate în seturi de date mari, există totuși posibilitatea ca acestea să dezvolte o anumită părtinire în timpul antrenamentului. Utilizarea modelului de bază extrem de părtinitoare ar determina, de asemenea, modelul să moștenească părtinirile sale, reducând astfel acuratețea și fiabilitatea modelului dvs. Din păcate, originea acestor părtiniri este greu de identificat din cauza natura cutie neagră a învățării profunde.
- Supramontare: Unul dintre principalele beneficii ale învățării prin transfer este că puteți folosi un set de date relativ mic pentru a instrui un model în continuare. Cu toate acestea, antrenarea modelului pe un set de date care este prea mic poate cauza supraadaptare, ceea ce reduce semnificativ fiabilitatea modelului atunci când este furnizat cu date noi.
Deci, deși învățarea prin transfer este o tehnică de învățare AI la îndemână, există limitări și nu este un glonț de argint.
Ar trebui să utilizați Transfer Learning?
Încă de la disponibilitatea modelelor pre-instruite, învățarea prin transfer a fost întotdeauna folosită pentru a realiza modele mai specializate. Chiar nu există niciun motiv să nu folosiți învățarea prin transfer dacă există deja un model pre-antrenat relevant pentru problemele pe care modelul dvs. le va rezolva.
Deși este posibil să antrenezi un model simplu de învățare automată de la zero, a face acest lucru pe un model de învățare profundă va necesita o mulțime de date, timp și abilități, care nu vor avea sens dacă puteți reutiliza un model existent similar cu cel pe care intenționați să îl tren. Așadar, dacă doriți să cheltuiți mai puțin timp și bani în pregătirea unui model, încercați să vă antrenați modelul prin învățarea prin transfer.