<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tokens Per Second on ICE-ICE-BEAR-BLOG</title><link>https://ice-ice-bear.github.io/ko/tags/tokens-per-second/</link><description>Recent content in Tokens Per Second on ICE-ICE-BEAR-BLOG</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Sat, 09 May 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://ice-ice-bear.github.io/ko/tags/tokens-per-second/index.xml" rel="self" type="application/rss+xml"/><item><title>로컬·온프레미스 추론 스택의 첫 관찰성 도구 — gpum v1.1.0과 TokenSpeed</title><link>https://ice-ice-bear.github.io/ko/posts/2026-05-09-local-inference-tooling/</link><pubDate>Sat, 09 May 2026 00:00:00 +0900</pubDate><guid>https://ice-ice-bear.github.io/ko/posts/2026-05-09-local-inference-tooling/</guid><description>&lt;img src="https://ice-ice-bear.github.io/" alt="Featured image of post 로컬·온프레미스 추론 스택의 첫 관찰성 도구 — gpum v1.1.0과 TokenSpeed" /&gt;&lt;h2 id="개요"&gt;개요
&lt;/h2&gt;&lt;p&gt;추론(inference) 스택의 운영 도구는 오랫동안 양 극단으로 갈렸다. 클라우드 쪽은 &lt;a class="link" href="https://www.langchain.com/langsmith" target="_blank" rel="noopener"
 &gt;Langsmith&lt;/a&gt;, &lt;a class="link" href="https://github.com/traceloop/openllmetry" target="_blank" rel="noopener"
 &gt;OpenLLMetry&lt;/a&gt;, &lt;a class="link" href="https://www.helicone.ai/" target="_blank" rel="noopener"
 &gt;Helicone&lt;/a&gt; 같이 API 위에서 추적·로그·비용을 관통하는 관찰성 도구가 자리잡았지만, 로컬·온프레미스 추론 — 즉 &lt;a class="link" href="https://ollama.com" target="_blank" rel="noopener"
 &gt;Ollama&lt;/a&gt;, &lt;a class="link" href="https://github.com/ggml-org/llama.cpp" target="_blank" rel="noopener"
 &gt;llama.cpp&lt;/a&gt;, &lt;a class="link" href="https://lmstudio.ai" target="_blank" rel="noopener"
 &gt;LM Studio&lt;/a&gt;, &lt;a class="link" href="https://github.com/vllm-project/vllm" target="_blank" rel="noopener"
 &gt;vLLM&lt;/a&gt; 같은 런타임 위에 GPU를 직접 얹어 쓰는 환경 — 은 여전히 &lt;code&gt;nvidia-smi&lt;/code&gt;와 셸 스크립트로 버틴다. 2026-05-09 같은 날 두 도구가 공개됐다. &lt;a class="link" href="https://github.com/drewdrew0414/AIGPUManager/releases/tag/v1.1.0" target="_blank" rel="noopener"
 &gt;drewdrew0414/AIGPUManager의 &lt;code&gt;gpum&lt;/code&gt; v1.1.0&lt;/a&gt;은 GPU &lt;strong&gt;자원·배분·안전 가드&lt;/strong&gt;를, &lt;a class="link" href="https://github.com/lightseekorg/tokenspeed" target="_blank" rel="noopener"
 &gt;lightseekorg/tokenspeed&lt;/a&gt;는 LLM &lt;strong&gt;추론 엔진의 처리량(token/s)&lt;/strong&gt; 자체를 겨냥한다. 둘 다 NVIDIA/Anthropic 같은 벤더가 아니라 개인 또는 신생 조직에서 나왔다는 점이 흥미롭다 — 클라우드 LLM 관찰성이 그랬듯, 로컬·온프레미스 추론 관찰성·관리 도구도 &lt;strong&gt;첫 세대&lt;/strong&gt;가 도착하기 시작한 신호다.&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 HW["하드웨어 &amp;lt;br/&amp;gt; (NVIDIA / AMD / Intel / B200)"] --&gt; DRV["드라이버 &amp;lt;br/&amp;gt; (CUDA / ROCm / Level Zero)"]
 DRV --&gt; RT["추론 런타임 &amp;lt;br/&amp;gt; (llama.cpp / vLLM / TensorRT-LLM / TokenSpeed)"]
 RT --&gt; APP["애플리케이션 &amp;lt;br/&amp;gt; (Ollama / LM Studio / 에이전트)"]
 DRV --&gt; MGR["자원 관리 &amp;lt;br/&amp;gt; (gpum)"]
 MGR -.쿼타·스케줄·안전.-&gt; RT
 RT -.토큰 처리량 측정.-&gt; BENCH["벤치마크·관찰성 &amp;lt;br/&amp;gt; (TokenSpeed 자체 측정)"]&lt;/pre&gt;&lt;h2 id="1-gpum-v110--공유-gpu-서버용-자원-매니저"&gt;1. gpum v1.1.0 — 공유 GPU 서버용 자원 매니저
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/drewdrew0414/AIGPUManager" target="_blank" rel="noopener"
 &gt;gpum&lt;/a&gt;은 Java 21 기반의 CLI다. 단일 사용자가 &lt;code&gt;nvidia-smi&lt;/code&gt;로 충분한 환경이 아니라, &lt;strong&gt;여러 사용자가 같은 GPU 서버를 공유하는&lt;/strong&gt; 시나리오를 정조준한다. 이전 버전이 인벤토리(어떤 GPU가 어디 있는가)와 단순 할당에 머물렀다면, &lt;a class="link" href="https://github.com/drewdrew0414/AIGPUManager/releases/tag/v1.1.0" target="_blank" rel="noopener"
 &gt;v1.1.0&lt;/a&gt;은 운영(operations) 계층을 본격적으로 추가한다.&lt;/p&gt;
