콘텐츠로 이동

01. LLM이 뭔가요? 왜 파인튜닝?#

📚 학습 목표: LLM, 파인튜닝, LoRA가 무엇인지 이해하고, 왜 메디콘솔이 이것을 하는지 설명할 수 있다.
⏱️ 읽는 시간: 15분


1. LLM이란 무엇인가#

LLM (Large Language Model, 대형언어모델) = 글을 읽고 쓸 수 있는 AI입니다.

ChatGPT, Claude, Gemini가 대표적입니다. 이 모델들은: - 인터넷의 방대한 텍스트를 학습해서 - "다음에 올 단어"를 예측하는 능력을 갖췄고 - 결과적으로 질문 답변, 요약, 번역, 작문 등을 할 수 있게 되었습니다

LLM의 크기#

LLM은 "파라미터 수"로 크기를 표시합니다: - 270M (2.7억) - 아주 작음, 휴대폰에서 동작 - 4B (40억) - 중간, 노트북에서 동작 ← 우리가 쓸 크기 - 70B (700억) - 큼, 서버 필요 - 1T+ (1조+) - ChatGPT/Claude 같은 대형 서비스

파라미터가 많을수록 똑똑하지만, 느리고 비쌉니다.


2. 일반 LLM의 문제점#

메디콘솔이 ChatGPT를 그냥 쓰면 될 텐데, 왜 굳이 파인튜닝을 하는가?

문제 1: 도메인 지식 부족#

일반 LLM에게 물어보세요:

"KPCS 1등급 기준이 뭐예요?"

일반 LLM은 이렇게 답할 겁니다:

"KPCS는 Korean Patient Classification System인 것 같은데, 정확한 등급 기준은 확실치 않습니다. 의료 전문가에게 문의하세요."

병원 도메인(요양·전문·의원·재활·한방 등) 특화 지식이 부족합니다.

문제 2: 한국어 의료 용어 미숙#

일반 LLM은 "낙상 주의", "욕창 예방", "섭취량 기록" 같은 한국 간호 표준 용어보다는 영어 의학 용어에 익숙합니다.

문제 3: PHI(환자 정보) 보안#

ChatGPT에 환자 정보를 넣으면: - OpenAI 서버에 데이터가 저장됨 - 의료법 위반 가능성 - 병원장과 고객사가 불안해함

문제 4: 비용#

월간 수만 건의 Voice ENR 요청을 ChatGPT로 보내면: - 월 수백만 원 비용 발생 - API 장애 시 서비스 멈춤


3. 해결책: 파인튜닝 (Fine-tuning)#

파인튜닝 = 기존 LLM을 우리 도메인 데이터로 추가 학습시키기

비유: 신입 간호사#

일반 LLM        = 간호학과 갓 졸업한 신입
                  (기본 지식 있음, 각 병원 유형 특수성 모름)
   병원(요양·전문·의원·재활·한방) 근무 경험 (파인튜닝)
파인튜닝된 LLM  = 다양한 병원 유형을 경험한 베테랑
                  (일반 지식 + 병원 유형별 전문성)

파인튜닝의 효과#

질문 일반 LLM 파인튜닝 LLM
KPCS 1등급? "확실치 않음" "요양병원 환자분류, 간호인력 비율..."
DRG 7개 질병군? "포괄수가제 맞는 것 같은데..." "종합병원에서 쓰는 포괄수가제, 백내장·제왕절개 등..."
SOAP 정리 일반적 병원 유형별 형식에 맞춤
GODCH 설명 "모름" "메디콘솔 고유 프레임워크..."

4. 풀 파인튜닝 vs LoRA#

파인튜닝에는 두 가지 방식이 있습니다:

풀 파인튜닝 (Full Fine-tuning)#

모델 전체를 다시 학습합니다.

Gemma 4 (40억 파라미터)
전체 40억 파라미터 업데이트
새로운 Gemma 4 (40억)

장점: 가장 강력한 성능
단점: - 메모리: 40억 파라미터 × 4bytes × 여러 카피 = 수백 GB VRAM 필요 - 시간: 며칠 - 비용: H100 여러 대 = 수천만 원 - 맥미니로는 불가능

LoRA (Low-Rank Adaptation) ⭐ 우리가 쓸 방식#

