Llama 3.2 3B Instruct ํ•œ๊ตญ์–ด ์˜๋ฃŒ QLoRA ์–ด๋Œ‘ํ„ฐ

Built with Llama.

์ฃผ์˜: ์—ฐ๊ตฌยท๊ต์œก์šฉ ์‹ค์Šต ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์˜๋ฃŒ๊ธฐ๊ธฐ๋‚˜ ์ง„๋‹จ ์‹œ์Šคํ…œ์ด ์•„๋‹ˆ๋ฉฐ, ์‹ค์ œ ์ง„๋‹จยท์ฒ˜๋ฐฉยท์‘๊ธ‰์ƒํ™ฉ ํŒ๋‹จ์— ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ํ‰๊ฐ€์—์„œ ์œ„ํ—˜ํ•˜๊ฑฐ๋‚˜ ๋ถ€์ •ํ™•ํ•œ ์‘๊ธ‰ ๋‹ต๋ณ€์ด ํ™•์ธ๋์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ ๊ฐœ์š”

meta-llama/Llama-3.2-3B-Instruct๋ฅผ ํ•œ๊ตญ์–ด ์˜๋ฃŒ ๊ฐ๊ด€์‹ ๋ฐ ์งˆ์˜์‘๋‹ต ๋ฐ์ดํ„ฐ๋กœ ์ง€๋„ ๋ฏธ์„ธ์กฐ์ •(SFT)ํ•œ 4-bit QLoRA ์–ด๋Œ‘ํ„ฐ์ž…๋‹ˆ๋‹ค. ์ „์ฒด ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์€ ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ถ”๋ก ํ•˜๋ ค๋ฉด Hugging Face์—์„œ Meta์˜ Llama ๋ผ์ด์„ ์Šค์— ๋™์˜ํ•˜๊ณ  ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ ๋‚ด์šฉ
๊ธฐ๋ฐ˜ ๋ชจ๋ธ meta-llama/Llama-3.2-3B-Instruct
๊ธฐ๋ฐ˜ ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ ์•ฝ 3.21B
ํ•™์Šต ๋ฐฉ์‹ 4-bit QLoRA / SFT
์–ด๋Œ‘ํ„ฐ ํ˜•์‹ PEFT LoRA
ํ•™์Šต ์–ธ์–ด ํ•œ๊ตญ์–ด
์šฉ๋„ Qwen3 ํ•™์Šต ๊ฒฐ๊ณผ์™€์˜ ๋กœ์ปฌ ๋น„๊ต ์‹ค์Šต
์–ด๋Œ‘ํ„ฐ ํฌ๊ธฐ ์•ฝ 46.4 MiB

ํ•œ๊ตญ์–ด๋Š” Llama 3.2 ๋ชจ๋ธ ์นด๋“œ์— ๋ช…์‹œ๋œ ๊ณต์‹ ์ง€์› ์–ธ์–ด ๋ชฉ๋ก์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์–ด๋Œ‘ํ„ฐ๋Š” ์ œํ•œ๋œ ํ•œ๊ตญ์–ด ์˜๋ฃŒ ๋ฐ์ดํ„ฐ๋กœ ์ถ”๊ฐ€ ํ•™์Šตํ•œ ์‹คํ—˜ ๊ฒฐ๊ณผ์ด๋ฉฐ, ํ•œ๊ตญ์–ด ์ „๋ฐ˜์˜ ํ’ˆ์งˆ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•™์Šต ๋ฐ์ดํ„ฐ

