수치 해석 솔버 실패 원인을 진단해 재사용 스킬로 바꾸는 ADSD

Training Numerical Intelligence via Auto-Diagnosis and Skill Discovery

HF Daily2610.03872

Peter Chen, Wotao Yin2026-10-02

무엇인가

LLM은 과학 코드를 생성하는 능력이 빠르게 늘고 있지만, 코드를 생성하는 것과 그 뒤의 알고리즘을 개선하는 것은 다르다. 수치 솔버는 에러 없이 실행되고 그럴듯한 출력을 내면서도 불필요하게 느리거나, ill-conditioning·stiffness·반복적인 행렬 분해 같은 수치적 문제 때문에 어려운 인스턴스에서 실패한다. 실행 피드백은 성능이 나쁘다는 사실은 드러내지만 그 원인과 대응법은 거의 알려주지 않는다. 기존 과학 에이전트들은 실행 트레이스로 코드를 고치거나 문헌을 검색하는 기능을 각각 갖췄을 뿐 서로 연결하지 못했고, 실행 피드백은 시행착오 편집으로, 문헌 검색은 넓은 키워드 의존으로 흐르기 쉬웠다. 게다가 수치 계산에서는 같은 증상이 서로 다른 원인에서 발생하기 때문에, 먼저 병리를 진단하고 그 진단에 맞는 메커니즘과 가정을 가진 방법을 골라야 한다.

어떻게 동작하나

이 논문이 제안하는 ADSD(Auto-Diagnosis and Skill Discovery)는 현재 워크플로가 뒤섞어 놓은 세 단계를 명시적으로 분리한다. 관찰 가능한 행동(잔차 이력, 수렴 로그 같은 런타임 증거), 진단 지식(증상과 기저 수치 조건 사이에 검증 가능한 연결을 만드는 해석), 실행 가능한 솔버 지식(진단을 올바르게 구현해 솔버에 바로 통합할 수 있게 패키징한 구체적 알고리즘)이다. 파이프라인은 솔버 행동을 진단해 검증된 수치 조건을 얻고, 그 조건에 맞는 과학 지식을 검색해 실행 가능한 솔버 스킬로 구현하는 순서를 따른다. 모델 가중치는 업데이트하지 않는다.

무엇과 다른가

자동 진단은 세 단계로 구성된다. 먼저 에이전트가 가진 지식만으로 기준 솔버 N0를 만들고 공개 테스트케이스에서 실행·디버깅한 뒤, N0를 동결하고 모든 공개 케이스에서 정량적 궤적과 요약 통계를 기록한다. 이때 기성 솔버(off-the-shelf solver) 접근은 전 과정에서 금지된다. 다음으로 논문의 메타데이터·초록·서론·결론이 담긴 미리보기로 스크리닝한 뒤 전문을 읽고, 증상과 조건의 관계를 정확한 근거와 함께 진단 주장으로 기록하고, 같은 진단 계산을 공유하는 주장들을 진단 스킬로 묶는다. 마지막으로 공개 관찰을 겹치지 않는 진단 라운드와 검증 풀로 나눈다. 예를 들어 IEEE-118에서는 공개 관찰 5,000개를 200개씩 5개 라운드(총 1,000개 진단 케이스)와 4,000개 검증 케이스로 분할한다. 각 라운드에서 나온 가설은 지지·반증 기준을 명시한 결정적 검출기로 변환되고, 검증 풀의 90% 이상을 통과한 가설만 검증 집합에 들어가 공통 병(illness)으로 표시되며 나머지는 폐기된다. 살아남은 가설은 스킬 발견을 위한 표적 검색 지침이 된다.

어떻게 쓰나

스킬 발견은 네 단계다. 가설에 맞는 논문을 스크리닝하고, 논문의 주장·가정·N0와의 호환성을 별도의 이론 감사로 재확인하고, 통과한 방법을 실제 코드로 구현해 주장된 결과가 재현되는지 경험적으로 평가하고, 마지막으로 실행 구현·사용 지침·주장 문서를 담은 동결된 솔버 스킬로 패키징한다. 개선된 솔버를 만들 때는 원래 N0와 스킬 패킷을 같은 모델, 같은 추론 예산, 같은 런타임, N0 생성 때와 동일한 프롬프트로 에이전트에 주고 통합하게 한다.