&lt;h3 id="11-컴퓨트-정책과-rbac"&gt;1.1 컴퓨트 정책과 RBAC
&lt;/h3&gt;&lt;p&gt;v1.1.0에서 새로 들어온 명령어 그룹 중 가장 인상적인 부분은 &lt;strong&gt;승인 워크플로우(approval workflow)&lt;/strong&gt; 다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;gpum gpu reset --id node1:0 --soft --apply
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;gpum rbac approval list --status pending
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;gpum rbac approval approve --id &amp;lt;approval-id&amp;gt; --reason &lt;span class="s2"&gt;&amp;#34;maintenance window&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;gpum gpu reset --id node1:0 --soft --apply --approval-id &amp;lt;approval-id&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;high-risk 작업(전력 한도 변경, ECC 토글, GPU 리셋)은 즉시 실행되지 않고 &lt;strong&gt;approval 레코드&lt;/strong&gt;로 빠진다. 또한 실제 하드웨어 쓰기는 환경 변수 &lt;code&gt;GPUM_ENABLE_HARDWARE_WRITE=1&lt;/code&gt;이 설정된 셸에서만 동작한다 — dry-run이 디폴트다. &lt;a class="link" href="https://slurm.schedmd.com/" target="_blank" rel="noopener"
 &gt;Slurm&lt;/a&gt;이나 &lt;a class="link" href="https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/" target="_blank" rel="noopener"
 &gt;Kubernetes Device Plugin&lt;/a&gt;처럼 무거운 클러스터 매니저를 끌어오기엔 과한 환경 — 즉 GPU 서버 한두 대를 팀 단위로 공유하는 환경 — 에서 &lt;strong&gt;딱 그 사이를 메우려는 포지셔닝&lt;/strong&gt;이 보인다.&lt;/p&gt;
&lt;h3 id="12-멀티벤더-인벤토리"&gt;1.2 멀티벤더 인벤토리
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;gpum&lt;/code&gt;이 &lt;a class="link" href="https://developer.nvidia.com/management-library-nvml" target="_blank" rel="noopener"
 &gt;NVIDIA NVML&lt;/a&gt;뿐 아니라 AMD ROCm-SMI와 &lt;a class="link" href="https://spec.oneapi.io/level-zero/latest/index.html" target="_blank" rel="noopener"
 &gt;Intel Level Zero&lt;/a&gt;도 함께 다룬다는 점은 흔치 않다. JNA(Java Native Access)로 NVML을, Level Zero loader는 별도 discovery로 잡는데, 라이브러리가 설치돼 있지 않으면 &lt;code&gt;unavailable&lt;/code&gt; 행으로 명시한다. 모바일·임베디드용 도구가 아니라 &lt;strong&gt;이종 GPU가 한 서버에 섞여 있는 워크스테이션·소형 클러스터&lt;/strong&gt;를 가정한 설계다.&lt;/p&gt;
