carbix-v3

ํ•œ๊ตญ์–ด ๊ณต๊ณผ๊ธˆ ๊ณ ์ง€์„œ(์ „๊ธฐยท๊ฐ€์Šคยท์šด์†ก)์—์„œ ๊ตฌ์กฐํ™” ํ•„๋“œ๋ฅผ ๋ฝ‘์•„๋‚ด๋Š” VLM. Qwen/Qwen3-VL-4B-Instruct ๋ฅผ LoRA SFT ๋กœ ํŒŒ์ธํŠœ๋‹ํ•œ ๋’ค ๋ณ‘ํ•ฉํ•˜๊ณ  GGUF q8_0 ์œผ๋กœ ์–‘์žํ™”ํ–ˆ๋‹ค. carbix-engine ์˜ ๋กœ์ปฌ ์ถ”๋ก  ๋ฐฑ์—”๋“œ๋กœ ์“ด๋‹ค.

ํŒŒ์ผ

ํŒŒ์ผ ํฌ๊ธฐ ์šฉ๋„
carbix-v3-q8.gguf 4.28 GB ์„œ๋น™ ๊ฐ€์ค‘์น˜ (llama.cpp)
carbix-v3-mmproj.gguf 836 MB ๋น„์ „ ์ธ์ฝ”๋”(๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ํ”„๋กœ์ ํ„ฐ) โ€” ์—†์œผ๋ฉด ์ด๋ฏธ์ง€ ์ž…๋ ฅ ๋ถˆ๊ฐ€
lora_adapter_v3/ 144 MB PEFT ์–ด๋Œ‘ํ„ฐ ์›๋ณธ. ์žฌ๋ณ‘ํ•ฉยท์žฌํ•™์Šต์šฉ
test.jsonl 2.4 MB ํ‰๊ฐ€์…‹ 657๊ฑด + ํ•™์Šต์— ์‹ค์ œ๋กœ ์“ด ํ”„๋กฌํ”„ํŠธ (--prompt-from ์šฉ)

lora_adapter_v3/ ๋Š” ์ตœ์ข… ์‚ฐ์ถœ๋ฌผ(adapter_model.safetensors)๋งŒ ๋‹ด์•˜๋‹ค. ํ•™์Šต ์ค‘๊ฐ„ ์ฒดํฌํฌ์ธํŠธ 3๊ฐœ(checkpoint-2750/3000/3125, ๊ฐ 379MB, ์˜ตํ‹ฐ๋งˆ์ด์ € ์ƒํƒœ ํฌํ•จ)๋Š” ์šฉ๋Ÿ‰ ๋Œ€๋น„ ์‹ค์ต์ด ์—†์–ด ์ œ์™ธํ–ˆ๋‹ค. ์ตœ์ข… ์Šคํ…์€ checkpoint-3125 ๋กœ ์ด 3,125 ์Šคํ…์ด๋‹ค.

์‹คํ–‰

llama-server \
  -m carbix-v3-q8.gguf \
  --mmproj carbix-v3-mmproj.gguf \
  --host 127.0.0.1 --port 8001 \
  -ngl 99 -c 8192 --parallel 2 \
  --image-min-tokens 1024 \
  --jinja

OpenAI ํ˜ธํ™˜ API ๋กœ ๋œฌ๋‹ค. carbix-engine ์—์„œ๋Š”:

python eval/predict_one.py --image bill.jpg --category gas \
  --base-url http://127.0.0.1:8001 --prompt-from test.jsonl
  • -ngl 99 ์ „์ฒด ๋ ˆ์ด์–ด GPU ์˜คํ”„๋กœ๋“œ. q8_0 + mmproj ๋Š” L4 24GB ์— ๋ณ‘๋ ฌ ์Šฌ๋กฏ์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋„์›Œ๋„ ์—ฌ์œ ๋กญ๋‹ค.
  • --image-min-tokens 1024 Qwen-VL ๊ณ„์—ด์€ ์ด๋ฏธ์ง€ ํ† ํฐ์ด 1024 ๋ฏธ๋งŒ์ด๋ฉด ์ •ํ™•๋„๊ฐ€ ๋–จ์–ด์ง„๋‹ค๋Š” llama.cpp ์ž์ฒด ๊ฒฝ๊ณ ๋ฅผ ๋ฐ˜์˜ํ•œ ๊ฐ’.
  • --jinja ๋ณ‘ํ•ฉ ๋ชจ๋ธ์˜ chat_template.jinja ๋ฅผ ์“ด๋‹ค.

