Tiny-vLLM, C++와 CUDA로 LLM inference를 끝까지 따라가는 교재형 엔진
Original: Show HN: Tiny-vLLM – high performance LLM inference engine in C++ and CUDA View original →
Tiny-vLLM은 “작은 vLLM”을 표방하지만, 장난감 예제만은 아니다. C++와 CUDA로 Llama 3.2 1B Instruct를 실제로 로드하고, prefill과 decode, KV cache, static batching, continuous batching, online softmax, FlashAttention 계열 접근, PagedAttention까지 구현하는 inference engine이다. 저장소는 코드와 함께 긴 course 형태의 README를 제공한다.
읽을 만한 지점은 구현 범위와 설명 방식이 같이 붙어 있다는 데 있다. 많은 LLM inference 자료는 논문, 프레임워크 코드, 블로그 조각으로 흩어져 있다. Tiny-vLLM은 Safetensors 파일을 읽는 단계부터 tensor shape, bfloat16, CUDA kernel, cuBLAS, attention, Paged KV cache까지 순서대로 밟는다. 성능을 극단까지 밀어붙이는 프로젝트라기보다, 왜 inference server가 이런 구조를 가져야 하는지 손으로 복원하는 쪽에 가깝다.
HN 댓글도 그 부분을 파고들었다. 작성자는 README를 가장 중요한 부분으로 봤다고 설명했고, 댓글에서는 lesson 형태의 문서가 CUDA와 LLM inference를 처음 연결하는 사람에게 유용하다는 반응이 이어졌다. llama.cpp 초창기를 떠올리게 한다는 말도 있었다. 작은 코드베이스가 큰 프레임워크보다 개념을 더 빨리 보여줄 때가 있다는 뜻이다.
실무 관점에서는 제한도 분명하다. 특정 모델과 NVIDIA GPU, CUDA 환경을 전제로 하고, 범용 inference serving의 운영 기능을 모두 담지는 않는다. 그래도 vLLM, TensorRT-LLM, llama.cpp 같은 시스템을 읽기 전에 메모리 배치와 attention 비용을 몸으로 이해하려는 개발자에게는 좋은 진입점이다.
Related Articles
이 Reddit 스레드의 분위기는 TGI를 그리워하는 쪽이 아니다. Hugging Face TGI가 사실상 유지보수 단계로 들어간 지금, 실전 inference serving의 기본 선택지는 vLLM 쪽으로 기울었다는 운영자들의 현장감이 훨씬 강했다.
744B MoE 모델을 소비자용 PC에서 돌리겠다는 실험에 관심이 모였다. Colibri는 GLM-5.2의 활성 파라미터와 전문가 라우팅 구조를 이용해, 거대한 모델을 전부 RAM이나 GPU에 올리지 않는 쪽으로 설계를 잡았다.
ngrok는 2026-03-25 공개한 explainer에서 quantization이 LLM을 roughly 4x smaller, 2x faster하게 만들 수 있고 4-bit·8-bit trade-off를 어떻게 읽어야 하는지 설명했다. Hacker News는 이 글을 247 points와 46 comments까지 끌어올리며 memory bottleneck과 local inference 비용 구조를 다시 논의했다.