&lt;h3 id="13-토폴로지-인식-스케줄링"&gt;1.3 토폴로지 인식 스케줄링
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;gpum alloc estimate --model llama3-70b --params-b &lt;span class="m"&gt;70&lt;/span&gt; --precision fp16 --context &lt;span class="m"&gt;8192&lt;/span&gt; --batch &lt;span class="m"&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;gpum schedule reserve create --gpus &lt;span class="m"&gt;4&lt;/span&gt; --start 2026-05-10T22:00:00 --end 2026-05-11T06:00:00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;gpum schedule gang --nodes &lt;span class="m"&gt;2&lt;/span&gt; --gpus-per-node &lt;span class="m"&gt;8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a class="link" href="https://www.nvidia.com/en-us/data-center/nvlink/" target="_blank" rel="noopener"
 &gt;NVLink&lt;/a&gt;, AMD XGMI, Intel Xe Link 같은 GPU-GPU 인터커넥트를 인지해서 packed/spread 배치 힌트를 적용한다. 분산 학습에서 모든 노드가 동시에 준비돼야 시작하는 &lt;strong&gt;gang scheduling&lt;/strong&gt;, 짧은 idle 윈도우를 채우는 &lt;strong&gt;backfill&lt;/strong&gt;, 과거 GPU-시간으로 가중치를 매기는 &lt;strong&gt;fair-share&lt;/strong&gt; — 모두 클러스터 매니저의 정석 기능들인데, CLI 하나로 압축해 넣었다.&lt;/p&gt;
&lt;h3 id="14-안전-가드safety-guardrail"&gt;1.4 안전 가드(safety guardrail)
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;v1.1.0&lt;/code&gt;이 강조하는 핵심은 사고를 운영 단계에서 막는 것이다.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;가드&lt;/th&gt;
 &lt;th&gt;동작&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;최대 GPU/요청&lt;/td&gt;
 &lt;td&gt;정책 초과 요청을 영구 차단&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;최대 리스 시간&lt;/td&gt;
 &lt;td&gt;만료 리스 자동 강제 회수 대상&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;발열 임계치&lt;/td&gt;
 &lt;td&gt;thermal critical GPU 사전 감지&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;전력 캡&lt;/td&gt;
 &lt;td&gt;전력 포화 GPU 사전 감지&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;stale heartbeat&lt;/td&gt;
 &lt;td&gt;죽은 워커 정리&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;min free VRAM&lt;/td&gt;
 &lt;td&gt;메모리 한계 초과 작업 거부&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;여기에 incident 레코드로 &lt;strong&gt;GPU 격리(quarantine)&lt;/strong&gt; 와 노드 drain까지 묶인다. 클라우드의 &lt;a class="link" href="https://sre.google/sre-book/table-of-contents/" target="_blank" rel="noopener"
 &gt;SRE 플레이북&lt;/a&gt;을 단일 머신 단위로 압축한 듯한 인상이다.&lt;/p&gt;
