Netflix / ai

2 개의 포스트

netflix

Netflix's Metaflow Spin: Faster ML Development | Netflix TechBlog (새 탭에서 열림)

넷플릭스는 머신러닝(ML) 및 AI 워크플로우의 프로토타이핑부터 프로덕션 운영까지의 전 과정을 효율화하기 위해 오픈소스 프레임워크인 메타플로우(Metaflow)를 지속적으로 발전시켜 왔습니다. 특히 최신 업데이트인 Metaflow 2.19 버전에서는 'Spin'이라는 기능을 도입하여, 대규모 데이터와 모델을 다루는 ML 개발 과정에서 필수적인 빠른 반복 시도(Iterative development)와 상태 유지(Stateful iteration)를 획기적으로 가속화했습니다. 이를 통해 개발자는 코드 변경 사항을 즉각적으로 확인하면서도 운영 환경의 안정성을 동시에 확보할 수 있습니다. **ML 및 AI 워크플로우에서의 반복 개발 특성** * **데이터와 모델 중심의 반복:** 전통적인 소프트웨어 공학의 코드 중심 개발과 달리, ML/AI 개발은 크기가 크고 가변적인 데이터 및 모델을 중심으로 이루어집니다. * **비결정적 과정:** 데이터 변환이나 모델 학습은 실행 시마다 결과가 조금씩 달라지는 확률적 특성을 가지며, 연산 비용이 매우 높습니다. * **노트북의 장점과 한계:** 주피터(Jupyter)와 같은 노트북 도구는 메모리에 상태를 유지하여 빠른 피드백을 주지만, 실행 순서의 불명확성, 숨겨진 상태 문제, 재현성 부족 등의 고질적인 문제를 안고 있습니다. **메타플로우의 체크포인트 기반 상태 관리** * **@step을 통한 체크포인트 설정:** 메타플로우의 각 단계(`@step`)는 체크포인트 경계 역할을 수행하며, 단계가 종료될 때 모든 인스턴스 변수를 아티팩트(Artifact)로 자동 저장합니다. * **Resume 기능의 활용:** 기존의 `resume` 명령어를 사용하면 특정 단계부터 실행을 재개할 수 있어, 실패한 지점이나 수정이 필요한 지점부터 다시 시작할 수 있습니다. * **노트북 방식과의 차별점:** 실행 순서가 명시적이고 결정적이며, 모든 상태가 버전화되어 저장되므로 결과의 추적과 재현이 매우 용이합니다. **Spin: 반복 개발 속도의 극대화** * **지연 시간 단축:** 기존의 `resume` 방식은 특정 단계부터 전체를 다시 실행해야 하므로 반복 주기 사이에 일정 수준의 지연(Latency)이 발생했습니다. * **점진적 실험의 가속화:** 새로운 'Spin' 기능은 이러한 지연을 최소화하여 노트북 수준의 즉각적인 피드백을 제공하면서도 메타플로우의 견고한 상태 관리 기능을 그대로 활용합니다. * **워크플로우 엔진과의 통합:** 메타플로우는 넷플릭스의 워크플로우 오케스트레이터인 마에스트로(Maestro)와 긴밀하게 연동되어, 개발 환경에서 테스트한 로직을 프로덕션 규모로 확장하는 데 소요되는 오버헤드를 최소화합니다. 데이터 과학자와 엔지니어는 Metaflow 2.19 버전을 통해 Spin 기능을 직접 체험해 볼 수 있습니다. 실험적인 탐색 단계에서는 노트북처럼 빠른 속도를 누리고, 배포 단계에서는 엔지니어링 표준을 준수하는 견고한 파이프라인을 구축하고자 한다면 메타플로우의 새로운 반복 개발 워크플로우를 도입해 보길 권장합니다.

netflix

Post-Training Generative Recommenders with Advantage-Weighted Supervised Finetuning | by Netflix Technology Blog | Netflix TechBlog (새 탭에서 열림)

