쿼리마다 대규모 언어 모델(LLM)이 GPU용 코드를 새로 합성하게 하는 방식이 손으로 튜닝한 GPU 데이터베이스 엔진을 크게 앞섰다는 연구가 나왔다. 연구진은 GPU 기반 데이터베이스 엔진이 하드웨어의 최고 성능을 끌어내려면 상당한 연구와 엔지니어링 노력이 든다고 지적하며, 대안을 제시했다. 관련 논문은 동료심사 전 arXiv에 공개된 사전공개본으로, 저자는 이반 돈체프 카바지코프 등이다.
핵심 발상은 쿼리 처리를 사람이 만드는 것이 아니라 합성한다는 것이다. 범용 엔진을 두루 쓰이도록 튜닝하는 대신, 하나의 쿼리와 데이터셋, 특정 기계에 맞춰 LLM이 코드를 만들어 내는 접근이다. 연구진은 이 방식이 지금까지 CPU에서만 시험됐다는 점에 주목해, GPU로 확장하며 세 가지 물음을 던졌다. 합성된 GPU 코드가 얼마나 좋은지, 왜 손으로 만든 시스템을 앞서는지, 그리고 그 이점 가운데 얼마만큼을 이식 가능한 엔진에 담을 수 있는지다.
이를 위해 연구진은 SHADB라는 LLM 기반 합성 틀을 선보였다. 프로파일 정보를 활용한 자동 최적화 반복 과정을 통해 CUDA나 HIP 커널을 만들어 내는 구조다. 실험 결과 합성된 코드는 메모리 대역폭 한계에 근접했으며, SSB SF100 벤치마크에서 JIT 컴파일 방식의 GPU 엔진 HeavyDB를 7.4배 앞섰다고 연구진은 밝혔다.
연구진은 여기서 발견된 최적화를 폭넓게 적용 가능한 것과 특정 작업 부하에만 해당하는 것으로 나눴다. 그런 다음 일반화 가능한 최적화들을 SYCLDB에 적용했다. SYCLDB는 개방형 SYCL 프로그래밍 모델만으로 작성돼 하드웨어 사이를 넘나들 수 있는 성능 이식형 엔진이다. 그 결과 최적화된 SYCLDB는 합성된 코드와의 전체 실행 시간 차이를 1.27배 이내로 좁히면서도, 범용성과 여러 하드웨어에 걸친 이식성을 유지했다. 특정 상황에 맞춘 극한의 성능과 어디서나 쓸 수 있는 이식성 사이의 간극을 좁히려는 시도인 셈이다. 원문 초록 보기














