初始化项目,由ModelHub XC社区提供模型
Model: Mykee/HOTHUN-Stheno-3.2-v1.2-GGUF Source: Original Platform
This commit is contained in:
42
.gitattributes
vendored
Normal file
42
.gitattributes
vendored
Normal file
@@ -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
|
||||
3
HOTHUN-Stheno-3.2-v1.2-BF16.gguf
Normal file
3
HOTHUN-Stheno-3.2-v1.2-BF16.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:585023142b70ed013ad3fa0d1e430f41a0a2f91527fa7970a214856420ba5277
|
||||
size 16069941344
|
||||
3
HOTHUN-Stheno-3.2-v1.2-FP16.gguf
Normal file
3
HOTHUN-Stheno-3.2-v1.2-FP16.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6721d28418f18058709d214644b89c994bb96b6e9f0b709ce752e6c1b03e3498
|
||||
size 16069941344
|
||||
3
HOTHUN-Stheno-3.2-v1.2-Q4_0.gguf
Normal file
3
HOTHUN-Stheno-3.2-v1.2-Q4_0.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:84bc302e2f40c2d38aab4162112a970b95370c089a89d775b9f32ad8d3fc740a
|
||||
size 4661575776
|
||||
3
HOTHUN-Stheno-3.2-v1.2-Q4_0_IM.gguf
Normal file
3
HOTHUN-Stheno-3.2-v1.2-Q4_0_IM.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5224b6b39450b258af1783ffa5cd1d607a28b12ac55d3b69bcd6c94f0e847d02
|
||||
size 4676256096
|
||||
3
HOTHUN-Stheno-3.2-v1.2-Q4_K_M.gguf
Normal file
3
HOTHUN-Stheno-3.2-v1.2-Q4_K_M.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1b3949fe4ce7f82d3e4dd820105daf63b1e1af245515fcce15327b8b47cfba5f
|
||||
size 4921098336
|
||||
3
HOTHUN-Stheno-3.2-v1.2-Q4_K_M_IM.gguf
Normal file
3
HOTHUN-Stheno-3.2-v1.2-Q4_K_M_IM.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f0097a719c482e63aa4da488d619e386ebb28392047d139c44e32ce813ba99bc
|
||||
size 4921098592
|
||||
3
HOTHUN-Stheno-3.2-v1.2.imatrix
Normal file
3
HOTHUN-Stheno-3.2-v1.2.imatrix
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:14de91c859af4afecb1106a6fef1b905c89aab139534fac4ff7732d7ad90dad8
|
||||
size 5015264
|
||||
15
Modelfile
Normal file
15
Modelfile
Normal file
@@ -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
|
||||
115
README.md
Normal file
115
README.md
Normal file
@@ -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.
|
||||
Reference in New Issue
Block a user