알고리즘·논문: 효율적 학습
ㅁ 효율적 학습
ㅇ 정의:
– 모델 학습 과정에서 계산 효율성을 높이고, 메모리 사용량을 줄이며, 학습 속도와 성능을 동시에 최적화하는 기법들의 집합.
ㅇ 특징:
– 하드웨어 리소스 제약 환경에서도 고성능 모델 학습 가능
– 다양한 최적화 알고리즘과 학습 스케줄링, 정밀도 조정 기법 포함
ㅇ 적합한 경우:
– 대규모 데이터셋과 모델을 제한된 GPU/TPU 환경에서 학습할 때
– 학습 시간 단축과 성능 유지가 동시에 필요한 경우
ㅇ 시험 함정:
– 단순한 옵티마이저 변경이 항상 성능 향상으로 이어진다고 단정하면 오답
– 효율적 학습 기법은 모델 구조, 데이터 특성, 하드웨어 환경에 따라 효과가 달라짐
ㅇ 시험 대비 “패턴 보기” 예시:
O: “효율적 학습 기법은 동일 자원에서 학습 속도를 향상시킬 수 있다.”
X: “효율적 학습 기법은 항상 모델 정확도를 높인다.”
================================
1. AdamW
ㅇ 정의:
– Adam 옵티마이저에서 L2 정규화를 올바르게 구현하기 위해 weight decay를 gradient 업데이트와 분리한 변형 알고리즘.
ㅇ 특징:
– Adam 대비 일반화 성능 향상
– weight decay가 학습률 스케일에 의존하지 않음
– Transformer 계열 모델 학습에 자주 사용
ㅇ 적합한 경우:
– 과적합 방지와 안정적인 수렴이 필요한 대규모 모델 학습
ㅇ 시험 함정:
– AdamW의 weight decay는 L2 regularization과 동일하다고 착각하면 오답
ㅇ 시험 대비 “패턴 보기” 예시:
O: “AdamW는 weight decay를 gradient 업데이트와 별도로 적용한다.”
X: “AdamW는 Adam과 동일하게 weight decay를 학습률에 곱해 적용한다.”
================================
2. LAMB optimizer
ㅇ 정의:
– Layer-wise Adaptive Moments optimizer for Batch training, 대규모 배치 학습에서 각 레이어별로 학습률을 조정하는 알고리즘.
ㅇ 특징:
– 매우 큰 배치 사이즈에서도 안정적인 학습 가능
– BERT, GPT 등 대규모 언어 모델 학습에 사용
– 레이어별 weight norm 기반 스케일링
ㅇ 적합한 경우:
– 수천~수만 배치 사이즈로 분산 학습할 때
ㅇ 시험 함정:
– LAMB가 작은 배치 학습에서 항상 Adam보다 우수하다고 생각하면 오답
ㅇ 시험 대비 “패턴 보기” 예시:
O: “LAMB는 레이어별 학습률 조정을 통해 대규모 배치 학습을 안정화한다.”
X: “LAMB는 모든 배치 크기에서 Adam보다 빠르게 수렴한다.”
================================
3. Learning Rate Schedulers
ㅇ 정의:
– 학습 과정 중 학습률을 동적으로 조정하여 수렴 속도와 최종 성능을 최적화하는 기법.
ㅇ 특징:
– Step decay, Cosine annealing, Warmup 등 다양한 방식 존재
– 초기 학습률 설정과 변화 패턴이 중요
ㅇ 적합한 경우:
– 초기 급격한 손실 감소 후 안정적 수렴이 필요한 경우
– 학습 후반부에 overshooting 방지 필요 시
ㅇ 시험 함정:
– 학습률 스케줄러가 항상 학습 속도를 빠르게 한다는 단정은 오답
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Cosine annealing은 학습률을 점진적으로 줄여 수렴을 돕는다.”
X: “Warmup은 학습 초기에 학습률을 낮추어 수렴 속도를 늦춘다.”
================================
4. Quantization Aware Training
ㅇ 정의:
– 학습 단계에서 양자화를 시뮬레이션하여 추론 시 정밀도 손실을 최소화하는 훈련 기법.
ㅇ 특징:
– 8-bit, 4-bit 연산을 학습 중 반영
– 추론 속도 향상과 메모리 절감 가능
– 저전력 환경에 적합
ㅇ 적합한 경우:
– 모바일, 임베디드 디바이스 배포용 모델 학습
– 모델 경량화와 성능 유지가 동시에 필요한 경우
ㅇ 시험 함정:
– 사후 양자화(post-training quantization)와 혼동하면 오답
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Quantization Aware Training은 학습 중 정밀도 손실을 고려한다.”
X: “Quantization Aware Training은 학습 후에만 양자화를 적용한다.”
ㅁ 추가 학습 내용
[효율적 학습 기법 추가 학습 정리]
1. 옵티마이저 비교
– Adam: 모멘텀과 적응적 학습률을 결합, 빠른 수렴, 일반화 성능은 다소 떨어질 수 있음
– SGD+Momentum: 단순하고 안정적, 학습률 조정 필요, 일반화 성능 우수
– RMSProp: 지수이동평균으로 학습률 조정, 비정상 데이터에 강함
– AdamW: Adam의 weight decay를 올바르게 적용, 정규화 효과 개선
– LAMB: 대규모 배치 학습에 적합, 레이어별 학습률 조정
2. Learning Rate Scheduler
– Step Decay: 일정 스텝마다 학습률 감소, 단순하지만 갑작스러운 변화 가능
– Exponential Decay: 매 스텝마다 일정 비율로 감소, 부드러운 조정
– Cosine Annealing: 코사인 곡선 형태로 감소, 재시작 기능(TCosine Restarts) 가능
– Warmup: 초반 학습률을 점진적으로 증가시켜 안정적 학습 유도
수학적 의미: 초기 단계에서 기울기 폭주를 방지하고, 파라미터 공간 탐색을 안정화
3. Mixed Precision Training
– FP16과 FP32 혼합 사용
– 장점: 메모리 사용량 감소, 연산 속도 향상
– 주의점: 언더플로/오버플로 방지 필요, Loss Scaling 기법 사용
4. Quantization Aware Training(QAT) + Knowledge Distillation(KD)
– QAT: 학습 중 정수 연산 양자화를 고려, 추론 속도 및 경량화
– KD: 큰 모델의 지식을 작은 모델에 전달, 성능 유지
– 조합 사례: 경량 모델 학습 시 정확도 손실 최소화 가능
5. 대규모 분산 학습 관련
– AllReduce: 여러 노드의 그래디언트를 집계, 통신 최적화 중요
– Gradient Accumulation: 메모리 제약 완화, 효과적으로 배치 크기 확장
– 효율적 학습 기법과의 상호작용: 통신/연산 병목 최소화, 학습률 스케줄 조정 필요
6. 하이퍼파라미터 설정 영향
– 학습률, 모멘텀, weight decay, 배치 크기 등은 수렴 속도와 안정성에 직접적 영향
– 잘못된 설정 시 발산, 과적합, 수렴 지연 발생 가능
[시험 대비 체크리스트]
□ Adam, SGD+Momentum, RMSProp, AdamW, LAMB의 원리와 차이점 설명 가능
□ 각 옵티마이저의 장단점과 사용 사례 구분 가능
□ 주요 Learning Rate Scheduler의 원리, 장단점, 수식 암기
□ Warmup 단계의 수학적 의미와 필요성 설명 가능
□ Mixed Precision Training의 개념, 장점, 주의점 숙지
□ QAT와 KD 각각의 개념과 장점, 조합 시 효과 설명 가능
□ AllReduce와 Gradient Accumulation의 원리와 장단점 이해
□ 분산 학습에서 효율적 학습 기법 적용 시 고려사항 설명 가능
□ 각 기법의 주요 하이퍼파라미터와 성능/안정성의 관계 파악
□ 하이퍼파라미터 조정 실패 시 발생 가능한 문제 사례 제시 가능