Napisao nekoliko redova koda u Pythonu, učitao gotov model i on ti vraća rezultat. Radi. Na tvom laptopu, u tvom terminalu, taman onako kako si zamislio. A onda dođe pitanje koje muči svakog ko prvi put pređe taj prag: šta sad? Kako da od skripte koja radi samo dok je tvoj računar uključen napraviš nešto što stvarno može da koristi neko drugi.
Ovaj tekst te vodi kroz ceo put. Od prvog modela koji pokreneš lokalno, do trenutka kada shvatiš da ti laptop više nije dovoljan i da model treba da “živi” negde drugde.
Šta mi uopšte treba da pokrenem prvi AI model u Pythonu?
Manje nego što misliš. Za prvi model ti ne treba ni skup hardver ni godine iskustva. Treba ti Python, jedno čisto virtuelno okruženje i nekoliko biblioteka.
Virtuelno okruženje je tu da ti se projekti ne prepliću. Okruženje napraviš jednom komandom i unutar njega instaliraš samo ono što ti za taj model treba. Najčešće su to biblioteke poput scikit-learn za klasične modele ili transformers ako želiš da se odmah igraš sa gotovim jezičkim modelima.

Pre nego što počneš, vredi razjasniti jednu razliku koja zbunjuje skoro sve početnike. Treniranje modela i pokretanje modela nisu ista stvar. Treniranje je proces u kome model uči iz podataka, i to je ono što troši najviše resursa. Pokretanje, ili inference, jeste kada gotovom modelu daš novi input i tražiš odgovor. Za prvi projekat skoro uvek uzimaš već istreniran model i samo ga pokrećeš, što je daleko lakše i brže.
Kako da pokreneš model lokalno, na svom računaru?
Lokalno pokretanje znači da se sve dešava na tvojoj mašini. To je najbolje mesto da počneš, jer grešiš brzo i besplatno.
Koraci su uglavnom isti bez obzira na model. Instaliraš biblioteku, učitaš model u nekoliko linija koda, pripremiš ulaz i pozoveš funkciju koja vraća predikciju. Kod jednostavnog modela ceo taj prvi rezultat dobiješ za nekoliko sekundi.
Problem počinje kada model poraste. Veći jezički modeli traže mnogo radne memorije, a neki ozbiljno ubrzaju tek kada imaju GPU, posebnu grafičku jedinicu napravljenu za ovakve proračune. Tvoj laptop će prvi model odraditi bez muke, ali čim probaš nešto veće, osetićeš kako ventilator radi, kako sve usporava i kako ti ponestaje memorije.

Postoji i drugo ograničenje koje nema veze sa snagom. Lokalni model radi samo dok je tvoj računar uključen i samo ti mu pristupaš. To je sasvim u redu dok učiš. Ali ako želiš da tvoj model bude dostupan stalno, i da mu pristupaju i drugi ljudi ili druge aplikacije, lokalno pokretanje prestaje da bude rešenje.
Gde da hostuješ AI model kada preraste tvoj računar?
Kada model treba da bude dostupan i kada ti je laptop ugašen, seliš ga na server. Tu se obično penješ uz nekoliko stepenika, jedan po jedan.
Prvi realan korak za većinu početnika je virtuelni privatni server, poznatiji kao VPS. To je tvoj komad servera u nekom data centru koji radi dvadeset četiri sata dnevno. Model prebaciš na njega, pokreneš ga jednom i on ostaje dostupan i kada ti spavaš. Za lične projekte i manje modele, VPS je sasvim dovoljan i jeftin ulaz u svet hostovanja.
Sledeći stepenik dolazi kada model treba da odgovara stvarnim korisnicima u realnom vremenu, brzo i bez prekida. Tada se model pretvara u produkciju AI modela kao API servisa, gde svaki zahtev dobija odgovor preko stabilnog endpointa, sa niskom latencijom i kontrolom nad pristupom, što jedan laptop ne može da garantuje.

Tu se sreću tri pojma koja je vredno razumeti odmah. Latencija je vreme koje protekne od zahteva do odgovora, i što je manje, to bolje. Dostupnost znači da servis radi i kada nešto otkaže, jer postoji rezerva.
Skaliranje je sposobnost da sistem podnese više korisnika odjednom, tako što po potrebi dodaje resurse. Ova tri pojma su razlika između modela koji radi na tvom stolu i modela na koji se neko stvarno oslanja.
Koje greške prave početnici kada prvi put hostuju model?
Skoro sve greške na početku svode se na nekoliko istih.
- Mešanje treniranja i produkcije. Mnogi pokušaju da treniraju model na istom serveru na kome ga i pokreću, pa se čude zašto sve puca. To su dva različita posla sa različitim potrebama.
- Ignorisanje troška GPU-a. GPU instance umeju da budu skupe, a lako je zaboraviti da je server uključen. Račun na kraju meseca ume da bude neprijatno iznenađenje.
- Nepostojanje verzionisanja. Ako ne čuvaš koja verzija modela je trenutno u upotrebi, pri prvom ozbiljnom problemu teško ćeš vratiti model (roll back) na staru verziju.
Nijedna od ovih grešaka nije skupa dok učiš. Postaju skupe tek kada model izađe pred prave korisnike, pa je dobro da ih znaš unapred.

Zaključak…
Prvi model koji pokreneš nije kraj puta, nego njegov početak. Lokalno učiš i grešiš, na serveru počinješ da gradiš nešto trajno. Svaki sledeći korak postaje jasan tek kada napraviš prethodni, pa pokreni taj prvi model već danas i pusti da te sam projekat vodi dalje.
Ja sam Anđela Milić. Diplomirala sam informacione tehnologije i bavim se pisanjem o programiranju, digitalnim veštinama i učenju kroz praksu. Posebno me zanimaju teme koje početnicima pomažu da lakše razumeju osnove web razvoja, programskih jezika i rada u IT industriji.
Verujem da programiranje i digitalne veštine mogu da se uče korak po korak uz dobar pristup, konkretne primere i razumevanje osnova.
