Kā patiesībā darbojas mākslīgā intelekta apmācība: no nejauša haosa līdz noderīgam intelektam
Pārvērtība, ko neviens neredz
Visu laiku dzirdat par apmācītiem mākslīgā intelekta modeļiem. ChatGPT. Attēlu ģeneratori. Pašvadības sistēmas. Tie strādā. Tie ir noderīgi. Dažkārt pat iespaidīgi.
Bet tie tādi nesākās. Sākumā tie bija pilnīgi nederīgi. Nejauši. Izteica bezjēdzīgus minējumus. Ģenerēja atkritumu līmeņa izvadi.
Apmācība ir process, kas pārvērš šo nejaušo haosu noderīgā intelektā. Un tas ir mežonīgāk, nekā jūs domājat.
Kas apmācība patiesībā ir
Mākslīgā intelekta modeļa apmācība būtībā ir pareizo skaitļu atrašana.
Atcerieties no raksta par neironu tīkliem: modelis ir pilns ar parametriem (svariem). Sākumā tie ir nejauši. Modelis izdara nejaušus minējumus. Apmācība pielāgo šos parametrus, līdz minējumi kļūst labi.
Tas arī viss. Pielāgo skaitļus. Pārbaudi, vai ir labāk. Pielāgo vēlreiz. Atkārto miljoniem reižu. Galu galā jums ir noderīgs modelis.
Vienkārša koncepcija. Absurdi sarežģīta izpilde.
Apmācības process (soli pa solim)
Apskatīsim, kas tieši notiek apmācības laikā:
- 1. solis: sākotnējā nejaušināšana Sāciet ar nejaušiem svariem. Pilnīgi nejaušiem. Modelis neko nezina. Tā minējumi ir atkritumi. Tas ir sākumpunkts.
- 2. solis: minējumu izdarīšana (tiešā gaita) Ievadiet apmācības datus. Modelis tos apstrādā ar saviem pašreizējiem (nejaušajiem) svariem. Izdod minējumus. Tie ir nepareizi. Ļoti nepareizi. Bet mēs zinām pareizās atbildes.
- 3. solis: kļūdas mērīšana (zuduma aprēķins) Salīdziniet minējumus ar pareizajām atbildēm. Aprēķiniet skaitli, kas atspoguļo kopējo kļūdu. Tas ir "zudums" jeb "kļūda". Lielāks nozīmē sliktāk.
- 4. solis: uzlabošanas veida aprēķināšana (apgrieztā gaita) Izmantojot aprēķinus, aprēķiniet, kā tieši pielāgot katru svaru, lai samazinātu zudumu. Kādā virzienā pakustināt katru skaitli. Cik daudz. Tas ir gradients: virziens ar visstāvāko nolaišanos uz labākiem minējumiem.
- 5. solis: svaru atjaunināšana Pielāgojiet visus svarus nedaudz virzienā, kas samazina zudumu. Ne pārāk daudz (nestabili). Ne pārāk maz (lēni). Tieši pareizi (mācīšanās ātrums).
- 6. solis: atkārtošana Atgriezieties pie 2. soļa. Vēl viena datu partija. Vēl viena tiešā gaita, zuduma aprēķins, apgrieztā gaita, svaru atjaunināšana. Atkārtojiet tūkstošiem vai miljoniem reižu.
Pamazām zudums samazinās. Minējumi uzlabojas. Galu galā modelis ir noderīgs.
Tā ir apmācība. Optimizācija, atkārtoti pielāgojot. Vienkārša koncepcijā. Milzīga mērogā.
Mācību laiks: kāpēc tas tik ilgi prasa
Mazi modeļi ar mazām datu kopām? Stundas. Lieli modeļi ar lielām datu kopām? Nedēļas. Dažreiz mēneši. Kāpēc tik ilgi?
- Miljardiem parametru: Lieliem valodas modeļiem ir simtiem miljardu parametru. Katrs no tiem ir jāpielāgo. Daudzas reizes. Tie ir miljardi aprēķinu katrā mācību solī. Miljoniem mācību soļu. Matemātika uzkrājas.
- Milzīgas datu kopas: Mācīšanās ar miljardiem piemēru. Visu to apstrāde, vairākas reizes (epochas). Katrs piemērs iziet cauri visam modelim. Uz priekšu un atpakaļ. Milzīga skaitļošana.
- Iteratīva pilnveide: Nevar tikai vienreiz pielāgot svarus un uzskatīt, ka darbs padarīts. Nelielas korekcijas, atkārtotas miljoniem reižu, lēnām tuvojas labām vērtībām. Tas ir pakāpeniski. Bez īsceļiem.
- Aparatūras ierobežojumi: Pat jaudīgiem GPU ir ierobežojumi. Atmiņas joslas platums. Aprēķinu caurlaidspēja. Komunikācijas pārklājums vairāku GPU iestatījumos. Šie sastrēgumi palēnina visu.
Lielu modeļu mācīšana patiešām ir viens no skaitļošanas ziņā intensīvākajiem uzdevumiem, ko cilvēki veic. Eksaskalas skaitļošana. Petabaiti datu. Nedēļas nepārtraukta GPU laika. Mērogs ir absurds.
Izmaksas (nauda un enerģija)
Mācīšanās nav tikai laiks. Tā ir dārga. Patiešām dārga.
- Skaitļošanas izmaksas: GPU noma maksā tūkstošiem mēnesī. Liela modeļa mācīšanai vienlaikus tiek izmantoti simtiem vai tūkstošiem GPU. Nedēļām ilgi. Rēķins sasniedz miljoniem dolāru. Tikai par skaitļošanu.
- Enerģijas patēriņš: Katrs GPU patērē 300-500 vatus. Reiziniet ar tūkstošiem. Darbojieties nedēļām. Jūs patērējat elektroenerģiju spēkstacijas līmenī. Oglekļa pēdas nospiedums ir milzīgs.
- Datu izmaksas: Augstas kvalitātes mācību dati nav bezmaksas. Vākšana. Tīrīšana. Marķēšana. Uzglabāšana. Pārsūtīšana. Viss maksā naudu. Dažreiz vairāk nekā skaitļošana.
- Cilvēku izmaksas: Datu zinātnieki. ML inženieri. Infrastruktūras komandas. Uzraudzība 24/7. Kļūdu novēršana. Hiperparametru optimizēšana. Darbaspēka izmaksas uzkrājas.
Jaunākās paaudzes modeļa mācīšana var izmaksāt 10-100 miljonus eiro. Tikai par vienu mācību sesiju. Ja kaut kas noiet greizi pusceļā? Sāciet no jauna. Zaudējiet nedēļas skaitļošanas un miljoniem eiro.
Tāpēc tikai labi finansētas organizācijas var mācīt lielākos modeļus. Šķērslis nav zināšanas. Tie ir resursi.
Kas var noiet greizi (un bieži noiet)
Mācīšanās ir trausla. Daudzi kļūmju veidi:
- Izzūdošie gradienti: Ļoti dziļos tīklos gradienti var kļūt niecīgi, izplatoties atpakaļ. Galu galā tie ir tik mazi, ka svari gandrīz netiek atjaunināti. Mācīšanās apstājas. Modelis pārstāj mācīties.
- Eksplodējošie gradienti: Pretēja problēma. Gradienti kļūst milzīgi. Svaru atjauninājumi kļūst masīvi. Modelis novirzās. Zaudējums aizlido līdz bezgalībai. Mācīšanās avarē.
- Pārmācīšanās: Modelis iegaumē mācību datus, nevis apgūst modeļus. Darbojas perfekti uz mācību piemēriem. Neizdodas ar jauniem datiem. Klasisks kļūmes veids.
- Režīma sabrukums: Atsevišķos modeļos (piemēram, GAN) mācīšanās var sabrukt līdz tikai viena veida izvades radīšanai. Zaudē daudzveidību. Kļūst nederīgs.
- Katastrofāla aizmiršana: Mācoties ar jauniem datiem, modelis aizmirst to, ko apguva no vecajiem datiem. Iepriekšējās zināšanas tiek pārrakstītas. Bieži sastopams nepārtrauktas mācīšanās scenārijos.
- Aparatūras kļūmes: GPU nomirst. Tīkla savienojums pārtrūkst. Elektrības padeves pārtraukums. Mācīšanās avarē. Zaudējat stundas vai dienas progresa. Cerams, ka saglabājāt kontrolpunktus.
Apmācība prasa pastāvīgu uzraudzību. Problēmu pamanīšana agri. Pielāgojumu veikšana. Dažreiz vienkārši sākšana no jauna, kad lietas kļūst nelabojami nepareizas.
Binārā un peldošā komata apmācība
Standarta pieeja izmanto peldošā komata darbības. Precīzas. Elastīgas. Resursietilpīgas.
Binārā apmācība ir citāda. Lūk, kā:
Hibrīdā precizitāte:
Uz priekšu virzītajā piegājienā: binarizē svarus un aktivācijas. Izmanto lētas XNOR un popcount darbības. Ātri.
Atpakaļvirziena piegājienā: saglabā pilnas precizitātes gradientus. Atjaunina pilnas precizitātes svarus. Tad atkal binarizē nākamajam uz priekšu virzītajam piegājienam.
Binārais ātrumam. Pilna precizitāte mācīšanās procesam. Labākais no abām pasaulēm.
- Straight-Through estimators: Binarizācija nav diferencējama. Caur to nevar normāli aprēķināt gradientus. Risinājums: izliecies, ka tā ir diferencējama atpakaļvirziena piegājiena laikā. Izlaiž gradientus taisni cauri. Tas darbojas. Ne teorētiski perfekti, bet praktiski efektīvi.
- Stohastiskā binarizācija: Determinētiskās binarizācijas (zīmes funkcijas) vietā izmanto varbūtības pieeju. Palīdz izkļūt no lokālajiem minimumiem. Pievieno labvēlīgu troksni apmācības laikā. Uzlabo galīgo precizitāti.
- Dweve pieeja: Mūsu Core sistēma izmanto šīs metodes bināro neironu tīklu apmācībai. Rezultāts: 2× ātrāka apmācība salīdzinājumā ar peldošo komatu, saglabājot līdzvērtīgu precizitāti. Nav maģija. Tikai efektīva bināro darbību izmantošana tur, kur tās darbojas.
Ierobežojumu atklāšana un svaru mācīšanās
Tradicionālā apmācība pielāgo svarus. Dweve Loom dara kaut ko citu: atklāj ierobežojumus.
- Evolucionārā meklēšana: Tā vietā, lai izmantotu gradienta nolaišanos, izmanto evolucionāros algoritmus. Ģenerē kandidātu ierobežojumu kopas. Novērtē to veiktspēju. Saglabā labākos. Mutē un kombinē tos. Atkārto.
- Ierobežojumu kristalizācija: Kad ierobežojums izrādās uzticams daudzos scenārijos, tas "kristalizējas" pastāvīgās zināšanās. Kļūst nemainīgs. Vairs nav pakļauts izmaiņām. Garantēti tiek piemērots.
- Skaidrojams pēc dizaina: Katrs ierobežojums ir loģiska sakarība. Cilvēkam lasāms. Pārbaudāms. Izsekojams. Nav melnās kastes. Katrs lēmums seko skaidrām ierobežojumu ķēdēm.
Atšķirīga mācīšanās paradigma. Atšķirīgs apmācības process. Atšķirīgas garantijas. Atsevišķiem uzdevumiem (loģiskā spriešana, ierobežojumu apmierināšana) bieži vien labāk nekā tradicionālā svara mācīšanās.
Hiperparametru regulēšana (slēptā sarežģītība)
Apmācība nav tikai "algoritma palaišana". Tā prasa iestatīt hiperparametrus. Daudz no tiem.
- Mācīšanās ātrums: Cik lieli ir svara atjauninājumi? Pārāk liels: nestabils. Pārāk mazs: lēns.
- Partijas lielums: Cik piemēru uz vienu atjauninājumu? Ietekmē konverģenci un aparatūras efektivitāti.
- Optimizētāja izvēle: SGD? Adam? RMSprop? Katrs uzvedas atšķirīgi.
- Regularizācija: Cik ļoti sodīt par sarežģītību? Novērš pārmācīšanos, bet var kaitēt veiktspējai.
- Tīkla arhitektūra: Cik slāņu? Cik plats? Kādas aktivācijas funkcijas? Eksponenciālas izvēles.
- Datu papildināšana: Kādas transformācijas piemērot? Cik agresīvi?
Katra izvēle ietekmē apmācību. Labu hiperparametru atrašana prasa eksperimentēšanu. Daudz izmēģinājumu. Katrs ilgst stundas vai dienas. Tas ir dārgi. Laikietilpīgi. Bieži vien vairāk māksla nekā zinātne.
Tāpēc pieredzējuši mašīnmācīšanās inženieri ir vērtīgi. Viņi ir redzējuši pietiekami daudz apmācības, lai iegūtu intuīciju par hiperparametru izvēli. Viņi tērē mazāk laika sliktām konfigurācijām.
Pārsūtīšanas mācīšanās (praktiskais īsceļš)
Apmācība no nulles ir dārga. Pārsūtīšanas mācīšanās ir alternatīva.
- Sāciet ar iepriekš apmācītu modeli: Kāds cits jau ir apmācījis modeli ar milzīgu datu apjomu. ImageNet vizuālajiem uzdevumiem. Grāmatas un tīmekļa dati valodai. Jūs sākat ar viņu apmācītajiem svariem.
- Precizējiet ar saviem datiem: Nedaudz pielāgojiet šos iepriekš apmācītos svarus savam konkrētajam uzdevumam. Nepieciešams ievērojami mazāk datu. Ievērojami ātrāk. Ievērojami lētāk.
- Kāpēc tas darbojas: Agrīnie slāņi apgūst vispārīgas iezīmes (malas, faktūras, pamata modeļus). Tās pārnesas starp uzdevumiem. Tikai vēlākajiem slāņiem nepieciešama uzdevumam specifiska pielāgošana.
Tā vietā, lai veltītu nedēļas un miljoniem dolāru, pārnestā mācīšanās ļauj mērķi sasniegt stundās vai dienās ar minimālām izmaksām. Šādi patiesībā tiek veidota lielākā daļa praktiskā mākslīgā intelekta.
Apmācības uzraudzība (zināt, kad apstāties)
Kā zināt, ka apmācība darbojas? Uzraugot to.
- Apmācības zudums: Laika gaitā tam vajadzētu samazināties. Ja tas sasniedz plato vai palielinās, kaut kas nav kārtībā.
- Validācijas zudums: Veiktspēja uz datiem, kas nav izmantoti apmācībā. Ja tas palielinās, kamēr apmācības zudums samazinās, modelis pārmācās.
- Gradientu normas: Pārāk lielas? Eksplodējoši gradienti. Pārāk mazas? Izzūdoši gradienti.
- Svaru atjauninājumi: Nedrīkst būt ne pārāk lieli, ne pārāk mazi. Zelta vidusceļš.
- Mācīšanās ātruma grafiks: Bieži vien mācīšanās ātrumu laika gaitā samazina. Sākumā ātrāk, vēlāk smalkākas korekcijas.
Pieredzējuši praktiķi šos rādītājus vēro pastāvīgi. Problēmas jāpamana agri. Vajadzības gadījumā hiperparametri jāpielāgo apmācības laikā. Tā ir aktīva pārvaldība, nevis iestati un aizmirsti.
Kad pārtraukt apmācību
Apmācība bezgalīgi nepalīdz. Nepieciešami pārtraukšanas kritēriji:
- Agrīna pārtraukšana: Validācijas zudums vairs neuzlabojas N secīgās ērās? Apstājieties. Esat pabeiguši.
- Mērķa precizitāte: Sasniegts precizitātes mērķis? Apstājieties. Turpmāka apmācība tērē resursus.
- Budžeta ierobežojums: Beidzies laiks vai nauda? Apstājieties. Izmantojiet to, kas jums ir.
- Konverģence: Zudums gandrīz nemainās? Atdeve samazinās. Apstājieties.
Zināt, kad apstāties, ir ļoti svarīgi. Pārāk agri: nepietiekama apmācība. Pārāk vēlu: pārmācīšanās un izšķērdēta skaitļošana. Atrast īsto brīdi prasa pieredzi un spriestspēju.
Kas jāatceras
Ja neko citu no šī neatceraties, atcerieties:
- 1. Apmācība ir optimizācija. Pielāgojiet parametrus, lai samazinātu prognozēšanas kļūdu. Atkārtojiet miljoniem reižu. Pakāpeniska konverģence uz noderīgu modeli.
- 2. Mērogam ir milzīga nozīme. Miljardiem parametru. Miljardiem piemēru. Miljoniem atjaunināšanas soļu. Aprēķinu apjoms patiešām ir milzīgs.
- 3. Apmācība ir dārga. Miljoniem izmaksu skaitļošanai. Milzīgs enerģijas patēriņš. Vairāku nedēļu laiks. Ievērojams resursu ieguldījums.
- 4. Daudz kas var noiet greizi. Izzūdoši/eksplodējoši gradienti. Pārmācīšanās. Režīma sabrukums. Aparatūras kļūmes. Nepieciešama pastāvīga uzraudzība.
- 5. Hiperparametri ir izšķiroši. Mācīšanās ātrums, partijas lielums, arhitektūras izvēles. Labu vērtību atrašana prasa eksperimentēšanu. Nav garantētu formulu.
- 6. Pārnestā mācīšanās ir praktiska. Sāciet ar iepriekš apmācītiem modeļiem. Precizējiet savam uzdevumam. Vairākas kārtas lētāk un ātrāk nekā apmācība no nulles.
- 7. Binārā apmācība piedāvā efektivitāti. Jauktā precizitāte. Tiešās novērtēšanas novērtētāji. 2× ātrāk ar līdzvērtīgu precizitāti. Praktiski daudziem uzdevumiem.
Būtība
Apmācība pārvērš nejaušus parametrus noderīgā intelektā, izmantojot miljoniem sīku pielāgojumu.
Tā ir skaitļošanas ziņā intensīva. Dārga. Laikietilpīga. Trausla. Prasa speciālistu. Bet tā darbojas.
Katrs noderīgs mākslīgā intelekta modelis ir izgājis šo procesu. No nejauša haosa līdz praktiskai lietojamībai. Apmācība ir vieta, kur notiek burvība. Tikai tā nav burvība. Tā ir optimizācija. Milzīga, dārga, rūpīgi uzraudzīta optimizācija.
Izprotot apmācību, tu saproti mākslīgā intelekta ierobežojumus. Kāpēc lieli modeļi ir dārgi. Kāpēc datu neobjektivitātei ir nozīme. Kāpēc hiperparametri ir untumaini. Kāpēc lietas noiet greizi.
Pievilcīgā mākslīgā intelekta daļa ir apmācītais modelis. Grūtā daļa ir līdz tam nonākt. Tagad tu saproti, kas patiesībā notiek tajās stundās, dienās vai nedēļās, kamēr notiek apmācība. Tas ir tikai matemātika. Milzīgs daudzums matemātikas. Bet tikai matemātika.
Vēlies redzēt efektīvu apmācību darbībā? Iepazīsti Dweve Core. Bināro neironu tīklu apmācība ar taisnās līnijas novērtētājiem un stohastisko binarizāciju. 2× ātrāka konverģence. Tāda pati precizitāte. Tāda apmācība, kas respektē tavu skaitļošanas budžetu un termiņus.