cat tensor-g5-npu.md

Pixel 10 Tensor G5 NPU에서 직접 컴파일한 LLM 돌리기

2026-06 · 실험·문서화 (개인)

litert-lm-tensor-g5-npu

Pixel 10의 Tensor G5에는 NPU(EdgeTPU)가 있지만 직접 AOT 컴파일한 .litertlm 모델을 거기서 돌리는 공개 레시피는 없었다. 걸림돌은 세 조각의 버전을 맞추는 일이다. Tensor SDK로 컴파일된 모델, 그 모델을 읽는 LiteRT-LM 런타임, 그리고 디바이스의 EdgeTPU 라이브러리를 여는 디스패치 심(shim). 안정판 런타임은 Google 백엔드를 지원하지 않고, 디스패치 ABI는 버전 사이에서 깨졌다.

같은 LiteRT-LM 태그에서 런타임과 디스패치 심을 함께 빌드해 모델의 프레임워크 버전과 맞추니 해결됐다. 이렇게 하면 디스패치 심이 로드되고 EdgeTPU가 실행되며 벤치마크가 prefill과 decode의 토큰/초를 찍는다. 빌드 스크립트와 실행 스크립트, 그리고 빌드를 건너뛸 수 있는 프리빌트 런타임을 릴리스로 올려 두었다.

솔직한 상태도 같이 적었다. 런타임과 디스패치는 해결됐지만 직접 양자화한 모델이 깨끗한 출력을 내는 것은 공개 도구만으로는 아직 안 된다. 어떤 양자화 레시피가 어떤 출력을 내는지 데이터로 표를 만들어 두었으니, 같은 길을 가는 사람이 같은 벽에 시간을 쓰지 않기를 바란다. 저장소는 Apache-2.0이며 업스트림 수정 사항을 NOTICE에 공개했다.

이 실험은 회사에서 하는 온디바이스 한국어 sLM 연구의 개인적인 연장선이다.