&lt;h3 id="15-ai-도구-통합"&gt;1.5 AI 도구 통합
&lt;/h3&gt;&lt;p&gt;가장 실용적인 부분은 &lt;code&gt;gpum integration ai&lt;/code&gt;다. 할당된 리스를 그대로 &lt;a class="link" href="https://docs.pytorch.org/docs/stable/elastic/run.html" target="_blank" rel="noopener"
 &gt;torchrun&lt;/a&gt;, &lt;a class="link" href="https://huggingface.co/docs/accelerate/index" target="_blank" rel="noopener"
 &gt;accelerate&lt;/a&gt;, &lt;a class="link" href="https://github.com/deepspeedai/DeepSpeed" target="_blank" rel="noopener"
 &gt;DeepSpeed&lt;/a&gt;, &lt;a class="link" href="https://github.com/vllm-project/vllm" target="_blank" rel="noopener"
 &gt;vLLM&lt;/a&gt;의 런치 커맨드로 변환한다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;gpum integration ai launch --allocation-id alloc-001 --tool torchrun --arg train.py
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;gpum integration ai launch --allocation-id alloc-001 --tool vllm --from-file vllm-serve.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;CUDA_VISIBLE_DEVICES&lt;/code&gt;, &lt;code&gt;MASTER_ADDR&lt;/code&gt;, &lt;code&gt;GPUM_RDZV_ENDPOINT&lt;/code&gt; 같은 표준 변수가 자동 주입된다. AMD용 &lt;code&gt;ROCR_VISIBLE_DEVICES&lt;/code&gt;, Intel용 &lt;code&gt;ZE_AFFINITY_MASK&lt;/code&gt;까지 챙긴다. 즉 &lt;strong&gt;자원 할당 → 환경 변수 → 런치 커맨드&lt;/strong&gt;가 한 흐름이다.&lt;/p&gt;
&lt;h2 id="2-tokenspeed--추론-엔진의-처리량-자체에-손대다"&gt;2. TokenSpeed — 추론 엔진의 처리량 자체에 손대다
&lt;/h2&gt;&lt;p&gt;같은 날 공개된 &lt;a class="link" href="https://github.com/lightseekorg/tokenspeed" target="_blank" rel="noopener"
 &gt;TokenSpeed&lt;/a&gt;는 다른 계층에 있다. &lt;code&gt;gpum&lt;/code&gt;이 GPU 자원의 &lt;strong&gt;관리·관찰&lt;/strong&gt; 도구라면, TokenSpeed는 &lt;strong&gt;추론 엔진 그 자체&lt;/strong&gt;다. README의 표현은 직설적이다 — &amp;ldquo;TensorRT-LLM 수준의 성능과 vLLM 수준의 사용성&amp;quot;을 동시에 노린다. &lt;a class="link" href="https://lightseek.org/blog/lightseek-tokenspeed.html" target="_blank" rel="noopener"
 &gt;lightseek 블로그 글&lt;/a&gt;에 따르면 &lt;a class="link" href="https://www.nvidia.com/en-us/data-center/b200/" target="_blank" rel="noopener"
 &gt;NVIDIA B200&lt;/a&gt; 위에서 &lt;a class="link" href="https://moonshotai.com" target="_blank" rel="noopener"
 &gt;Kimi K2.5&lt;/a&gt;를 돌리는 시나리오로 &lt;a class="link" href="https://github.com/NVIDIA/TensorRT-LLM" target="_blank" rel="noopener"
 &gt;TensorRT-LLM&lt;/a&gt; 대비 Pareto front를 갱신했다는 결과를 내건다.&lt;/p&gt;
&lt;h3 id="21-설계-핵심-네-가지"&gt;2.1 설계 핵심 네 가지
&lt;/h3&gt;&lt;p&gt;리포 README가 정리한 컴포넌트 구분:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;계층&lt;/th&gt;
 &lt;th&gt;역할&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Modeling&lt;/td&gt;
 &lt;td&gt;local-SPMD + 정적 컴파일러로 collective communication을 모듈 경계에서 자동 생성&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Scheduler&lt;/td&gt;
 &lt;td&gt;C++ control plane / Python execution plane, FSM 기반 요청 라이프사이클&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Kernels&lt;/td&gt;
 &lt;td&gt;플러그형 커널, Blackwell 타깃 &lt;a class="link" href="https://arxiv.org/abs/2405.04434" target="_blank" rel="noopener"
 &gt;MLA(Multi-head Latent Attention)&lt;/a&gt; 최적화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Entrypoint&lt;/td&gt;
 &lt;td&gt;SMG 통합 AsyncLLM — CPU 측 요청 처리 오버헤드 축소&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a class="link" href="https://arxiv.org/abs/2405.04434" target="_blank" rel="noopener"
 &gt;MLA는 DeepSeek-V2&lt;/a&gt;에서 처음 대중화된 attention 변형으로, KV cache를 latent로 압축해 메모리 대역폭 부담을 크게 줄인다. TokenSpeed는 이걸 &lt;a class="link" href="https://www.nvidia.com/en-us/data-center/technologies/blackwell-architecture/" target="_blank" rel="noopener"
 &gt;Blackwell 아키텍처&lt;/a&gt;에 맞춘 커널로 다시 구현했다고 주장한다. KV cache 소유권을 컴파일 타임 타입 시스템으로 강제한다는 부분은 vLLM의 &lt;a class="link" href="https://arxiv.org/abs/2309.06180" target="_blank" rel="noopener"
 &gt;PagedAttention&lt;/a&gt;이 런타임에서 푸는 문제를 컴파일 타임으로 옮긴 시도로 읽힌다.&lt;/p&gt;
