AlphaEvolve: A Gemini-powered coding agent for designing advanced algorithms
AlphaEvolve: A Gemini-powered coding agent for designing advanced algorithms
New AI agent evolves algorithms for math and practical applications in computing by combining the creativity of large language models with automated evaluators
deepmind.google
새로운 AI 에이전트, 수학 및 컴퓨팅 실용 문제 해결을 위한 알고리즘을 진화적으로 개발하다 — 대형 언어 모델의 창의성과 자동 평가기의 결합
대형 언어 모델(LLM)은 놀라울 정도로 다재다능합니다. 문서를 요약하고, 코드를 생성하며, 심지어 새로운 아이디어를 브레인스토밍할 수도 있죠. 이제 우리는 이러한 능력을 수학과 현대 컴퓨팅의 근본적이고 복잡한 문제를 해결하는 데까지 확장했습니다.
오늘 우리는 범용 알고리즘 탐색 및 최적화를 위한 진화적 코딩 에이전트인 AlphaEvolve를 공개합니다. AlphaEvolve는 우리의 Gemini 모델이 가진 창의적 문제 해결 능력을 자동 평가기와 결합하고, 진화적 프레임워크를 활용해 가장 유망한 아이디어들을 반복적으로 개선합니다.
AlphaEvolve는 Google의 데이터 센터 운영, 칩 설계, 그리고 AI 훈련 과정(심지어 AlphaEvolve의 기반이 되는 LLM 훈련 포함)의 효율성을 크게 향상시켰습니다. 또한, 더 빠른 행렬 곱셈 알고리즘을 설계하고 수학의 미해결 문제에 대한 새로운 해법을 찾는 데에도 기여하며, 다양한 분야에 걸친 폭넓은 활용 가능성을 보여주고 있습니다.
대형 언어 모델을 활용한 더 나은 알고리즘 설계
2023년, 우리는 대형 언어 모델이 컴퓨터 코드 형태로 작성된 함수를 생성하여, 과학의 미해결 문제에 대해 새로운 지식을 발견하고 그것이 수학적으로 올바름을 입증할 수 있음을 처음으로 보여주었습니다. AlphaEvolve는 이러한 단일 함수 생성 단계를 넘어, 전체 코드베이스를 진화시키고 훨씬 더 복잡한 알고리즘을 개발할 수 있는 에이전트입니다.
AlphaEvolve는 최신 대형 언어 모델들로 구성된 앙상블을 활용합니다. 가장 빠르고 효율적인 모델인 Gemini Flash는 탐색하는 아이디어의 폭을 극대화하고, 가장 강력한 모델인 Gemini Pro는 깊이 있는 통찰을 담은 제안을 통해 핵심적인 깊이를 제공합니다. 이 모델들은 협력하여 알고리즘적 해법을 코드로 구현하는 컴퓨터 프로그램들을 제안합니다.
도식: 프롬프트 샘플러가 먼저 언어 모델을 위한 프롬프트를 조합하면, 그 이후 언어 모델이 새로운 프로그램을 생성합니다. 생성된 프로그램은 평가자에 의해 검증 및 평가되고, 프로그램 데이터베이스에 저장됩니다. 이 데이터베이스는 진화 알고리즘을 구현하여 향후 프롬프트에 사용할 프로그램을 선택합니다.
AlphaEvolve는 제안된 프로그램을 자동 평가 지표를 통해 검증, 실행, 채점합니다. 이 지표들은 각 해법의 정확도와 품질을 객관적이고 정량적으로 평가합니다. 이러한 특성 덕분에 AlphaEvolve는 수학 및 컴퓨터 과학처럼 진보를 명확하고 체계적으로 측정할 수 있는 다양한 분야에서 특히 유용하게 활용될 수 있습니다.
컴퓨팅 생태계 최적화
지난 1년 동안, 우리는 AlphaEvolve가 발견한 알고리즘들을 Google의 컴퓨팅 생태계 전반 — 데이터 센터, 하드웨어, 소프트웨어 등 — 에 걸쳐 적용해왔습니다. 이러한 각 개선의 효과는 Google의 AI 및 컴퓨팅 인프라 전반에 걸쳐 증폭되며, 모든 사용자에게 더 강력하고 지속 가능한 디지털 생태계를 제공하는 데 기여하고 있습니다.
도식: AlphaEvolve가 데이터 센터 스케줄링, 하드웨어 설계, AI 모델 훈련 등 다양한 영역에서 Google이 더 효율적인 디지털 생태계를 구축하도록 지원하는 과정을 보여줍니다.
데이터 센터 스케줄링 개선
AlphaEvolve는 Google의 대규모 데이터 센터를 보다 효율적으로 운영할 수 있도록 Borg 시스템을 위한 단순하지만 매우 효과적인 휴리스틱을 발견했습니다. 이 해법은 현재 1년 넘게 실제 운영 환경에 적용되고 있으며, Google 전 세계 컴퓨팅 자원의 평균 0.7%를 지속적으로 회수하고 있습니다. 이러한 지속적인 효율 향상은 동일한 컴퓨팅 자원으로 더 많은 작업을 동시에 수행할 수 있음을 의미합니다.
또한 AlphaEvolve가 제안한 해법은 단지 성능 향상에 그치지 않고, 사람이 읽을 수 있는 코드로 작성되었기 때문에 다음과 같은 운영상 강점도 제공합니다:
- 해석 가능성 (Interpretability)
- 디버깅 용이성 (Debuggability)
- 예측 가능성 (Predictability)
- 배포 용이성 (Ease of deployment)
하드웨어 설계 지원
AlphaEvolve는 행렬 곱셈을 위한 핵심 고성능 산술 회로에서 불필요한 비트를 제거하는 Verilog 코드 리라이팅을 제안했습니다. 중요한 점은, 이러한 제안이 기능적 정확성을 유지하는지 확인하기 위한 강건한 검증 절차를 반드시 통과해야 한다는 것입니다.
이 제안은 곧 출시될 Google의 TPU(Tensor Processing Unit) — 맞춤형 AI 가속기 — 에 통합될 예정입니다. AlphaEvolve는 칩 설계자들이 사용하는 표준 언어로 수정을 제안함으로써, AI와 하드웨어 엔지니어 간의 협업을 촉진하고, 향후 특화 칩 설계를 가속화하는 데 기여하고 있습니다.
AI 학습과 추론 성능 향상
AlphaEvolve는 AI 성능과 연구 속도를 가속화하고 있습니다. 예를 들어, 대규모 행렬 곱셈 연산을 더 작은 하위 문제로 똑똑하게 분할하는 방법을 찾아냄으로써, Gemini 아키텍처에서 핵심 커널의 연산 속도를 23% 향상시켰고, 이에 따라 Gemini의 학습 시간도 1% 단축되었습니다. 생성형 AI 모델 개발은 막대한 연산 자원을 요구하기 때문에, 이러한 효율성 향상은 상당한 비용 절감으로 이어집니다.
성능 개선뿐 아니라, AlphaEvolve는 커널 최적화를 위한 엔지니어링 시간을 수 주에서 수 일로 단축시켜 연구자들이 더 빠르게 혁신할 수 있도록 합니다.
또한 AlphaEvolve는 GPU의 저수준 명령어 최적화도 수행할 수 있습니다. 이 영역은 일반적으로 컴파일러에 의해 이미 고도로 최적화되어 있어, 인간 엔지니어가 직접 수정하는 경우는 드뭅니다. 그러나 AlphaEvolve는 Transformer 기반 AI 모델에서 사용되는 FlashAttention 커널 구현을 최대 32.5%까지 가속하는 데 성공했습니다. 이러한 최적화는 전문가들이 병목 구간을 정확히 짚고, 개선 사항을 코드베이스에 쉽게 통합할 수 있게 하여, 생산성을 높이고 연산 및 에너지 비용을 절감할 수 있도록 합니다.
수학 및 알고리즘 탐색의 새로운 지평 개척
AlphaEvolve는 복잡한 수학 문제에 대해서도 새로운 접근법을 제안할 수 있습니다. 최소한의 코드 골격만 제공해도, AlphaEvolve는 새로운 gradient 기반 최적화 절차의 다양한 구성 요소를 설계할 수 있으며, 이를 통해 행렬 곱셈을 위한 다수의 새로운 알고리즘을 발견했습니다. 행렬 곱셈은 컴퓨터 과학의 핵심 문제 중 하나입니다.
예시: AlphaEvolve는 옵티마이저, weight 초기화 방식, loss 함수, 하이퍼파라미터 탐색 등 여러 구성 요소에 걸쳐 총 15번의 진화적 돌연변이(mutation)를 거쳐 비자명한 개선 사항을 제안했습니다.
특히 AlphaEvolve는 4x4 복소수 행렬을 48번의 스칼라 곱셈만으로 곱하는 알고리즘을 찾아냈습니다. 이는 기존에 최선으로 알려져 있던 Strassen의 1969년 알고리즘보다 개선된 결과입니다. 이 성과는 이전의 AlphaTensor보다도 의미 있는 진보로, AlphaTensor는 4x4 행렬에 대해 이진 산술(binary arithmetic)에서만 향상을 보여준 바 있습니다.
AlphaEvolve의 범용성을 실험하기 위해, 우리는 수학 해석학, 기하학, 조합론, 정수론 등 50개 이상의 미해결 문제에 시스템을 적용했습니다. 대부분의 실험은 수 시간 내로 설정할 수 있었으며, 약 75%의 사례에서 기존 최고 성능 알고리즘을 재발견했습니다.
또한, 약 20%의 문제에서는 기존 최적 해법을 능가하는 새로운 해법을 제시하며 진전을 보였습니다. 예를 들어, 300년 넘게 수학자들을 매료시킨 Kissing Number 문제에서 AlphaEvolve는 새로운 구성을 찾아냈습니다. 이는 11차원 공간에서 593개의 구가 중심 구에 접촉하는 구성을 찾아내며, 해당 차원에서의 새로운 하한값(lower bound)을 제시했습니다.
앞으로의 방향
AlphaEvolve는 특정 도메인을 위한 알고리즘 탐색에서 시작하여, 현실 세계의 다양한 문제를 해결할 수 있는 복잡한 알고리즘 설계로까지 확장되고 있습니다. 대형 언어 모델이 더 뛰어난 코딩 능력을 갖춰갈수록, AlphaEvolve 역시 계속 발전할 것으로 기대됩니다.
우리는 People + AI Research 팀과 함께, AlphaEvolve와 상호작용할 수 있는 직관적인 사용자 인터페이스를 개발하고 있으며, 선정된 학술 사용자 대상 조기 접근 프로그램(Early Access Program)을 준비 중입니다. 또한 더 넓은 사용자를 위한 공개 가능성도 검토 중입니다. 관심 있으시다면 이 양식 을 통해 신청해 주세요.
현재는 수학 및 컴퓨팅에 집중되어 있지만, AlphaEvolve는 알고리즘으로 표현되고 자동으로 검증 가능한 문제라면 어떤 분야에도 적용될 수 있습니다. 우리는 AlphaEvolve가 재료 과학, 신약 개발, 지속 가능성, 다양한 기술 및 비즈니스 분야에서도 획기적인 변화를 이끌어낼 수 있다고 믿고 있습니다.