ํ•™์Šต

ํ•ญ๋ชฉ ๊ฐ’
๋ฒ ์ด์Šค Qwen/Qwen3-VL-4B-Instruct
๋ฐฉ๋ฒ• LoRA SFT (transformers + peft ์ˆœ์ •, train/train_hf.py)
LoRA r=16, alpha=32, dropout=0.05, bias=none
target_modules q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj
ํ•™์Šต ํŒŒ๋ผ๋ฏธํ„ฐ 33,030,144 / 4,470,845,952 (0.74%)
์˜ตํ‹ฐ๋งˆ์ด์ € adamw_torch, lr 2e-4, cosine, warmup 5%, weight_decay 0.01
๋ฐฐ์น˜ 1 ร— grad_accum 4 = effective 4
์—ํญ 1 (12,500๊ฑด โ†’ 3,125 ์Šคํ…)
์ •๋ฐ€๋„ bf16, gradient checkpointing, ๋น„์ „ ํƒ€์›Œ ๋™๊ฒฐ ์•ˆ ํ•จ
ํ•˜๋“œ์›จ์–ด GCP L4 24GB (g2-standard-4)
์ด๋ฏธ์ง€ ํ•ด์ƒ๋„ shortest_edge=784, longest_edge=1003520
peft 0.20.0

LoRA ๊ฐ’(r/alpha/dropout/target_modules)์€ ๋™๋ด‰ํ•œ lora_adapter_v3/adapter_config.json ์‹ค์ธก์ด๋‹ค. carbix-engine ์˜ train/train_hf.py ๋…์ŠคํŠธ๋ง์—๋Š” alpha=16 ์ด๋ผ๊ณ  ์ ํ˜€ ์žˆ์œผ๋‚˜ ๋‚ก์€ ๊ธฐ์ˆ ์ด๋‹ค โ€” argparse ๊ธฐ๋ณธ๊ฐ’๊ณผ ์‹ค์ œ ํ•™์Šต ๋กœ๊ทธ ๋ชจ๋‘ alpha=32 ๋‹ค.

๋ฐ์ดํ„ฐ

carbix-augmentation ํŒŒ์ดํ”„๋ผ์ธ์ด ์ƒ์„ฑํ•œ ํ•ฉ์„ฑ ๊ณ ์ง€์„œ. ์‹ค์ œ ๊ณ ๊ฐ ๋ฌธ์„œ๋Š” ์“ฐ์ง€ ์•Š์•˜๋‹ค.

ํ•™์Šต 12,500 ๊ฒ€์ฆ 1,388 (์‹ค์ œ ์‚ฌ์šฉ 300)
๊ฐ€์Šค 10,681 1,207
์šด์†ก 916 84
์ „๊ธฐ 903 97

์„ฑ๋Šฅ

ํ•ฉ์„ฑ ํ…Œ์ŠคํŠธ์…‹ (657๊ฑด, test.jsonl)

๋ชจ๋ธ overall ํ‰๊ท  ์ง€์—ฐ ์—๋Ÿฌ
carbix-v3 GGUF q8_0 (llama.cpp) 99.43% 3.23s 0
carbix-v3 ์–ด๋Œ‘ํ„ฐ ์ง์ ‘ ๋กœ๋“œ (bf16, transformers) 98.68% 11.95s 0

์žฌํ˜„

# ์–ด๋Œ‘ํ„ฐ โ†’ ๋ณ‘ํ•ฉ ๋ชจ๋ธ
CARBIX_MODEL_DIR=~/Projects/carbix-model python train/merge_lora.py

# ๋ณ‘ํ•ฉ ๋ชจ๋ธ โ†’ GGUF + mmproj
python llama.cpp/convert_hf_to_gguf.py <merged_model> --outtype q8_0

๋ผ์ด์„ ์Šค

๋ฒ ์ด์Šค ๋ชจ๋ธ Qwen/Qwen3-VL-4B-Instruct ์˜ ๋ผ์ด์„ ์Šค๋ฅผ ๋”ฐ๋ฅธ๋‹ค. (๋ฐฐํฌ ์ „ ํ™•์ธ ํ•„์š”)

Downloads last month
114
GGUF
Model size
4B params
Architecture
qwen3vl
Hardware compatibility
Log In to add your hardware

We're not able to determine the quantization variants.

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for wish418/carbix-v3

Adapter
(158)
this model