algorithmicsuperintelligence/openevolve

Open-source implementation of AlphaEvolve

해결하는 문제

OpenEvolve는 알고리즘 및 코드의 발견과 최적화를 자동화합니다. 수동으로 진행되던 시간 소모적인 최적화 프로세스를 자율적인 진화 파이프라인으로 대체하여, LLM이 인간의 가이드 없이도 획기적인 알고리즘, 하드웨어 특화 최적화(예: GPU 커널), 그리고 새로운 수학적 해법을 발견할 수 있도록 합니다.

작동 원리

OpenEvolve는 MAP-Elites와 LLM을 결합한 "Quality-Diversity(질과 다양성)" 진화 접근 방식을 사용합니다. 여러 "아일랜드"에 걸쳐 다양한 코드 후보 집단을 유지하여 조기 수렴을 방지합니다. LLM 앙상블이 성능 및 다양성 지표를 기반으로 새로운 코드 반복을 생성합니다. 시스템은 실행 오류를 LLM에 피드백하여 자기 수정을 수행하는 아티팩트 사이드 채널을 포함하며, 결정론적 시딩을 사용하여 과학적 재현성을 보장합니다.

대상 사용자

  • 성능 엔지니어: 인간이 놓칠 수 있는 하드웨어 특화 최적화를 찾는 분들.
  • 알고리즘 연구자: 고전적인 수학적 또는 컴퓨팅 문제에 대한 새로운 접근 방식을 찾는 분들.
  • 과학 계산 전문가: 복잡한 필터나 방정식의 지루한 튜닝을 자동화해야 하는 사용자.
  • 경쟁 프로그래머: 단일 문제에 대해 여러 가지 다양한 해결 전략을 생성하고자 하는 개발자.

주요 특징

  • 자율적 발견: 단순한 무작위 탐색에서 최첨단 알고리즘(예: circle packing)까지 코드를 진화시킬 수 있습니다.
  • 하드웨어 최적화: GPU 커널에 대해 Apple M1 Pro에서 2.8배의 속도 향상을 입증했습니다.
  • 다국어 지원: Python, Rust, R 및 Metal 셰이더를 지원합니다.
  • Quality-Diversity 진화: MAP-Elites를 사용하여 다양하고 성능이 뛰어난 솔루션 집단을 유지합니다.
  • 폭넓은 LLM 호환성: OpenAI, Google Gemini, Claude Code CLI 및 Ollama/vLLM을 통한 로컬 모델과 통합됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트