Building an RL theorem-proving workflow on Modal
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
📰 Building an RL theorem-proving workflow on Modal | Modal Blog
💡 한 줄 요약
AE Studio는 Modal 위에서 Lean 기반 정리 증명 강화학습 워크플로를 구축해, ES와 GRPO를 비교하고 병렬 GPU 추론·격리된 CPU 검증·경량 오케스트레이션을 조합한 실험 인프라의 속도와 비용 효율을 보여준다.
📌 핵심 요약
- 이 글은 AE Studio가 Modal을 활용해 LLM이 수학 정리를 Lean 코드로 증명하도록 훈련하는 강화학습 워크플로를 구축한 과정을 설명한다.
- 연구의 핵심 비교 대상은 현재 널리 쓰이는 GRPO와, 여러 변형 모델을 평가한 뒤 성과가 좋은 방향으로 원 모델을 이동시키는 Evolution Strategies(ES)다.
- 워크로드는 GPU 기반 증명 생성, CPU 기반 Lean 검증, 전체 루프 조율이라는 세 역할로 나뉘며, Modal의 per-function 이미지, .map() 병렬 실행, Sandbox, Volume, Secret 기능으로 구현됐다.
- ES에서는 모델 상태를 전체 체크포인트로 반복 저장하지 않고 base model과 seed/reward history로 재구성해, GPU 간 대용량 weight 전송을 피하고 원격 함수 인자로 작은 Python 리스트만 전달했다.
- 실험 결과 Modal 기반 구현은 플랫폼 설정 코드와 실행 기간, GPU 낭비 시간, 비용 측면에서 효율적이었고, 초기 결과에서 ES는 일부 theorem-proving run에서 GRPO와 같거나 더 나은 verified proof 성과를 보였지만 일관된 우위는 아직 추가 검증이 필요하다.
🧩 주요 포인트
- 이 글은 AE Studio가 Modal을 활용해 LLM이 수학 정리를 Lean 코드로 증명하도록 훈련하는 강화학습 워크플로를 구축한 과정을 설명한다.
- 연구의 핵심 비교 대상은 현재 널리 쓰이는 GRPO와, 여러 변형 모델을 평가한 뒤 성과가 좋은 방향으로 원 모델을 이동시키는 Evolution Strategies(ES)다.
- 워크로드는 GPU 기반 증명 생성, CPU 기반 Lean 검증, 전체 루프 조율이라는 세 역할로 나뉘며, Modal의 per-function 이미지, .map() 병렬 실행, Sandbox, Volume, Secret 기능으로 구현됐다.
- ES에서는 모델 상태를 전체 체크포인트로 반복 저장하지 않고 base model과 seed/reward history로 재구성해, GPU 간 대용량 weight 전송을 피하고 원격 함수 인자로 작은 Python 리스트만 전달했다.
- 실험 결과 Modal 기반 구현은 플랫폼 설정 코드와 실행 기간, GPU 낭비 시간, 비용 측면에서 효율적이었고, 초기 결과에서 ES는 일부 theorem-proving run에서 GRPO와 같거나 더 나은 verified proof 성과를 보였지만 일관된 우위는 아직 추가 검증이 필요하다.
🧠 상세 정리
1. 문제의식: AI가 수학 정리를 증명하도록 훈련하기
AE Studio는 언어모델의 사전학습과 파인튜닝을 많이 수행하며, 이런 작업을 효율적으로 돌리기 위해 병렬 온디맨드 컴퓨트가 필수라고 설명한다. Modal을 사용하면 수천 개 GPU를 병렬로 띄울 수 있어, 원래라면 몇 주나 몇 달이 걸릴 연구를 며칠 단위로 압축할 수 있다는 점이 출발점이다. 이 글의 구체적 목표는 LLM이 수학 정리를 증명하도록 강화학습으로 훈련하는 것이다. 단순히 그럴듯한 답을 생성하는 모델이 아니라, Lean이라는 형식 검증 언어에서 실제로 통과되는 증명을 만들어 내는 모델을 대상으로 한다.
2. GRPO와 ES를 비교하려는 연구 질문
글은 강화학습으로 모델을 훈련하는 방법이 하나만 있는 것은 아니라고 전제한다. 오늘날 흔한 접근으로는 GRPO가 소개되며, 모델이 여러 증명 시도를 생성하면 시스템이 그것들을 서로 비교해 순위를 매기고, 올바른 증명 생성 쪽으로 모델 내부 가중치를 조정하는 방식으로 설명된다. AE Studio가 시험한 대안은 Evolution Strategies, 즉 ES다. ES는 전통적 backpropagation으로 직접 조정하기보다, 약간씩 다른 모델들의 ‘population’을 만들고 모두 평가한 뒤 성과가 좋은 변형 쪽으로 원 모델을 이동시키는 자연선택식 접근이다. 최근 연구에서 ES가 일부 설정에서 GRPO보다 나을 수 있다는 결과가 있었고, 저자들은 이를 theorem proving에서도 재현할 수 있는지 확인하고자 했다.
3. Lean 기반 증명 생성과 검증의 실행 구조
언어모델이 정리를 증명하려면 일반 자연어 답변이 아니라 Lean 같은 전문 언어의 코드를 생성해야 한다. 코드 생성은 LLM이 담당하며 GPU 추론 부하가 큰 작업이고, 생성된 Lean 코드를 실제로 검증하는 일은 Lean compiler가 CPU에서 수행한다. 따라서 전체 시스템은 성격이 다른 세 실행 환경을 필요로 한다. 첫째, vLLM 인스턴스가 GPU에서 proof attempt를 생성하고, 둘째, 각 증명은 CPU의 Lean verifier로 보내져 확인되며, 셋째, 가벼운 조율 프로세스가 theorem batch를 생성기와 검증기로 보내고 결과를 모아 훈련 진행을 관리한다. 특히 잘못된 증명이 검증기를 멈추거나 충돌시킬 수 있기 때문에 검증 환경의 격리가 중요하게 다뤄진다.
4. Modal을 선택한 이유와 인프라 부담의 축소
이 워크플로를 처음부터 직접 구축하려면 여러 서버 환경, job scheduling system, 모델 checkpoint 저장소, crash를 견디는 검증 서비스를 모두 마련해야 한다. 글은 이런 인프라를 직접 만들기보다 Modal 위에서 전체 실험을 돌림으로써 연구 자체에 시간을 쓸 수 있었다고 강조한다. Modal에서는 GPU 생성, Lean 검증, orchestration이 각자 다른 per-function image를 선언할 수 있었고, ES iteration마다 많은 독립 평가를 .map()으로 fan-out해 결과가 완료되는 대로 스트리밍할 수 있었다. 또한 Sandbox로 각 verification batch에 짧게 살아 있는 Lean server를 제공하고, Volume으로 base weight를 공유하며, Secret으로 Hugging Face gated model 접근 자격 증명을 원격 함수에 주입했다.
5. 훈련 루프와 보상 신호
훈련의 목표는 모델이 수학 정리 증명을 잘하도록 만드는 것이며, 여기서 Lean은 검증 가능한 reward를 제공하는 핵심 역할을 한다. 모델 출력이 그럴듯해 보이는지 묻는 대신, Lean이 해당 proof를 valid proof로 받아들이는지를 확인한다. 글은 예시로 a = b이고 b = c이면 a = c임을 증명하는 경우를 들며, 모델이 Lean proof를 작성하면 verifier가 정답 여부에 따라 reward signal을 만든다고 설명한다. 비교 실험에서는 training loop 자체는 고정하고 update rule만 바꿨다. GRPO는 proof attempt 그룹 내 상대 성과를 기준으로 gradient update를 적용하고, ES는 perturbation된 모델 population을 proof success rate로 평가해 reward에 따른 weighted combination으로 base model을 갱신한다.
6. 역할별 이미지와 GPU 병렬 fan-out
구현에서는 모든 의존성을 하나의 거대한 환경에 밀어 넣지 않고, compute role마다 별도 이미지를 부여했다. GPU worker는 vLLM, torch, transformers, datasets 등을 포함한 이미지로 inference에 집중하고, Lean sandbox는 검증에 필요한 환경을 가지며, orchestrator는 가볍게 유지된다. 이 구조는 각 환경이 독립적으로 캐시되고 재사용될 수 있다는 장점도 있다. ES는 알고리즘 구조상 분산하기 쉬웠는데, 각 perturbation 평가가 현재 checkpoint, theorem batch, perturbation seed, generation parameter를 받아 독립 실행될 수 있기 때문이다. Modal의 .map()은 이 population evaluation 구조와 잘 맞아, 여러 원격 작업을 동시에 실행하고 candidate proof들을 모으는 데 사용됐다.
7. Sandboxed Lean verification으로 실패를 격리하기
검증 단계는 전체 시스템에서 격리가 가장 중요한 부분으로 설명된다. Proof attempt는 checker를 멈추게 하거나 crash를 일으키거나 예상보다 많은 리소스를 소비할 수 있으므로, 하나의 나쁜 batch가 전체 run을 망치지 않도록 해야 한다. 이를 위해 각 verification batch마다 Modal Sandbox를 만들고, 그 안에서 Lean server를 시작한 뒤 HTTP로 proof를 보내 결과를 수집하고 sandbox를 종료했다. 한 iteration에서는 3,840개의 proof attempt가 만들어졌고, 이를 64개 단위 batch로 나누어 검증했다. 글은 더 빠른 검증이 필요하다면 각 proof attempt를 독립 sandbox에서 실행해 수천 개를 병렬로 처리할 수도 있다고 설명하며, Modal의 sandbox model이 확장 여지를 제공한다고 본다.
8. Seed history 기반의 stateless checkpointing
ES의 흥미로운 특성으로, 전체 모델 상태를 base model과 seed/reward 쌍의 리스트로 표현할 수 있다는 점이 제시된다. 각 perturbation은 결정적 random seed에서 생성되므로 실제 noise vector를 저장할 필요가 없다. Orchestrator는 seed_reward_history라는 running list를 유지하고, 각 iteration 결과로 나온 history entry를 추가한 뒤 이를 worker들에게 전달한다. 각 entry에는 perturbation seed, normalized reward, alpha, sigma, population size처럼 update를 재계산하는 데 필요한 정보만 담기며, 글에서는 iteration당 약 200바이트 수준이라고 설명한다. GPU worker는 Volume에서 original base model을 로드한 다음 전체 history를 replay해 현재 weight를 재구성하고 자기 perturbation을 적용한다.
9. 성능, 비용, 초기 실험 결과
Modal 구현은 플랫폼 설정 코드가 약 250줄로, 유사 실험에서 다른 플랫폼을 사용할 때 흔히 보이는 약 600줄보다 적었다고 제시된다. 이 복잡도 감소 덕분에 프로젝트 착수 후 이틀 이내에 successful training run을 완료했으며, 대안 플랫폼 대비 약 60% 짧은 기간이었다고 설명한다. 실행 효율 측면에서는 GPU가 필요한 generation step이 iteration당 평균 147초였지만, CPU verification을 포함한 full loop는 538초가 걸렸다. Modal의 elasticity 덕분에 GPU가 실제 사용될 때만 비용을 내 GPU 낭비 시간을 약 3.7배 줄였고, 전체 run 비용은 Modal에서 122달러로 추정됐다. 결과적으로 ES는 여러 theorem-proving run에서 GRPO baseline과 같거나 더 많은 verified proof를 냈고, 제한된 training data에서는 sample efficient해 보였지만, hyperparameter, dataset nuance, population size 등의 영향을 아직 분리하지 못해 추가 실험이 필요하다고 정리된다.
🧾 핵심 주장 / 시사점
- 이 글의 핵심은 특정 알고리즘이 최종 승자라고 단정하는 데 있지 않고, Lean 검증처럼 GPU 추론과 CPU 검증이 분리된 연구 워크로드를 어떻게 탄력적으로 구성할 수 있는지를 보여주는 데 있다.
- ES의 seed/reward history 방식은 분산 학습에서 병목이 되기 쉬운 대용량 weight 전송과 checkpoint 관리를 줄이는 설계로, 알고리즘 선택이 인프라 구조까지 단순화할 수 있음을 시사한다.
- 초기 결과에서 ES가 일부 조건에서 GRPO와 같거나 더 나은 성능을 보였지만, 글 자체도 변동 요인을 아직 충분히 분리하지 못했다고 밝히므로, 현재 단계의 결론은 ‘유망하지만 연구 질문은 열려 있다’에 가깝다.
✅ 액션 아이템
- 원문에서 강조한 핵심 변화와 이해관계자를 기준으로 Building an RL theorem-proving workflow on Modal | Modal Blog의 영향을 정리한다.
- 다음 의사결정이나 제품/정책 판단에 연결될 수 있는 근거를 원문 문장과 함께 기록한다.
- 기사에서 제시한 수치·사례·제약 조건을 분리해 과장 없이 검토한다.
- 후속 모니터링이 필요한 발표·제품·정책 변화가 있는지 출처 링크를 기준으로 추적한다.
❓ 열린 질문
- Boosting multimodal inference performance by 10% with a single Python dictionary Modal Blog]]" "207. 이 변화가 실제 사용자나 조직의 선택 기준을 어떻게 바꿀까?
- Run GPU jobs from Airflow with Modal" "208. 이 근거가 다른 산업이나 지역에서도 동일하게 적용될 수 있을까?
- Introducing Notebooks – launch ML experiments with zero cold boots" "236. 기사에서 아직 검증되지 않은 전제나 리스크는 무엇일까?
- How to Fine Tune Nemotron 3.5 ASR for Your Language, Domain, or Accent" "[[240. 후속 발표나 데이터가 나오면 어떤 지표를 먼저 비교해야 할까?