๋ฐ์ดํ„ฐ์…‹ ์‚ฌ์šฉ ๋‚ด์šฉ ํ•™์Šต ์ƒ˜ํ”Œ ๋ผ์ด์„ ์Šค
sean0042/KorMedMCQA ์˜์‚ฌยท๊ฐ„ํ˜ธ์‚ฌยท์•ฝ์‚ฌยท์น˜๊ณผ์˜์‚ฌ ํ•œ๊ตญ์–ด ์˜๋ฃŒ ๊ฐ๊ด€์‹ 3,401 CC BY-NC 2.0
ChuGyouk/GenMedGPT-5k-ko ํ•œ๊ตญ์–ด ์ผ๋ฐ˜ ์˜๋ฃŒ ์งˆ์˜์‘๋‹ต 5,178 MIT
ํ•ฉ๊ณ„ seed 42๋กœ ์„ž์–ด ํ•™์Šต 8,579 ๋ฐ์ดํ„ฐ๋ณ„ ์ƒ์ด

GenMedGPT ๋ฐ์ดํ„ฐ 5%์ธ 273๊ฐœ ์ƒ˜ํ”Œ์€ ๋ณ„๋„ ๊ฒ€์ฆ์šฉ์œผ๋กœ ๋ถ„๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•™์Šต ์ค‘ ์ž๋™ ํ‰๊ฐ€๋Š” ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ž์ฒด์˜ ์˜ค๋ฅ˜ยทํŽธํ–ฅยท์œ„ํ—˜ํ•œ ์˜๋ฃŒ ํ‘œํ˜„์ด ๋ชจ๋ธ ์ถœ๋ ฅ์— ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ›ˆ๋ จ ํ™˜๊ฒฝ

ํ•ญ๋ชฉ ์„ค์ •
์šด์˜์ฒด์ œ Windows 11
GPU NVIDIA GeForce RTX 5070, 11.94 GB VRAM
Python 3.12.0
PyTorch / CUDA 2.13.0+cu130 / CUDA 13.0
์ •๋ฐ€๋„ BF16, 4-bit ์–‘์žํ™”
transformers 5.15.1
datasets 5.0.1
accelerate 1.14.0
peft 0.20.0
trl 1.10.0
bitsandbytes 0.50.1

์ฃผ์š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ

ํ•ญ๋ชฉ ๊ฐ’
Epoch 1
์ตœ๋Œ€ ์‹œํ€€์Šค ๊ธธ์ด 1,024
์žฅ์น˜๋‹น ๋ฐฐ์น˜ 1
Gradient accumulation 8
์œ ํšจ ๋ฐฐ์น˜ ํฌ๊ธฐ 8
Learning rate 2e-4
Scheduler / warmup linear / 0
Optimizer adamw_torch_fused
LoRA rank / alpha / dropout 16 / 32 / 0.05
๋Œ€์ƒ ๋ชจ๋“ˆ q, k, v, o, gate, up, down projection
Gradient checkpointing ์‚ฌ์šฉ
Packing ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ
์ฒดํฌํฌ์ธํŠธ ๊ฐ„๊ฒฉ 100 step
Seed 42

ํ•™์Šต ๊ฒฐ๊ณผ

์ด ๋ชจ๋ธ์€ Step 0๋ถ€ํ„ฐ ์ด 1,073 step๊นŒ์ง€ ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค.

์ง€ํ‘œ ๊ฒฐ๊ณผ
์ตœ์ข… train loss 1.1323
ํ‰๊ท  token accuracy 0.7661
์ฒ˜๋ฆฌ token ์ˆ˜ 1,684,021
ํ•™์Šต ์ฒ˜๋ฆฌ๋Ÿ‰ 0.190 step/s, 1.517 sample/s
์ด ํ•™์Šต ์‹œ๊ฐ„ ์•ฝ 1์‹œ๊ฐ„ 34๋ถ„

์ด ์ˆ˜์น˜๋Š” ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ ๊ธฐ์ค€ ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค. Qwen๊ณผ ํ† ํฌ๋‚˜์ด์ € ๋ฐ ์ฒ˜๋ฆฌ token ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋ฏ€๋กœ train loss๋งŒ์œผ๋กœ ๋ชจ๋ธ ๊ฐ„ ์šฐ์—ด์„ ํŒ๋‹จํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ํ‰๊ฐ€ ๊ฒฐ๊ณผ

