Optimizing the Optimizer: Language Models Discover Faster Molecular Relaxation Algorithms

발행일
출처
arXiv
논문 번호
1316
분야
Research Agents
arXiv 번호
2610.06577

이 논문은 분자 구조 최적화에서 DFT(density functional theory, 밀도범함수 이론에 기반한 양자화학 계산)의 힘 계산(force call) 횟수가 비용을 좌우하는 문제를, 저자들이 시험한 공개 optimizer 가운데 힘 계산이 가장 적은 Sella의 코드를 LLM agent가 직접 고치게 하고 두 gate로 조기 종료와 과적합을 막는 autoresearch(agent가 코드를 고치고 측정 결과로 남길지 정하는 반복) loop로 풀었다.

이 논문은 한마디로 LLM agent가 분자 구조 최적화 프로그램 Sella의 코드를 반복해서 고쳐 힘 계산 횟수를 줄인 autoresearch 연구다. agent는 값싼 GFN2-xTB(tight-binding 양자화학 계산법) 위에서 후보를 평가받고, validity gate는 평가 오류가 있거나 training 평균 에너지 회복(Sella가 낮춘 에너지 대비 후보가 낮춘 에너지 비율의 평균)이 Sella보다 낮은 후보를 버리며, generalization gate는 validation에서도 평가 오류 없이 평균 에너지 회복이 Sella 이상이고 비용이 줄 때만 후보를 받아들인다. Claude Fable 5.1(max)로 실제 연구 시간 66시간을 돌려 얻은 AutoSella-F는 평가에만 쓴 r2SCAN-3c DFT의 네 held-out 데이터셋 모두에서 분자당 평균 힘 계산이 Sella보다 적고 평균 에너지 회복은 더 높았으며, Solvated PubChem에서는 분자당 평균으로 Sella 힘 계산의 40.24%를 썼다.

핵심 요약

  • 문제: DFT 수준의 분자 구조 최적화에서는 한 step마다 힘(gradient) 계산이 한 번 들고, 이 계산이 실행 시간을 거의 다 차지해 step 수가 곧 비용이다. LLM agent에게 optimizer 코드를 고치게 하려면 DFT로 후보 수백 개를 평가하기에는 너무 비싸고, 후보가 처음 보는 분자에서도 통해야 하며, 일찍 멈춰 힘 계산을 줄이는 편법을 막아야 한다.
  • 입력과 출력: agent는 Sella 2.5.0 코드를 한 파일(algo.py, 주석과 빈 줄 포함 5975줄)로 합친 시작 프로그램, training과 validation 분자 세트, 원격 evaluator를 받아 algo.py만 고치고, 결과로 더 적은 힘 계산으로 같은 수렴 기준에 닿는 optimizer AutoSella를 낸다. optimizer 자체는 분자 하나와 force evaluator를 받아 다섯 가지 수렴 조건을 모두 만족할 때까지 구조를 고치며(힘 계산 상한 200번, Solvated PubChem은 500번), 분자 세트는 약물 유사 분자와 그 주변 생체분자, 용매를 다룬다. 논문 종류는 gate를 단 autoresearch loop로 새 최적화 알고리즘을 찾고 공개해 검증한 방법 논문이다.
  • 방법: 매 cycle에서 agent는 cycle record, narrative log, 이미 버린 방식을 읽고 algo.py에 일관된 수정 하나를 넣어 commit하며, 평가 뒤에는 분자별 상대 힘 계산 수, 상대 에너지, 최종 에너지 차이, 수렴 상태 표를 받는다. validity gate는 training에서 평가 오류가 있거나 평균 에너지 회복이 Sella보다 낮거나 비용 감소가 threshold(δ)보다 작은 후보를 버리고, generalization gate는 validation에서도 평가 오류 없이 평균 에너지 회복을 유지하며 비용이 줄 때만 새 champion(현재까지 가장 좋은 프로그램)으로 받는다. 탐색은 값싼 GFN2-xTB로만 하고, agent가 고칠 수 있는 파일은 algo.py 하나뿐이며 evaluator, 수렴 기준, 분자 세트 수정과 분자별 특수 처리는 금지된다.
  • 구현: Claude Code가 Claude Fable 5.1(max)을, Codex가 GPT-6 Astra(high)를 몰아 각각 실제 연구 시간 66시간씩 독립 실행해 AutoSella-F와 AutoSella-A를 얻었고, 원격 evaluator는 Redis queue와 Intel Xeon Gold 6348 CPU host 4대의 single-thread worker 192개로 실험에 따라 후보 하나를 평균 약 60에서 90초에 평가했다. training 469개 구조는 SPICE(약물 유사 분자와 peptide를 모은 dataset) 2.0.1의 PubChem 분자 225개와 DES370K(비공유 결합 상호작용용 dimer dataset) dimer 219개에 RowanSci optimizer benchmark의 등록 약물 25개를 더해 만들었고, validation 465개 구조는 SPICE 2.0.1에서 골랐다. 공식 GitHub 저장소 README 기준으로 main branch에는 고정된 세 optimizer(AutoSella-F, A, G), Sella 2.5.0 reference wrapper, 분자 준비 pipeline, 예제가 있고, autoresearch harness와 모델별 실행 기록, xTB와 DFT 평가는 별도 branch에 있다.
  • 결과: GFN2-xTB의 네 held-out 세트에서 AutoSella-F는 분자당 평균 힘 계산을 Sella의 39.86%에서 73.25% 수준으로 줄이면서 평균 에너지 회복은 네 세트 모두 Sella보다 높았고, AutoSella-A는 앞의 세 세트에서 78.14%에서 92.57%였지만 Solvated PubChem에서는 118.77%로 늘고 평균 에너지 회복도 낮았다. 평가에만 쓴 r2SCAN-3c DFT에서 AutoSella-F는 Sella보다 분자당 약 23%에서 60% 적은 힘 계산을 쓰면서 평균 에너지 회복이 더 높았고, Solvated PubChem에서는 분자당 평균으로 Sella 힘 계산의 40.24%를 쓰면서 평균 에너지 회복이 1.27% 더 높았다. 66시간 동안 Fable은 평가한 후보 108개 가운데 37개를, Astra는 672개 가운데 29개를 받아들였고, 부록의 Grok 4.6 실행이 만든 AutoSella-G는 training 비용을 97.79%까지 줄였다.
  • 한계: 두 gate는 평균 에너지 회복, 힘 계산 비용, 평가 오류로 판정하고, 부록 E에서 GFN2-xTB로 따로 비교한 구조에서 AutoSella-F가 Sella와 같은 local minimum에 닿은 비율은 Test 97.2%, Dipeptides 93.2%, 아미노산과 ligand 쌍 39.8%, Solvated PubChem 1.0%였다. 저자들은 다른 끝점이 평균적으로 Sella보다 낮은 에너지에 있다고 밝혔지만, GFN2-xTB에서 AutoSella-F는 아미노산과 ligand 쌍의 18.74%, Solvated PubChem의 38.00%에서 Sella보다 1.0 kcal/mol 넘게 높은 에너지로 끝났다. AutoSella-A는 Solvated PubChem에서 DFT로도 Sella 힘 계산의 109.06%를 쓰고 평균 에너지 회복이 낮았으며, Grok 4.6의 AutoSella-G는 분자 사이 상호작용 세트에서 크게 나빠 DFT 평가에서 빠졌다.

논문 링크

외부 연구를 정리한 자료입니다. HDATF가 발표한 논문이나 제품 성능을 측정한 결과는 아닙니다.

원문 보기 (새 탭에서 열림)