&lt;h3 id="22-에이전틱-워크로드-타깃팅"&gt;2.2 에이전틱 워크로드 타깃팅
&lt;/h3&gt;&lt;p&gt;README가 반복해 강조하는 단어는 &lt;strong&gt;agentic workloads&lt;/strong&gt;다. 보통의 챗봇 워크로드(긴 단일 응답)와 달리, 에이전트 워크로드는 &lt;strong&gt;짧은 응답을 수천 번&lt;/strong&gt;, 도구 호출 사이에 끼어드는 패턴이다. 이 경우 CPU 측 request 핸들링 오버헤드, KV cache의 재사용·재할당이 throughput을 좌우한다. TokenSpeed가 FSM·타입 시스템·AsyncLLM에 힘을 준 이유가 여기에 있다.&lt;/p&gt;
&lt;h3 id="23-현재-상태와-한계"&gt;2.3 현재 상태와 한계
&lt;/h3&gt;&lt;p&gt;리포는 명시적으로 preview임을 밝힌다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;현재 재현 가능: B200 위 Kimi K2.5 + TokenSpeed MLA&lt;/li&gt;
&lt;li&gt;진행 중: &lt;a class="link" href="https://qwenlm.github.io" target="_blank" rel="noopener"
 &gt;Qwen 3.6&lt;/a&gt;, DeepSeek V4, MiniMax M2.7 모델 커버리지&lt;/li&gt;
&lt;li&gt;진행 중: PD(prefill-decode separation), EPLB, KV store, Mamba cache, VLM, metrics&lt;/li&gt;
&lt;li&gt;진행 중: Hopper / MI350 최적화&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;즉 지금 시점에 &lt;strong&gt;production 배포용이 아니라 새 런타임 설계를 공개하는 demonstration&lt;/strong&gt; 성격이다. 그래도 출시 며칠 만에 GitHub star 900+를 모은 사실은 inference engine 카테고리의 비어 있는 자리(즉, &amp;ldquo;vLLM보다 빠르고 TensorRT-LLM보다 쉬운&amp;rdquo; 슬롯)를 시장이 기다리고 있었다는 신호로 읽힌다.&lt;/p&gt;
&lt;h2 id="3-두-도구가-만나는-지점"&gt;3. 두 도구가 만나는 지점
&lt;/h2&gt;&lt;p&gt;추론 스택을 계층으로 보면 둘은 다른 위치에 있다.&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR
 A["하드웨어"] --&gt; B["드라이버"]
 B --&gt; C["추론 엔진"]
 C --&gt; D["API 게이트웨이"]
 D --&gt; E["에이전트·앱"]
 A -.gpum.-&gt; B
 B -.gpum.-&gt; C
 C -.TokenSpeed.-&gt; D&lt;/pre&gt;&lt;p&gt;&lt;code&gt;gpum&lt;/code&gt;은 &lt;strong&gt;하드웨어와 드라이버를 추상화해 추론 엔진에게 안전히 넘기는 역할&lt;/strong&gt;, TokenSpeed는 &lt;strong&gt;추론 엔진 그 자체의 처리량&lt;/strong&gt;. 둘은 서로를 대체하지 않고 보완한다. 실제로 &lt;code&gt;gpum integration ai launch --tool vllm&lt;/code&gt;처럼 &lt;code&gt;gpum&lt;/code&gt;이 런처를 만들면, 그 안에서 도는 추론 엔진이 vLLM이든 TokenSpeed든 상관이 없다.&lt;/p&gt;
