# Part 12: 모델 최적화 용어집 - **분산 학습 (Distributed Training)**: 하나의 모델을 여러 GPU 또는 여러 장비에서 병렬로 학습시키는 기술입니다. 대규모 모델 학습과 학습 시간 단축을 위해 사용됩니다. - **데이터 병렬 처리 (Data Parallelism)**: 동일한 모델을 여러 GPU에 복제하고, 데이터를 나누어 학습시키는 가장 일반적인 분산 학습 방식입니다. - **모델 병렬 처리 (Model Parallelism)**: 모델 자체가 너무 커서 단일 GPU에 올라가지 않을 때, 모델의 레이어나 파라미터를 여러 GPU에 나누어 학습시키는 방식입니다. - **FSDP (Fully Sharded Data Parallel)**: PyTorch의 차세대 분산 학습 기술로, 모델 파라미터, 그래디언트, 옵티마이저 상태를 모든 GPU에 분할하여 메모리 효율성을 극대화합니다. - **DeepSpeed**: Microsoft에서 개발한 대규모 분산 학습 라이브러리로, ZeRO와 같은 강력한 메모리 최적화 기술과 다양한 병렬 처리 기법을 통합 제공합니다. - **모델 경량화 (Model Optimization)**: 학습된 모델의 성능을 최대한 유지하면서, 모델 크기를 줄이고 추론 속도를 향상시키는 기술들의 총칭입니다. - **양자화 (Quantization)**: 모델의 가중치와 연산에 사용되는 데이터 타입을 32비트 부동소수점(FP32)에서 8비트 정수(INT8) 등으로 변환하여 모델 크기를 줄이고 연산 속도를 높이는 대표적인 경량화 기법입니다. - **가지치기 (Pruning)**: 모델 성능에 거의 영향을 주지 않는 불필요한 가중치나 뉴런을 제거하여 모델의 파라미터 수를 줄이는 기법입니다. - **지식 증류 (Knowledge Distillation)**: 크고 성능이 좋은 '선생님 모델'의 지식을 작고 가벼운 '학생 모델'에게 전달하여 학습시키는 기법입니다. - **Triton Inference Server**: NVIDIA에서 개발한 고성능 추론 서버로, 다양한 프레임워크의 모델을 동적 배치(dynamic batching) 등의 기능을 활용하여 효율적으로 서빙합니다. - **TorchServe**: PyTorch에서 공식적으로 지원하는 모델 서빙 라이브러리로, PyTorch 모델을 빠르고 쉽게 배포할 수 있는 기능을 제공합니다.