핵심 아이디어: 모델 전체를 바꾸지 말고, "수정 사항"만 작은 파일에 저장하자.

Gemma 4 (40억, 고정/변경 X)
        +
LoRA 어댑터 (수백만 개만 학습)
        =
튜닝된 모델

비유: 책에 포스트잇 붙이기 - 책 전체를 다시 쓰지 않음 (풀 파인튜닝) - 수정할 부분에 포스트잇만 추가 (LoRA) - 나중에 포스트잇 떼면 원본 책으로 돌아감

LoRA의 장점#

항목 풀 파인튜닝 LoRA
메모리 수백 GB 10-20 GB ✅
시간 며칠 몇 시간 ✅
비용 수천만 원 무료 (맥미니) ✅
어댑터 파일 80GB (원본 크기) 300MB ✅
여러 도메인 각 80GB 어댑터만 교체 가능 ✅

결론: 맥미니로 할 수 있는 건 LoRA 뿐이고, 충분합니다.


5. 우리의 선택: Gemma 4 E4B + LoRA + MLX#

왜 Gemma 4 E4B인가?#

  • Apache 2.0 라이선스: 상업적 재배포 자유
  • 4B 크기: 맥미니 24GB에 딱 맞음 (학습 + 추론 여유)
  • 한국어 지원: 기본기 튼튼
  • Google 제작: Gemini 기술 기반 (최신)
  • Native system prompt: 역할 부여 자유로움

왜 MLX인가?#

  • Apple 공식 프레임워크: M4 맥미니에 최적화
  • Unified Memory 활용: CPU↔GPU 복사 없어서 빠름
  • 로컬 학습: 환자 데이터가 맥미니 밖으로 안 나감
  • 무료: Colab $50/월 절약
  • 24/7: 세션 타임아웃 없음

우리가 만드는 것#

google/gemma-4-E4B-it (원본, 8GB)
         +
mediconsol-v1-lora (우리 어댑터, 300MB)
         =
mediconsol-v1 (병원 도메인 전문 AI, 약 3-4GB Q4 양자화 후)

6. 전체 과정 한눈에#

1. 데이터 수집     간호 기록, 경영 Q&A 등 1,500건
2. 전처리         PII 제거, JSONL 포맷 변환
3. LoRA 학습      맥미니에서 3-5시간
4. 병합 (Fuse)     원본 + LoRA를 하나로
5. GGUF 변환      Ollama용 포맷, 양자화로 용량 축소
6. Ollama 배포    localhost:11434 서비스
7. 평가           카테고리별 품질 체크
8. 제품 연동       Voice ENR, RNDiary 등

7. 흔한 오해 바로잡기#

오해 1: "AI가 스스로 학습한다"#

사실: 우리가 주는 데이터 만큼만 학습합니다. "자동으로 공부"하지 않습니다.

오해 2: "데이터가 많을수록 무조건 좋다"#

사실: 품질이 훨씬 중요합니다. 1,500건 고품질이 10,000건 저품질보다 낫습니다.

오해 3: "한번 학습하면 끝"#

사실: 계속 개선해야 합니다. 새 데이터, 피드백 반영 등 월 1회 재학습이 일반적입니다.

오해 4: "파인튜닝하면 원본보다 모든 면에서 좋아진다"#

사실: 도메인만 좋아지고, 일반 상식은 오히려 떨어질 수 있습니다 (catastrophic forgetting). 균형이 중요합니다.

오해 5: "LLM이 진단/치료를 할 수 있다"#

사실: 의료진 보조 도구일 뿐입니다. 최종 판단은 항상 의료진의 몫입니다.


8. 다음 단계#

이제 LLM/LoRA/파인튜닝의 큰 그림을 아셨습니다.

다음 문서: 02_GLOSSARY.md - 꼭 알아야 할 용어 20개

용어를 먼저 익히고 실습으로 들어가면 이해가 훨씬 쉽습니다.


💡 핵심 요약#

파인튜닝 = 일반 AI를 병원 도메인(요양·전문·의원·재활·한방 등) 전문 AI로 만들기
LoRA = 원본 유지하고 "수정 사항"만 학습 (맥미니로 가능)
우리의 조합 = Gemma 4 E4B + MLX LoRA + 맥미니 M4