Traning self hosted language model - milyen szoftverrel?

Folytatás innen.

Ide várnám OS-el, NVIDIA driverrel és CUDA Toolkittel, Pythonnal, Python 'IDE'-vel, PyTorch-al, Tensorflow-val vagy egyéb szoftveres dologgal kapcsolatos tanácsokat.

 

Jelenleg egy szűz Debian Trixie fut a gépen, de bármilyen Linux lehet, de lehetőleg grafikus felület nélkül.

Azt látom, hogy szinte minden Python-ban készül, be is írattam magam gyorsan egy Python továbbképzésre.

Python fejlesztői környezetnek szimpatikus a NeoVim for Python.

Hozzászólások

Szerkesztve: 2025. 01. 11., szo – 06:44

Innen nezd meg, amit meg ertesz: https://m.youtube.com/@AndrejKarpathy/videos

Az 1 oras bevezetovel erdemes kezdeni, aztan a videoit az elejetol vegignezni (stable diffusion alkotasok feleslegesek).

Az a bevezeto eleg sok dologra ra fog vilagitani.

A pytorch-on kivul meg ajanlom a requests meg a beautifulsoup modulokat, mert rengeteg szoveg fog kelleni!

A vim-et es haverjait nem szeretem, de talan sok munkaval ki tudod hozni belole annak egy kis toredeket, amit megfelelo modulokkal egy vscode tud, vagy egy pycharm telepites utan azonnal, trukkok nelkul.

Ja, ha tavolrol akarod elerni - ezert nem akarsz grafikus kornyezetet - jo meg a Jupyter is.

A strange game. The only winning move is not to play. How about a nice game of chess?

+sok Karpathy videoira, bar az inkabb akkor erdekes ha melyebben meg is akarod erteni mi tortenik a hatterben.

(l)lm model tanitashoz szerintem ez nem igazan szukseges, fogni kell egy mukodo implentaciot aztan hajra. igazabol az inputon fog mulni elsosorban, es a hiperparametereken (az meg foleg a hw-tol fugg mit bir el) masodsorban.

>  mert rengeteg szoveg fog kelleni!

hat az a legnagyobb moka az egeszben, osszeszedni tobb 10 GB jo minosegu magyar szoveget. felteve persze ha magyar nyelvut akar tanitani. es az rengeteg ido, mert ha jol ossze is raktad a crawlert 1-1 nagyobb sitehoz, az utana hetekig fog futni. bar ma mar konnyebb talalni a neten magyar nlp dataseteket mint 8 eve amikor en kezdtem ezzel foglalkozni, pl. van az oscar-nak is nyelvekre szurt valtozata, kezdetnek jo az is, bar eleg rossz.

https://github.com/oroszgy/awesome-hungarian-nlp

Szerkesztve: 2025. 01. 11., szo – 23:47

szoftverileg kb 3 irany elerheto egyszeruen:

1. llama implementaciok, akar az eredeti (mondjuk ahhoz asszem cluster kell) akar a kicsik (allamo, nanolama stb - ezeket probalgattam anno es irtam roluk a blogban)

2. gpt-neox es haverjai, ez elvileg egy free (chat)gpt klon szeretne lenni, en ugy vettem ki (megprobaltak a gpt3-at reprodukalni az elerheto infok alapjan)

3. huggingface-s transformers framework, ezzel par sorban lehet osszedobni python koddal szinte barmilyen modelt, gyakorlatilag pipelinet raksz ossze kesz dobozokbol, kezdoknek idealis de hosszu tavon nem epitenek ra

a tensorflow szerintem mar kiment a divatbol (nem kar erte), a pytorch par eve atvette a szerepet, foleg a transformer modellek szinte mind arra epulnek.

esetleg ha nagyon vagany vagy mehetsz valamelyik c++ implementacio fele is, vannak mar abban irt transformer frameworkok is, kezdve a llama.cpp-vel

OS: en ubuntut hasznaltam mert leginkabb arra van minden is, meg ott se mindegy a verzio, ha nem akarod a vegletekig szopatni magad, mivel az nvidia CUDA-s toolok nem opensourcek (csak a kernel driver egy resze), es ok tudtommal kizarolag ubuntut supportalnak.

Köszönöm mindenkinek a tanácsokat. Nagyon mélyen meg akarom érteni, hogy mi történik a háttérben, szóval most mozizom.

Úgy látom a CUDA Toolkit már egy csomó distro-ra letölthető, nagyon nem szeretek ubuntuzni.

„Az összeomlás elkerülhetetlen, a katasztrófa valószínű, a kihalás lehetséges.” (Jem Bendell)

> nagyon nem szeretek ubuntuzni.

Igazából nem értem, miért. Ha amúgy Debiant raksz fel defaultból, akkor az Ubuntu onnantól nem nagy különbség. Ami a trükk: LTS verziót kell használni. Nagyon stabil, én gyakorlatilag nem futottam még bele komolyabb problémákba vele.

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Alapvetően csak az a bajom az Ubuntuval, hogy pici tool-okhoz is függőségből felrakja a fél distro-t. Igaz már a Debian is ebbe az irányba tart. Problematikai szempontból pedig néhány százalékkal tartom problémásabbnak a Debiantól.

Most kezdtem el nézegetni a Arch-ot, de ki tudja mi lesz a sorsa. Ha így folytatják, a fejlesztők szétverik magukat a woke agymenésük miatt.

„Az összeomlás elkerülhetetlen, a katasztrófa valószínű, a kihalás lehetséges.” (Jem Bendell)

