LLM 엔지니어링5장 · LoRA 파인튜닝과 DPO 정렬2 / 23← 이전목차다음 →MetaContents

5장. LoRA 파인튜닝과 DPO 정렬

용어 짚고 가기

  • 전체 미세조정(full fine-tuning): 모델의 모든 파라미터를 학습하는 미세조정입니다. full 은 "전부"라는 뜻입니다.
  • PEFT(Parameter-Efficient Fine-Tuning): 파라미터 효율 미세조정입니다. 모델의 작은 부분만 학습하는 방법들을 함께 부르는 이름이자, 그 방법들을 모은 Hugging Face 라이브러리의 이름입니다. Parameter(파라미터), Efficient(효율적인), Fine-Tuning(미세조정)의 머리글자입니다.
  • LoRA(Low-Rank Adaptation): 저랭크 적응입니다. 원래 가중치는 얼리고, 옆에 얇은 행렬 둘을 두어 그것만 학습합니다. Low-Rank(낮은 랭크)와 Adaptation(적응)에서 글자를 따온 이름입니다.
  • 얼리기(freeze): 파라미터가 학습 중에 바뀌지 않게 막는 것입니다. freeze 는 "얼리다"라는 뜻입니다.
  • 저랭크(low rank): 큰 행렬을 얇은 행렬 둘의 곱으로 나타낼 수 있다는 뜻입니다. 얇은 정도가 랭크(r)입니다. rank 는 "등급, 순위"라는 뜻이고, 행렬에서는 행렬이 담은 독립된 방향의 수를 말합니다.
  • r(rank): LoRA 행렬의 두께입니다. 클수록 학습하는 파라미터가 늘고 표현력도 늡니다. r 은 rank(랭크)의 머리글자입니다.
  • lora_alpha: LoRA 가 더하는 값의 크기를 조절하는 수입니다. 보통 r 의 두 배로 둡니다. alpha 는 그리스 문자 알파로, LoRA 논문에서 이 수를 알파로 적은 데서 온 이름입니다.
  • target_modules: LoRA 를 붙일 층의 이름입니다. 어텐션의 q_proj, k_proj, v_proj, o_proj 를 흔히 고릅니다. target 은 "과녁, 대상", module 은 "모델을 이루는 부품"이라는 뜻입니다.
  • 어댑터(adapter): 기본 모델에 덧붙여 학습한 작은 파라미터 묶음입니다. LoRA 의 A, B 가 어댑터입니다. adapter 는 "끼워 맞추는 연결 부품"이라는 뜻입니다.
  • merge(병합): 어댑터를 원래 가중치에 더해 하나의 모델로 합치는 것입니다. merge 는 "합치다"라는 뜻입니다.
  • fp16(floating point 16): 숫자 하나를 16비트로 나타내는 형식입니다. float32 의 절반 크기입니다. floating point(부동소수점, 소수점이 떠다니는 수)를 16비트로 적는다는 뜻의 이름입니다.
  • 혼합 정밀도(mixed precision): 계산은 fp16 으로 빠르게 하고, 학습하는 값은 float32 로 정확하게 두는 방법입니다. mixed 는 "섞인", precision 은 "정밀도"라는 뜻입니다.
  • 그래디언트 체크포인팅(gradient checkpointing): 순전파의 중간값을 버렸다가 역전파 때 다시 계산해 메모리를 아끼는 방법입니다. checkpoint 는 "중간 점검 지점"이라는 뜻으로, 몇 군데의 값만 남겨 둔다는 데서 왔습니다.
  • 채팅 템플릿(chat template): 대화 모델이 학습 때 본 대화의 꼴입니다. apply_chat_template 으로 만듭니다. chat 은 "대화", template 은 "본, 틀"이라는 뜻입니다.
  • 선호 데이터(preference data): 같은 질문에 대한 고른 답과 고르지 않은 답(반대 답)의 쌍입니다. preference 는 "더 좋아함"이라는 뜻입니다.
  • DPO(Direct Preference Optimization): 직접 선호 최적화입니다. 선호 데이터로 고른 답 쪽의 확률을 높입니다. Direct(직접), Preference(선호), Optimization(최적화)의 머리글자입니다.
  • 기준 모델(reference model): DPO 에서 견주는 기준이 되는, 학습 전의 모델입니다. reference 는 "참고, 기준"이라는 뜻입니다.
  • beta(베타): DPO 에서 기준 모델과 얼마나 멀어져도 되는지 정하는 값입니다. 작을수록 많이 바뀝니다. 그리스 문자 베타의 이름입니다.
  • 로그 확률(log probability): 모델이 어떤 답을 낼 확률에 로그를 씌운 값입니다. 0 에 가까울수록 그 답을 잘 낼 것 같다는 뜻입니다. log 는 logarithm(로그)을 줄인 말입니다.
  • 보상(reward): DPO 에서, 학습 모델이 기준 모델보다 그 답의 로그 확률을 얼마나 올렸는지(× beta)입니다. reward 는 "보상, 상"이라는 뜻입니다.
  • trl(Transformer Reinforcement Learning): Hugging Face 의 정렬 학습 라이브러리입니다. DPOTrainer 가 들어 있습니다. Transformer, Reinforcement(강화), Learning(학습)의 머리글자입니다.
  • 파국적 망각(catastrophic forgetting): 새로 학습하면서 원래 잘하던 일을 잊어버리는 현상입니다. catastrophic 은 "파국적인, 재앙 같은", forgetting 은 "잊어버림"이라는 뜻입니다.
← 이전 절5장 · 먼저 큰 그림부터다음 절 →5장 · 전체 미세조정의 비용