frankenstallm / eval_reports /2026-03-09_GGUF_DEPLOYMENT_AND_EVAL_REPORT.md
pathcosmos's picture
Upload eval_reports/2026-03-09_GGUF_DEPLOYMENT_AND_EVAL_REPORT.md with huggingface_hub (#3)
83b1ef6
|
Raw
History Blame
4.67 kB

FRANKENSTALLM 3B v2 โ€” GGUF ๋ณ€ํ™˜ยท๋ฐฐํฌ ๋ฐ Ollama ํ‰๊ฐ€ ๋ณด๊ณ ์„œ

  • ์ž‘์„ฑ์ผ: 2026-03-09
  • ๋Œ€์ƒ: byte-fallback ์ˆ˜์ • ์ ์šฉ ์ฒดํฌํฌ์ธํŠธ โ†’ GGUF ๋ณ€ํ™˜ โ†’ Ollama ๋ฐฐํฌ โ†’ ๋ฒค์น˜๋งˆํฌ

1. ์š”์•ฝ

ํ•ญ๋ชฉ ๋‚ด์šฉ
์›์ธ SentencePiece Unigram ํ† ํฌ๋‚˜์ด์ €์— byte_fallback ๋ฏธ์ ์šฉ โ†’ \n ๋“ฑ ๋ฏธ๋“ฑ๋ก ๋ฌธ์ž ์‹œ llama.cpp ํฌ๋ž˜์‹œ
์กฐ์น˜ 256๊ฐœ byte-fallback ํ† ํฐ ์ถ”๊ฐ€, ์ž„๋ฒ ๋”ฉ 64000โ†’64256 ๋ฆฌ์‚ฌ์ด์ฆˆ, GGUF ์žฌ๋ณ€ํ™˜, Q4_K_M ์–‘์žํ™”
๋ฐฐํฌ Ollama ๋ชจ๋ธ frankenstallm-3b-v2:latest (792 MB, Q4_K_M)
๋‰ด๋ผ์ธ ๊ฒ€์ฆ โœ… ํฌ๋ž˜์‹œ ์—†์ด \n ํฌํ•จ ํ”„๋กฌํ”„ํŠธ ์ฒ˜๋ฆฌ ํ™•์ธ
Ollama ๋ฒค์น˜๋งˆํฌ 35๊ฐœ ํ…Œ์ŠคํŠธ, ์ž๋™ ์ฑ„์  ํ‰๊ท  46.7, ํ‰๊ท  TPS 142.5, TTFT 16.7 ms

2. ํŒŒ์ดํ”„๋ผ์ธ ๋‹จ๊ณ„

2.1 ํ† ํฌ๋‚˜์ด์ €ยท์ž„๋ฒ ๋”ฉ ์ˆ˜์ •

  • ์Šคํฌ๋ฆฝํŠธ: scripts/fix_tokenizer_byte_fallback.py
  • ์ž…๋ ฅ: outputs/hf_checkpoint-best
  • ์ถœ๋ ฅ: outputs/hf_checkpoint-best-fixed
  • ๋ณ€๊ฒฝ ์‚ฌํ•ญ:
    • tokenizer.json: byte_fallback=True, <0x00>~`<0xFF>` 256๊ฐœ ํ† ํฐ ์ถ”๊ฐ€
    • config.json: vocab_size 64000 โ†’ 64256
    • ์ž„๋ฒ ๋”ฉ ๋ ˆ์ด์–ด ๋ฆฌ์‚ฌ์ด์ฆˆ ๋ฐ ์ƒˆ ํ† ํฐ ์ดˆ๊ธฐํ™” ํ›„ safetensors ์ €์žฅ

2.2 GGUF ๋ณ€ํ™˜ ๋ฐ ์–‘์žํ™”

  • F16 GGUF: outputs/llama.cpp/convert_hf_to_gguf.py
    outputs/hf_checkpoint-best-fixed โ†’ outputs/gguf/frankenstallm-3b-v2-f16.gguf
  • Q4_K_M ์–‘์žํ™”: outputs/llama.cpp/build/bin/llama-quantize
    โ†’ outputs/gguf/frankenstallm-3b-v2-Q4_K_M.gguf (์•ฝ 792 MB)

2.3 Ollama ๋ฐฐํฌ

  • Modelfile: ๋กœ์ปฌ GGUF ๊ฒฝ๋กœ FROM ์ง€์ • ํ›„ ollama create
  • ๋ชจ๋ธ ์ด๋ฆ„: frankenstallm-3b-v2:latest

2.4 ๋‰ด๋ผ์ธ ํ…Œ์ŠคํŠธ

  • ๋ฐฉ๋ฒ•: Ollama API๋กœ "์ฒซ ์ค„\n๋‘ ๋ฒˆ์งธ ์ค„\n์„ธ ๋ฒˆ์งธ ์ค„์ด๋ผ๊ณ  ๋งํ•ด์ค˜." ํ”„๋กฌํ”„ํŠธ ์ „์†ก
  • ๊ฒฐ๊ณผ: HTTP 200, done: true, ํฌ๋ž˜์‹œ ์—†์Œ โ†’ byte-fallback ์ˆ˜์ • ๊ฒ€์ฆ ์™„๋ฃŒ

3. Ollama ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ (frankenstallm-3b-v2)

  • ์‹คํ–‰: python eval/ollama_benchmark.py --models frankenstallm-3b-v2 --output-dir eval/results/frankenstallm-3b-v2
  • ์ผ์‹œ: 2026-03-09 23:24:22
  • ์ด ํ…Œ์ŠคํŠธ: 35 (์ž๋™ ์ฑ„์  20 + ์ˆ˜๋™ ๊ฒ€ํ†  15)

3.1 ์ „์ฒด ์ž๋™ ์ฑ„์  ํ‰๊ท 

๋ชจ๋ธ Auto Avg
frankenstallm-3b-v2 46.7

3.2 ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์ ์ˆ˜ (์ž๋™/์ˆ˜๋™)

์นดํ…Œ๊ณ ๋ฆฌ ์ ์ˆ˜ ๋น„๊ณ 
korean_nlu 100.0 3 ์ž๋™ / 2 ์ˆ˜๋™
korean_generation manual 5 ์ˆ˜๋™
reasoning 50.0 4 ์ž๋™ / 1 ์ˆ˜๋™
knowledge 75.0 4 ์ž๋™ / 1 ์ˆ˜๋™
code 0.0 3 ์ž๋™
safety 10.0 2 ์ž๋™ / 1 ์ˆ˜๋™
instruction_following 66.7 3 ์ž๋™
multilingual manual 3 ์ˆ˜๋™
repetition_resistance 2.2 3 ์ž๋™ (๋ฐ˜๋ณต๋ฅ  ๋†’์Œ)

3.3 ์ง€์—ฐ ์‹œ๊ฐ„

์ง€ํ‘œ ๊ฐ’
Avg TTFT (ms) 16.7
P50 TTFT (ms) 15.8
P95 TTFT (ms) 26.2
Avg TPS 142.5
P50 TPS 142.7
P95 TPS 143.3

3.4 ๋ฐ˜๋ณต๋ฅ  ์ƒ์„ธ (repetition_resistance)

Test ID Rep Rate Unique/Total N-grams Score
rep_01 73.76% 122/465 0.0
rep_02 59.72% 255/633 0.0
rep_03 46.70% 226/424 6.6
  • ์›๋ณธ ORPO ํ‰๊ฐ€ (HF ์ฒดํฌํฌ์ธํŠธ, Greedy): 3-gram ๋ฐ˜๋ณต๋ฅ  30.89%, EOS 67%.
    Ollama Q4_K_M + ๋ฒค์น˜๋งˆํฌ ํ”„๋กฌํ”„ํŠธ์—์„œ๋Š” ๋ฐ˜๋ณต์ด ๋” ๋‘๋“œ๋Ÿฌ์ง.

3.5 ๊ฒฐ๊ณผ ํŒŒ์ผ ์œ„์น˜

  • JSON: eval/results/frankenstallm-3b-v2/ollama_benchmark_results.json
  • ์š”์•ฝ MD: eval/results/frankenstallm-3b-v2/ollama_benchmark_summary.md

4. ๊ธฐ์กด ORPO ํ‰๊ฐ€์™€์˜ ์—ฐ๊ณ„

  • ORPO ์ข…ํ•ฉ ๋ณด๊ณ ์„œ: reports/2026-03-09_ORPO_EVALUATION_REPORT.md
  • ์ •๋Ÿ‰ ์Šค์ฝ”์–ด: 63.7/100, 7/10 ์ฐจ์› ํ†ต๊ณผ, ์ตœ์ข… ํŒ์ • RETRY
  • v2 ๋ฐฐํฌ๋ณธ์€ ๋™์ผ ORPO ์ฒดํฌํฌ์ธํŠธ์—์„œ byte-fallback๋งŒ ์ˆ˜์ •ยทGGUF ๋ณ€ํ™˜ํ•œ ๋ฒ„์ „์ด๋ฉฐ,
    ORPO ์ง€ํ‘œ(์˜ˆ: preference accuracy, reward margin)๋Š” ๊ธฐ์กด ๋ณด๊ณ ์„œ์™€ ๋™์ผํ•œ ์ฒดํฌํฌ์ธํŠธ ๊ธฐ์ค€์œผ๋กœ ์œ ์ง€๋จ.

5. ์•„ํ‹ฐํŒฉํŠธ ๊ฒฝ๋กœ ์ •๋ฆฌ

์šฉ๋„ ๊ฒฝ๋กœ
์ˆ˜์ •๋œ HF ์ฒดํฌํฌ์ธํŠธ outputs/hf_checkpoint-best-fixed/
F16 GGUF outputs/gguf/frankenstallm-3b-v2-f16.gguf
Q4_K_M GGUF (Ollama ๋ฐฐํฌ์šฉ) outputs/gguf/frankenstallm-3b-v2-Q4_K_M.gguf
Ollama ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ eval/results/frankenstallm-3b-v2/
Byte-fallback ์ˆ˜์ • ์Šคํฌ๋ฆฝํŠธ scripts/fix_tokenizer_byte_fallback.py

์ด ๋ณด๊ณ ์„œ๋Š” GGUF ๋ณ€ํ™˜ยทOllama ๋ฐฐํฌ ๋ฐ Ollama ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ๋ฅผ ์ •๋ฆฌํ•œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.