&lt;h2 id="4-클라우드-관찰성-도구와의-비교"&gt;4. 클라우드 관찰성 도구와의 비교
&lt;/h2&gt;&lt;p&gt;클라우드 LLM 스택에서 &lt;a class="link" href="https://docs.smith.langchain.com" target="_blank" rel="noopener"
 &gt;Langsmith&lt;/a&gt;, &lt;a class="link" href="https://github.com/traceloop/openllmetry" target="_blank" rel="noopener"
 &gt;OpenLLMetry&lt;/a&gt;, &lt;a class="link" href="https://www.helicone.ai" target="_blank" rel="noopener"
 &gt;Helicone&lt;/a&gt;, &lt;a class="link" href="https://langfuse.com" target="_blank" rel="noopener"
 &gt;Langfuse&lt;/a&gt;가 했던 일을 정리하면 두 축이다.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;축&lt;/th&gt;
 &lt;th&gt;클라우드 LLM&lt;/th&gt;
 &lt;th&gt;로컬·온프레미스 추론&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;추적·로그&lt;/td&gt;
 &lt;td&gt;Langsmith, Langfuse&lt;/td&gt;
 &lt;td&gt;(공백 — gpum의 audit log가 일부)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;토큰·비용&lt;/td&gt;
 &lt;td&gt;Helicone, OpenLLMetry&lt;/td&gt;
 &lt;td&gt;(공백 — gpum의 cost report, TokenSpeed의 token/s 측정)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;모델 게이트웨이&lt;/td&gt;
 &lt;td&gt;&lt;a class="link" href="https://openrouter.ai" target="_blank" rel="noopener"
 &gt;OpenRouter&lt;/a&gt;, &lt;a class="link" href="https://portkey.ai" target="_blank" rel="noopener"
 &gt;Portkey&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a class="link" href="https://github.com/BerriAI/litellm" target="_blank" rel="noopener"
 &gt;LiteLLM&lt;/a&gt; (cloud/local hybrid)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;자원·할당&lt;/td&gt;
 &lt;td&gt;(관리형)&lt;/td&gt;
 &lt;td&gt;gpum&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;런타임 처리량&lt;/td&gt;
 &lt;td&gt;(관리형)&lt;/td&gt;
 &lt;td&gt;TokenSpeed, &lt;a class="link" href="https://github.com/vllm-project/vllm" target="_blank" rel="noopener"
 &gt;vLLM&lt;/a&gt;, &lt;a class="link" href="https://github.com/sgl-project/sglang" target="_blank" rel="noopener"
 &gt;SGLang&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;클라우드 진영은 1세대(2023–2024)를 지나 이미 2세대 통합 단계인데 반해, 로컬 추론 진영은 이제 막 &lt;strong&gt;1세대 — 개인 또는 신생 조직이 만드는 시점&lt;/strong&gt;에 있다. &lt;code&gt;gpum&lt;/code&gt;이 1인 메인테이너 프로젝트로 보이는 점, TokenSpeed가 &lt;code&gt;lightseekorg&lt;/code&gt;라는 신생 조직 단독 작품인 점이 이 단계를 정확히 보여준다.&lt;/p&gt;
&lt;h2 id="5-한국-개발자-입장에서"&gt;5. 한국 개발자 입장에서
&lt;/h2&gt;&lt;p&gt;두 도구는 즉시 손에 잡히는 시나리오가 다르다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GPU 서버 1–2대를 팀이 공유하는 환경&lt;/strong&gt;: &lt;code&gt;gpum&lt;/code&gt;이 곧장 들어맞는다. &lt;code&gt;gpum scan --refresh&lt;/code&gt;로 인벤토리부터 시작해서, &lt;code&gt;gpum submit&lt;/code&gt;으로 batch 작업을 컨테이너로 묶고, &lt;code&gt;gpum gpu health --score --quarantine-threshold&lt;/code&gt; 같은 헬스 스코어링으로 죽어가는 GPU를 사전 격리한다. 더 무거운 &lt;a class="link" href="https://slurm.schedmd.com/" target="_blank" rel="noopener"
 &gt;Slurm&lt;/a&gt;이나 &lt;a class="link" href="https://www.run.ai/" target="_blank" rel="noopener"
 &gt;Run:ai&lt;/a&gt;를 깔기엔 작고, 그냥 SSH로만 쓰기엔 큰 환경에 맞다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;추론 엔진 자체를 평가하고 싶은 환경&lt;/strong&gt;: TokenSpeed는 아직 preview지만 &lt;a class="link" href="https://moonshotai.com" target="_blank" rel="noopener"
 &gt;Kimi K2.5&lt;/a&gt; 같은 최신 오픈웨이트 모델로 B200 위 throughput을 직접 재현해보는 실험으로 의미가 있다. 한국 내 &lt;a class="link" href="https://www.nhncloud.com/kr/service/ai/ncs" target="_blank" rel="noopener"
 &gt;클라우드 GPU&lt;/a&gt;에서 B200을 쓸 수 있게 되는 시점이 멀지 않으니, 미리 런타임 선택지를 비교해두는 것이 좋다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="인사이트"&gt;인사이트
