post-training

4 개의 포스트

마이크로소프트 규모의 멀 (새 탭에서 열림)

대규모 프로덕션 환경에서 멀티모달 에이전트의 사후 학습(Post-training)은 표준적인 강화학습 알고리즘이 예상하지 못한 지점에서 실패하는 경우가 많으며, 특히 전체 보상 지표가 상승함에도 불구하고 실제 성능은 퇴보하는 '침묵하는 실패'가 빈번하게 발생합니다. Microsoft Copilot 팀은 이러한 문제를 해결하기 위해 정책 경사 추정치(Policy gradient estimator)의 정보력을 유지하는 데 초점을 맞춘 공학적 및 알고리즘적 개입 방법을 개발했습니다. 이를 통해 수백만 명의 사용자를 대상으로 하는 복잡한 도구 조작 및 멀티모달 추론 태스크에서 성능 안정성과 모델의 견고성을 확보할 수 있었습니다. ### 단계적 목적 함수 커리큘럼을 통한 조기 전문화 방지 * **문제점**: 단순한 스칼라 보상을 최적화할 경우, 모델은 달성하기 쉬운 지표에만 매몰되어 장기 실행 능력이나 견고성이 필요한 복잡한 행동을 포기하는 조기 전문화(Premature specialization) 현상이 나타납니다. * **검증 및 선호 신호 분리**: 보상 신호를 '검증 가능 신호(도구 구문, 형식 준수 등)'와 '선호도 신호(품질 등)'로 분리하고, 학습 초기 30% 구간에서는 검증 가능 신호에만 집중하여 기본기를 다지게 합니다. * **엔트로피 하한선(Entropy Floor)**: 단순한 엔트로피 보너스 대신, 정책의 엔트로피가 특정 임계값 아래로 떨어질 때만 활성화되는 KL 페널티 형태의 '하한선'을 도입하여 학습 후반부까지 정책의 다양성을 강제로 유지합니다. ### 추정치 건강도에 따른 적응형 커리큘럼 * **ESS(유효 샘플 크기) 모니터링**: 전체 배치 중 실제로 유의미한 그래디언트 업데이트에 기여하는 궤적의 비율인 ESS를 실시간으로 추적합니다. ESS가 20% 미만으로 떨어지면 향후 학습 정체가 일어날 것임을 미리 예측할 수 있습니다. * **근접 실패(Near-miss) 주입**: ESS 수치가 위험 수준에 도달하면 저장소 버퍼에서 '근접 실패' 궤적을 학습 배치에 주입합니다. 이는 모델이 정답과 오답 사이의 미세한 차이를 학습하게 하여 배치 내 결과의 대비(Contrast)를 복구합니다. * **동적 KL 페널티 조절**: 추정치의 건강도가 낮아질 때 일시적으로 KL 페널티를 높여 정책의 급격한 변화를 방지하고, 에스티메이터가 회복될 시간을 확보합니다. ### 구조적 변산성을 고려한 분산 교정 정규화 * **문제점**: 표준적인 태스크별 정규화는 태스크 내의 변산성 구조를 무시합니다. 특히 100토큰 내외의 짧은 궤적과 2000토큰 이상의 긴 궤적 사이에는 거대한 분산 차이가 존재하며, 긴 궤적이 전체 그래디언트 신호를 왜곡하는 현상이 발생합니다. * **길이 기반 보정**: 궤적의 길이에 따라 변산성이 선형적으로 증가하는 특성을 반영하여 정규화 로직을 개선함으로써, 특정 유형의 작업이 전체 학습 방향을 독점하지 않도록 조정합니다. 실제 운영 환경에서의 AI 에이전트 학습은 대시보드상의 요약 지표와 실제 사용자 경험 사이의 괴리를 줄이는 것이 핵심입니다. 특히 ESS와 같은 추정치 건전성 지표를 상시 모니터링하고, 학습 초기 단계에서 모델이 기본 형식을 먼저 마스터할 수 있도록 보상 신호의 투입 시점을 제어하는 전략이 대규모 멀티모달 시스템의 안정적인 배포에 결정적인 역할을 합니다.

넷플릭스의 LL (새 탭에서 열림)

