Downloads · 30 days
21
27% of all-time downloads
csj9630/qwen3-4b-medical-qlora
qwen3-4b-medical-qlora is a text generation model from csj9630. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as other.
주의: 연구·교육용 실습 모델입니다. 의료기기나 진단 시스템이 아니며, 실제 진단·처방·응급상황 판단에 사용하면 안 됩니다. 출력은 틀리거나 위험할 수 있으므로 반드시 의료 전문가가 검토해야 합니다.
Downloads · 30 days
21
27% of all-time downloads
All-time downloads
78
Public
Repo size
144 MB
Likes
0
Public
Click a slice to open those files.
.safetensors132 MB · 92%
From the Hugging Face model README
주의: 연구·교육용 실습 모델입니다. 의료기기나 진단 시스템이 아니며, 실제 진단·처방·응급상황 판단에 사용하면 안 됩니다. 출력은 틀리거나 위험할 수 있으므로 반드시 의료 전문가가 검토해야 합니다.
Qwen/Qwen3-4B를 한국어 의료 객관식 및 질의응답 데이터로 지도 미세조정(SFT)한 4-bit QLoRA 어댑터입니다. 전체 기반 모델이 포함된 저장소가 아니므로 추론 시 원본 Qwen3-4B를 함께 내려받습니다.
| 항목 | 내용 |
|---|---|
| 기반 모델 | Qwen/Qwen3-4B |
| 학습 방식 | 4-bit QLoRA / SFT |
| 어댑터 형식 | PEFT LoRA |
| 주 언어 | 한국어 |
| 용도 | 로컬 파인튜닝·비교 실습 |
| 어댑터 크기 | 약 126 MiB |
| 데이터셋 | 사용 내용 | 학습 샘플 | 라이선스 |
|---|---|---|---|
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 100 체크포인트에서 재개하여 총 1,073 step까지 학습했습니다.
| 지표 | 결과 |
|---|---|
| 최종 train loss | 0.8834 |
| 평균 token accuracy | 0.7775 |
| 처리 token 수 | 1,467,679 |
| 학습 처리량 | 0.136 step/s, 1.084 sample/s |
| 기록된 재개 구간 시간 | 약 2시간 12분 |
이 수치는 훈련 데이터 기준 지표이며 일반화 성능이나 의료적 정확도를 의미하지 않습니다.
자체 제작한 한국어 40문항(객관식 10, 단순 상담 10, 모호한 상담 10, 응급상황 10)으로 Base, Step 100, Step 500, Final을 비교했습니다.
번호 + 답 형태의 간결한 출력 형식을 더 일관되게 보였습니다.따라서 이 결과는 표준 벤치마크 점수가 아니며 임상 안전성이나 실사용 가능성을 입증하지 않습니다.
먼저 CUDA 환경에 맞는 PyTorch와 다음 라이브러리를 설치합니다.
pip install transformers peft accelerate bitsandbytes
import torch
from peft import PeftConfig, PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
adapter_id = "YOUR_ACCOUNT/YOUR_QWEN_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,
enable_thinking=False,
)
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로 변경해야 합니다.
안전 평가, 환각 평가, 편향 평가, 표준 의료 벤치마크, 전문가 검증을 추가하기 전에는 연구 실습 외 용도로 사용하지 마십시오.
Qwen/Qwen3-4B — Apache 2.0어댑터 사용자는 기반 모델과 각 학습 데이터의 조건을 모두 확인해야 합니다. 특히 KorMedMCQA의 비영리 조건 때문에 별도 법률 검토 없이 상업적으로 사용하는 것을 권장하지 않습니다.
단일 RTX 5070에서 약 2시간 규모로 실행한 개인 실습입니다. 전력 소비량과 탄소 배출량은 별도로 측정하지 않았습니다.