An Ocean Model Ported by a Large Language Model: Experience and Lessons from FESOM2 (Fortran to C to C++/Kokkos)

이 논문은 도메인 전문가의 지도를 받아 엄격한 2단계 번역 및 철저한 검증 과정을 거친 에이전트형 대규모 언어 모델이, 물리 법칙을 보존하면서 GPU에서의 상당한 성능 향상을 달성하며 74,000라인의 Fortran FESOM2 해양 모델을 C++/Kokkos로 성공적으로 이식했음을 입증한다.

원저자: Nikolay V. Koldunov, Suvarchal K. Cheedela, Sergey Danilov, Dmitry Sidorenko, Sebastian Beyer, Thomas Jung

게시일 2026-06-11
📖 4 분 읽기☕ 가벼운 읽기

원저자: Nikolay V. Koldunov, Suvarchal K. Cheedela, Sergey Danilov, Dmitry Sidorenko, Sebastian Beyer, Thomas Jung

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 아주 거대하고, 믿을 수 없을 정도로 복잡하며, 매우 성공적인 5성급 요리 레시 recipe를 가지고 있다고 상상해 보십시오. 이 레시피는 아주 오래되고 특수한 언어(이것을 "포트란(Fortran)"이라고 부릅시다)로 작성되어 있으며, 오직 몇 명의 마스터 셰프들만이 이해할 수 있습니다. 이 레시피는 수십 년 동안 테스트되었고, 모두가 그것이 완벽하게 작동한다는 것을 알고 있습니다. 하지만 주방이 변하고 있습니다: 새로운 오븐(강력한 GPU를 탑재한 현대적인 슈퍼컴퓨터)은 더 이상 "포트란"어를 구사하지 못합니다. 그들은 "C++"어를 구사합니다.

문제는 이 74,000줄짜리 레시피를 옛날 언어에서 새로운 언어로 번역하는 것이, 마치 소설을 번역하는 동시에 그 소설이 쓰인 집을 재건축하는 것과 같다는 점입니다. 만약 수학 계산에서 단 하나의 작은 실수라도 저지른다면, 요리는 독이 될 수도 있고 주방에 불이 날 수도 있습니다. 보통, 이 작업은 인간 전문가 팀이 수행하는 데 수년이 걸립니다.

이 논문은 다음과 같은 실험을 설명합니다: AI(거대 언어 모델)가 우리를 대신해 이 번역 작업을 수행할 수 있을까요? 그리고 그 과정에서 레시피를 망가뜨리지 않을 수 있을까요?

이들은 쉬운 비유를 사용하여 이 과정을 설명했습니다.

1. 2단계 번역 전략

AI에게 "옛날 언어"에서 곧바로 "새로운 고속 언어"로 건너뛰라고 요구하는 대신, 팀은 AI가 우회하도록 강제했습니다.

  • 1단계: "깨끗한 복사본" (Fortran → C): 먼저, 그들은 AI에게 레시피를 "C"라는 더 단순하고 중간 단계인 언어로 번역하도록 요청했습니다.

    • 규칙: AI는 레시피를 "개선"하는 것이 엄격히 금지되었습니다. 더 "나은" 재료로 바꾸거나 더 효율적으로 만들기 위해 조리 시간을 변경해서는 안 되었습니다. AI는 반드시 글자 그대로의 직역본을 만들어야 했습니다.
    • 목표: 풍미(물리학)가 정확히 그대로 유지되도록 하는 것이었습니다. 그들은 이 새로운 "C" 버전으로 5년의 시뮬레이션 시간을 실행했습니다. 그것은 원래의 "포트란" 버전과 맛이 동일했으며, 차이는 바다의 소금 한 알 정도처럼 극히 미미했습니다.
  • 2단계: "속도 업그레이드" (C → C++/Kokkos): "C" 버전이 완벽하다는 것이 증명된 후, 그들은 AI에게 그 버전을 초고속 GPU 오븐에서 실행되도록 설계된 현대적인 "C++" 언어로 번서하도록 요청했습니다.

    • 안전망: "C" 버전이 이미 완벽했기 때문에, 이제 AI는 속도에 집중할 수 있었습니다. 그들은 새로운 "C++" 버전이 표준 컴퓨터에서 "C" 버전과 정확히 동일한 숫자를 생성하는지 확인하기 위해 모든 조리 단계를 검사했습니다.

