AI에이전트 3분 소요

AI에게 연구를 통째로 맡겼더니 커널이 232배 빨라졌습니다

“AI가 코드를 짠다"는 이야기는 이제 새롭지 않습니다. 그런데 요즘 개발자 커뮤니티에 도는 이야기는 결이 좀 다릅니다. 코딩 에이전트를 밤새 돌려놨더니 GPU 커널이 232배 빨라졌다는 겁니다. 사람이 시킨 건 “이 커널 빠르게 만들어” 한 줄이 전부였고요.

먼저 하나 털어놓겠습니다. 이 주제로 최근 30일치 커뮤니티 데이터를 훑어봤는데 정작 검증할 만한 토론 스레드는 거의 안 잡혔습니다. 그래서 오늘은 “커뮤니티가 이렇게 반응했다"를 중계하기보다, 이런 종류의 주장을 만났을 때 어떻게 읽어야 하는지를 이야기해보려 합니다. 숫자보다 그 숫자가 만들어진 방식이 훨씬 재미있거든요.

자동 연구 루프가 뭐길래

기존 AI 코딩은 대체로 한 방향입니다. 사람이 요청하면 모델이 코드를 뱉고, 사람이 확인합니다. 자동 연구 루프는 여기서 사람을 빼버립니다.

에이전트가 코드를 고치고 컴파일하고 벤치마크를 돌립니다. 결과 숫자를 읽고 다음 수정안을 만듭니다. 사람 개입 없이 수백 번, 수천 번 반복합니다. 관건은 측정 가능한 목표가 있느냐입니다. 커널 실행 시간은 밀리초 단위로 딱 떨어지니까요.

GPU 커널 최적화가 이 방식에 유독 잘 맞는 이유가 여기 있습니다. “좋은 코드"는 정의하기 어렵지만 “빠른 커널"은 정의가 분명합니다. 채점할 수 있으면 기계는 얼마든지 시도합니다.

232배라는 숫자를 해부해보면

여기서부터가 중요합니다. 배수는 언제나 분모가 결정합니다.

커널 최적화에서 232배가 나오는 길은 크게 세 갈래입니다. 하나는 기준선이 순진한 구현인 경우. 파이썬 루프나 최적화 안 된 참조 코드를 기준으로 삼으면 열 배, 백 배는 쉽게 나옵니다. 또 하나는 알고리즘 자체가 바뀐 경우입니다. 메모리 접근 패턴을 바꾸거나 연산 순서를 재배치하면 자릿수가 실제로 달라집니다. 나머지 하나는 벤치마크가 새는 경우고요. 결과를 안 쓰면 컴파일러가 계산을 통째로 날려버리고, 테스트 입력이 캐시에 다 들어가버리기도 합니다.

앞의 둘은 진짜 성과입니다. 세 번째는 착시고요. 문제는 발표 자료만 봐서는 셋을 구분할 수 없다는 데 있습니다.

경험 많은 커널 엔지니어들이 이런 수치에 시큰둥한 이유도 같습니다. 이미 잘 튜닝된 cuBLAS나 CUTLASS 대비 2배를 냈다면 그건 논문감입니다. 반면 교과서 예제 코드 대비 232배는 “최적화가 원래 그만큼 효과가 크다"는 이야기에 가깝습니다.

그런데도 이게 의미 있는 이유

숫자를 깎아내렸으니 반대편 이야기도 해야 공평하겠죠.

에이전트가 정말 새로운 알고리즘을 발명했는지는 둘째 치고, 이 방식이 바꾸는 건 탐색 비용입니다. 커널 튜닝은 원래 지루한 노동입니다. 타일 크기 바꿔보고, 언롤 횟수 조정하고, 공유 메모리 배치를 이리저리 옮겨보고. 이걸 계속 반복합니다. 사람이 하면 하루 스무 번 시도가 한계입니다. 에이전트는 밤새 이천 번을 돌립니다.

그러니까 이건 “AI가 천재적 통찰을 얻었다"가 아니라 “무식하게 많이 시도할 수 있게 됐다"에 가깝습니다. 그런데 최적화라는 분야에서는 후자가 종종 전자를 이깁니다. AlphaGo가 그랬듯이요.

하나 더. 검증 가능한 도메인이라면 이 루프는 그대로 복제됩니다. 컴파일러 패스, 쿼리 플래너, 정렬 알고리즘, 수치 해석 커널. 성능을 숫자로 잴 수 있는 곳이라면 전부 후보입니다.

그래서 뭘 확인해야 하나

이런 주장을 만났을 때 던질 질문은 단순합니다.

기준선이 무엇인가. 순진한 구현인가, 업계 표준 라이브러리인가. 결과가 정확한가. 빨라진 커널이 원래 커널과 같은 값을 뱉는지 검증했는가. 측정이 정직한가. 워밍업은 했는지, 결과값을 실제로 소비하는지, 입력 크기는 현실적인지. 재현 가능한가. 코드와 벤치마크 스크립트가 공개돼 있는가.

네 가지가 다 충족되면 232배는 진짜입니다. 하나라도 빠지면 판단을 미뤄야 합니다. 그리고 화제가 된 수치는 대개 이 중 최소 한 가지를 흐릿하게 남겨둡니다.

밤새 돌려보기 전에

자동 연구 루프 자체는 실체가 있습니다. 다만 지금 나오는 숫자는 “AI가 얼마나 똑똑해졌나"보다 “우리가 그동안 얼마나 많은 최적화를 안 하고 살았나"를 보여주는 쪽에 가깝습니다. 둘 다 흥미롭지만 의미는 전혀 다르죠.

여러분 코드베이스에도 232배까지는 아니어도 아무도 손 안 댄 느린 구간이 하나쯤 있을 겁니다. 에이전트를 밤새 돌려보시겠습니까? 그전에 벤치마크부터 제대로 짜셔야 하겠지만요.

AI에이전트 GPU 커널최적화 자동화연구 벤치마크

댓글

    댓글을 불러오는 중...