넷플릭스는 일반적인 기초 모델을 자사 서비스의 카탈로그와 사용자 맥락에 맞게 최적화하기 위해, 인프라의 복잡성을 추상화한 '포스트 트레이닝(Post-Training) 프레임워크'를 구축했습니다. 이 프레임워크는 대규모 분산 GPU 클러스터 환경에서 데이터 파이프라인과 모델 훈련 워크플로우를 효율적으로 조율하여 연구자들이 하드웨어가 아닌 모델 혁신에만 집중할 수 있게 돕습니다. 결과적으로 엔지니어링 병목 현상을 해결함으로써 개인화 추천 및 검색 경험을 고도화하는 데 핵심적인 역할을 수행합니다. ### 데이터 처리 및 모델 설정의 기술적 난제 - **정교한 손실 마스킹(Loss Masking):** 지시어 이행(Instruction following)이나 연쇄 사고(CoT) 품질을 높이기 위해, 프롬프트가 아닌 응답(Assistant) 토큰에만 손실을 적용하여 모델이 부적절한 텍스트를 학습하지 않도록 제어합니다. - **시퀀스 패킹(Sequence Packing):** 가변적인 문장 길이로 인한 연산 낭비를 줄이기 위해 여러 샘플을 고정 길이 시퀀스로 묶고, 샘플 간 간섭을 방지하는 '도큐먼트 마스크'를 적용하여 GPU 효율을 극대화합니다. - **분산 로딩 및 메모리 최적화:** 단일 GPU 메모리를 초과하는 모델을 위해 FSDP(Fully Sharded Data Parallel)나 TP(Tensor Parallel) 샤딩을 사용하며, 대규모 어휘집 처리 시 발생하는 메모리 스파이크를 방지하기 위해 로짓 청킹(Logit chunking) 기법을 도입했습니다. ### 넷플릭스 포스트 트레이닝 프레임워크의 구조 - **기술 스택의 통합:** 넷플릭스 내부 ML 플랫폼인 'Mako' 위에서 PyTorch, Ray, vLLM 등 오픈소스 구성 요소를 결합하여 단일 노드부터 수백 개의 GPU까지 확장 가능한 환경을 제공합니다. - **표준화된 레시피:** SFT(지도 미세 조정), DPO(직접 선호도 최적화), RL(강화 학습), 지식 증류 등 주요 워크플로우를 설정 파일만으로 실행할 수 있는 재사용 가능한 레시피 형태로 지원합니다. - **유연한 아키텍처 확장성:** 단순 챗 모델을 넘어 도메인 특화 특수 토큰 사용이나 비표준 아키텍처 실험이 가능하도록 유연성과 확장성을 최우선으로 설계되었습니다. ### 시스템 고도화를 위한 4대 핵심 요소 - **데이터(Data):** 로컬 저장 공간을 초과하는 대규모 데이터를 클라우드에서 실시간 스트리밍하며, CPU 기반 패킹 작업을 GPU 연산과 비동기적으로 병렬 처리하여 유휴 시간을 제거합니다. - **모델(Model):** Qwen, Gemma 등 최신 아키텍처와 MoE(Mixture-of-Experts) 모델을 지원하며, LoRA 통합 및 고수준 샤딩 API를 통해 복잡한 분산 코딩 없이도 대형 모델을 다룰 수 있게 합니다. - **연산(Compute):** MFU(Model FLOPS Utilization) 모니터링을 통해 연산 효율을 실시간 추적하며, 장애 발생 시 훈련 상태를 정확히 복구할 수 있는 정교한 체크포인팅 시스템을 갖추었습니다. - **워크플로우(Workflow):** 단순 학습 루프를 넘어 온폴리시(On-policy) 강화 학습처럼 생성(Rollout)과 업데이트가 반복되는 복잡한 단계를 SPMD(Single Program, Multiple Data) 스타일로 관리합니다. 복잡한 분산 시스템의 세부 사항을 프레임워크 수준에서 표준화함으로써, 넷플릭스는 고도화된 AI 모델 실험의 진입 장벽을 낮추고 대규모 서비스에 최적화된 모델을 더 빠르게 배포할 수 있는 기반을 마련했습니다. 이러한 엔지니어링 접근 방식은 인프라의 복잡성에 구애받지 않고 최신 모델링 기법을 신속하게 도입하려는 기업들에게 유용한 사례가 됩니다.

프로덕션 규모 에 (새 탭에서 열림)

Hugging Face는 장기 실행되는 에이전트 시스템과 지속적으로 적응하는 RL(강화학습) 파이프라인을 위해 '사후 훈련 툴킷(Post-Training Toolkit, PTT)'을 TRL 라이브러리에 공식 통합했습니다. 이 툴킷은 기존의 전역 지표로는 포착하기 어려운 도구 사용 에이전트의 '후기 단계 불안정성(Late-phase instability)'을 진단하고 제어하는 데 중점을 둡니다. 이를 통해 개발자는 운영 환경에서 에이전트가 도구 호출 이후 겪는 미세한 성능 저하를 조기에 발견하고 대응할 수 있는 폐쇄 루프 모니터링 체계를 구축할 수 있습니다. **도구 호출로 인한 분산 증폭 현상** - 도구 사용 에이전트의 학습 상태 분포는 일반 텍스트 상호작용과 도구 조건부 상호작용의 혼합으로 구성됩니다. 학습이 진행됨에 따라 도구 사용 비중이 늘어나며 상태 분포의 변화가 발생합니다. - 특히 도구 호출 이후의 맥락(Post-tool context)은 참조 정책(Reference policy)이 낮은 확률을 할당하는 영역인 경우가 많아, 중요도 샘플링 가중치가 급격히 커지는 현상이 발생합니다. - 이로 인해 전역 손실(Loss)이나 보상(Reward) 지표는 안정적으로 보임에도 불구하고, 도구 조건부 맥락에서만 특정 업데이트의 분산이 폭발하며 시스템이 서서히 붕괴되는 '꼬리 부분의 성장(Tail growth)' 현상이 나타납니다. **정밀한 진단을 위한 데이터 슬라이싱과 지표** - PTT는 전체 평균값에 매몰되지 않도록 상호작용 모드(텍스트 전용 vs 도구 이후)별로 진단 지표를 분리하여 계산합니다. - 핵심 지표인 '로그 비율의 95백분위수(95th percentile of |r|)'를 통해 평균적인 행동이 아닌 꼬리 부분의 이상 징후를 추적합니다. 실험 결과, 텍스트 전용 맥락은 안정적이어도 도구 이후 맥락에서는 이 수치가 지속적으로 상승하는 것이 확인되었습니다. - 가중치 집중도를 나타내는 '유효 샘플 크기(Effective Sample Size, ESS)'를 보조 신호로 활용하여, 특정 샘플이 업데이트를 주도하며 학습의 질을 떨어뜨리는지 감시합니다. **실패 사례의 오인과 대응** - 이러한 불안정성은 대개 비대칭적이고 지연되어 나타나기 때문에, 개발자들은 이를 최적화 알고리즘(Optimizer)의 문제나 전역적인 분산 제어 부족으로 오해하는 경우가 많습니다. - 단순히 배치 크기를 키우거나 베이스라인을 개선하는 것만으로는 참조 정책과의 지지 집합(Support) 불일치 문제를 근본적으로 해결할 수 없습니다. - PTT는 도구 호출이 외부 전이를 주입함으로써 발생하는 특수한 분산 증폭을 독립적인 실패 모드로 식별하며, 이를 조기에 시각화하여 운영자가 개입할 수 있는 근거를 제공합니다. 도구 사용 에이전트를 운영 환경에서 훈련시킬 때는 전역 보상이나 엔트로피에만 의존해서는 안 됩니다. TRL에 통합된 PTT를 활용해 도구 호출 전후의 지표를 분리 모니터링하고, 특히 로그 비율의 백분위수 변화를 주시하여 분포의 꼬리가 길어지는 현상을 조기에 차단하는 '드리프트 인식(Drift-aware)' 설정을 도입할 것을 권장합니다.

Kanana-2 개발기 (2): 개선된 post-training recipe를 중심으로 (새 탭에서 열림)

