A HOTHUN modellekről
Ez egy hobbiból készült, nsfw projekt, melynek célja, hogy azokat a modelleket, melyek eddig is tudtak valamilyen szinten magyarul, nsfw-képessé tegyem chatelésre, a modell stílusának megőrzésével vagy minimális változtatásával. Tehát a modellek elsősorban chatre készültek, 4096-os ctx ablakméretre.
Fontosnak tartottam, hogy a modellek mobilon is futtathatók legyenek, viszont ez az elhatározásom komoly korlátokat állított fel:
- a forrásmodell ne legyen 8B-nél nagyobb (maximum 9B)
- alapból tudjon magyarul valamilyen szinten
- az eredeti modellnek is legyenek nsfw képességei
- Q4_0 kvantáláson (a mobilok hardveres támogatása miatt) ne essen szét túlságosan a magyar nyelv.
- lehetőleg megmaradjon az eredeti modell gondolkodása, stílusa
azaz azt nyújtsa a modell, amit eredetileg angolul, csak magyar nyelven.
Több kihívással kellett szembenéznem:
- az eredeti magyar datasetek szemetesek. Tehát amikkel az eredeti alapmodellt (például a Llama3 vagy Qwen) betanították, nem voltak kipucolva, nyelvtani és elütési hibákat tartalmaztak. Ezek a hibák a kis méretű modelleknél még inkább megjelennek, azaz felerősödik a "zaj".
- új szavakat kellett magyarul megtanulnia a modellnek, mert az eredeti magyar datasetek nem rendelkeznek nsfw szókinccsel, azaz nem fedik le teljesen a magyar nyelvet. Így az eredeti modellek a válaszadáskor nem ismerték magyarul azt a szót, amit angolul igen.
- az új szavakat is helyesen ragozza, de a régi, hibás szavak ragozási bakijait is csiszolni kellett.
- a magyar nyelv és ragozás kihívásai, szépségei, azaz a modell magyarul is képes legyen úgy fogalmazni, ahogy angolul.
- az edzett modellek már finomhangolások, azaz torzult bennük a magyar nyelv az eredeti alapmodellhez képest, viszont a stílusuk egyedibb, mint az eredetié.
Ezután olyan magyar adatbázisokat kellett keresnem, melyek nyilvánosan használhatók (ld. lentebb), illetve copyright-mentesek. Ezek között szintén nem volt nsfw szókincsű adatbázis, ezért a Gemini segítségével jó pár datasetet generáltattam, melyek egy része a nyelvtani kiigazításra összpontosítottak, más része az nsfw, vulgáris, obszcén szavakat helyezi előtérbe. Tehát a HOTHUN modellek erősen vulgáris nyelvezetűek, emiatt elsősorban személyes felhasználásra javaslom őket!
A modellek érdekessége, hogy kétféle modellbeállításon másképp működnek.
- Mirostat+Temp használatával sokkal természetesebbek, jobban átlátják a helyzetet, és logikusabb válaszokat adnak, de egy idő után hurokba kerülnek.
- Hagyományos paraméterekkel (Temp, Top-P, Top-K, Min-P, Repetition Penalty) sokkal kötetlenebb a beszélgetés, de nehezebb a történetkövetés, azaz a modell inkább önfejű. Általában érdemes ezt a kettőt kombinálni úgy, hogy ha a Mirostat kezd hurokba fordulni (ismétel, hasonló a szöveg mintázata), érdemes kicsit kizökkenteni a hagyományos paraméterek használatával, majd pár válasz után visszalépni a Mirostat-os módba. Szerencsére a legtöbb LLM program már támogatja a paraméter-profilok mentését, így pár kattintással vissza lehet jutni. Ha nem jó választ kapnál, generáld újra, általában második-harmadik esetben már jó válaszokat kapsz, de ez a szóhasználattól, system prompttól, valamint karakterlaptól is erősen függ!
v1.1 modellek
- Ezek részben tisztított dataseteken edződtek, de már nagyrészt jól beszélnek magyarul.
- Érzékenyek a magyar szövegre (talán a ragozás miatt?). Ezért ha nem jól válaszol, ellenőrizd a karakterlapot, és csak a legszükségesebb szöveget írd be! Minél több a magyar szöveg a system promptban vagy a karakterlapon, annál valószínűbb, hogy valamelyik szót nem érti meg. Ha helyesen írsz, jobban reagál a válaszokkal. Esetleg generáld újra a választ.
- A Q4_0 modellt teszteltem ChatterUI-n, és ott egy-két ragozási probléma merült fel, de alapjában jó válaszokat kaptam.
- minden LLM programban és kvantálással más-más paramétereket kell beállítani a jó válaszok érdekében! A ChatterUI-ban ezeket találtam a legjobbnak:
-- Mirostat módban:
Temp: 0.6
Mirostat Mode: 2
Mirostat Tau: 4-5.5
Mirostat Eta: 0.1-0.2
-- Hagyományos módban:
Temp: 0.4-0.7
Top-P: 1
Top-K: 0
Min-P: 0
Repetition Penalty Range: 1024
Repetition Penalty: 1.03/1.1
Presence Penalty: 0-0.1
A Hagyományos mód értékei eltérnek az eredeti modelltől a magyar nyelv ragozásai miatt. Érdemes teljesen elengedni a gyeplőt (Top-P, Top-K, Min-P), tapasztalataim szerint jobb lesz a szöveg ezek nélkül, de kinek mi a szimpatikus.
További tervek
- a datasetek javítása: ez lassú munka, mert nem csak nyelvtanilag és fogalmazásban, helyesírásban kell átnéznem, hanem igyekszem a Gemini által generált mintákat is "zajosítani" (sokszor hasonló szöveget, történetet generált, amit a képzés során átvehetett). Igyekszem természetesebbé tenni a mintákat.
- más 7-9B-s modellek edzése (például Magnum, Qwen) a tisztított datasettekkel.
- 4B-s modellek nincsenek tervben. Qwen3 4B-vel kísérleteztem, de olyan kicsi a modell edzhető területe, hogy igencsak szűkre kellene állítani a generálási paramétereket, hogy viszonylag releváns válaszokat kapjak (a helyes ragozás pedig álom). Lorával ezt nem tudom megtörni, csak egy teljes finetune oldhatná fel ezt a problémát, amihez nincs elég datasetem, sem pénzem, sem időm, sajnálom.
- datasetek megosztása, amikor úgy érzem, kipucoltam ezeket. Figyelem, ezek (időnként durva és nem konszenzusos) nsfw párbeszédeket és szituációkat is tartalmaznak, szóval még kitalálom, hogyan oszthatom meg.
Források
A datasethez az alábbi forrásokat használtam fel:
- Alpaca magyar datasetből 1000 példát
- HuCola adatbázisból 300 példát
- Opus novellákból 25 példát fordítottam le DeepL segítségével
- Geminivel generáltam többféle datasetet, összesen 2350 mintát.
Az imatrix magyar szöveg alapján készült, melyhez az alábbi helyekről vettem mintákat:
- KMDB dataset (hírek)
- Bartowski imatrix szöveg magyarra fordítva
- Lewdiculous imatrix szöveg magyarra fordítva
- Gemini generált szöveg
- Saját könyvem, a Házinyuszi
Licencek:
Mindegyik modellnél az eredeti modell licencei szerepelnek.
- Downloads last month
- 36