1. 초록
HPC-Ops는 텐센트의 Hunyuan AI 인프라 팀이 개발한 오픈소스 생산용 LLM 추론 연산자 라이브러리로, 주류 추론 카드(특히 H20과 같은 NVIDIA Hopper/SM90)를 하드웨어 활용도를 한층 더 가깝게 만드는 것을 목표로 하고 있습니다. 이 프로젝트는 SOTA 커널을 0-Use CUDA + CuTe/CUTLASS에서 다듬는 데 중점을 두었으며, vLLM과 SGLang과 같은 추론 프레임워크에 쉽게 통합할 수 있는 비교적 깔끔한 API를 제공하며, BF16/FP8과 같은 다정밀도 추론 시나리오에도 적합합니다.
2. 핵심 특징
1. 최종 생산 성능: 추론 중요 경로의 심층 최적화를 위해 Attention/GroupGEMM / FusedMoE의 공식 최대 관측 가속 비율(최대 2.22배)이 제시됩니다.
2. 주요 연산자 커버리지: 주의(Prefill/Decode, 페이지 주의 포함), 그룹화된 GEMM, 융합 MoE 및 기타 추론 고주파 연산자.
3. 다중 정밀도 및 양자화 지원: BF16과 FP8을 네이티브로 지원하며, 블록 단위/텐서별 등 다양한 양자화 스케일링 방법을 다룹니다.
4. 통합 및 가독성: "깔끔한 추상화 + 맞춤화 가능성"을 강조하고, 동시에 커널 구현을 현대의 CUDA 학습 샘플로 만들어 2차 개발 기준을 낮추세요.
3. 설치
1. 환경 요구사항: NVIDIA SM90 아키텍처 GPU; 파이썬 3.8+; C++17 지원 컴파일러; CUDA Toolkit 12.8+.
- 소스 코드 설치 (빌드 휠):
git clone https://github.com/Tencent/hpc-ops.gitcd hpc-opsmake wheelpython3 -m pip install dist/*.whl- 3. 의존성 제안: 저장소의
requirements-dev.txt에 따라 개발/테스트 의존성을 준비하여 실행 중인 사용 사례와 버전 정렬을 용이하게 합니다.
4. 일반적인 사용 사례
1. MoE 모델 추론 가속: FusedMoE / GroupGEMM을 사용하여 전문가 라우팅 후 GEMM 및 융합 오버헤드를 줄이고 QPS/QPM 성능을 향상시킵니다.
2. 긴 컨텍스트와 높은 동시성 서비스: 어텐션(페이지 어텐션 포함)은 프리필/디코딩의 처리량과 지연에 더 민감하여 고부하 시 GPU를 압축하는 데 적합합니다.
3. 추론 프레임워크의 2차 통합: vLLM, SGLang 등에서 핵심 연산자를 교체/확장하여 '로컬 커널 교체와 전반적인 이익'이라는 엔지니어링 경로를 달성합니다.
4. 커널 연구개발 및 교육: CuTe/CUTLASS의 엔지니어링 구현은 팀 교육과 신규 운영자 반복을 위한 읽기 쉬운 샘플로 사용됩니다.
5. 생태와 경쟁 제품
- 생태학적 위치: HPC-Ops는 '고성능 운영자 기반'에 가깝며, 완전한 추론 엔진을 직접 대체하기보다는 추론 프레임워크(vLLM, SGLang)와 결합하여 사용하기에 적합합니다.
- 경쟁사/벤치마킹: Attention 방향 공통 비교 FlashAttention/FlashInfer/TensorRT-LLM; MoE와 GEMM 방향은 흔히 TensorRT-LLM, DeepGEMM 등과 비교됩니다. HPC-Ops의 차이점은 특정 하드웨어와 생산 워크로드를 더 공격적으로 마이크로아키텍처 최적화하고 엔지니어링적으로 추상화한다는 점입니다.
6. 제한 및 주의사항
1. 하드웨어 임계값: 현재 명확히 SM90(호퍼) GPU가 필요합니다; 다른 아키텍처의 가용성과 이점은 스스로 검증되어야 합니다.
2. 버전 결합: CUDA 버전, 컴파일러, 의존성에 민감하며, 저장소 지침에 따라 환경을 엄격히 잠기는 것이 권장됩니다.
3. "최대 관측 가속 비율"은 안정적인 수익과 같지 않습니다: 배치, 시퀀스 길이, 동시성 및 연산자 융합 방식이 다르면 수익 차이가 발생하며, 자신의 작업 부하를 벤치마킹해야 합니다.
4. 통합 비용: 연산자를 기존 추론 스택으로 대체할 때는 수치적 일관성, 정확성 전략(BF16/FP8), 그리고 온라인 통제 불가능한 위험을 피하기 위한 후속 경로에 주의를 기울여야 합니다.
7. 프로젝트 주소
https://github.com/Tencent/hpc-ops
8. 자주 묻는 질문
Q: HPC-Ops란 무엇이며 어떤 용도에 적합한가요?
A: vLLM/SGLang과 같은 프레임워크에서 핵심 연산자를 교체하여 처리량과 GPU 활용도를 향상시키기에 적합한 고성능 LLM 추론 연산자 라이브러리입니다.
Q: HPC-Ops가 지원하는 GPU 및 CUDA 버전은 무엇인가요?
답변: NVIDIA SM90(Hopper) 아키텍처 GPU는 공식적으로 필수이며, CUDA Toolkit은 12.8 이상을 요구합니다.
Q: HPC-Ops의 핵심 운영자가 어떤 추론 링크를 다루나요?
A: Attention(사전 채우기/디코드, 페이지 주의 포함), Grouped GEMM, Fused MoE와 같은 추론 중요 경로 연산자를 포함합니다.
Q: HPC-Ops에서 FP8 양자화/스케일링 방식을 어떻게 선택하나요?
A: 먼저 저장소에서 제공하는 인터페이스와 테스트 케이스를 실행한 후, 정확도 목표와 성능 지표를 기반으로 블록 단위나 퍼텐서와 같은 확장 전략을 선택한 후 종단 간 회귀분석을 수행합니다.
Q: 제 모델이나 비즈니스에서 HPC-Ops의 이점을 어떻게 평가하나요?
A: 실제 요청 분포(시퀀스 길이, 배치, 동시성, MoE 구성)를 A/B 벤치마크로 사용하고, 각각 프리필, 디코딩, 종단 간 처리량/지연 시간을 측정합니다.