핵심 요약
- 작은 4B 크기의 언어 모델을 강화학습시켜 PostgreSQL의 기본 쿼리 플래너보다 빠른 실행 계획을 생성하도록 훈련했습니다.
- 조인 순서 결정이라는 NP-난해 문제를 쿼리 실행 시간 보상 기반의 강화학습으로 풀어내며 최대 81%의 성능 개선을 달성했습니다.
- 처음에는 113개 쿼리 중 99개를 실패하던 소형 모델이 훈련 후 기본 옵티마이저 대비 평균 44.7% 지연 시간을 단축했습니다.
요약 PostgreSQL의 기본 쿼리 옵티마이저보다 최대 81% 더 빠른 실행 계획을 세우는 4B 규모의 경량 오픈소스 AI 모델 훈련 실험이 개발자 커뮤니티에서 주목받고 있습니다.
데이터베이스에서 테이블 간 조인 순서를 정하는 '조인 최적화'는 컴퓨터 과학계에서 대표적인 NP-난해(NP-hard) 문제로 알려져 있으며, 기존의 휴리스틱 기반 옵티마이저들은 복잡한 쿼리에서 여전히 최적의 경로를 찾지 못하는 한계를 보였습니다. 하지만 쿼리가 얼마나 빨리 실행되는지는 단일 지표(실행 시간)로 명확하고 쉽게 검증할 수 있다는 점에서 강화학습(RL)을 적용하기에 이상적인 환경이었습니다.
작성자는 지도학습 미세조정(SFT)과 강화학습 알고리즘인 GRPO의 커스텀 변형을 활용하여 Qwen 모델을 학습시켰습니다. 쿼리당 4번의 롤아웃을 생성해 Postgres에서 직접 실행 시간을 측정한 뒤 보상을 부여하는 방식을 적용했습니다. 또한 대여한 2x H100 노드(vLLM 및 트레이너)와 책상 위에서 실행한 4개의 Postgres 컨테이너를 연동하고, 리눅스 페이지 캐시 경합 노이즈를 줄이는 측정 환경을 구축했습니다.
그 결과, 처음에는 113개 조인 쿼리 중 99개에 대해 유효한 실행 계획조차 생성하지 못했던 4B 모델이 훈련 후 Postgres 기본 계획 대비 평균 44.7% 지연 시간을 단축했으며, 특정 쿼리에서는 최대 81% 더 빠른 실행 계획을 뽑아내는 성과를 거두었습니다.
Sponsored · 광고