Downloads · 30 days
12
33% of all-time downloads
dhkim0324/WeIN_bio_Olmo-3-1025-7B
WeIN_bio_Olmo-3-1025-7B 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.
한국어 의료/바이오 도메인에 특화된 OLMo-7B 기반 LoRA 파인튜닝 모델입니다. KorMedMCQA 벤치마크에서 OLMo 계열 최고 성능(44.40%)을 달성했습니다.
Downloads · 30 days
12
33% of all-time downloads
All-time downloads
36
Public
Repo size
160 MB
Likes
0
Public
Click a slice to open those files.
.safetensors160 MB · 94%
From the Hugging Face model README
한국어 의료/바이오 도메인에 특화된 OLMo-7B 기반 LoRA 파인튜닝 모델입니다. KorMedMCQA 벤치마크에서 OLMo 계열 최고 성능(44.40%)을 달성했습니다.
| Parameter | Value |
|---|---|
| Base Model | allenai/OLMo-3-1025-7B |
| 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 |
| Epochs | 3 |
| Per-device Batch Size | 16 |
| Gradient Accumulation Steps | 4 |
| Effective Batch Size | 64 |
| Max Sequence Length | 2,048 |
| Attention Implementation | Flash Attention 2 |
| Precision | bf16 |
| Optimizer | AdamW |
| Seed | 42 |
| DoRA | False |
| RSLoRA | False |
한국 의료 자격시험 기반 객관식 문제 (Multiple Choice QA) 벤치마크에서 평가했습니다.
Overall Performance
| Metric | Value |
|---|---|
| Overall Accuracy | 44.40% |
| Total Samples | 3,009 |
| Correct | 1,336 |
| Extract Fail Rate | 0.20% |
| Evaluation Mode | Direct (zero-shot) |
Per-Subject Performance
| Subject | Correct | Total | Accuracy |
|---|---|---|---|
| 치과의사 (Dentist) | 310 | 811 | 38.22% |
| 의사 (Doctor) | 178 | 435 | 40.92% |
| 간호사 (Nurse) | 455 | 878 | 51.82% |
| 약학 (Pharmaceutical Science) | 279 | 614 | 45.44% |
| 약사 (Pharmacist) | 114 | 271 | 42.07% |
| Experiment | Accuracy | Note |
|---|---|---|
| exp_003 (baseline) | 38.38% | OLMo 기준선 |
| exp_004 (FA2) | 38.58% | Flash Attention 2 적용 |
| exp_005 (high LR/rank) | 40.38% | LoRA r=32 |
| exp_006 (long seq) | 38.82% | 과적합 발생 |
| exp_v2_pad_fix | 44.40% | 최종 최고 성능 |
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
# Load base model and adapter
base_model_id = "allenai/OLMo-3-1025-7B"
adapter_id = "dhkim0324/WeIN_bio_Olmo-3-1025-7B"
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("allenai/OLMo-3-1025-7B")
model = PeftModel.from_pretrained(base_model, "dhkim0324/WeIN_bio_Olmo-3-1025-7B")
merged_model = model.merge_and_unload()
merged_model.save_pretrained("merged_model")
@misc{wein_bio_olmo_2026,
title={WeIN_bio_Olmo-3-1025-7B: Korean Medical Domain LoRA Adapter},
author={dhkim0324},
year={2026},
publisher={Hugging Face}
}