U svetu gde giganti poput Microsofta, Google-a i Meta-e troše stotine milijardi dolara na klastere sa desetinama hiljada NVIDIA H100/H200 grafičkih procesora kako bi pokrenuli najnovije modele veštačke inteligencije, dogodio se inženjerski podvig koji je uzdrmao IT zajednicu. Programer i istraživač Farid Kan (Farid Khan) postigao je nešto što se do skoro smatralo fizički nemogućim: napisao je AI pogon za inferenciju (inference engine) od nule, u čistom programskom jeziku C, bez ijedne spoljne biblioteke, bez GPU akceleracije — i uspeo da pokrene Kimi K3, jedan od najvećih otvorenih modela veštačke inteligencije, na običnom kućnom laptopu sa svega 8 GB RAM memorije. Ovaj podvig predstavlja prelomnu tačku u načinu na koji posmatramo efikasnost softvera. Dok industrija ide ka sve većoj potrošnji energije i ogromnim hardverskim zahtevima, Kanov projekat je dokazao da se optimizacijom na najnižem nivou — radom “na golom metalu” (bare-metal) — mogu prevazići ograničenja koja nameću moderni softverski slojevi. Pozadina: Zašto je inferencija velikih jezičkih modela toliko zahtevna? Da bismo razumeli veličinu ovog uspeha, moramo analizirati šta se zapravo dešava tokom pokretanja velikog jezičkog modela (LLM). Moderni LLM-ovi poseduju desetine ili stotine milijardi parametara. Svaki parametar predstavlja matrični težinski koeficijent (weight) koji se tokom inferencije — procesa generisanja odgovora token po token — mora učitati iz memorije i pomnožiti sa ulaznim vektorom. Standardni pristup pokretanja AI modela oslanja se na sledeći softverski stek: Python runtime: Glavni jezik u kome je napisana većina AI koda, ali koji nosi značajan usporavajući overhead zbog dinamičkog tipiziranja i upravljanja memorijom. Teški frejmvorci (PyTorch / TensorFlow): Pomažu u razvoju i treniranju, ali sadrže ogroman broj apstrakcija i zavisnosti. GPU biblioteke i drajveri (NVIDIA CUDA / AMD ROCm): Omogućavaju paralelizaciju na grafičkim karticama, ali zahtevaju da se čitav model učita u izuzetno skupu VRAM memoriju. Kada model ima, na primer, 70 milijardi parametara u standardnom FP16 (16-bitnom floating point) formatu, sam zahtev za memorijom iznosi oko 140 gigabajta RAM-a, samo za smeštanje modela! Pokretanje takvog modela na laptopu sa 8 GB RAM memorije deluje kao pokušaj da se tenk parkira u garažu za motocikl. Anatomija podviga: Kako je Farid Kan to postigao? Farid Kan nije ponovo izmislio matematiku iza veštačke inteligencije, već je do savršenstva optimizovao način na koji se računarski resursi procesora (CPU) i sistemske memorije (RAM) koriste. Njegov pristup se zasniva na četiri ključna stuba niske optimizacije. 1. Pisanje u čistom C-u (Prazan runtime bez balasta) Uklanjanjem PyTorch-a, Python-a i svih pratećih biblioteka, Kan je eliminisao međusloj koji troši resurse. Program napisan u čistom C jeziku prevodi se direktno u mašinske instrukcije procesora. Kada se kod pokrene: Nema Garbage Collector-a koji nasumično pauzira rad kako bi čistio memoriju. Nema dodeljivanja memorije preko složenih slojeva apstrakcije. Otprint same izvršne datoteke (binarnog fajla) iznosi svega nekoliko megabajta, umesto gigabajta biblioteka koje donosi PyTorch okruženje. 2. Agresivna kvantizacija (1.58-bitni i 2-bitni formati) Da bi model veličine Kimi K3 stao u 8 GB RAM-a, standardni 16-bitni brojevi sa pokretnim zarezom (FP16) moraju se drastično komprimovati. Kan je primenio moderne tehnike kvantizacije, spustivši preciznost težina na 1.58 bita (ternarna logika: -1, 0, 1) ili 2 bita po parametru. Ovo ima dve ogromne prednosti: Dramatično smanjenje veličine: Model čije težine zauzimaju desetine gigabajta svodi se na svega nekoliko gigabajta, što omogućava da bez problema stane u radnu memoriju laptopa zajedno sa operativnim sistemom. Zamena množenja sabiranjem: Pri 1.58-bitnoj ternarnoj logici, matrično množenje (A x B) pretvara se u proste operacije dodavanja i oduzimanja (+A ili -A). Procesori iz histeričnih razloga sabiranje izvršavaju višestruko brže i uz znatno manju potrošnju energije u odnosu na floating-point množenje. 3. MoE (Mixture of Experts) i dinamičko strimovanje Kimi K3 koristi MoE (Arhitekturu mešavine stručnjaka). Za razliku od “gustih” (dense) modela gde se svaki parametar aktivira za svaki generisani token, MoE modeli sadrže desetine specijalizovanih pod-mreža (“stručnjaka”), ali ruter za svaki token aktivira samo mali procenat njih (npr. 2 od 64). Kanov pogon koristi ovu arhitekturu na briljantan način: U RAM-u se drže samo opšti slojevi modela i trenutno aktivni “stručnjaci”. Korišćenjem POSIX mmap (memory mapping) funkcija, operativni sistem direktno mapira fajl modela sa SSD diska u virtuelnu memoriju. Uređaj ne učitava ceo model odjednom, već prosto čita delove fajla brzinom kojom procesor zahteva obradu. 4. SIMD vectorizacija na procesoru (AVX-512 i ARM NEON) Moderni procesori (Intel, AMD, Apple Silicon) poseduju specijalizovane registe i instrukcijske setove za vektorsku obradu podataka: AVX2 / AVX-512 na x86 arhitekturi NEON / AMX na ARM arhitekturi (Apple M serija) Kan je ručno (ili uz strogo vođenje kompajlera) napisao petlje za matrično množenje tako da iskorišćavaju SIMD (Single Instruction, Multiple Data) instrukcije. To znači da procesor u jednom jedinom taktu može da obradi 16 ili 32 matematičke operacije paralelnim putem, dostužući teorijski maksimum propusnog opsega memorije bez dodirivanja GPU-a. Poređenje: Tradicionalni AI vs. C-pogon “na golom metalu” Da bismo jasnije sagledali razliku između standardnog steka i optimizovanog C-pogona, pogledajmo sledeće poređenje: KarakteristikaStandardni PyTorch / CUDA StekFarid Kanov C-PogonProgramski jezikPython / C++ / CUDAČist C (ISO C99/C11)ZavisnostiPyTorch, CUDA, cuDNN, PythonNema (samo standardna C biblioteka)Hardverski zahteviVRAM GPU (NVIDIA RTX 3090 / H100)Običan CPU (Intel, AMD ili Apple)Zahtevana memorija (RAM)32 GB – 128+ GB< 8 GB RAMPrimarna operacijaFP16/FP8 Floating-point množenjeInteger / Ternarno sabiranje i pomeranjeUčitavanje modelaKompletno učitavanje u VRAMmmap strimovanje po potrebiPrenosivostVezan za specifične GPU drajverePokreće se na bilo kom OS-u i čipu Šta ovo znači za budućnost veštačke inteligencije? Uspeh Farida Kana nije samo zanimljiv projekat sa GitHuba; on ukazuje na dublji, strukturni problem u trenutnom razvoju tehnologije i nudi alternativni put. 1. Demokratizacija AI tehnologije Trenutno je pokretanje najnaprednijih modela rezervisano za bogate korporacije ili entuzijaste koji mogu da priušte GPU-ove od nekoliko hiljada evra. Mogućnost da se napredni model poput Kimi K3 pokrene na laptopu od 400 evra otvara vrata studentima, istraživačima u zemljama u razvoju i nezavisnim developerima širom sveta. 2. Privatnost i obrada na samom uređaju (Edge AI) Kada model radi lokalno uz minimalnu potrošnju memorije, vaši podaci nikada ne moraju da napuste uređaj. Nema slanja API zahteva na tuđe servere, nema mesečnih pretplata i nema rizika od curenja poverljivih informacija. Ovo je od ključnog značaja za medicinske, vojne i finansijske primene. 3. Znatno manja potrošnja energije Data centri koji pokreću AI troše ogromne količine električne energije i zahtevaju masivna rashladna postrojenja. Pogon koji maksimalno koristi CPU uz minimum memorijskih operacija troši delić energije u poređenju sa GPU klasterima, čineći ekološki otisak veštačke inteligencije daleko prihvatljivijim. Sažetak podviga Pogon koji je razvio Farid Kan podseća na zlatno doba programiranja, kada su inženjeri morali da vode računa o svakom bajtu memorije i svakom taktu procesora. On dokazuje da je ekosistem veštačke inteligencije trenutno preopterećen nepotrebnim slojevima apstrakcije. Pokretanjem Kimi K3 modela na običnom laptopu sa 8 GB RAM-a bez GPU-a, napravljen je značajan korak ka eri u kojoj napredna veštačka inteligencija više neće biti privilagija moćnih servera, već standardna funkcionalnost svakog računara i pametnog telefona. Post navigation Zašto morate prestati sa direktnim izlaganjem kućnog servera internetu (i šta uraditi umesto toga) Od zakazivanja treninga do sajber napada: Prvi zabeleženi slučaj autonomne AI eksploatacije u Australiji