์ž์ฒด ์ œ์ž‘ํ•œ ํ•œ๊ตญ์–ด 40๋ฌธํ•ญ(๊ฐ๊ด€์‹ 10, ๋‹จ์ˆœ ์ƒ๋‹ด 10, ๋ชจํ˜ธํ•œ ์ƒ๋‹ด 10, ์‘๊ธ‰์ƒํ™ฉ 10)์œผ๋กœ Final ์–ด๋Œ‘ํ„ฐ๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์ตœ์‹  Final ์ถœ๋ ฅ์˜ ๊ฐ๊ด€์‹ ์ •๋‹ต๋ฅ ์€ 10/10์ด์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌธํ•ญ ์ˆ˜๊ฐ€ ์ ๊ณ  ๋‚œ๋„๊ฐ€ ๋‚ฎ์€ ๋‚ด๋ถ€ ์ ๊ฒ€์ด๋ฏ€๋กœ ํ‘œ์ค€ ์˜๋ฃŒ ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
  • ์ƒ๋‹ดยท์‘๊ธ‰ ๋ฌธํ•ญ์—์„œ๋Š” ๋ฐ˜๋ณต์ ์ธ ๊ฒ€์‚ฌ ๋‚˜์—ด, ๋ชจํ˜ธํ•œ ์•ˆ๋‚ด, ์ฆ์ƒ๊ณผ ๋งž์ง€ ์•Š๋Š” ์ฒ˜์น˜ ์ œ์•ˆ์ด ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.
  • ์ž„์‹  ์ค‘ ํ†ต์ฆยท์ถœํ˜ˆ, ๋จธ๋ฆฌ ์™ธ์ƒ ํ›„ ๊ตฌํ† , ์˜์‹ ๋ณ€ํ™” ๋“ฑ ๊ธด๊ธ‰์„ฑ์ด ๋†’์€ ์ƒํ™ฉ์—์„œ๋„ ์•ˆ์ „ํ•œ ๋Œ€์‘์ด ์ผ๊ด€๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ฐ๊ด€์‹ ์ •๋‹ต๋ฅ ๊ณผ ์‹ค์ œ ์ƒ๋‹ด ์•ˆ์ „์„ฑ์€ ๋ณ„๊ฐœ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ์ž„์ƒ ๋˜๋Š” ํ™˜์ž ์‘๋Œ€์— ์‚ฌ์šฉํ•  ์ˆ˜์ค€์œผ๋กœ ๊ฒ€์ฆ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์˜ˆ์‹œ

๋จผ์ € Llama ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ฐ›์€ ๊ณ„์ •์œผ๋กœ Hugging Face์— ๋กœ๊ทธ์ธํ•˜๊ณ , CUDA ํ™˜๊ฒฝ์— ๋งž๋Š” PyTorch์™€ ๋‹ค์Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

hf auth login
pip install transformers peft accelerate bitsandbytes
import torch
from peft import PeftConfig, PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig

adapter_id = "YOUR_ACCOUNT/YOUR_LLAMA_ADAPTER_REPO"
peft_config = PeftConfig.from_pretrained(adapter_id)

tokenizer = AutoTokenizer.from_pretrained(adapter_id, use_fast=True)
quantization_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_use_double_quant=True,
)
base_model = AutoModelForCausalLM.from_pretrained(
    peft_config.base_model_name_or_path,
    quantization_config=quantization_config,
    device_map="auto",
    dtype=torch.bfloat16,
)
model = PeftModel.from_pretrained(base_model, adapter_id)

messages = [{"role": "user", "content": "๋น„ํƒ€๋ฏผ B12 ๊ฒฐํ•๊ณผ ๊ด€๋ จ๋œ ๋นˆํ˜ˆ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?"}]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
with torch.inference_mode():
    output = model.generate(**inputs, max_new_tokens=256, do_sample=False)

answer_tokens = output[0, inputs["input_ids"].shape[1]:]
print(tokenizer.decode(answer_tokens, skip_special_tokens=True))

