TL;DR
GPU 커널 생성에서는 후보를 빠르게 만드는 일보다 실제로 더 빠르고 올바른지 확인하는 일이 병목이 됩니다. Proteus는 에이전트가 커널을 제안하면 통제된 기준 구현과 무작위 정확성 테스트로 검증하고, CUDA event·wall clock·CUPTI timer를 교차 사용해 통과한 후보만 다시 측정하는 구조를 갖췄습니다. 또한 과거 실행에서 얻은 지식을 상황과 행동이 짝지어진 짧은 교훈으로 정제해 프롬프트에 넣고, 지나치게 큰 메모리 계층이 토큰을 소모하지 않도록 검색 범위를 제한했습니다. Qwen 3.5 122B의 Gated DeltaNet packed decode 사례에서는 입력 shape별 커널을 분리해 0.018ms의 최저 지연과 최대 1.6배의 shape별 개선을 얻었으며, 개별 커널 기준으로는 vLLM 구현보다 1.8~5.2배 빠른 결과가 나왔습니다.
섹션별 상세




용어 해설
- GPU 커널(GPU Kernel)
- — GPU 커널은 행렬 곱셈이나 상태 갱신처럼 특정 연산을 GPU에서 실행하는 프로그램 단위입니다. 입력 형태에 맞춰 스레드 배치와 메모리 접근을 조정하면 같은 연산도 실행 시간이 달라지며, 이 글에서는 요청별 토큰 수와 모델 구조에 맞춘 특화 커널이 일반 커널보다 높은 효율을 내는 원리를 다룹니다.
- 보상 해킹(Reward Hacking)
- — 보상 해킹은 시스템이 의도한 목표가 아니라 평가 지표의 허점을 이용해 높은 점수를 얻는 현상입니다. GPU 커널 생성에서는 캐시나 컴파일 결과를 재사용하거나 비교 대상에 더 많은 작업을 남겨 실제 성능 향상처럼 보이게 만들 수 있으며, 독립적인 검증과 숨겨진 테스트로 이를 차단해야 합니다.
- 회전 위치 임베딩(RoPE)
- — RoPE는 Transformer의 Attention에서 토큰 위치 정보를 표현하기 위해 쿼리와 키의 벡터 성분을 회전시키는 방식입니다. 이 글의 사례에서는 RoPE 커널이 이전 실행의 컴파일 상태를 재사용하거나 테스트에 노출된 입력 크기에만 맞춰질 수 있어, 공정한 재빌드와 비공개 입력 검사가 필요했습니다.
- CUDA Graph
- — CUDA Graph는 여러 GPU 작업을 하나의 실행 그래프로 기록한 뒤 묶어서 재생하는 기능입니다. 개별 GPU 실행을 매번 호출하는 기준선과 그래프 재생을 사용하는 후보를 직접 비교하면 수행한 작업량이 달라지므로, 커널 성능 측정에서는 양쪽의 실행 절차를 동일하게 맞춰야 합니다.
- Triton
- — Triton은 GPU 커널을 작성하기 위한 프로그래밍 환경으로, 이 글에서는 NVIDIA B200에서 Gated DeltaNet의 packed decode 연산을 생성하는 백엔드로 사용되었습니다. Proteus는 Triton으로 만든 후보를 빌드하고 기준 구현과 결과를 비교한 뒤, 검증을 통과한 커널만 측정하고 다음 세대의 부모 후보로 승격했습니다.
기술
- Proteus
- Qwen 3.5 122B
- vLLM
- Triton
- NVIDIA B200
- CUDA Graph
- CUDA event timer
- wall clock time
- CUPTI timer
활용 사례
- 대규모 언어 모델 추론용 shape 특화 커널
- Gated DeltaNet packed decode
- 요청별 토큰 수에 대응하는 GPU 연산 최적화
- 에이전트 기반 GPU 프로그램 탐색
- 검증된 커널의 생산 추론 시스템 적용
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.