한 줄 정의

KTransformers는 MoE 언어 모델을 CPU와 GPU에 나눠 올려 추론 비용을 줄이려는 프레임워크야. 핵심은 단순히 HTTP API를 여는 것이 아니라, 어떤 expert를 GPU에 두고 어떤 expert를 CPU에 둘지까지 조정하는 데 있어.

그래서 KTransformers는 vLLM이나 SGLang과 같은 “서빙 엔진 후보”로 같이 언급되지만, 특히 A3B처럼 expert 일부만 활성화되는 모델을 제한된 VRAM에서 다룰 때 더 자주 나와.

실제로 무엇을 하나

kt-kernel은 MoE 모델의 일부 expert를 GPU에 두고 나머지를 CPU에 두는 실행 전략을 제공해. 공식 문서는 hot experts on GPU, cold experts on CPU라는 표현으로 설명해. GPU 메모리가 충분하지 않지만 CPU 메모리와 코어는 남아 있는 환경에서 쓸 수 있는 선택지야.

설치와 실행 조건은 꽤 구체적이야. 공식 문서 기준으로 Linux x86-64, Python 3.10-3.12, AVX2 지원 CPU가 기본 조건에 가깝고, NVIDIA GPU를 쓸 때는 compute capability 8.0 이상 예시가 나와. 이 조건을 보면 “누구나 바로 쓰는 가벼운 앱”보다는 하드웨어 배치까지 만지는 운영 도구에 가까워.

왜 중요한가

KTransformers가 중요한 이유는 큰 MoE 모델을 “GPU에 다 올릴 수 있느냐”라는 질문에서 벗어나게 해 주기 때문이야. 예를 들어 Qwen3-30B-A3BQwen3.5-35B-A3B처럼 전체 파라미터는 크지만 토큰마다 일부 expert만 쓰는 모델은 expert 배치 전략이 실제 비용에 바로 영향을 줘.

다만 이 말이 “KTransformers가 항상 더 빠르다”는 뜻은 아니야. 공식 문서의 성능 예시는 특정 모델, 특정 하드웨어, 특정 동시성 조건에서 나온 값이야. 이 도구를 볼 때는 벤치마크 숫자보다 CPU와 GPU를 함께 쓰는 운영 선택지가 생긴다는 점을 먼저 봐야 해.

고를 때 기준

  • 고를 만한 경우: MoE 또는 A3B 계열 모델을 돌리는데 GPU 메모리가 빠듯하고 CPU 메모리 여유가 있을 때.
  • 고를 만한 경우: expert placement, CPU weights, NUMA 같은 운영 변수를 만질 수 있는 팀일 때.
  • 미룰 만한 경우: dense 모델 위주이고 단순한 OpenAI-compatible API 서버만 필요할 때.
  • 미룰 만한 경우: 메인라인 패키지 하나로 끝나는 운영 경로가 더 중요할 때.

같이 보면 좋은 항목

  • Mixture of Experts: KTransformers가 왜 expert 배치 이야기를 하는지 이해하는 배경이야.
  • vLLM: 더 널리 쓰이는 추론 서버와 비교할 때 필요해.
  • SGLang: KTransformers와 통합 경로가 언급되는 서빙 스택이야.
  • Qwen3-30B-A3B: A3B 계열에서 왜 이런 도구가 등장하는지 보기 좋아.