uzins commited on
Commit
4492010
ยท
verified ยท
1 Parent(s): 0cc2125

Card fixes 2026-11-01: verified corrections, requirements

Browse files
Files changed (1) hide show
  1. README.md +43 -11
README.md CHANGED
@@ -117,14 +117,46 @@ Quantized derivative of [`openbmb/MiniCPM5-2B`](https://huggingface.co/openbmb/M
117
 
118
  ---
119
  ## ํ•œ๊ตญ์–ด ์š”์•ฝ
120
- [`openbmb/MiniCPM5-2B`](https://huggingface.co/openbmb/MiniCPM5-2B) ๋ฅผ **NVFP4A16 (W4A16, FP4 weights)** ๋กœ ์–‘์žํ™”ํ•œ ์„œ๋น™์šฉ(4-bit) ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ž‘์„ฑ: **axteam**.
121
- - **๋ฐฉ์‹** โ€” FP4 ๊ฐ€์ค‘์น˜ 16๋ฌถ์Œ + ํ™œ์„ฑํ™” BF16(W4A16). ํ˜•์‹ compressed-tensors `nvfp4-pack-quantized`.
122
- - **BF16 ์œ ์ง€** โ€” ํ† ํฐ ์ž„๋ฒ ๋”ฉยทLM ํ—ค๋“œยท๋ชจ๋“  norm.
123
- - PTQ(์žฌํ•™์Šต ์—†์Œ), ํ† ํฌ๋‚˜์ด์ €ยทchat_template ์›๋ณธ ๋™์ผ.
124
- - **ํ’ˆ์งˆ(์‹ค์ธก)** โ€” BF16 ๋Œ€๋น„ perplexity 1.8315(์›๋ณธ 1.5988, **+14.6%**), top-1 85.0%(์›๋ณธ 98.9%). ๋‚ด๋ถ€ ์˜/ํ•œ 100๋ฌธํ•ญ.
125
- - โš ๏ธ 4๋น„ํŠธ ์—ดํ™”๊ฐ€ ํผ โ€” 8๋น„ํŠธ(FP8/AWQ INT8) ๊ถŒ์žฅ.
126
- - **๋ฒค์น˜๋งˆํฌ(์‹ค์ธก)** โ€” MMLU ยท GSM8K ยท ARC-Challenge ยท Winogrande ยท KMMLU ยท HAE-RAE ํ‰๊ท  BF16 52.97 โ†’ ์ด ๋ชจ๋ธ 49.85 (**ํšŒ๋ณต๋ฅ  94.1%**). lm-evaluation-harness ยท vLLM, ๋ชจ๋“  ํ˜•์‹ ๊ฐ™์€ ์„ค์ •.
127
- - โš ๏ธ ํšŒ๋ณต๋ฅ  94.1% โ€” ์ด ์ •๋ฐ€๋„์—์„œ ์—ดํ™”๊ฐ€ ๋ˆˆ์— ๋”. ํ’ˆ์งˆ ์šฐ์„ ์ด๋ฉด 8๋น„ํŠธ ๊ถŒ์žฅ.
128
- - **์š”๊ตฌ์‚ฌํ•ญ** โ€” vLLM (0.32.0 ์—์„œ ์‹ค์ธก); GPU Turing(sm75) ์ด์ƒ โ€” ๊ฐ€์ค‘์น˜ ์ „์šฉ FP4, FP4 ํ…์„œ์ฝ”์–ด ๋ถˆํ•„์š”; ๊ฐ€์ค‘์น˜ 2.2 GB + KV ์บ์‹œ; Transformers ์ง์ ‘ ์‚ฌ์šฉ: transformers โ‰ฅ4.56.0 + compressed-tensors โ‰ฅ0.15.0.
129
- - **์‹คํ–‰** โ€” `vllm serve axteam/MiniCPM5-2B-NVFP4A16 --max-model-len 32768` ๋กœ OpenAI ํ˜ธํ™˜ ์„œ๋ฒ„(ํฌํŠธ 8000), ๋˜๋Š” Python `LLM(model="axteam/MiniCPM5-2B-NVFP4A16").chat(...)` (์œ„ ์˜ˆ์‹œ). ๊ถŒ์žฅ ์ƒ˜ํ”Œ๋ง `temperature=1.0`, `top_p=0.95`. thinking ๋„๊ธฐ: `chat_template_kwargs={"enable_thinking": False}`.
130
- - **KV ์บ์‹œ ์ ˆ๊ฐ(๋Ÿฐํƒ€์ž„)** โ€” `--kv-cache-dtype fp8`.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
 
118
  ---
119
  ## ํ•œ๊ตญ์–ด ์š”์•ฝ
120
+
121
+ **[`openbmb/MiniCPM5-2B`](https://huggingface.co/openbmb/MiniCPM5-2B)์˜ NVFP4A16 (W4A16) ์–‘์žํ™” ๋นŒ๋“œ** ยท ์ œ์ž‘ axteam
122
+
123
+ ### ๊ฐœ์š”
124
+ | ํ•ญ๋ชฉ | ๋‚ด์šฉ |
125
+ |---|---|
126
+ | ์›๋ณธ ๋ชจ๋ธ | [`openbmb/MiniCPM5-2B`](https://huggingface.co/openbmb/MiniCPM5-2B) |
127
+ | ์–‘์žํ™” ๋ฐฉ์‹ | NVFP4A16 (W4A16, FP4 ๊ฐ€์ค‘์น˜) |
128
+ | ์ €์žฅ ํ˜•์‹ | compressed-tensors `nvfp4-pack-quantized` |
129
+ | ๋ชจ๋ธ ๊ตฌ์กฐ | Dense (Llama ๊ตฌ์กฐ) ยท ํ…์ŠคํŠธ ์ „์šฉ |
130
+ | ์šฉ๋Ÿ‰ | 2.2 GB |
131
+ | ๋ณด์ • ๋ฐ์ดํ„ฐ | ์ƒ˜ํ”Œ 256๊ฐœ |
132
+
133
+ ### ์–‘์žํ™” ์ƒ์„ธ
134
+ - **๊ฐ€์ค‘์น˜**: FP4(E2M1), ๊ทธ๋ฃน ํฌ๊ธฐ 16 (FP8 E4M3 ์Šค์ผ€์ผ + ํ…์„œ๋ณ„ FP32 global scale)
135
+ - **ํ™œ์„ฑํ™”**: BF16 (์–‘์žํ™”ํ•˜์ง€ ์•Š์Œ)
136
+ - **๋ฐฉ์‹**: PTQ(ํ•™์Šต ํ›„ ์–‘์žํ™”, ์žฌํ•™์Šต ์—†์Œ) ยท AWQ ์Šค๋ฌด๋”ฉ ํ›„ FP4 ๋ฐ˜์˜ฌ๋ฆผ โ€” ๋ณด์ • ๋ฐ์ดํ„ฐ๋กœ ํ™œ์„ฑํ™”๊ฐ€ ํฐ ์ฑ„๋„์„ ์ฐพ์•„ ์Šค์ผ€์ผ๋กœ ๋ณดํ˜ธ
137
+ - **BF16 ์œ ์ง€** (์ „์ฒด ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์•ฝ 21%): ํ† ํฐ ์ž„๋ฒ ๋”ฉยทLM ํ—ค๋“œยท๋ชจ๋“  RMSNorm
138
+ - **์›๋ณธ๊ณผ ๋™์ผ**: ํ† ํฌ๋‚˜์ด์ €ยทchat templateยทgeneration config
139
+
140
+ ### ํ’ˆ์งˆ (์‹ค์ธก)
141
+ - **์›๋ณธ ๋Œ€๋น„ ์ถฉ์‹ค๋„**: PPL 1.8315 (์›๋ณธ 1.5988, +14.6%) ยท ๋‹ค์Œ ํ† ํฐ top-1 ์ผ์น˜์œจ 85.0% (๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์žฐ ์›๋ณธ 98.9%) โ€” ๋‚ด๋ถ€ ์˜์–ดยทํ•œ๊ตญ์–ด ํ˜ผํ•ฉ 100๋ฌธํ•ญ, ์›๋ณธ์˜ greedy ๋‹ต์„ ๊ธฐ์ค€์œผ๋กœ ์ฑ„์ 
142
+ - **๋ฒค์น˜๋งˆํฌ ํ‰๊ท **: ์›๋ณธ 52.97 โ†’ ์ด ๋นŒ๋“œ 49.85 (ํšŒ๋ณต๋ฅ  94.1%) โ€” MMLUยทGSM8KยทARC-ChallengeยทWinograndeยทKMMLUยทHAE-RAE, lm-evaluation-harness(vLLM), ๋ชจ๋“  ํ˜•์‹ ๊ฐ™์€ ์„ค์ •
143
+ - โš ๏ธ **์ฃผ์˜**: ์ด ์ •๋ฐ€๋„์—์„œ ํ’ˆ์งˆ ์ €ํ•˜๊ฐ€ ๋šœ๋ ทํ•จ โ€” ํ’ˆ์งˆ์ด ์ค‘์š”ํ•˜๋ฉด 8๋น„ํŠธ(FP8ยทAWQ-8bit) ๋นŒ๋“œ ๊ถŒ์žฅ
144
+
145
+ ### ์š”๊ตฌ์‚ฌํ•ญ
146
+ - **์‹คํ–‰ ์—”์ง„**: vLLM โ€” vLLM 0.32.0์—์„œ ์‹ค์ธก
147
+ - **vLLM 0.32 ์„ค์น˜ ์กฐ๊ฑด**: Python 3.11~3.14, torch 2.13(CUDA 13.0 ๋นŒ๋“œ โ€” CUDA 13 ์ง€์› ๋“œ๋ผ์ด๋ฒ„ ํ•„์š”), transformers 5.16.1 ์ด์ƒ 5.20 ๋ฏธ๋งŒ, compressed-tensors 0.17.0 (vLLM ๊ณ ์ • ๋ฒ„์ „์œผ๋กœ ์ด ์ฒดํฌํฌ์ธํŠธ ๋กœ๋“œ ๊ฐ€๋Šฅ, ๋ณ„๋„๋กœ ์˜ฌ๋ฆฌ์ง€ ๋ง ๊ฒƒ)
148
+ - **GPU**: NVIDIA Turing(sm75) ์ด์ƒ โ€” ๊ฐ€์ค‘์น˜ ์ „์šฉ FP4๋ผ FP4 ํ…์„œ์ฝ”์–ด ๋ถˆํ•„์š”. V100(sm70) ๋ฏธ์ง€์›
149
+ - **๋ฉ”๋ชจ๋ฆฌ**: ๊ฐ€์ค‘์น˜ 2.2 GB + KV ์บ์‹œ(์ปจํ…์ŠคํŠธ ๊ธธ์ด ร— ๋™์‹œ ์š”์ฒญ ์ˆ˜์— ๋น„๋ก€) + ํ™œ์„ฑํ™”ยทCUDA graph ์ˆ˜ GB โ€” ํ•œ ์žฅ์— ๋“ค์–ด๊ฐ€์ง€ ์•Š์œผ๋ฉด `--tensor-parallel-size N`
150
+ - **Transformers๋กœ ์ง์ ‘ ์‚ฌ์šฉ**: transformers 4.56.0 ์ด์ƒ + compressed-tensors 0.15.0 ์ด์ƒ (4.56.0ยท4.56.2ยท4.57.6์—์„œ FP8ยทAWQ-4bitยทNVFP4A16 ํ™•์ธ)
151
+ - **trust_remote_code**: ๋ถˆํ•„์š”
152
+
153
+ ### ์‚ฌ์šฉ๋ฒ•
154
+ - **์„œ๋ฒ„ ์‹คํ–‰**: `vllm serve axteam/MiniCPM5-2B-NVFP4A16 --max-model-len 32768` โ€” OpenAI ํ˜ธํ™˜ API (๊ธฐ๋ณธ ํฌํŠธ 8000)
155
+ - **Python**: `LLM(model="axteam/MiniCPM5-2B-NVFP4A16").chat(...)` โ€” ์ „์ฒด ์˜ˆ์‹œ๋Š” ์œ„ Usage ์ฐธ๊ณ 
156
+ - **๊ถŒ์žฅ ์ƒ˜ํ”Œ๋ง**: `temperature=1.0`, `top_p=0.95`
157
+ - **thinking ๋ชจ๋“œ**: ๊ธฐ๋ณธ ์ผœ์ง โ€” ๋„๋ ค๋ฉด `chat_template_kwargs={"enable_thinking": False}`
158
+ - **KV ์บ์‹œ ์ ˆ๊ฐ(์„ ํƒ)**: `--kv-cache-dtype fp8` โ€” ๊ธด ๋ฌธ๋งฅยท๋Œ€๋Ÿ‰ ์š”์ฒญ์—์„œ KV ๋ฉ”๋ชจ๋ฆฌ ์•ฝ ์ ˆ๋ฐ˜, ๊ฐ€์ค‘์น˜ ์–‘์žํ™”์™€ ๋ณ„๊ฐœ์ธ ์‹คํ–‰ ์˜ต์…˜
159
+
160
+ ### ๋ผ์ด์„ ์Šค
161
+ - **๋ผ์ด์„ ์Šค**: Apache-2.0 โ€” ์›๋ณธ ๋ชจ๋ธ์˜ ๋ผ์ด์„ ์Šค๋ฅผ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ฆ„
162
+ - **๊ถŒ๋ฆฌ**: ์›๋ณธ ๊ฐ€์ค‘์น˜ยทํ† ํฌ๋‚˜์ด์ €์˜ ๊ถŒ๋ฆฌ๋Š” OpenBMB์— ์žˆ์œผ๋ฉฐ, ์ด ๋ฆฌํฌ๋Š” ์–‘์žํ™” ํŒŒ์ƒ๋ฌผ