파인튜닝

● 연결됨
모델 구조를 입력하면 예측이 표시됩니다
파인튜닝 설정
아키텍처 기반 모델 선택 시 자동 적용
기반 모델을 선택하면 저장된 값이 표시됩니다
Freeze 전략
새 어휘만
신규 토큰 행 · 극소수 학습
마지막 N 레이어
상위 블록만 · 선택 학습
임베딩+Head
입출력 레이어 · 만 학습
전체 학습
모든 파라미터 · 업데이트
학습 가능 파라미터 (추정)
LoRA Low-Rank Adaptation
백엔드 구현 예정
학습 상태
상태 idle
에폭
Loss
Best
파인튜닝 시작 후 로그가 표시됩니다...
파인튜닝 페이지 도움말
파인튜닝이란?
사전학습된 모델에 대화 데이터를 추가 학습시켜 챗봇으로 만드는 과정입니다. 사전학습보다 훨씬 적은 데이터와 시간으로 좋은 결과를 얻을 수 있습니다.
사용 방법
  1. 기반 모델에서 사전학습된 커스텀 번들을 선택합니다. 번들에 토크나이저가 함께 묶여 있어 아키텍처(d_model 등)와 토크나이저가 자동 적용됩니다.
  2. 데이터셋 드롭다운에서 추가 학습할 파일을 선택합니다. 새 파일 업로드는 데이터셋 페이지에서, 지식 QA 제작은 지식 QA 빌더에서 합니다.
  3. 에폭, 학습률, 배치 크기를 설정하고 시작을 누릅니다.
  4. 완료 후 가중치 페이지 → 파인튜닝 탭에서 결과를 확인합니다.
챗(Q&A) 데이터 자동 인식
데이터셋이 챗 형식(<USER>/<BOT> 마커 또는 사용자:/AI: 줄 교대)이면 자동으로 대화 단위 학습이 적용되어 질문/답변이 중간에 잘리지 않습니다 (전체 줄의 80% 이상이 챗 패턴일 때 — 감지 여부는 학습 로그에 표시). 일반 텍스트는 기존 방식(슬라이딩 윈도우)으로 학습합니다. 챗 인식은 체크박스와 무관하게 항상 자동이며, "답변 구간만 학습" 체크박스는 인식된 챗 데이터에서 loss 범위만 바꿉니다 — 체크 안 하면 질문+답변 전체 학습(기본), 체크하면 답변만 학습하고 질문은 문맥으로만 사용합니다. 이미 언어를 배운 기반 모델을 응답에 특화시킬 때 체크가 유용하며, 일반 텍스트에는 효과가 없습니다.
💡 새로운 지식을 기억시키려면: 원문을 그대로 파인튜닝하는 것(일반 텍스트 모드)보다, 내용을 질문→답변 쌍으로 정리한 챗 데이터셋으로 만들어 파인튜닝하는 쪽이 챗봇이 그 내용으로 "대답"하게 만드는 데 훨씬 효과적입니다. 지식 QA 빌더 페이지에서 텍스트를 붙여넣으면 QA 변환·변형 질문 증강·기존 대화 혼합(망각 완화)까지 한 번에 처리됩니다. 학습 완료 후에는 상태 카드의 🧪 기억 검증 버튼으로 학습한 질문들의 정답률을 바로 확인할 수 있습니다.
HuggingFace LoRA 파인튜닝
  1. HF 탭에서 HuggingFace 모델(예: skt/kogpt2-base-v2)을 선택합니다.
  2. LoRA 파라미터(rank, alpha, target modules)를 설정합니다.
  3. 대화 데이터셋을 선택하고 학습을 시작합니다.
  4. 완료 후 가중치 페이지 → HF LoRA 탭에서 어댑터를 확인합니다.
