From 70d26f2c715754c676df8a2c802b2a4356579683 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Tue, 30 Jun 2026 08:30:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: Mykee/HOTHUN-Stheno-3.2-v1.2-GGUF Source: Original Platform --- .gitattributes | 42 ++++++++++ HOTHUN-Stheno-3.2-v1.2-BF16.gguf | 3 + HOTHUN-Stheno-3.2-v1.2-FP16.gguf | 3 + HOTHUN-Stheno-3.2-v1.2-Q4_0.gguf | 3 + HOTHUN-Stheno-3.2-v1.2-Q4_0_IM.gguf | 3 + HOTHUN-Stheno-3.2-v1.2-Q4_K_M.gguf | 3 + HOTHUN-Stheno-3.2-v1.2-Q4_K_M_IM.gguf | 3 + HOTHUN-Stheno-3.2-v1.2.imatrix | 3 + Modelfile | 15 ++++ README.md | 115 ++++++++++++++++++++++++++ 10 files changed, 193 insertions(+) create mode 100644 .gitattributes create mode 100644 HOTHUN-Stheno-3.2-v1.2-BF16.gguf create mode 100644 HOTHUN-Stheno-3.2-v1.2-FP16.gguf create mode 100644 HOTHUN-Stheno-3.2-v1.2-Q4_0.gguf create mode 100644 HOTHUN-Stheno-3.2-v1.2-Q4_0_IM.gguf create mode 100644 HOTHUN-Stheno-3.2-v1.2-Q4_K_M.gguf create mode 100644 HOTHUN-Stheno-3.2-v1.2-Q4_K_M_IM.gguf create mode 100644 HOTHUN-Stheno-3.2-v1.2.imatrix create mode 100644 Modelfile create mode 100644 README.md diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..b091dfe --- /dev/null +++ b/.gitattributes @@ -0,0 +1,42 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +HOTHUN-Stheno-3.2-v1.2-BF16.gguf filter=lfs diff=lfs merge=lfs -text +HOTHUN-Stheno-3.2-v1.2-FP16.gguf filter=lfs diff=lfs merge=lfs -text +HOTHUN-Stheno-3.2-v1.2-Q4_0_IM.gguf filter=lfs diff=lfs merge=lfs -text +HOTHUN-Stheno-3.2-v1.2-Q4_K_M_IM.gguf filter=lfs diff=lfs merge=lfs -text +HOTHUN-Stheno-3.2-v1.2.imatrix filter=lfs diff=lfs merge=lfs -text +HOTHUN-Stheno-3.2-v1.2-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text +HOTHUN-Stheno-3.2-v1.2-Q4_0.gguf filter=lfs diff=lfs merge=lfs -text diff --git a/HOTHUN-Stheno-3.2-v1.2-BF16.gguf b/HOTHUN-Stheno-3.2-v1.2-BF16.gguf new file mode 100644 index 0000000..6013db7 --- /dev/null +++ b/HOTHUN-Stheno-3.2-v1.2-BF16.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:585023142b70ed013ad3fa0d1e430f41a0a2f91527fa7970a214856420ba5277 +size 16069941344 diff --git a/HOTHUN-Stheno-3.2-v1.2-FP16.gguf b/HOTHUN-Stheno-3.2-v1.2-FP16.gguf new file mode 100644 index 0000000..c84bf74 --- /dev/null +++ b/HOTHUN-Stheno-3.2-v1.2-FP16.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6721d28418f18058709d214644b89c994bb96b6e9f0b709ce752e6c1b03e3498 +size 16069941344 diff --git a/HOTHUN-Stheno-3.2-v1.2-Q4_0.gguf b/HOTHUN-Stheno-3.2-v1.2-Q4_0.gguf new file mode 100644 index 0000000..45ca98a --- /dev/null +++ b/HOTHUN-Stheno-3.2-v1.2-Q4_0.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84bc302e2f40c2d38aab4162112a970b95370c089a89d775b9f32ad8d3fc740a +size 4661575776 diff --git a/HOTHUN-Stheno-3.2-v1.2-Q4_0_IM.gguf b/HOTHUN-Stheno-3.2-v1.2-Q4_0_IM.gguf new file mode 100644 index 0000000..901bb20 --- /dev/null +++ b/HOTHUN-Stheno-3.2-v1.2-Q4_0_IM.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5224b6b39450b258af1783ffa5cd1d607a28b12ac55d3b69bcd6c94f0e847d02 +size 4676256096 diff --git a/HOTHUN-Stheno-3.2-v1.2-Q4_K_M.gguf b/HOTHUN-Stheno-3.2-v1.2-Q4_K_M.gguf new file mode 100644 index 0000000..7649d6f --- /dev/null +++ b/HOTHUN-Stheno-3.2-v1.2-Q4_K_M.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b3949fe4ce7f82d3e4dd820105daf63b1e1af245515fcce15327b8b47cfba5f +size 4921098336 diff --git a/HOTHUN-Stheno-3.2-v1.2-Q4_K_M_IM.gguf b/HOTHUN-Stheno-3.2-v1.2-Q4_K_M_IM.gguf new file mode 100644 index 0000000..be56473 --- /dev/null +++ b/HOTHUN-Stheno-3.2-v1.2-Q4_K_M_IM.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0097a719c482e63aa4da488d619e386ebb28392047d139c44e32ce813ba99bc +size 4921098592 diff --git a/HOTHUN-Stheno-3.2-v1.2.imatrix b/HOTHUN-Stheno-3.2-v1.2.imatrix new file mode 100644 index 0000000..9b9896d --- /dev/null +++ b/HOTHUN-Stheno-3.2-v1.2.imatrix @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14de91c859af4afecb1106a6fef1b905c89aab139534fac4ff7732d7ad90dad8 +size 5015264 diff --git a/Modelfile b/Modelfile new file mode 100644 index 0000000..1074728 --- /dev/null +++ b/Modelfile @@ -0,0 +1,15 @@ +# ollama modelfile auto-generated by llamafactory + +FROM . + +TEMPLATE """<|begin_of_text|>{{ if .System }}<|start_header_id|>system<|end_header_id|> + +{{ .System }}<|eot_id|>{{ end }}{{ range .Messages }}{{ if eq .Role "user" }}<|start_header_id|>user<|end_header_id|> + +{{ .Content }}<|eot_id|><|start_header_id|>assistant<|end_header_id|> + +{{ else if eq .Role "assistant" }}{{ .Content }}<|eot_id|>{{ end }}{{ end }}""" + +PARAMETER stop "<|eom_id|>" +PARAMETER stop "<|eot_id|>" +PARAMETER num_ctx 4096 diff --git a/README.md b/README.md new file mode 100644 index 0000000..1901148 --- /dev/null +++ b/README.md @@ -0,0 +1,115 @@ +--- +license: cc-by-nc-4.0 +language: +- hu +base_model: +- Sao10K/L3-8B-Stheno-v3.2 +tags: +- not-for-all-audiences +new_version: Mykee/HOTHUN-Stheno-3.2-v1.3-GGUF +--- +**This model has been fine-tuned exclusively in Hungarian; it has not been modified or further trained in English or any other language!** + +--- + +# 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 privát 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! +A magyar nyelv miatt más paramétereket kell beállítani, mint az eredetileg ajánlottak! + +## Melyiket válasszam? +- A Stheno közvetlen, nyersebb stílusú +- A Hermes inkább mesélő, narratív + +## v1.2 modellek +- Az 1.1 verzióhoz képest bővítettem a datasetet családi kapcsolati mintákkal, illetve roleplay/szerepjáték beszélgetésekkel, de ez utóbbi még nem erős, későbbi csiszolásra szorul. Ha szerepjátékoznál, érdemes a System promptba beírni: **Ez egy interaktív szerepjáték, ahol te vagy a narrátor. Mindig adj több számozott opciót a válasz végén!** Általában négyet szokott adni. +- a dataset így 3675-ről 3900-ra nőtt. +- edzésnél a NEFTune-t 1-re állítottam, így sokkal természetesebben válaszol a modell, úgy tűnik, az 1.1 verzióban használt NEFTune 5 sok volt neki. +- A Q4_0 modellt teszteltem ChatterUI-n, és csak egy-két ragozási probléma merült fel, de alapjában jó válaszokat kaptam. + +## Generálási paraméterek + +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.5-0.6 +Mirostat Mode: 2 +Mirostat Tau: 4-5.5 +Mirostat Eta: 0.1-0.2 +``` + +-- *Hagyományos módban:* + +``` +Temp: 0.6 +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. + +Ha a modellt vagy a karakterlapot tesztelnéd, akkor innen indulj ki: + +``` +Temp: 0.01 +Top-P: 1 +Top-K: 0 +Min-P: 0 +Rep. Penalty: 1 +Presence Penalty: 0 +Freq Penalty: 0 +``` +Ezekkel a beállításokkal jó szöveget kell adnia, ha a ragozás több helyen szétesik vagy nem jól válaszol, akkor ellenőrizd a System promptot, rövidítsd a karakterlapot, ellenőrizd a beírt válaszodat! + + +## 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](url=https://huggingface.co/datasets/NYTK/alpaca_hu_2k) 1000 példát +- [HuCola adatbázisból](url=https://huggingface.co/datasets/NYTK/HuCOLA) 300 példát +- [Opus novellákból](url=https://huggingface.co/datasets/Gryphe/Opus-WritingPrompts) 25 példát fordítottam le DeepL segítségével +- Geminivel generáltam többféle datasetet, összesen 2575 mintát. + +Az imatrix magyar szöveg alapján készült, melyhez az alábbi helyekről vettem mintákat: +- [KMDB dataset](url=https://huggingface.co/datasets/K-Monitor/kmdb_base) (hírek) +- [Bartowski imatrix](url=https://gist.github.com/bartowski1182/82ae9b520227f57d79ba04add13d0d0d) szöveg magyarra fordítva +- [Lewdiculous imatrix](url=https://huggingface.co/Lewdiculous/L3-8B-Stheno-v3.2-GGUF-IQ-Imatrix/blob/main/imatrix-with-rp-ex.txt) 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. \ No newline at end of file