AI 요약
기존의 코딩 에이전트가 주어진 소스 코드 내에서만 해결책을 찾으려 했던 것과 달리, 이번 연구는 에이전트에게 관련 논문을 읽고 경쟁 프로젝트(fork)를 연구하는 '문헌 조사 단계'를 추가했습니다. 이 접근 방식을 llama.cpp 프로젝트에 적용한 결과, 에이전트는 CUDA나 Metal 백엔드에는 존재하지만 CPU 버전에는 누락된 연산자 결합(operator fusion) 기법을 발견해냈습니다. 4개의 클라우드 VM을 활용해 약 3시간 동안 30개 이상의 실험을 자율적으로 수행했으며, 최종적으로 5개의 최적화 코드를 프로젝트에 반영하는 데 성공했습니다. 이는 에이전트가 단순히 코드를 수정하는 수준을 넘어, 도메인 지식을 학습하고 외부 리소스를 활용할 때 숙련된 엔지니어에 가까운 성능을 낼 수 있음을 시사합니다.
핵심 인사이트
- 성능 향상 수치: TinyLlama 1.1B 모델을 활용한 Flash Attention 텍스트 생성 테스트에서 x86 프로세서는 15%, ARM 프로세서는 5%의 속도 향상을 달성했습니다.
- 비용 및 효율성: 총 3시간의 실험 동안 클라우드 VM 비용 20달러와 API 호출 비용 9달러를 포함해 단 29달러의 저렴한 비용이 소요되었습니다.
- 조사 소스의 중요성: 단순히 arxiv 논문을 검색하는 것보다 'ik_llama.cpp'와 같은 타 개발자의 포크 프로젝트나 CUDA 백엔드 소스를 연구하는 것이 실질적인 최적화 아이디어 도출에 더 효과적이었습니다.
주요 디테일
- 최종 반영된 5가지 최적화: Softmax fusion, RMS norm fusion, Adaptive from_float parallelization, Graph-level RMS_NORM + MUL fusion, Flash attention KQ fusion이 실제 코드로 구현되었습니다.
- 가장 큰 기술적 성과: Flash Attention의 QK 타일에 대한 세 번의 패스를 단일 AVX2 FMA 루프로 결합하여 성능을 극대화했습니다.
- 비교 사례: 이전에 Shopify CEO인 Tobi Lütke가 Liquid 템플릿 엔진에 유사한 루프를 적용했을 때는 93개의 커밋을 통해 렌더링 시간을 53%, 할당량을 61% 줄인 사례가 언급되었습니다.
- 실험 규모: 3시간 동안 30회 이상의 실험을 자율적으로 수행했으며, 이 과정에서 벤치마크 버그나 클라우드 VM의 노이즈 문제를 해결하며 코드를 검증했습니다.
- 한계 극복: 소스 코드만으로는 알 수 없는 '왜 느린지' 혹은 '어떤 대안이 있는지'에 대한 답을 외부 문헌 조사를 통해 찾아냈습니다.
향후 전망
- 엔지니어링 에이전트의 진화: 단순 자동 완성이나 리팩토링을 넘어 고도의 도메인 지식이 필요한 성능 최적화 영역까지 AI 에이전트의 역할이 확대될 것입니다.
- 자율 연구 루프 보편화: 모든 오픈소스 프로젝트에 벤치마크와 테스트 세트만 있다면 AI가 스스로 성능을 개선하는 autoresearch 루프 적용이 가능해질 전망입니다.
출처:hackernews
