Kernel Forge: An Agent Harness for LLM-based Generation and Optimization of CUDA Kernels
Kernel Forge는 대규모 언어 모델(LLM)과 몬테카를로 트리 탐색(MCTS)을 활용하여 다양한 PyTorch 워크로드에 대한 CUDA 커널을 자동으로 생성 및 최적화함으로써 PyTorch eager mode 대비 상당한 속도 향상을 달축성하는 동시에, 검사 및 디버깅을 위한 그래픽 인터페이스를 제공하는 오픈 소스 엔드 투 엔드 에이전틱 하네스입니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 컴퓨터로 비디오 게임을 실행하려고 한다고 상상해 보세요. 때때로 게임은 매끄럽게 돌아가지만, 어떤 때는 끊기거나 랙(lag)이 발생합니다. 이는 컴퓨터가 그림을 그리고 물리 법칙을 처리하기 위해 매초 수백만 번의 아주 작은 수학 계산을 수행해야 하기 때문입니다. 인공지(AI)의 세계에서 이러한 계산은 훨씬 더 강렬합니다. AI가 "생각"하게 만들기 위해서는 **커널(kernel)**이라고 불리는 특별하고 고속인 명령어에 의존합니다. 커널을 요리사가 채소를 다듬을 때 사용하는 특정한, 매우 효율적인 레시피라고 생각해 보세요. 만약 요리사가 무딘 칼과 느린 방법을 사용한다면 저녁 식사는 늦어질 것입니다. 반대로 날카롭고 전문화된 칼을 사용한다면 음식은 즉시 준비될 것입니다.
수년 동안 이러한 "레시レシピ"를 쓰는 것은 마치 겨우 익힌 언어로 소설을 쓰는 것과 같았습니다. 컴퓨터 칩(GPU)이 더 빠르게 작동하도록 복잡한 명령어를 직접 코딩하려면 고도로 숙련된 전문가가 필요했습니다. 하지만 이제 우리에게는 새로운 종류의 조력자가 있습니다: **대규모 언어 모델(LLM)**입니다. 여러분도 이야기나 수학 문제를 풀 수 있는 똑똑한 챗봇으로 알고 계실 것입니다. 과학자들은 이제 이 챗봇들에게 "레시피(커널)"를 작성하도록 가르쳐서, 인간보다 더 빠르고 더 잘 수행할 수 있기를 기대하며 AI를 최적화하고 있습니다. 하지만 함정이 하나 있습니다. 챗-봇이 서류상으로는 좋아 보이는 레시피를 썼다고 해서, 그것이 실제 주방에서 실제로 음식을 더 빨리 요리할 수 있다는 뜻은 아니라는 점입니다.
이 지점에서 **커널 포지(Kernel Forge)**라는 새로운 프로젝트가 등장합니다. 미시간 대학교의 연구진은 단순히 챗봇에게 코드를 써달라고 요청하는 것을 넘어, 풀타임 코치이자 품질 검사관, 그리고 프로젝트 매니저 역할을 모두 수행하는 스마트한 시스템을 구축했습니다. 그들은 AI가 단순히 가짜로 만든 테스트 케이스가 아니라, 실제 세계의 AI 모델을 위해 이 레시피들을 최적화하는 업무를 실제로 맡을 수 있는지 확인하고 싶었습니다.
문제점: "고립된" 함정
당신이 로봇에게 달리기를 훈련시킨다고 상상해 보세요. 만약 당신이 로봇을 완벽하게 평평하고 텅 빈 트랙에서만 테스트한다면, 그 로봇은 세계적인 단거리 선수가 될 수 있을 것입니다. 하지만 그 로봇을 울퉁불퉁하고 붐비는 도시 거리로 데려가는 순간, 로봇은 발이 걸려 넘어질 수 있습니다. 이것이 바로 이전의 AI 기반 GPU 커널 작성 시도들에서 일어났던 일입니다. 기존 도구들은 무작위로 만들어진 수학 문제를 텅 빈 트랙에 던져주는 방식으로 AI를 테스트했습니다. 그들은 코드를 생성하고, 격리된 상태에서 테스트한 뒤, "보세요, 얼마나 빠른지!"라고 말하곤 했습니다.
하지만 현실 세계에서 AI 모델은 바쁜 도시와 같습니다. "레시피(커널)"는 특정 형태의 데이터, 특정 양의 메모리와 함께 작동해야 하며, 바로 옆에 있는 다른 레시피들과 잘 어울려야 합니다. 무작위 테스트에서는 빨랐을지 모르는 레시피가 이미지를 생성하거나 당신과 대화하는 실제 AI 모델 내부에서 사용될 때는 느려지거나 심지어 고장이 날 수도 있습니다. 이전의 도구들은 이러한 새로운 AI 작성 레시피를 복잡한 기계 속에 어떻게 다시 끼워 넣을지를 결정하는 일을 인간 개발자들에게 떠넘겼으며, 이는 매우 지루하고 오류가 발생하기 쉬운 작업이었습니다.
해결책: 커널 포지 (Kernel Forge)
연구진은 AI 작성자와 실제 세계 사이의 가교 역할을 하는 오픈 소스 도구인 커널 포지를 만들었습니다. 커널 포지는 단순히 AI에게 코드를 추측하라고 요구하는 대신, 먼저 컴퓨터에서 실행되는 실제 AI 모델(예: 얼굴을 인식하거나 이야기를 쓰는 모델)을 관찰합니다. 이 시스템은 어떤 "레시피"가 사용되고 있는지, 데이터의 크기는 얼마인지, 그리고 실행하는 데 시간이 얼마나 걸리는지를 정확히 기록합니다.
이러한 실제 세계의 데이터를 확보한 후, 시스템은 이 작업을 AI 에이전트(대규모 언어 모델 기반의 스마트 봇)에게 넘깁니다. 하지만 이것은 단 한 번의 시도로 끝나는 것이 아닙니다. 이 시스템은 **몬테카를로 트리 탐색(Monte Carlo Tree Search)**이라는 영리한 전략을 사용합니다. 탐정이 미스터리를 해결하는 과정을 상상해 보세요. 탐정은 단 하나의 직감만을 따르는 대신, 많은 다양한 경로를 시도합니다. 만약 한 경로가 막다른 길로 이어진다면, 그들은 포기하는 대신 돌아와서 다른 각도로 시도합니다. 마찬가지로, 커널 포지는 단순히 한 가지 버전의 레시피를 쓰고 운에 맡기는 것이 아닙니다. 여러 버전을 생성하고 테스트하며, 만약 하나가 느리다면 그것을 수정하거나 완전히 다른 접근 방식을 시도합니다. 또한 완벽하지 않더라도 유망했던 시도들을 기억하며 모든 시도의 "가계도"를 유지합니다.
결과: 속도의 승리, 하지만 모든 곳에서 그런 것은 아니다
연구팀은 네 가지 다른 유형의 AI 모델을 대상으로 커널 포지를 테스트했습니다: 이미지 인식용(ResNet-50), 예술 생성용(Stable Diffusion 3.5 Medium), 그리고 채팅 및 추론용 두 가지(Gemma 4 및 Qwen 3.5). 그들은 NVIDIA GB10 GPU가 장착된 강력한 컴퓨터에서 이 테스트를 수행했습니다.
결과는 다음과 같습니다:
- 작동하지만, 까다롭습니다: 이 시스템은 AI의 많은 부분에 대해 새롭고 더 빠른 레시피를 성공적으로 생성했습니다. 어떤 경우에는 AI가 작성한 코드가 컴퓨터가 통상적으로 사용하는 표준 코드보다 현저히 빨랐습니다. 예를 들어, 이미지 생성기에서 "그룹 정규화(group normalization)"를 위한 새로운 코드는 1.70배 더 빨랐습니다. 챗봇 Gemma 4에서는 의사 결정을 위해 사용되는 수학 단계인 "소프트맥스(softmax)" 코드가 무려 2.83배 더 빨랐습니다.
- "가드(Guard)"가 있는 안전망: 이 시스템은 매우 신중합니다. 모든 새로운 레시피를 검사하는 "가드"를 갖추고 있습니다. 만약 새로운 AI 작성 레시피가 더 느리거나 실수를 한다면, 시스템은 즉시 원래의 신뢰할 수 있는 코드로 전환합니다. 사용자가 나쁜 레시피를 강제로 사용하게 하지 않습니다. 즉, AI가 코드를 최적화하려다 실패하더라도 컴퓨터가 충돌하거나 느려지지 않고, 그저 예전의 안전한 방법을 사용할 뿐입니다.
- "거물"들은 이기기 어렵습니다: 연구진은 흥미로운 점을 발견했습니다. AI에서 가장 많은 시간을 차지하는 부분(즉, "거물")은 이미 NVIDIA와 같은 기업의 매우 성숙하고 전문가가 작성한 코드로 처리되는 경우가 많습니다. AI는 이 전문가들을 이기기 어려웠습니다. 예를 들어, 이미지 생성기에서 시간의 50% 이상을 차지하는 "선형(linear)" 연산의 경우, AI가 이를 다시 작성했을 때 오히려 더 느려졌습니다. 시스템은 현명하게도 그 부분에 대해서는 원래의 코드를 그대로 유지하기로 결정했습니다.
- 작은 승리들이 모입니다: 가장 큰 속도 향상은 코드의 작고 덜 중요한 부분에서 나타났습니다. AI가 가장 큰 작업들에 대해 전문가를 이길 수는 없었지만, 작은 작업들을 1.5배에서 2.8배까지 빠르게 만드는 영리한 방법을 찾아냈습니다.
호기심의 비용
연구진은 이 "생각"하는 과정에 비용이 얼마나 드는지도 조사했습니다. 그들은 코드를 생성하기 위해 강력한 AI 모델을 사용했으며, AI가 코드 한 줄을 쓰거나 결과를 확인할 때마다 (API 사용량에 따라) 아주 적은 비용이 발생했습니다. 그들은 AI가 더 많은 변형을 시도하고 수정할수록(최대 50라운드까지) 비용이 증가한다는 것을 발견했습니다. 그러나 추가로 얻은 속도가 추가로 지출된 비용과 항상 일치하는 것은 아니었습니다. 이는 AI가 훌륭한 지름길을 찾을 수는 있지만, 특히 우리가 고치려는 코드 부분이 전체 속도에 그리 중요하지 않은 경우라면 언제 검색을 멈춰야 할지에 대해 영리하게 판단해야 함을 시사합니다.
핵심 요약
커널 포지는 우리가 AI가 다른 AI를 더 빠르게 실행시키는 저수준(low-level) 코드를 작성하는 데 도움을 주는 새로운 시대에 진입하고 있음을 보여줍니다. 이것은 모든 것을 즉시 해결하는 마법 지팡이는 아닙니다. 아직은 가장 큰 작업들에 대해 세계 최고의 인간 전문가를 쉽게 이길 수는 없습니다. 하지만 커밀 포지는 시스템을 안전하고 안정적으로 유지하면서도, 작은 디테일에서 숨겨진 속도 향상을 찾아낼 수 있는 강력한 도구입니다.
연구진은 이 도구를 오픈 소스로 공개하여, 누구나 자신의 AI 모델을 더 빠르게 만들기 위해 사용할 수 있도록 했습니다. 그들은 AI의 창의성과 실제 세계 테스트의 안전성을 결합함으로써, 컴퓨터 과학 박사 학위 없이도 디지털 세계의 엔진을 최적화할 수 있다는 것을 증명했습니다. 이는 우리의 컴퓨터가 단순히 더 똑똑해지는 것을 넘어, 훨씬 더 효율적이 되는 미래를 향한 한 걸음입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.