Kako započeti sa LLM-ovima u svoja 4 zida: brzi vodič

LLM-ovi su vruća tema još od lansiranja ChatGPT-a. Ovo područje se razvija nevjerovatnom brzinom, sa svakodnevnim novim modelima, okvirima i najavama. Međutim, usred ove eksplozije (ne želimo to zvati “hype”), barem u Evropi, bili smo malo oprezniji i kritičniji: Ako koristimo LLM-ove u oblaku, ko prikuplja naše podatke? Ne želite biti osoba koja prenosi tajne kompanije na ChatGPT, samo da bi se one pojavile u nečijoj drugoj prezentaciji (to se stvarno dogodilo, pogledajte ovdje).

Umjesto toga, zahvaljujući open-source (ili barem open-weights) modelima kao što je nevjerovatni LLaMa 3, možete pokrenuti LLM-ove na svojoj mašini i imati potpunu kontrolu nad svojim podacima! Kao što ste možda čuli, LLM-ovi zahtijevaju puno energije, posebno imajući ogroman apetit za memorijom vaše grafičke kartice - milijarde parametara moraju se negdje pohraniti. Ne brinite, opet se okrenite Open Source zajednici: ona je brzo pronašla načine da smanji memorijske zahtjeve procesom zvanim kvantizacija. To možete zamisliti kao ograničavanje broja decimala za svaki parametar mreže. Jasno je da agresivnija kvantizacija može brzo dovesti do pogrešnih rezultata ako se pretjera, evo što biste mogli dobiti:

Po našem iskustvu, kvantizacija težina na 4-bitne (“q4”) sa 16-bitnih (“fp16”) uzrokuje određena oštećenja, ali mreže su i dalje sasvim upotrebljive. Zauzvrat, možemo pokretati veće (i samim tim bolje!) LLM-ove na vašoj mašini. Iako svakodnevno viđamo nove LLM-ove i fino podešene verzije (pogledajte dolje), pažljivo smo odabrali nekoliko koje koristimo već duže vrijeme. Sljedeća tabela prikazuje preporučene LLM-ove za različite aplikacije. “x” označava da ovaj sistem može podnijeti taj LLM.

Imajte na umu da, iako neki sistemi mogu pokrenuti veće mreže, to možda nije mudro u pogledu brzine izvršavanja. Takođe, ova tabela je znatno pojednostavljena - memorijski zahtjevi zavise i od dužine ulaza (veličine konteksta). Sada, kada smo sve to razjasnili, hajde konačno da pokrenemo jedan od ovih LLM-ova. Za ovo ćemo koristiti ollama, server za LLM-ove prilagođen početnicima. Pratite uputstva za instalaciju na stranici “Download”. Kada je proces instalacije završen, jednostavno pokrenite:

ollama run phi3

Ovo je dovoljno da se izvrše sljedeći koraci:

• Preuzima se kvantizovana verzija modela, uključujući potrebne podatke poput šablona prompta (u suštini string šablona koji govori ollama-i kako da formatira vaše poruke kako bi LLM razumio strukturu razgovora).

• Model se premješta na GPU (ako je instaliran).

• Započinje se razgovor u komandnoj liniji (samo počnite da kucate i uživajte!).

Međutim, prava pogodnost je nevidljiva: OpenAI-kompatibilan server se pokreće u pozadini, na portu 11434. Zahvaljujući tome, sada možete povezati vaš lokalni LLM sa većinom aplikacija koje rade sa OpenAI API-jem. Ovo omogućava bezbroj novih mogućnosti - pratite nas u narednim objavama gdje ćemo predstaviti nekoliko plug-and-play primjera (s kodom!).

Za sada, fokusirajmo se na chat. Ollamin chat u terminalu je dobar, ali želimo više udobnosti - više razgovora i mogućnost pohrane - nešto poput interfejsa ChatGPT-a. Srećom, Open Source opet nudi rješenje. Ako imate instaliran Docker, unesite sljedeću komandu:

docker run -d --network=host -e OLLAMA_BASE_URL=http://127.0.0.1:11434 -e WEBUI_AUTH=False -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Nakon otprilike 30 sekundi, otvorite vaš pregledač na adresi http://localhost:8080, odaberite vaš model u gornjem lijevom uglu i započnite razgovor!

Ovim završavamo naš kratki vodič za početak. Pratite naredne objave u kojima ćemo istražiti primjene u kojima vaš LLM može biti od koristi. Do tada, slobodno se igrajte i testirajte granice svoje mašine!

P.S. Ispod sloja “AI”, vaša mašina zapravo izvršava klasične HPC operacije. Ako vaš LLM radi presporo, slobodno nas kontaktirajte - optimizacija performansi za HPC je naša glavna snaga u PGTech-u!

© Copyright 2025 Podgorica Tech d.o.o.
Politika privatnostiUslovi korišćenja
Website made by MahnaMahna