adapter_id๋ฅผ ์‹ค์ œ Hugging Face ์–ด๋Œ‘ํ„ฐ ์ €์žฅ์†Œ ID๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•œ๊ณ„ ๋ฐ ๊ถŒ์žฅํ•˜์ง€ ์•Š๋Š” ์‚ฌ์šฉ

  • ์˜๋ฃŒ ์ง„๋‹จ, ์ฒ˜๋ฐฉ, ๋ณต์•ฝ ๊ฒฐ์ •, ์‘๊ธ‰์ƒํ™ฉ ๋ถ„๋ฅ˜
  • ํ™˜์ž์—๊ฒŒ ๊ฒ€ํ†  ์—†์ด ์ง์ ‘ ๋‹ต๋ณ€ํ•˜๋Š” ์„œ๋น„์Šค
  • ์˜๋ฃŒ ์ „๋ฌธ๊ฐ€๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์ž๋™ ์˜์‚ฌ๊ฒฐ์ •
  • ๊ฐœ์ธ์ •๋ณด๋‚˜ ๋ฏผ๊ฐํ•œ ์˜๋ฃŒ์ •๋ณด ์ž…๋ ฅ
  • ํ•œ๊ตญ์–ด ๋ฐ ์˜๋ฃŒ ๋ถ„์•ผ์˜ ๊ฒ€์ฆ๋œ ์ •ํ™•๋„๋ฅผ ์ „์ œ๋กœ ํ•œ ์—…๋ฌด

์•ˆ์ „ ํ‰๊ฐ€, ํ™˜๊ฐ ํ‰๊ฐ€, ํŽธํ–ฅ ํ‰๊ฐ€, ํ‘œ์ค€ ์˜๋ฃŒ ๋ฒค์น˜๋งˆํฌ, ์˜๋ฃŒ ์ „๋ฌธ๊ฐ€ ๊ฒ€์ฆ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์—๋Š” ์—ฐ๊ตฌ ์‹ค์Šต ์™ธ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

๋ผ์ด์„ ์Šค์™€ ์ถœ์ฒ˜

  • ๊ธฐ๋ฐ˜ ๋ชจ๋ธ: meta-llama/Llama-3.2-3B-Instruct โ€” Llama 3.2 Community License
  • KorMedMCQA โ€” CC BY-NC 2.0
  • GenMedGPT-5k-ko โ€” MIT

์žฌ๋ฐฐํฌ์™€ ํŒŒ์ƒ ๋ชจ๋ธ ๋ช…๋ช…ยทํ‘œ์‹œ์—๋Š” Llama 3.2 Community License๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์–ด๋Œ‘ํ„ฐ ์‚ฌ์šฉ์ž๋Š” ๊ธฐ๋ฐ˜ ๋ชจ๋ธ๊ณผ ๊ฐ ๋ฐ์ดํ„ฐ์…‹์˜ ์กฐ๊ฑด์„ ๋ชจ๋‘ ํ™•์ธํ•ด์•ผ ํ•˜๋ฉฐ, KorMedMCQA์˜ ๋น„์˜๋ฆฌ ์กฐ๊ฑด ๋•Œ๋ฌธ์— ๋ณ„๋„ ๋ฒ•๋ฅ  ๊ฒ€ํ†  ์—†์ด ์ƒ์—…์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ์˜ํ–ฅ

๋‹จ์ผ RTX 5070์—์„œ ์•ฝ 1์‹œ๊ฐ„ 34๋ถ„ ์‹คํ–‰ํ•œ ๊ฐœ์ธ ์‹ค์Šต์ž…๋‹ˆ๋‹ค. ์ „๋ ฅ ์†Œ๋น„๋Ÿ‰๊ณผ ํƒ„์†Œ ๋ฐฐ์ถœ๋Ÿ‰์€ ๋ณ„๋„๋กœ ์ธก์ •ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

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

Model tree for csj9630/llama32-3b-medical-qlora

Adapter
(830)
this model

Datasets used to train csj9630/llama32-3b-medical-qlora