2. "쌍둥이" 체크 시스템

AI가 실수로 실수를 끼워 넣지 않았다는 것을 어떻게 알았을까요? 그들은 "쌍둥이" 시스템을 사용했습니다.

마스터 셰프(원본 코드)와 학생 셰프(새로운 코드)가 있다고 상상해 보십시오. 학생 셰프가 양파를 썰 때마다, 그는 즉시 마스터 셰프에게 그 결과를 보여주어야 합니다.

  • "쌍둥이" 테스트: 모든 조리 단계마다, 컴퓨터는 새 코드와 옛 코드를 나란히 실행합니다. 만약 숫자가 아주 미세하게라도 다르면, 시스템은 "정지!"라고 외치며 AI에게 "이 특정 단계에서 실수했다"라고 알려줍니다.
  • "오래된 헤일로(Stale Halo)" 함정: AI가 저지른 흔한 실수 중 하나는 데이터의 가장자리(예를 들어, 칼질 사이에 도마를 씻는 것을 잊는 것과 같은 상황)를 업데이트하는 것을 잊는 것이었습니다. 팀은 이러한 보이지 않는 오류를 잡아내기 위해 특정 가장자리를 특별히 점검하는 "프로브(탐침)"를 구축했습니다.

3. 결과: 속도와 정확도

실험은 성공적이었습니다. 결과는 다음과 같습니다:

  • 정확도: 새로운 코드는 과학적으로 신뢰할 수 있습니다. 5년간의 시뮬레이션 동안, 새로운 버전의 해수 온도와 염도는 원래 버전과 구별할 수 없을 정도로 거의 동일했습니다. 새로운 초고속 GPU 상에서 결과는 "통계적으로 근접"했습니다. 즉, 미세한 차이는 물리학이 틀려서가 아니라 컴퓨터가 수학을 처리하는 방식 때문에 발생한 것이었습니다.
  • 속도: 새로운 코드는 현대적인 GPU(예: NVIDIA A100)에서 실행되며, 기존 코드가 표준 CPU에서 실행될 때보다 1.6배에서 3.7배 더 빠릅니다.
  • 이식성: 가장 좋은 점은 무엇일까요? 그들은 코드를 한 번 작성했고, 그것은 재작성할 필요 없이 다양한 유형의 슈퍼컴퓨터(NVIDIA, AMD 등)에서 실행됩니다. 이는 어떤 콘센트에도 맞는 유니버설 어댑터와 같습니다.

4. 무엇이 잘못되었나 (그리고 어떻게 해결했나)

AI는 완벽하지 않습니다. AI는 무언가를 단순화함으로써 "도움을 주려고" 했고, 이는 거의 물리학을 망가뜨릴 뻔했습니다.

  • "단순화"의 함정: AI는 숫자를 반올림하거나 상수 값을 변경하려고 했습니다. 왜냐하면 그렇게 하는 것이 더 "깔끔해" 보였기 때문입니다. 팀은 이를 엄격히 금지해야 했습니다. 그들은 AI에게 이렇게 말했습니다: "만약 원본이 0.1이라고 하면, 너는 0.1이라고 써라. 추측하지 마라."
  • "주석"의 함정: AI는 가끔 코드 내의 주석을 읽고 "값은 5이다"라고 되어 있는데 실제 코드는 "값은 10이다"라고 되어 있는 경우를 발견했습니다. AI는 주석을 믿었습니다. 팀은 AI가 매번 실제 코드 줄을 확인하도록 강제함으로써 이 문제를 해결했습니다.

결론

이 논문은 적절한 규칙과 엄격한 "안전 사다리" 형태의 점검이 있다면, AI가 거대하고 복잡한 과학 모델을 오래된 언어에서 새로운 초고속 언어로 단 몇 주 만에 번역할 수 있음을 입증합니다.

AI는 단순히 코드를 복사한 것이 아닙니다. 그것은 과학을 보존했습니다. 해양 모델은 여전히 실제 해양과 똑같이 작동하지만, 이제는 세계에서 가장 강력한 컴퓨터에서 미래의 기후를 예측할 수 있을 만큼 빠르게 실행됩니다. 핵심은 단지 AI가 아니라, 엄격한 규칙, 직역, 그리고 끊임없는 점검을 통해 AI를 이끈 인간의 절제력이었습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →