Leanstral 1.5: 모두를 위한 증명 풍요로움

Leanstral 1.5: 모두를 위한 증명 풍요로움

Mistral AI는 Lean 4에서의 증명 엔지니어링을 위해 설계된 특화 모델인 Leanstral 1.5를 출시했습니다. 이 모델은 총 119B 파라미터를 보유하고 있으며 활성 파라미터는 6B에 불과하며, Apache-2.0 라이선스로 출시되어 형식 검증 및 수학적 추론 분야에서 상당한 성능 향상을 제공합니다.

성능 벤치마크

Leanstral 1.5는 여러 주요 수학 벤치마크에서 최첨단(state-of-the-art) 결과를 달성하며, 기초 및 고급 추론을 모두 처리할 수 있는 능력을 입증했습니다.

  • miniF2F: 이 모델은 형식 수학을 위한 이 교차 시스템 벤치마크를 완전히 포화시켜, 검증 및 테스트 세트 모두에서 100%를 달성했습니다.
  • PutnamBench: Leanstral 1.5는 Putnam Mathematical Competition의 문제 672개 중 587개를 해결했습니다. 이는 Seed-Prover 1.5 (high setting)보다 7문제를 더 많이 해결하면서도 비용은 훨씬 저렴합니다. 즉, 문제당 약 $4의 비용이 드는 반면, Seed-Prover 1.5는 약 $300 이상으로 추정됩니다.
  • FATE-H and FATE-X: 이 모델은 대학원 및 박사 과정 수준의 문제를 다루는 추상 대수학 벤치마크인 FATE-H 및 FATE-X에서 새로운 최첨단 기록을 세웠으며, FATE-H 문제의 87%, FATE-X 문제의 34%를 해결했습니다.
  • FLTEval: Leanstral 1.5는 pass@1을 21.9에서 28.9로, pass@8을 31.9에서 43.2로 개선하여, Opus 4.6보다 7배 저렴한 비용으로 39.6를 능가했습니다.

훈련 방법론

Leanstral 1.5는 mid-training, supervised fine-tuning, 그리고 CISPO를 이용한 reinforcement learning의 세 단계 과정을 통해 개발되었습니다. 모델은 두 가지 별도의 RL 환경에서 훈련되었습니다:

  1. Multiturn Environment: 모델은 정리(theorem) 문장을 증명하거나 반증하는 과제를 수행합니다. 모델은 증명을 제출하고, Lean 컴파일러로부터 피드백을 받고, 증명이 컴파일되거나 예산이 소진될 때까지 반복적으로 접근 방식을 개선합니다.
  2. Code Agent Environment: 모델은 가공되지 않은 파일 시스템 내에서 개발자로서 작동하며, 파일을 편집하고, bash 명령어를 실행하며, Lean language server를 사용하여 목표(goals), 오류, 그리고 타입 정보를 조사합니다. 이 환경은 모델이 저장소 내의 부분적인 증명을 완성하거나 보조 보조 정리(auxiliary lemmas)를 구축하는 것과 같은 장기적인 과업을 수행할 수 있게 합니다.

테스트 시간 스케일링 및 추론

Leanstral 1.5는 강력한 테스트 시간 스케일링(test-time scaling)을 보여줍니다. 즉, 시도당 토큰 예산이 증가함에 따라 성능이 단조적으로 향상됩니다. PutnamBench에서 Pass@8 성능은 50k 토큰에서 해결한 44문제에서 4M 토큰에서 해결한 587문제로 급증했습니다. 이러한 능력 덕분에 모델은 복잡한 AVL-tree 증명에서 볼 수 있듯이 수백만 개의 토큰과 22번의 압축(compaction)을 필요로 했던 것처럼, 수백만 개의 토큰에 걸쳐 추론하고, 파일을 편집하고, 내용을 수정할 수 있습니다.

실제 코드 검증 사례 연구

Leanstral 1.5는 오픈 소스 저장소에서 코드 속성을 검증하고 버그를 발견하는 데 실용적인 유용성을 입증했습니다.

AVL Tree 시간 복잡도

이 모델은 AVL 트리 실제 구현체에 대한 O(log n) 시간 복잡도 보장을 성공적으로 증명했습니다. 이를 위해서는 구조적 귀납법(structural induction), 모나딕 시간 추적(monadic time tracking), 그리고 재균형 경로(rebalancing paths)에 대한 철저한 사례 분석이 필요했습니다.

오픈 소스 소프트웨어의 버그 발견

Aeneas(Rust 코드를 Lean으로 변환)와 Leanstral 1.5(의도 파악 및 정답성 속성 생성)를 결합한 파이프라인을 사용하여, Mistral AI는 57개의 테스트된 저장소에서 11개의 실제 버그를 발견했습니다. 그중 5개는 이전에 GitHub에 보고되지 않았던 것입니다. 주목할 만한 한 예시는 datrs/varinteger 라이브러리의 zigzag decoding을 위한 sign function에서 발생하는 오버플로 버그입니다. 이는 Std.U64.MAX 입력 시 발생합니다.

커뮤니티 피드백 및 분석

모델의 성능은 인상적이지만, Hacker News의 커뮤니티 멤버들은 몇 가지 논의 사항을을 제시했습니다:

"I found the bug finding example to be weird... In what way would this boundary condition case be considered something that 'testing [...] would typically miss'"

일부 사용자들은 datrs/varinteger에서 발견된 것과 같은 경계 조건 버그그는 일반적으로 퍼징(fuzzing)이나 세심한 세밀한 테스트를 통해 포착될 수 있다고 주장했습니다. 다른 사용자들은 동일한 버그가 발표 전 일주일 전에 이미 GitHub issue로 보고되었다는 점을 주목하며, 소위 """발견"""의 타당성을 의심했습니다.

추가적으로, 일부 사용자들은 벤치마크의 시점을 질문했습니다. 즉, 비교 대상이 구형 모델들과의 비교였다고 제안하며, 다른 사용자들은 Isabelle/HOL이나 TLA+와 같은 다른 형식 검증 도구구에 비해 Lean 4를 선택한 이유를 질문했습니다.

Leanstral 1.5 시작하기

Leanstral 1.5는 HuggingFace에서 Apache-2.0 라이선스 모델로 이용 가능하며, 무료 API 엔드포인트(leanstral-1-5)로도 제공됩니다. 사용자는 다음과 같은 설정을 통해 Mistral Vibe를 통해 배포포할 수 있습니다:

  1. Install Mistral Vibe: uv tool install mistral-vibe를 실행한 후 vibe --setup을 실행합니다.
  2. Install Leanstral 1.5: /leanstallexit.
  3. Launch Agent: vibe --agent lean.
  4. Optional LSP MCP: 향상된 기능을 위해 lean-lsp-mcp~/.vibe/config.toml 파일에 추가하여 설치합니다.

Sources