A mimochodem si muzete necenzurovanou verzi pustit sami doma
https://www.tecmint.com/run-deepseek-locally-on-linux/
Zkousel jsem 7b (miliard parametru asi) az 14b a i na CPU (bez GPU) Ryzen 4500U to tak nejak fungovalo.
Blbe je, ze takto redukovane modely jsou uzitecne vyrazne mene. A na plnou velikost je nutne vykonejsi HW (procesor i RAM, ne moc rychle to jde i bez akceleratoru)
Jo tak tohle delat je opravdu doslova genitalni ....
curl -fsSL https://ollama.com/install.sh | sh
Na jednu stranu chápu, na druhou stranu, v čem je vlastně rozdíl oproti stáhnutí si tarballu, rozbalení a "make && make install"? Nebo z něj pustil ten samý install.sh? Buď tomu zdroji věřím dost na to, abych si to instaloval, nebo ne. Pokud podezřívám ten zdroj, že curlu podstrčí jiný skript, jak můžu vědět, že něco nepodstrčí i někde o kus dál?
Tomu zdroji muzes verit jak chces, ale ty nevis, jestli tam jeste za minutu bude to, co tam je ted. A vymenit to nemusi ani ten kdo to tam zverejnil zejo ...
Pripadne ten odkaz za dalsi minutu muze vist uplne jinam ...nebo te uplne jinam muze poslat cokoli cestou ...
Ale zjevne ze tu vynachazi cela hromada individui, ktery vubec netusej jak net funguje. Protoze se nikdy nikde nestalo treba to, ze by (nejen)domenu/pristup k ni ziskal nekdo jiny.
Ollama je scam, mají dobrej marketing ale je to ve finále jen wrapper kolem llama.cpp a dalších projektů. ČÍmž se samozřejmě nijak nechlubí, v blogpostech je to vždycky "po měsíci práce jsme přidali podporu pro architekturu xxx" přitom ve skutečnosti je to "udělali jsme git pull v llama.cpp submodulu" :)
Sestavte si llama.cpp nebo jiný single-binary inference engine, seberte tomu (třeba v systemd) všechny syscally, které to nepotřebuje, a máte jistotu.
Je mozne ze to je jen wrapper kolem neceho jineho, ale kdyz se kouknu na download llama, tak to po mne chce nejakou registraci.
Na ollamu tu byl nedavno ve zpravicce jednoduchy navod, tak to se pak snadno zkousi. Na llamu jsem tu nic nenarazil, tak by to asi chtelo aby schopnejsi neco napsali (vyznamny pohled :) ).
Takové riziko nezpochyňuji. Jen mi uniká realistický scénář, kdy stáhnutí binárky nebo XXX MB zdrojáků a jejich kompilaci jde považovat za bezpečné a přitom použití instalačního skriptu z toho samého zdroje ne.
Jestli je ten web unesený, tak nemůžu přece věřit vůbec žádnému souboru. A pokud si myslím, že unesený není a jsem ochotný nějaký program z něj pouštět, tak tomu install.sh můžu věřit úplně stejně jako run.py uvnitř balíčku.
Kdyz si neco stahnu, muzu to s necim porovnat (prinejmensim). Kdyz to rovnou z netu spoustim, tak vubec nemam paru co vlastne spoustim.
Kdyz mam neco na disku tak nad tim samozrejme muzu provist celou radu dalsi akci na tema hledani ruznych cervu, zjistovani jak a kam to pripadne bude komunikovat atd atd atd.
Mimochodem, presne totez je kopirovani naprosto cehokoli odkudkoli primo do shellu.
A vubec me neudivuje, ze se prave tohle resi prave tady, protoze distribuce pres distribucni kanaly uz neni v mode zejo, natoz aby nekdo neco cestou kontroloval ...
No, tak si to stáhnu, projdu, a je v tom X dalších stahování a rozbalování, klonování různých repozitářů... Co z toho vlastně vyčtu? To, že tam nevidím nic závadného, znamená jen přesně tohle - nevidím to. Pokud tam nebude přímo něco jako install_keylogger, nebo open_backdoor, ale autor si dá trochu práci, tak ta zákeřnost se velmi pravděpodobně bude skrývat někde hloub, dost možná třeba v PyPi nebo NPM, jméno balíčku nebo projektu bude schované za typosquatingem, nebo to bude one-man-show, kterou někdo unesl (xz utils bylo i v repozitářích, hint hint). A celé tohle předpokládá, že vůbec umím shell a další jazyky na takové úrovni, abych to mohl fundovaně přečíst. Což má jen částečný průnik s lidmi, kteří tohle můžou chtít pustit.
Ten install.sh si pořád nějaké procento lidí otevře, ale procházet důkladně celou hierarchii projektu a závislostí a ověřovat, že se nikde nic neskrývá je prakticky nemožné.
ako to potom vlastne takto lokalne funguje?
to akoze ten lokalny model ma v sebe cely "internet" na ktorom to bolo trenovane a dokaze to skladat zmysluplne odpovede na akekolvek otazky?
hlavne ako to je s faktografickymi otazkami. to, ze si to dokaze vymysliet nejaku odpoved na "filozoficku" otazku kde nejde o fakty to chapem, ale ako to dokaze odpovedat na nieco kde ide o fakty?
Je to jako dobrý student při zkoušení u tabule. Ano, fakt si toho pamatuje hodně, dost dokáže vyvodit z kontextu a mlhavých vzpomínek, no a zbytek si vycucá z prstu. Vy, uživatel, jakožto zkoušející, musíte umět poznat, kdy Vám ten student věší bulíky na nos :-)
Ono se to nedá úplně dobře představit, ale my (lidstvo) jsme těch textových znalostí zas tak moc nevytvořili, s vhodnou kompresí se to do nějakých desítek GB skutečně nacpat dá, a LLM tohle umí opravdu výborně. S kvantizací se to dá dál redukovat, přičemž klesá rozlišení (ostrost vzpomínek) ale jejich množství a šířka záběru zůstává. Takto zmenšený model má pak větší tendenci tzv. halucinovat (domýšlet si víc než chceme), což by se správně mělo korigovat injekcí faktů z nějaké RAG databáze nebo z hledání na webu (jako když Vám u tabule dějepisář napovídá).
O tom to neni ...
Dam ti priklad. Mas silnici po ty silnici jezdej auta. Ty chces vedet jak rychle se da dostat z jednoho konce na druhej.
A ted mas moznosti. Stopnes jedno auto. Jenze ten vysledek muze byt umistnen kdekoli od 0 do nekonecna ... rozhodne se neda tvrdit, z takhle rychle/pomalu je to "normalni"
Tudiz stopnes tech aut 10 000 .. a udelas prumer. To sice taky neni uplne koser, ale uz je to lepsi. Pak zacnes eliminovat extremy (nekdo to auto tlacil, nekdo tahnul oslem ...), zacnes resit ze v patek jedou vsichni domu, tudiz pomalejs ... atd atd
Ve finale mas trebas miliony zaznamu (internet), ale vypadne ti z toho jedno cislo. A prave to jedno cislo si zapamatujes. Takze si klidne treba stovky TB zredukoval na jeden B.
Ostatne vis jaka je odpoved na otazku zivota vesmiru a vubec ze?
Zredukoval si odpoved na jeden B ale aj tak ta odpoved ti moze byt k nicomu, lebo ta otazka je dost vseobecna na to aby si odpovedajuca strana bola ista, ze tym o co ti presne islo.
Takze tym jednym B sa mozno trafis do jeden otazky. Pri zvysnych to bude viac, ci menej lietat/ta odopoved bude viac, ci menej relevantna.
Takze zreduvanim dat, zredukujes aj presnost odpovedi.
K cim vecsej presnosti/relevantnsoti potrebujes na jednej strane cim lepsi kontext ale zaroven aj dataset.
Ano je to podbne ako pri tej 42. Pocitac vo svojej nedokonalosti dal primeranu odpoved aj z ohladom na kvalitu otazky.
ano zredukoval si 10000 zaznamov na 1B, ale z toho jedneho bajtu uz nikdy nezistis kolko z tych aut islo 90tkou, kolko 100kou, kto isiel najrychlejsie, kto najpomalsie uz budes mat len 1 priemernu rychlost
na take to vseobecne kecanie to dobre je, ale tam kde treba tvrde fakty tak tam sa tomu neda verit, lebo ono si ich nie, ze nemapata, ono si ich vymysla a je len nahoda ci ten statisticky model trafi spravnu postupnost slov a cisel, alebo nie
Došel jsem ke stejnému závěru. Zhruba 14-15B ještě běží na grafice s 12GB VRAM a běží to rychle. Běží to i na stařičké i5 pořád rychleji než se to dá číst. Ale 2x větší model už není použitelný ani na Ryzenu 9. Nejspíš se to škáluje exponenciálně a využívá to jedno jádro. Na opravdu velké modely to asi bude chtít grafiku s cenou v milionech korun a složit se na to s tisícem dalších lidí - dává to smysl jedině pro cloud a při tom, kolik provozu nabízí ChatGPT nebo Claude zdarma si myslím, že se jim to skoro nemůže zaplatit - počáteční náklady, měsíční účty za elektřinu, chlazení, ...