넷플릭스는 사용자 행동을 순차적으로 예측하는 생성형 추천 시스템(Generative Recommenders)의 성능을 한 단계 높이기 위해 사후 학습(Post-training) 기술인 '가중치 적용 지도 미세 조정(Advantage-Weighted Supervised Finetuning, 이하 A-SFT)'을 도입했습니다. 기존의 생성형 추천 모델은 단순히 과거의 시퀀스를 모방하는 데 그쳐 실제 사용자 만족도를 충분히 반영하지 못했으나, A-SFT는 노이즈가 많은 추천 환경의 보상 신호를 효과적으로 학습에 활용합니다. 이 방법론은 반사실적 데이터(Counterfactual feedback) 확보가 어려운 추천 시스템의 한계를 극복하고, 보상 모델의 불확실성 속에서도 모델을 사용자 선호도에 더 정교하게 정렬시키는 결론을 도출했습니다. **생성형 추천 시스템의 한계와 사후 학습의 필요성** * 생성형 추천 모델(GR)은 트랜스포머 아키텍처를 활용해 사용자의 다음 활동을 예측하는 순차적 변환 태스크로 추천 문제를 정의합니다. * 단순히 관찰된 과거 행동을 모방하는 방식은 트렌드나 외부 요인에 의한 상호작용을 구분하지 못하며, 사용자가 실제로 만족하지 않은 콘텐츠를 반복 추천할 위험이 있습니다. * 따라서 시청 시간, 클릭률, 평점 등 명시적·암묵적 피드백을 활용해 모델을 사용자 선호에 맞게 조정하는 사후 학습 과정이 필수적입니다. **추천 시스템 사후 학습의 주요 난제** * **반사실적 피드백의 부재:** LLM과 달리 추천 시스템은 사용자가 실제로 경험한 온-폴리시(On-policy) 데이터만 존재하며, 수주에서 수년에 걸친 사용자 시퀀스에 대해 가상의 시나리오에 대한 피드백을 얻는 것은 불가능에 가깝습니다. * **보상 신호의 높은 노이즈:** 시청 시간이 길다고 해서 반드시 만족도가 높은 것은 아니며(시간 제약 등으로 중단 가능), 보상 모델 자체가 높은 불확실성과 분산을 가집니다. * **기존 기법의 적용 한계:** 반사실적 데이터를 요구하는 PPO(근사 정책 최적화)나 DPO(직접 선호도 최적화) 같은 최신 LLM 최적화 기법을 추천 도메인에 그대로 적용하기 어렵습니다. **A-SFT: 불확실한 보상을 활용하는 최적화 전략** * A-SFT는 지도 미세 조정(SFT)의 안정성과 강화 학습의 이점 함수(Advantage function)를 결합하여 보상 모델의 방향성 신호를 학습에 반영합니다. * 보상 모델이 높은 분산을 가질 때에도 보상 자체에 매몰되지 않고, 이점 함수를 통해 상대적으로 더 나은 행동에 가중치를 두어 학습함으로써 성능 저하를 방지합니다. * 이 방식은 보상 모델이 없을 때 사용하는 '행동 복제(Behavior Cloning)'와 완벽한 보상 모델을 전제로 하는 '온라인 강화 학습' 사이의 적정 지점을 찾아내어 모델 성능을 최적화합니다. **실무적 권장 사항** 추천 시스템의 사후 학습 전략을 선택할 때는 보상 모델의 품질과 일반화 능력을 먼저 고려해야 합니다. 보상 모델의 노이즈가 심할 경우 이를 과도하게 최적화하면 오히려 성능이 하락할 수 있으므로, A-SFT와 같이 보상의 방향성을 활용하면서도 학습의 안정성을 유지할 수 있는 가중치 기반의 접근법을 사용하는 것이 권장됩니다. 이는 특히 실제 서비스 데이터와 같이 피드백이 불완전한 환경에서 생성형 모델을 사용자 가치에 정렬시키는 데 매우 효과적인 도구가 될 수 있습니다.