SakanaAI/ShinkaEvolve
ShinkaEvolve: Towards Open-Ended and Sample-Efficient Program Evolution 🧬
해결하는 문제
ShinkaEvolve는 과학적 코드의 탐색과 최적화를 자동화하기 위해 설계된 프레임워크입니다. 대규모 언어 모델(LLMs)의 창의성과 진화적 탐색의 최적화 능력을 결합함으로써, 과학 계산에서 복잡한 알고리즘을 수동으로 설계하거나 성능 지표를 최적화하는 문제를 해결합니다.
작동 방식
시스템은 여러 세대에 걸쳐 진화하는 프로그램 집단을 유지합니다. 다양한 LLM의 앙상블이 지능적인 돌연변이 연산자 역할을 하여 기존 집단에 코드 개선(차이점, 전체 재작성 또는 교배를 통한)을 제안합니다. 이러한 후보들은 제공된 검증 프로그램을 사용하여 평가됩니다. 프레임워크는 로컬 또는 Slurm 클러스터에서 병렬 평가를 지원하며, 다양한 진화적 섬 간 지식 전이를 촉진하기 위해 성공적인 해결책의 아카이브를 유지합니다.
대상 사용자
성능 검증 프로그램이 제공되고 코드의 정확성, 가독성, 성능 지표를 최적화하고자 하는 연구자 및 개발자에게 주로 적합합니다.
주요 특징
- 다중 LLM 앙상블: 코드 생성에 다양한 LLM을 사용하고, 동적 모델 선택(예: UCB)을 통해 결과를 최적화합니다.
- 유연한 실행 환경: 로컬 실행, Slurm Conda, Slurm Docker 환경을 지원하여 확장 가능한 평가를 가능하게 합니다.
- 에이전트 통합: Claude Code 및 Codex와 같은 코딩 에이전트와의 통합을 위한 "스킬"을 제공합니다.
- 다양한 언어 지원: Python, Julia, Fortran, Verilog RTL 등 여러 언어에서 코드 최적화 가능성을 입증했습니다.
- 모니터링 도구: 실시간 추적을 위한 WebUI와 실험 로깅을 위한 옵션의 Weights & Biases 통합을 포함합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트