AI 공부 · LLM 이해 / 모델 조정
파인튜닝(fine-tuning)은 이미 사전 학습된 모델을 특정 작업의 입력·정답 예시로 추가 학습시켜, 그 작업에서 원하는 출력을 더 일관되게 내도록 조정하는 방법입니다. “내 자료를 AI에게 보여준다”는 모든 행위를 파인튜닝이라고 부르지는 않습니다. 문서를 질문과 함께 넣는 프롬프트, 필요한 문서를 찾아 넣는 RAG, 모델의 학습 가능한 값을 바꾸는 파인튜닝은 서로 다른 단계입니다.
그림은 개념 흐름입니다. 이 글에서는 모델을 실제로 파인튜닝하거나 성능 향상 수치를 측정하지 않았습니다.
1. ‘미세하게 조정한다’는 것은 무엇을 바꾸는가?
언어모델은 대규모 사전 학습 과정에서 문장과 코드의 패턴을 익힙니다. 파인튜닝은 이 기본 모델에서 출발해 특정 작업에 맞는 추가 학습을 합니다. 예컨대 “고객 문의를 배송·환불·기타로 분류하라”는 작업을 위해 실제 질문과 올바른 분류를 짝으로 제공하는 방식입니다. OpenAI의 지도 파인튜닝 설명도 입력과 바람직한 출력 예시로 모델 행동을 조정하는 과정을 안내합니다.
여기서 바뀌는 것은 프롬프트 파일이나 검색 문서 목록이 아니라, 학습 과정에서 조정하는 모델의 매개변수(가중치)입니다. 다만 모든 가중치를 다시 학습해야만 파인튜닝인 것은 아닙니다. 일부만 학습하거나 작은 추가 구성 요소를 붙이는 방식도 있습니다. “파인튜닝을 하면 AI가 내 문서를 정확히 암기한다”는 비유는 위험합니다. 학습 예시는 답변 경향을 바꿀 수 있지만, 원문의 모든 사실을 빠짐없이 저장하고 필요할 때 정확히 찾아주는 문서 검색 시스템이 되지는 않습니다.
2. 생활 알림 정리기에 대입하면 무엇을 학습할까?
생활 알림 → 일정·할 일 정리기는 병원 예약과 공과금 안내에서 날짜, 금액, 해야 할 일을 뽑습니다. 현재 공개한 코드는 Gemini에 지시와 알림을 보내 구조화된 결과를 받고, 원문 인용을 코드로 검증합니다. 이 프로그램은 파인튜닝하지 않았습니다. 가상 알림 세 건으로 실행한 결과를 학습 성능이라고 소개하지도 않습니다.
파인튜닝을 검토하는 가상의 다음 단계라면, 실제로 자주 받는 형식이 다양한 알림을 모으고 사람이 정답을 붙여야 합니다. 아래는 형식을 이해하기 위한 설명용 두 사례입니다. 실제 훈련 파일의 정확한 형식은 사용하는 플랫폼마다 다릅니다.
| 입력 알림 | 기대 출력 | 판단 기준 |
|---|---|---|
| “10월 12일 오전 10시 30분 진료 예약” | 예약·날짜·시간 | 방문할 일정으로 분류 |
| “10월 12일까지 예약을 취소하면 수수료 없음” | 조건부 취소 기한 | 진료 방문 일정으로 만들지 않음 |
같은 날짜가 있어도 행동은 다릅니다. 이런 헷갈리는 사례의 정답을 일정한 기준으로 붙이는 것이 단순히 예시 수를 늘리는 것보다 중요합니다. 원문에 없는 병원명이나 연도를 정답에 채워 넣으면 모델이 그런 추측을 따라 할 수 있습니다. 학습 데이터를 만들기 전에는 개인정보를 수집·외부 전송할 권한이 있는지도 먼저 확인해야 합니다.
3. 프롬프트, RAG, 파인튜닝은 언제 다른가?
세 방법은 서로 배타적인 제품 이름이 아니라 문제를 풀기 위해 선택하거나 조합하는 방법입니다. 아래 표는 어느 부분을 바꾸는지 비교한 것입니다.
| 방법 | 주로 바꾸는 것 | 생활 알림 예시 | 먼저 확인할 점 |
|---|---|---|---|
| 프롬프트·예시 입력 | 요청마다 주는 지시와 몇 개의 예시 | “방문일과 취소 기한을 구분하라” | 좋은 지시만으로 충분한가? |
| RAG·검색 | 질문에 붙일 외부 자료 | 오늘 유효한 병원 예약 변경 정책을 찾아 제공 | 최신 문서를 제대로 찾고 적용했는가? |
| 파인튜닝 | 작업 예시로 조정한 모델의 행동 | 여러 문구에서 일정 종류와 필드를 일관되게 구분 | 반복 오류와 충분한 양질의 정답이 있는가? |
파인튜닝은 행동의 일관성을 높이는 데 검토할 수 있지만, 오늘 바뀐 정책이나 금액을 답하게 하는 첫 방법으로는 맞지 않을 수 있습니다. 최신 자료가 필요한 질문은 문서 조회와 근거 대조가 핵심입니다. RAG 글에서 설명한 것처럼 검색도 시행일·버전을 놓치면 틀릴 수 있습니다. 반대로 검색한 문서를 받았는데도 매번 정해진 출력 형식을 어긴다면 프롬프트를 고친 다음, 지원되는 환경에서 파인튜닝을 검토할 수 있습니다. RAG 시스템의 모델을 파인튜닝하는 조합도 가능합니다. RAG 원 논문 역시 검색과 학습이 절대 섞일 수 없다고 말하지 않습니다.
4. 전체 학습과 LoRA는 어떻게 다른가?
전체 파인튜닝은 기본 모델의 많은 또는 모든 가중치를 업데이트합니다. 대형 모델에서는 학습에 필요한 메모리와 계산량이 부담이 됩니다. LoRA는 기본 가중치를 고정하고 작은 저차원 행렬을 학습해 변경분을 표현하는 대표적인 매개변수 효율적 파인튜닝(PEFT) 방법입니다. Hugging Face의 LoRA 설명은 학습하는 매개변수를 크게 줄이는 구조를 자세히 보여 줍니다.
LoRA를 쓴다고 데이터 품질이나 평가가 덜 중요해지는 것은 아닙니다. 효율을 높이는 학습 방식이지 정확성 보증 장치가 아니며, 모델·작업·학습 설정에 따라 결과가 달라집니다. 일반 사용자가 챗봇 설정에서 “내 스타일을 기억해”라고 적는 행위도 LoRA 학습과는 다릅니다.
5. 언제 파인튜닝을 시작할지 결정하는 순서
- 실패를 구체화합니다. “답변이 마음에 안 든다”보다 “취소 기한을 방문일로 잘못 추출한다”처럼 오류 유형을 적습니다.
- 기본 모델과 좋은 프롬프트를 먼저 시험합니다. 출력 형식, 명시적 규칙, 소수의 올바른 예시만으로 해결되는지 확인합니다.
- 정답 데이터를 만듭니다. 정상 사례뿐 아니라 문구가 비슷하지만 정답이 다른 사례, 빈 날짜, 취소·변경 문구를 포함합니다. 틀린 라벨과 개인정보는 제거합니다.
- 학습에 쓰지 않은 사례를 남깁니다. 같은 알림을 학습에도 평가에도 넣으면 외운 결과를 실력으로 착각할 수 있습니다.
- 같은 평가 조건에서 비교합니다. 기본 모델+프롬프트와 조정된 모델을 같은 시험 세트로 비교하고, 누락·오분류·잘못된 날짜·비용·응답 시간을 함께 봅니다.
이 순서는 OpenAI의 데이터 품질·훈련/평가 분리 안내와 모델 최적화 절차의 취지를 적용한 것입니다. 특정 예시 수만 채우면 성능이 오른다는 보장은 없습니다. 생활 알림처럼 누락과 날짜 오류가 중요한 경우에는 전체 정답률 하나보다 예약일·마감일 각각의 오류를 보는 편이 판단에 도움이 됩니다.
평가표를 만든다면 알림 하나마다 정답 일정의 수, 종류, 날짜, 시간, 금액, 원문 근거를 따로 기록할 수 있습니다. 예를 들어 취소 기한을 방문 예약으로 만든 결과는 날짜 문자열이 맞아도 오분류입니다. 방문 예약을 아예 만들지 않았다면 누락입니다. 날짜를 다른 알림에서 가져왔다면 근거 오류입니다. 이 세 오류를 하나의 “대체로 맞음”으로 묶지 않아야 어떤 조정이 실제로 도움 됐는지 알 수 있습니다.
학습 자료와 평가 자료가 비슷한 문구의 복사본이면 점수가 과하게 좋아질 수 있습니다. 같은 기관에서 보낸 거의 동일한 템플릿은 두 집합에 흩어 넣기보다 묶어 분리하고, 새로운 발신 형식이나 취소·연기 사례를 별도로 시험하는 편이 현실적인 일반화 능력을 보는 데 유리합니다. 결과가 조금 좋아져도 학습 준비·사용 비용이 커졌다면 운영에 적합하지 않을 수 있습니다. 이 기준은 실습에서 앞으로 비교할 때의 평가 설계 예시이며, 실제 파인튜닝 실험 결과가 아닙니다.
6. “내 Gemini API 키로 바로 파인튜닝할 수 있나?”
2026년 10월 4일 확인한 공식 안내 기준으로, 멍냥잇 데모에서 쓰는 일반 Gemini API·Google AI Studio에는 파인튜닝을 지원하는 모델이 제공되지 않습니다. Google은 별도의 기업용 플랫폼에서 Gemini 모델 조정을 안내합니다. 따라서 기존 Gemini API 키와 가상 알림 몇 건만으로 이번 글의 파인튜닝 실습을 실행할 수 있다고 안내하지 않습니다. 제품 지원 범위는 바뀔 수 있으므로 Gemini API의 모델 조정 안내와 Google Cloud의 조정 안내를 실행 시점에 다시 확인해야 합니다.
OpenAI의 공식 문서 역시 현재 파인튜닝 플랫폼을 단계적으로 종료하고 신규 사용자에게는 제공하지 않는다고 밝힙니다. 그러므로 오래된 강좌에서 보이는 API 명령을 누구나 지금 그대로 실행할 수 있다고 쓰지 않았습니다. 이 글은 개념과 선택 기준을 설명하며, 실제 학습 작업을 수행한 기록은 아닙니다. OpenAI의 현재 상태와 지도 파인튜닝 문서도 함께 확인할 수 있습니다.
7. 파인튜닝으로 해결되지 않는 문제
잘못 붙인 정답을 대량으로 학습시키면 같은 오류를 더 안정적으로 반복할 수 있습니다. 학습 당시의 지식이 시간이 지나 낡을 수 있고, 그럴듯한 답이 사실이라는 보장도 생기지 않습니다. 학습 데이터에 없던 문구나 예상하지 못한 상황에서는 여전히 실패할 수 있습니다. LLM의 환각과 검증 글에서 다룬 원문 확인과 코드 검증은 파인튜닝 뒤에도 필요합니다.
생활 알림 정리기를 예로 들면, 모델을 조정하더라도 “2026년 11월 5일”이라는 날짜가 실제 원문에 있는지, 납부 기한과 방문일을 섞지 않았는지, 사람이 일정에 추가해도 되는지를 확인해야 합니다. 좋은 파인튜닝은 검증을 없애는 방법이 아니라, 검증할 초안의 품질을 개선할 수 있는 한 방법입니다.
파인튜닝을 한 문장으로 다시 말하면, 정답 예시로 모델의 특정 작업 행동을 조정하는 추가 학습입니다. 최신 사실이 필요한가, 반복되는 형식·판단 오류인가, 좋은 정답 데이터와 비교 시험이 있는가를 먼저 구분하면 불필요한 학습 비용을 피할 수 있습니다. AI 공부 목록으로 돌아가기 →
확인한 원문: OpenAI 지도 파인튜닝과 현재 제공 상태 · 학습 데이터·평가 기준 · Hugging Face LoRA · Gemini API 모델 조정 제공 범위 · Google Cloud 조정 개요 · RAG 원 논문. 생활 알림 표는 설명용 가상 사례이며, 이 글에서 모델 학습이나 성능 실험은 하지 않았습니다.