&lt;/h2&gt;&lt;p&gt;같은 날 같은 카테고리에서 다른 계층을 노린 두 도구가 동시에 나온 건 &lt;strong&gt;로컬·온프레미스 추론 스택이 운영 도구를 필요로 하는 단계에 들어섰다는 시장 신호&lt;/strong&gt;다. 클라우드 LLM이 2023년에 LangChain의 운영 부담을 &lt;a class="link" href="https://www.langchain.com/langsmith" target="_blank" rel="noopener"
 &gt;Langsmith&lt;/a&gt;로 외부화하면서 한 단계 성숙했다면, 로컬 추론은 2026년 봄에 &lt;code&gt;gpum&lt;/code&gt; 같은 자원 관리 도구와 TokenSpeed 같은 차세대 추론 엔진을 동시에 손에 넣고 있는 셈이다. 둘 다 1세대 도구의 한계 — gpum은 1인 메인테이너 + Java 의존, TokenSpeed는 preview·B200 한정·non-production — 를 가지고 있지만, 이 단계의 도구가 보통 그렇듯 &lt;strong&gt;카테고리를 정의하는 역할&lt;/strong&gt;을 한다. 한국 내에서 가장 즉시 효용이 있는 건 &lt;code&gt;gpum&lt;/code&gt;을 작은 팀 GPU 서버에 깔아 운영 가시성을 즉시 얻는 길이고, 중장기적으로는 &lt;a class="link" href="https://moonshotai.com" target="_blank" rel="noopener"
 &gt;Kimi K2.5&lt;/a&gt;나 &lt;a class="link" href="https://github.com/deepseek-ai" target="_blank" rel="noopener"
 &gt;DeepSeek V4&lt;/a&gt; 같은 모델을 직접 서빙해야 할 때 vLLM·SGLang·TokenSpeed 사이의 선택지가 진짜로 의미를 갖는 시점이 온다. 클라우드 관찰성 도구가 그랬듯 — 처음에 만들어진 1세대 도구의 거의 대부분은 살아남고, 일부는 표준이 된다.&lt;/p&gt;
&lt;h2 id="참고"&gt;참고
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Release &amp;amp; repo&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/drewdrew0414/AIGPUManager/releases/tag/v1.1.0" target="_blank" rel="noopener"
 &gt;drewdrew0414/AIGPUManager v1.1.0 릴리스&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/drewdrew0414/AIGPUManager" target="_blank" rel="noopener"
 &gt;drewdrew0414/AIGPUManager 저장소&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/lightseekorg/tokenspeed" target="_blank" rel="noopener"
 &gt;lightseekorg/tokenspeed 저장소&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://lightseek.org/blog/lightseek-tokenspeed.html" target="_blank" rel="noopener"
 &gt;TokenSpeed 발표 블로그&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Local inference runtimes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/ggml-org/llama.cpp" target="_blank" rel="noopener"
 &gt;llama.cpp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://ollama.com" target="_blank" rel="noopener"
 &gt;Ollama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://lmstudio.ai" target="_blank" rel="noopener"
 &gt;LM Studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vllm-project/vllm" target="_blank" rel="noopener"
 &gt;vLLM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/sgl-project/sglang" target="_blank" rel="noopener"
 &gt;SGLang&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/NVIDIA/TensorRT-LLM" target="_blank" rel="noopener"
 &gt;NVIDIA TensorRT-LLM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Techniques and standards&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2405.04434" target="_blank" rel="noopener"
 &gt;MLA — Multi-head Latent Attention (DeepSeek-V2 논문)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2309.06180" target="_blank" rel="noopener"
 &gt;PagedAttention — vLLM 논문&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://developer.nvidia.com/management-library-nvml" target="_blank" rel="noopener"
 &gt;NVIDIA NVML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://spec.oneapi.io/level-zero/latest/index.html" target="_blank" rel="noopener"
 &gt;Intel Level Zero&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.nvidia.com/en-us/data-center/technologies/blackwell-architecture/" target="_blank" rel="noopener"
 &gt;NVIDIA Blackwell 아키텍처&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cloud LLM observability — for comparison&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.langchain.com/langsmith" target="_blank" rel="noopener"
 &gt;Langsmith&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://langfuse.com" target="_blank" rel="noopener"
 &gt;Langfuse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/traceloop/openllmetry" target="_blank" rel="noopener"
 &gt;OpenLLMetry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.helicone.ai/" target="_blank" rel="noopener"
 &gt;Helicone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/BerriAI/litellm" target="_blank" rel="noopener"
 &gt;LiteLLM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>