베이스 모델 fp16 로드체크(기본): 고정된 베이스 모델을 절반 정밀도로 올려 필요 메모리가 절반이 됩니다 (Qwen3-4B 기준 약 16GB → 8GB). 학습되는 LoRA 어댑터는 fp32로 유지되어 품질 손실이 거의 없습니다. 해제: 기존과 동일한 fp32 로드 — 메모리 2배, 대형 모델은 속도도 더 느립니다. 체크 여부는 상단 예측 카드의 예상 학습 시간·학습 VRAM에 즉시 반영됩니다. CPU 학습 시에는 자동으로 fp32를 사용합니다.
fp16이 빨라지는 원리fp는 floating point(부동소수점) — 실수를 저장하는 방식이고 숫자는 비트 수입니다. 실수 1개를 fp32는 4바이트, fp16은 2바이트로 저장하므로 모델 메모리가 절반이 됩니다. GPU 속도는 연산 능력보다 메모리에서 연산기로 가중치를 나르는 속도(메모리 대역폭, GB/s)가 병목인 경우가 많은데(memory-bound), 가중치가 절반이면 같은 대역폭으로 2배를 나릅니다. 이 병목은 모델이 클수록 커서 — 이 맥 실측 기준 Qwen3-4B 학습 약 14% 단축, 125M급 소형은 차이 없음. 즉 핵심 이득은 속도보다 메모리 절반입니다 (스왑 방지·더 큰 모델 가능). fp16은 표현 범위가 좁아 아주 작은 그래디언트가 0이 되는 언더플로 위험이 있어, 학습되는 어댑터만 fp32로 두는 혼합 정밀(mixed precision) 방식을 쓰며 실측 loss 차이는 없었습니다.
대화 데이터 형식
사용자: 안녕하세요 AI: 안녕하세요! 무엇을 도와드릴까요? 사용자: 오늘 날씨 어때요? AI: 오늘은 맑은 날씨가 예상됩니다.
⏱ 학습 시간 예측 카드 (페이지 상단)
예상 학습 시간실측 기반: 같은 디바이스의 최근 학습 실측 속도(ms/step)로 예측합니다. HF LoRA는 모델 크기·배치·seq_len 비율로 보정합니다. 실측 기록이 없으면 이론치(FLOPs) 하한을 표시합니다. 조기종료 시 더 일찍 끝납니다.
추론 속도실제 추론이 아닌 이론치. GPU 메모리 대역폭 ÷ (파라미터수 × 2 bytes). 디바이스를 바꾸면 즉시 반영됩니다.
학습 VRAM파라미터당 16 bytes 기준 추정. 활성화 메모리 미포함. HF LoRA 탭은 베이스 정밀도에 따라 다르게 계산 (fp16=2B/fp32=4B per 파라미터 + 어댑터 학습 상태).
💡 하이퍼파라미터(에폭·배치 크기·seq_len 등)를 바꾸면 카드가 즉시 업데이트됩니다.
학습 중 실시간 지표
학습이 running 상태가 되면 상태 카드에 실시간 지표가 추가됩니다:
· 남은 시간 — 최근 5에폭 평균 소요 시간 × 남은 에폭 수. 진행할수록 정확도 ↑
· 속도 — 1초에 처리된 학습 토큰 수 (순전파+역전파 포함). 추론 속도와는 무관하며 GPU 활용률의 지표입니다.
GPU 가이드 — 파라미터 수 × 하드웨어 성능
내 모델로 바로 확인
100M 파라미터
100,000,000 params
GPU 수량 / VRAM 학습 용량 학습 여부 추론 용량 추론 여부
* 학습: 파라미터당 16 bytes — FP16 가중치(2) + FP32 마스터 복사본(4) + FP16 그래디언트(2) + Adam 모멘텀·분산(8). 출처: ZeRO (Rajbhandari et al., 2020)
* 추론: 파라미터당 2 bytes — FP16 로드 기준. KV 캐시는 별도 (시퀀스 길이 비례)
* 활성화 메모리 미포함 — 배치 크기·시퀀스 길이에 비례해 추가 VRAM 소모. 소형 모델(배치=1)은 파라미터 메모리의 ~1~3% 수준으로 무시 가능
* Apple MPS 수치는 기기마다 다름 (M1 8GB ~ M3 Ultra 192GB). RTX 3060 12GB는 Desktop 전용 (Laptop 버전은 6GB)
* 💻 내 디바이스 행은 이 서버가 실제로 감지한 메모리 기준 실측값 — 다른 컴퓨터에서 열면 그 기기의 사양으로 표시됩니다
* 다중 GPU: VRAM 단순 합산 기준. DDP 학습 시 실제 처리 파라미터 수는 동일하지만 배치를 분산하므로 더 큰 배치/더 긴 시퀀스 사용 가능. 통신 오버헤드는 미포함
* 이탤릭체·보라색(*) 모델은 규모 비공개 모델의 외부 추정치입니다. Claude·GPT-4·Gemini 시리즈는 공식 파라미터 수를 공개하지 않습니다.
* AWS 비용: EC2 온디맨드 us-east-1 기준 (2025). Spot 인스턴스 이용 시 ~60% 절감 가능. Apple·RTX 소비자 카드는 AWS에서 직접 제공하지 않습니다.
* 환율 불러오는 중...