전제와 한계

실험은 전력 조류 방정식(PFΔ, IEEE·GOC 계열), AC 최적 조류 제어(OPFData, IEEE-57), 경직 상미분방정식(시스템 생물학 모델 111개 패밀리), 이종 확산 타원형 PDE(ConDiff 128×128) 네 영역에서 이뤄졌다. 베이스라인은 GPT-5.5, Claude-Sonnet-5, Qwen3.8-2.4T다. 전력 조류에서 IEEE-118은 공개 5,000개·숨은 검증 10,000개, N2 토폴로지와 실행 가능(F) 영역을 사용했고, GOC-500에서는 Qwen3.8 기준 평균 솔버 오차를 약 71배 줄이면서 속도는 비슷하게 유지했다. N2에서만 배운 스킬이 N1·N 전체 토폴로지로, 실행 가능 케이스에서만 배운 스킬이 전압 안정도 경계에 가까운 준불가능(IF) 케이스로 전이되는지도 확인했다. AC-OPF는 IEEE-57의 30만 케이스에서 최대 부하ability 근처의 7,000개 엣지 케이스(학습 2,000·숨은 평가 5,000)를 골라, 평균 절대 상대 목적함수 오차와 런타임, 통과율로 평가했으며 케이스 스터디에서 Qwen 베이스라인의 통과율 84% 개선이 언급된다. ODE는 39개 학습·72개 평가 패밀리, 최대 77개 상태변수×101개 시점(101×77 궤적 행렬), 허용 오차 1e-4, Python과 NumPy만으로 통합기를 구현하는 조건이었다. PDE는 12개 계수 구성에 대해 12,000개 학습·2,400개 평가(구성당 200개), 16,384개 미지수를 풀며, 프로세스를 새로 띄운 3회 반복에서 모두 성공해야 통과로 인정하고 ℓ2·ℓ∞ 상대 오차를 보고한다. 다만 표 1~4에 담긴 도메인별 구체 수치는 제공된 본문에 제시되지 않아 정량 비교는 71배, 84%, 90%, 1e-4 같은 본문에 명시된 값으로 제한된다.

ADSD 자체의 기여를 분리하는 절제 실험도 있다. ADSD 파이프라인을 제거하고 진단 가설이나 발견된 스킬 없이 동결된 N0를 직접 개선하게 하면, 오차가 줄어든 비교가 4개, 오히려 늘어난 비교가 5개로 일관성이 없었다. 반면 ADSD는 모든 설정에서 오차를 크게 낮췄다. 직접 자기개선을 5회 반복으로 늘려도 지속적인 오차 감소는 나타나지 않았고, GPT 베이스라인은 처음 악화됐다가 부분적으로 회복한 뒤 원래 N0보다 높은 오차에서 정체했으며 Claude-Sonnet-5는 거의 변하지 않았다. 저자들은 이를 근거로 외부에서 발견한 진단 표적 스킬이 단순히 수정 기회를 더 주는 것과는 다른 기여를 한다고 주장한다.

실무 관점에서 이 논문은 수치 솔버가 에러 없이 도는데도 느리거나 특정 입력에서 실패할 때 쓸 수 있는 자동화 골격을 제시한다. 실행 로그를 증상으로 삼아 진단하고, 진단에 맞는 문헌 방법을 찾아 검증한 뒤, 재사용 가능한 스킬로 패키징해 다음 솔버 생성에 재투입하는 루프다. 다만 기성 솔버 사용을 금지한 설정에서 얻은 결과라는 점을 감안해야 한다. 이미 성숙한 수치 라이브러리를 쓰는 프로덕션 환경에서는 개선 여지가 다를 수 있다. 저자들도 전압 안정도 경계에 가까운 준불가능 케이스는 기저 제약을 만족해야 하므로 개선 여지가 구조적으로 제한적이라고 밝히고 있으며, 학습된 스킬이 완전히 새로운 문제 클래스로도 전이되는지는 네 개 도메인 안에서의 토폴로지·실행가능성 전이로만 확인했다.