> pici tool-okhoz is függőségből felrakja a fél distro-t

ezt a debian mar 25 eve is tudta... egy mc-hez felrakta az X-et is stb. en pont azert lettem slackwares. mondjuk a 15-os salak meg az apache-hoz keri a mariadb-t is ami eleg vicces...

Nem tudom, én üzemeltetek szervert is, desktopot is Ubuntuban, és nem látom ezeket a fél distro felrakásokat, nem érzem, hogy ezek itt lennének velünk a szobában.

Amúgy, a kollega is írta, hogy --no-install-recommends és akkor nem rakja fel, vagy a másik tippem, hogy aptitude-ból rakd fel a csomagot, ott lehet sokmindent mókolni vele interaktívan.

Az esetleges dependency hellért amúgy elsősorban az upstream fejlesztők a felelősek. Ha ők behúznak egy libet, ami nélkül nem fordul az app, akkor ott te csak szép lehetsz. Most már az Ubuntu és a Debian is törekednek arra, hogy ha lehet, külön csomagba kipakolják az opcionális dolgokat, amik esetleg plusz függőségeket húznának be (akár provides alapon is, pl nginx-ből is ezért van vagy 3-4 féle alternatív opciókkal forgatott csomag). De magával a függőséggel nem tudnak sokat kezdeni, ezt az Arch-tól a SuSE-ig minden be fogja neked húzni, ha csak úgy fordul az adott cucc.

Viszont dicséretesen sok fejlesztés elment Go irányba, ahol minimális függősége van a cuccoknak (cserébe baromi nagy a bináris, hát, mindennek van ára...), az sokat segített ezen. De ha egy projekt kötelezően behúzza a Gtk-t fordításkor, mert van 3 függvény amit onnan hív meg, akkor a belőle készített minden csomag be kell húzza a Gtk-t. 

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Nekem csak szerver ügyben van tapasztalatom, az is 10+ éves. Akkor az Ubuntunál azt tapasztaltam, hogy mindig kövérebb lett mint a Debian. Minden telepítést a lehetséges abszolút minimumról indítom, aztán igény szerint hízik. De a kiskaput nem ez tette be, hanem hogy Ubuntu alatt nem tudtam belőni egy cross compiling környezetet, ami Debian alatt csont nélkül ment. Azóta nem Ubuntuzom, illetve csak konténerben, ha szükséges.

Desktop ügyben MacOS. De keresem az utódját mert agyatlanodik el ez is.

„Az összeomlás elkerülhetetlen, a katasztrófa valószínű, a kihalás lehetséges.” (Jem Bendell)

és nem látom ezeket a fél distro felrakásokat

ezt az Arch-tól a SuSE-ig minden be fogja neked húzni

Volt egy kis időm a hobbiprojektjeimre, ezért frissítettem is a gépeket. Mindegyik árva csomag mentes. Minden gép ugyan azt a minimalista Gnome-ot futtatja, kivétel nélkül. Amit írsz, hogy minden disztró behúzza, hát tessék a statisztika: (Itt láthatod is: https://hup.hu/node/187118)

OS: Alpine Linux v3.21 x86_64
Packages: 774 (apk), 6 (flatpak)

OS: Arch Linux x86_64
Packages: 556 (pacman), 14 (flatpak)

OS: Debian GNU/Linux trixie/sid x86_64
Packages: 1258 (dpkg), 12 (flatpak)

OS: Fedora Linux 41 (Workstation Edition) x86_64
Packages: 1594 (rpm), 8 (flatpak)

OS: openSUSE Tumbleweed x86_64
Packages: 1801 (rpm), 5 (flatpak)

OS: Ubuntu noble 24.04 x86_64
Packages: 1519 (dpkg), 11 (flatpak)

OS: Ubuntu oracular 24.10 x86_64
Packages: 1555 (dpkg), 11 (flatpak)

Huh, egyszer ossze fogom szedni ezeket a linkeket, mert mindig kimarad valami (most is). Parszor mar beirtam par forumba/chatre.

Kaggle: osszeszedtek mindenfele adathalmazt. Jo adattisztitas gyakorlasra is, meg mindenfele algoritmussal valo kiserletezesre. De vannak fent letoltheto, kesz modellek is. Ha mondjuk ki akarod probalni, hogy kezzel irt szamjegyek felismerese mennyire menne, nem kell bescannelned 100000 szamjegyet, csak letoltod az MNIST dataset-et, es probalgatod (jo, konkretan ez ma mar kb. hello world nehezsegu). Hasonloan, ha megnezel valami publikaciot, le fogjak irni, hogy az XY dataset-en 98%-ot ertek el, az XY dataset-et itt megtalalod, es ki tudod probalni, hogy amit kitalaltal, az tud-e jobbat.

MIT OpenCourseWare: az MIT-s eloadasok egy reszet felveszik, es felteszik szabadon elerheto formaban. Mar tobb helyen ajanlottam, eleg jo minoseguek, bar a keresojuk azert nem tokeletes (az egyetemi tanrendhez igazodik). Van fent eleg jo pythonos kurzusuk, a 2. felevben mar data science meg Monte Carlo szimulacio meg hasonlok mennek. 2016-os, ugyhogy a mutatott toolokat mar nem ajanlom (PyCharm meg a VSCode koroket ver ra), de a tananyag nagyon jol sikerult. Van fent AI kurzus is, bar azt meg nem neztem vegig. 1. felev 2. felev

A strange game. The only winning move is not to play. How about a nice game of chess?