
핀터레스트가 구축한 모듈 중심 프레임워크로 엔지니어 생산성과 AI 에이전트 자율 최적화를 동시에 달성하는 방법
거대한 분산 학습 모델 개발 시 특정 하위 모듈 하나를 수정하기 위해 전체 파이프라인을 돌리는 것은 엄청난 시간과 자원 낭비입니다. ModuleLens는 PyTorch 런타임 상태를 모듈 단위로 캡처하여 분산 환경 없이도 로컬에서 단 수 초 만에 재현 및 분석할 수 있게 해줍니다. 이 프레임워크는 개발자의 디버깅 속도를 혁신할 뿐만 아니라 Claude Code, Cursor 같은 AI 에이전트가 자동 커널 생성 및 모듈 최적화를 수행하는 강력한 실행 기반이 됩니다.
대규모 분산 학습 환경에서 느린 피드백 루프로 고통받는 ML Infra 팀이나, AI 에이전트를 모듈 단위 코드 최적화 및 커널 생성에 도입하려는 엔지니어링 조직에 강력히 추천합니다.
초대형 추천 및 광고 모델은 멀티 GPU 분산 학습 환경(DMP)을 필수적으로 요구하여 로컬 워크스페이스에서 전체 모델을 초기화하거나 실행하는 것이 불가능합니다. 특정 하위 모듈 코드를 수정할 때에도 전체 분산 파이프라인을 재실행해야 하므로 입력 데이터 확보가 어렵고 반복 실험 피드백 루프가 크게 지연되었습니다.
핀터레스트는 기존 '모델 우선' 방식에서 벗어나 모듈을 독립적으로 격리하여 분석하는 'ModuleLens' 프레임워크를 개발했습니다. PyTorch Forward Hook과 메모리 내 초기화 추적을 사용해 모듈 입출력 텐서 및 가중치를 비침습적으로 캡처하고, WandB Registry 기반 저장소에 저장하여 개발자 CLI 및 AI 에이전트(Claude Code, Cursor 등)가 로컬에서 수 초 내 재구성할 수 있도록 구현했습니다.
엔지니어는 멀티 GPU 파이프라인 재실행 없이 수 초 만에 모듈을 로컬에서 복원 및 프로파일링하여 개발 속도를 획기적으로 개선했습니다. 또한 Training Analyzer, KernelAgent, Scaling Law ROI Tools와 연동되어 AI 에이전트가 로컬 모듈 단위로 고성능 GPU 커널을 자동 생성하고 정밀도를 검증하는 환경을 완성했습니다.
Trade-off
런타임 트레이싱에 따른 연산 오버헤드를 줄이기 위해 1회 스텝 캡처 후 조기 종료하는 방식을 취하며, 대형 텐서의 경우 형상 정보만 기록하는 shape-only 덤프를 적용하므로 실제 입력 데이터의 고유한 분포를 완전히 재현하는 데 제한이 있을 수 있습니다.
전체 모델을 초기화하지 않고 특정 하위 모듈만 격리하여 입출력 데이터와 가중치를 복원 및 실행하는 엔지니어링 접근 방식입니다. 분산 환경 의존성을 제거해 개발 및 프로파일링 루프를 수 초 단위로 단축시킵니다.
PyTorch 런타임 중 모듈의 입출력 텐서, 파라미터 가중치, 초기화 인자를 비침습적으로 캡처하는 추적기입니다. 1회성 스텝 캡처 및 조기 종료 기법으로 GPU 오버헤드를 최소화합니다.
LLM을 기반으로 고성능 GPU 커널(Triton/CUDA)을 자동 생성하는 AI 에이전트입니다. ModuleLens가 캡처한 실제 모듈 데이터를 바탕으로 생성된 커널의 정밀도와 속도를 검증합니다.




