CoolFace
Modelpublic

csj9630/llama32-3b-medical-qlora

sourceHugging Facellama3.2updated 1mo agoView on Hugging Face
0likes21downloads
Model Card

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,401CC BY-NC 2.0
ChuGyouk/GenMedGPT-5k-ko한국어 일반 의료 질의응답5,178MIT
합계seed 42로 섞어 학습8,579데이터별 상이

GenMedGPT 데이터 5%인 273개 샘플은 별도 검증용으로 분리했습니다. 학습 중 자동 평가는 수행하지 않았습니다. 데이터 자체의 오류·편향·위험한 의료 표현이 모델 출력에 반영될 수 있습니다.

훈련 환경

항목설정
운영체제Windows 11
GPUNVIDIA GeForce RTX 5070, 11.94 GB VRAM
Python3.12.0
PyTorch / CUDA2.13.0+cu130 / CUDA 13.0
정밀도BF16, 4-bit 양자화
transformers5.15.1
datasets5.0.1
accelerate1.14.0
peft0.20.0
trl1.10.0
bitsandbytes0.50.1

주요 하이퍼파라미터

항목값
Epoch1
최대 시퀀스 길이1,024
장치당 배치1
Gradient accumulation8
유효 배치 크기8
Learning rate2e-4
Scheduler / warmuplinear / 0
Optimizeradamw_torch_fused
LoRA rank / alpha / dropout16 / 32 / 0.05
대상 모듈q, k, v, o, gate, up, down projection
Gradient checkpointing사용
Packing사용하지 않음
체크포인트 간격100 step
Seed42

학습 결과

이 모델은 Step 0부터 총 1,073 step까지 학습했습니다.

지표결과
최종 train loss1.1323
평균 token accuracy0.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와 다음 라이브러리를 설치합니다.

bash
hf auth login
pip install transformers peft accelerate bitsandbytes
python
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분 실행한 개인 실습입니다. 전력 소비량과 탄소 배출량은 별도로 측정하지 않았습니다.