AI / 데이터 · 심화
대규모 언어 모델(LLM)을 프로덕션 환경에 배포할 때, 서비스 지연 시간(latency)을 최소화하고 처리량(throughput)을 극대화하기 위한 아키텍처 설계 전략과 최적화 기법에 대해 설명하고, 특히 KV Cache, quantization, distillation의 적용 방안을 구체적인 예시와 함께 제시해 주십시오.
힌트 · KV Cache는 토큰 생성 시 반복 계산을 줄이고, quantization은 모델 크기와 연산량을 감소시키며, distillation은 더 작고 빠른 모델을 만듭니다.
KV CacheQuantizationDistillationTensorRT병렬 처리
모범답안
LLM 프로덕션 배포 시 지연 시간 최소화 및 처리량 극대화를 위해 다음과 같은 전략을 고려합니다.
첫째, KV Cache를 활용하여 이전 토큰 생성 시 계산된 Key와 Value 값을 저장하고 재사용합니다. 예를 들어, Transformer 모델에서 각 레이어의 Attention 연산 시 반복되는 계산을 줄여 토큰 생성 속도를 향상시킵니다.
둘째, Quantization을 통해 모델 가중치를 낮은 정밀도로 변환합니다. FP16 또는 INT8 Quantization을 적용하여 모델 크기를 줄이고 연산 속도를 높일 수 있습니다. TensorRT와 같은 라이브러리를 사용하여 GPU 연산을 최적화할 수 있습니다.
셋째, Distillation을 통해 더 작고 빠른 모델을 만듭니다. 큰 모델(Teacher)의 지식을 작은 모델(Student)에게 전달하여 성능을 유지하면서 모델 크기를 줄입니다.
마지막으로, 모델 추론을 위한 병렬 처리 방안을 고려합니다. Tensor Parallelism 또는 Pipeline Parallelism을 통해 여러 GPU에 모델을 분산시켜 처리량을 늘릴 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 AI / 머신러닝 면접 질문
- 머신러닝 모델 학습 시 사용되는 손실 함수(Loss Function)의 개념과 역할에 대해 설명하고, 회귀 문제에서 주로 사용되는 MSE(Mean Squared Error)와 분류 문제에서 주로 사용되는 Cross-Entropy 손실 함수를 비교하여 설명해 주세요.
- 경사 하강법(Gradient Descent)의 기본적인 원리를 설명하고, SGD(Stochastic Gradient Descent), Adam, RMSprop과 같은 다양한 최적화(Optimizer) 알고리즘들이 어떻게 경사 하강법을 개선하는지 각각의 특징과 장단점을 비교하여 설명해 주세요.
- 분류(Classification) 모델의 성능을 평가할 때 사용되는 지표인 Precision, Recall, F1-score, 그리고 ROC-AUC의 개념을 각각 설명하고, 특정 상황(예: 암 진단, 스팸 메일 분류)에서 어떤 지표가 더 중요하게 고려될 수 있는지 구체적인 예시를 들어 설명해 주세요.
- 실제 서비스에 강화 학습(Reinforcement Learning) 에이전트를 적용할 때, 탐험(exploration)과 활용(exploitation)의 균형을 효과적으로 조절하기 위한 고급 전략에는 어떤 것들이 있으며, 특히 오프라인 RL(Offline RL) 기법이 이러한 문제 해결에 어떻게 기여할 수 있는지 설명해 주십시오.
- 프로덕션 환경에서 운영 중인 머신러닝 모델의 성능이 점진적으로 저하될 때, 데이터 드리프트(Data Drift)와 모델 드리프트(Model Drift)를 효과적으로 감지하고 진단하기 위한 모니터링 시스템 설계 방안과, 이에 대한 자동화된 대응 전략에 대해 설명해 주십시오.
- GAN(Generative Adversarial Network) 또는 Diffusion Model과 같은 생성 모델 학습 시 발생하는 모드 붕괴(Mode Collapse) 현상이 무엇인지 설명하고, 이를 완화하거나 해결하기 위한 고급 기법들(예: WGAN, VAE, Conditioning, Loss Function 개선 등)을 비교 분석하여 설명해 주십시오.