Lokalna umetna inteligenca
Microsoft (s partnerji) po vseh kanalih oznanja, da je doba osebnih računalnikov z umetno inteligenco zdaj, čisto zares, tu. Prvi procesor, ki je po Microsoftovih kriterijih dovolj zmogljiv, da to zmore, je Qualcomm Snapdragon X (v različicah Plus in Elite). Premore namreč namensko enoto NPU Hexagon s procesiranjem 45 TOPS (bilijonov operacij na sekundo).
Spomnimo, rešitve Copilot se trenutno izvajajo skoraj v celoti v oblaku. To ustvari precejšen časovni zamik, ki sicer ni moteč pri večjih opravilih, ni pa idealen za manjša. Dodajanje zmogljivosti lokalnega procesiranja umetne inteligence (sodobni termin bi bil lahko »procesiranje na internetnem robu«) bi ta časovni zamik zmanjšalo, hkrati pa bi potencialno izboljšalo zmogljivost in seveda – uporabnikovo zasebnost.
Toda kako točno deluje uporaba procesne lokalne enote NPU v okolju Windows? Videti je, da Microsoft NPU trenutno uporablja razmeroma malo – predvsem za generacijo slik, videoučinke in strojno prevajanje jezikov. Vemo tudi, da programski pametni pomočnik Copilot za okolje Windows na računalnikih Copilot+ deluje (pretežno) lokalno. »Pretežno« zato, ker smo skeptični, da se celotno znanje, ki ga zna uporabiti Copilot, resnično nahaja le v lokalnem računalniku.
Ključni element računalnikov Copilot+ je lokalni procesor za umetno inteligenco – NPU.
Ko smo pridobivali informacije za tokratno temo številke, smo morali kar pošteno »kopati« po virih informacij. Pridobili smo nekaj podatkov, vendar to po našem mnenju še ni popolna informacija.
Najprej nas je seveda zanimalo, kateri veliki jezikovni model (LLM) je tisti, ki je trenutno nameščen na računalnikih Copilot+.
Neposrednega odgovora nismo našli, čeprav smo si pri iskanju pomagali z umetno in naravno inteligenco. Sumimo, da je to nedavno predstavljeni Microsoftov lastni model LLM Phi-3 Silica, katerega ključna značilnost je kompaktnost. V Qualcommovi dokumentaciji piše, da je Hexagon v Snapdragonih X sposoben poganjati modele LLM »z več kot« 13 milijardami (13B) parametrov. To je dovolj, da zna procesor lokalno uporabljati manjše (a ne le najmanjših) modele priljubljenih LLM, ki jih običajno najdemo v izvedbah 7B, 8B ali 9B. Naslednji korak bi bil običajno v razredu 40B in nato 80B, za katere je Hexagon očitno premalo zmogljiv ali pa ima na voljo premalo pomnilnika. Za primerjavo – GPT-4 podjetja OpenAI, ki ga uporablja ChatGPT, naj bi imel 1.760B parametrov.
Sploh okoli pomnilnika imamo več vprašanj kot odgovorov. Qualcomm ne navaja nobenih namenskih pomnilnikov, kot jih Nvidia za platforme DGX in RTX. Videti je, da Hexagon uporablja del računalnikovega sistemskega pomnilnika, podobno, kot to počnejo nekateri grafični pospeševalniki srednjega razreda, ki souporabljajo sistemski pomnilnik namesto namenskega.
Iz Microsoftovih najav funkcionalnosti umetne inteligence, zlasti funkcije Recall, je moč sklepati, da tudi tu v ozadju uporabljajo veliki jezikovni model. Ta zagotovo deluje lokalno in najverjetneje uporablja različico principa RAG (Retrieval-Augmented Generation), saj je ta običajno mehanizem za vektorizacijo lokalnih vsebin. Po zadnjih informacijah naj bi ključna vlogo pri tem imela nova iskalniška tehnologija, vektorski iskalnik DiskANN (Disk Accelerated Nearest Neighbors), ki za delovanje uporablja tako pomnilnik kot hitre enote Flash RAM (SSD/NVMe). Poljudno bi lahko trdili, da je DiskANN pri vektorskih podatkih nekaj podobnega kot SQLite pri podatkovnih zbirkah. Najbrž ni slučajno, da Microsoft za računalnike Copilot+ PC priporoča vsaj 16 GB RAM in čim hitrejše enote SSD/NVMe.
Microsoft ima za računalnike Copilot+ nekatere zahteve, ki pa jih bosta s svojimi arhitekturami kmalu dosegla tudi Intel in AMD.
Pravzaprav nam ni jasno, zakaj Microsoft in Qualcomm teh podrobnosti ne razkrivata javno in glasno, saj bi s takim razkritjem nenazadnje ponudila dokaz transparentnosti za področje rabe, ki ga najbolj naslavljata: zasebnost. Ena ključnih prednosti uporabe lokalne umetne inteligence je namreč zagotovitev, da osebni podatki hote ali nehote ne bodo odtavali nekam v oblak in morda celo v javno rabo. Zakaj torej ne bi razkrili, kako je to zagotovljeno?
Tako tudi ni jasno, ali bo Copilot+ Runtime, ki uporablja model LLM, podpiral le veliki jezikovni model, ki ga je predvidel Microsoft, ali pa bomo uporabniki na računalniku lahko izbirali različne jezikovne modele. Denimo odprtokodne, nekega dne morda celo slovensko različico modela Llama. Kajti če bo sistem ostal »zaprt«, lahko že slutimo, kako se bo rodila nova bitka med Microsoftom in zakonodajalci (beri: EU).
Prav tako ni jasno, ali Copilot v računalnikih Copilot+ PC uporablja podoben programski delovni tok, kot so ga že takoj ob nastanku razkrili ob predstavitvi Copilota 365 (tistega za programe »Office«). Udarna lastnost, torej (za zdaj nedelujoči) Recall, skoraj zagotovo uporablja podobne, če ne celo enake postopke in programske komponente. S to razliko, da se ti izvajajo lokalno na računalniku Copilot+ PC in ne v oblaku. Toda ali to pomeni, da bo ta sistem deloval hitreje (ker je lokalni) ali počasneje (manj procesne zmogljivosti kot v oblaku)? Resda vnaprej izurjeni modeli LLM ne potrebujejo ogromne procesne zmogljivosti in delujejo dovolj hitro, pa vendar, ali bo lokalno dovolj hitro? Se nam obeta hibridno delovanje?
Kot vidimo, prihod računalnikov Copilot+ PC ne odgovarja na vsa vprašanja, ki se nam porajajo. Zdi se, da je glavni razlog za to dejstvo, da platforma, ki je sicer že v prodaji, v resnici še ni povsem dokončana. Na to kažeta tudi zamik predstavitve sistema Recall in Microsoftova napoved, »da bo kmalu na voljo še več zanimivih funkcij UI«. Morda bomo čez nekaj časa poslušali zgodbe, kako se je Microsoft prenaglil, pritiskal na razvijalce in še kaj ...
Ne želimo delati zaključkov, da je platforma Copilot+ PC nedokončana, kaj šele, da ni varna, vendar bodo pravo resnico razkrili šele čas in kopica varnostnih preizkusov, ki najbrž prav v tem obdobju potekajo na različnih koncih sveta.