카카오는 차세대 언어모델 Kanana-2를 공개하며, 단순한 대화형 AI를 넘어 에이전트 환경에 최적화된 성능을 구현하기 위한 고도화된 Post-training 레시피를 적용했습니다. 이번 모델은 Pre-training과 Post-training 사이의 'Mid-training' 단계를 도입하여 추론 능력을 극대화하는 동시에, 한국어 성능 저하 문제를 해결하기 위해 기존 학습 데이터를 재학습시키는 전략을 사용했습니다. 결과적으로 Kanana-2는 도구 호출(Tool Calling)과 복잡한 지시 이행 능력에서 비약적인 발전을 이루었으며, 특히 Thinking 모델은 고난도 수학 및 코딩 영역에서 글로벌 수준의 성능을 입증했습니다. ### 성능의 가교 역할을 하는 Mid-training * **도입 배경**: 일반적인 사전 학습(Pre-training)만으로는 복잡한 추론이나 도구 사용 능력을 갖추기 어렵기 때문에, 본격적인 미세 조정 전 단계로서 모델의 잠재력을 끌어올리는 중간 단계를 설계했습니다. * **데이터 구성**: 최신 고성능 모델에서 추출한 200B 규모의 고품질 영어 추론 데이터와 수학, 코드 데이터를 집중적으로 학습시켰습니다. * **치명적 망각(Catastrophic Forgetting) 방지**: 영어 추론 데이터 학습 시 한국어 성능이 하락하는 문제를 방지하고자, 사전 학습 데이터 중 한국어 데이터를 포함한 50B 토큰을 일정 비율로 섞어 학습(Replay 전략)함으로써 언어 균형을 유지했습니다. * **효과**: Mid-training을 거친 모델은 기본 모델 대비 수학(MATH) 및 코딩(HumanEval) 벤치마크에서 유의미한 향상을 보였으며, 이후 Instruct 학습 시 더 빠른 수렴 속도와 높은 최종 성능을 나타냈습니다. ### 에이전트 능력을 강화한 Instruct 모델 * **SFT 전략의 최적화**: 기존 Kanana-1.5 데이터셋에 Nemotron 등 오픈소스 고품질 데이터를 단순히 교체하기보다 추가로 통합(Supplementation)했을 때, 전반적인 성능과 지시 이행 능력의 균형이 가장 잘 유지됨을 확인했습니다. * **Agentic AI 역량**: 실질적인 도구 활용을 위해 단일·다중·병렬 도구 호출 능력을 강화했으며, 답변의 길이, 언어 설정, 특정 단어 제외 등 복잡한 제약 조건을 준수하는 지시 이행 능력을 고도화했습니다. * **Parallel RL 파이프라인**: 대화 스타일과 선호도를 학습하는 DPO(Direct Preference Optimization)와 객관적인 정답이 존재하는 추론/코딩 성능을 높이는 PPO(Proximal Policy Optimization)를 병렬로 적용하여 효율적인 학습 구조를 구축했습니다. * **신뢰성 개선**: RL 단계 이후 KTO(Kahneman-Tversky Optimization) 기반의 Calibration Tuning을 추가하여 모델 답변의 신뢰도를 높이고 환각 현상을 줄였습니다. ### 추론에 특화된 Thinking 모델 * **CoT 기반 학습**: 모델이 문제 해결 과정을 단계별로 사고하는 '사고의 사슬(Chain-of-Thought)'을 학습하도록 SFT 데이터를 구성했습니다. * **Rule-based RL**: 수학과 코딩처럼 정답이 명확한 도메인에 대해 규칙 기반 보상(Reward) 모델을 적용하여, 모델 스스로 더 나은 추론 경로를 탐색하고 검증하도록 유도했습니다. * **성능 도약**: Thinking 모델은 AIME25 벤치마크에서 기본 모델(9.21) 대비 약 5배 향상된 50.0점을 기록했으며, 실시간 코딩 테스트인 LiveCodeBench에서도 글로벌 수준의 경쟁력을 확보했습니다. 이번 Kanana-2 개발 과정은 대규모 추론 데이터 주입 시 발생하는 언어적 편향을 '사전 데이터 리플레이'로 해결하고, DPO와 PPO를 병렬로 활용하여 효율성을 극대화한 사례로 평가됩니다. 복잡한 추론과 도구 활용이 필요한 에이전트 서비스를 기획 중이라면, 단순 Instruct 모델보다 Mid-training을 통해 기초 체력을 다진 후 Thinking SFT가 적용된 모델을 활용하는 것이 더욱 안정적인 성능을 기대할 수 있는 방법입니다.