Downloads · 30 days
22
28% of all-time downloads
dhkim0324/WeIN_bio_Qwen3-8B
WeIN_bio_Qwen3-8B is a text generation model from dhkim0324. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as apache-2.0.
한국어 의료/바이오 도메인에 특화된 Qwen3-8B 기반 LoRA 파인튜닝 모델입니다. KorMedMCQA 벤치마크에서 69.06% 정확도를 달성하여, 목표 65%를 초과 달성했습니다.
Downloads · 30 days
22
28% of all-time downloads
All-time downloads
78
Public
Repo size
186 MB
Likes
1
Public
Click a slice to open those files.
.safetensors175 MB · 92%
From the Hugging Face model README
한국어 의료/바이오 도메인에 특화된 Qwen3-8B 기반 LoRA 파인튜닝 모델입니다. KorMedMCQA 벤치마크에서 69.06% 정확도를 달성하여, 목표 65%를 초과 달성했습니다.
| Parameter | Value |
|---|---|
| Base Model | Qwen/Qwen3-8B |
| LoRA Rank (r) | 16 |
| LoRA Alpha | 32 |
| LoRA Dropout | 0.1 |
| LoRA Target Modules | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
| Learning Rate | 2e-4 |
| LR Scheduler | Cosine |
| Warmup Ratio | 0.03 |
| Epochs | 3 |
| Per-device Batch Size | 2 |
| Gradient Accumulation Steps | 16 |
| Effective Batch Size | 32 |
| Max Sequence Length | 2,048 |
| Attention Implementation | SDPA |
| Precision | bf16 |
| Optimizer | AdamW (fused) |
| Seed | 42 |
| DoRA | False |
| RSLoRA | False |
한국 의료 자격시험 기반 객관식 문제 (Multiple Choice QA) 벤치마크에서 평가했습니다.
Overall Performance
| Metric | Value |
|---|---|
| Overall Accuracy | 69.06% |
| Total Samples | 3,009 |
| Correct | 2,078 |
| Extract Fail Rate | 0.00% |
| Evaluation Mode | Direct (zero-shot) |
Per-Subject Performance
| Subject | Correct | Total | Accuracy |
|---|---|---|---|
| 간호사 (Nurse) | 687 | 878 | 78.25% |
| 약사 (Pharmacist) | 198 | 271 | 73.06% |
| 약학 (Pharm Science) | 422 | 614 | 68.73% |
| 의사 (Doctor) | 297 | 435 | 68.28% |
| 치과의사 (Dentist) | 474 | 811 | 58.45% |
| Experiment | Accuracy | Note |
|---|---|---|
| qwen3_baseline | 60.39% | Qwen3-8B 기준선 (파인튜닝 없음) |
| qwen3_sft_001 | 64.27% | 초기 SFT (2 epochs) |
| qwen3_sft_002 | 67.50% | 확장 학습 (3 epochs) |
| qwen3_sft_v3 | 69.06% | 최신 데이터셋 v3 적용 (최고 성능) |
| Model | Accuracy | Parameters | License |
|---|---|---|---|
| WeIN_bio_Qwen3-8B (본 모델) | 69.06% | 8B | Apache 2.0 |
| Qwen3-8B (baseline) | 60.39% | 8B | Apache 2.0 |
| EXAONE 7.8B | 56.10% | 7.8B | Non-Commercial |
| Random Guess | 20.00% | - | - |
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
# Load base model and adapter
base_model_id = "Qwen/Qwen3-8B"
adapter_id = "dhkim0324/WeIN_bio_Qwen3-8B"
tokenizer = AutoTokenizer.from_pretrained(adapter_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
base_model_id,
device_map="auto",
torch_dtype="auto",
trust_remote_code=True,
)
model = PeftModel.from_pretrained(model, adapter_id)
# Inference
prompt = "다음 의료 관련 객관식 문제에 답하시오.\n\n문제: 심근경색의 가장 흔한 원인은?\n1. 관상동맥 죽상경화증\n2. 심장판막질환\n3. 심근염\n4. 대동맥박리\n\n정답:"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=128, do_sample=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
from transformers import AutoModelForCausalLM
from peft import PeftModel
base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-8B", torch_dtype="auto")
model = PeftModel.from_pretrained(base_model, "dhkim0324/WeIN_bio_Qwen3-8B")
merged_model = model.merge_and_unload()
merged_model.save_pretrained("merged_model")
@misc{wein_bio_qwen3_2026,
title={WeIN_bio_Qwen3-8B: Korean Medical Domain LoRA Adapter for Qwen3-8B},
author={dhkim0324},
year={2026},
publisher={Hugging Face}
}