온디바이스 AI, 왜 GPU 가속이 어려운가?
데이터센터에서의 AI 추론은 동일한 하드웨어 클러스터 위에서 예측 가능하게 돌아갑니다. 하지만 엣지 디바이스는 다릅니다. 수많은 GPU 아키텍처, 드라이버 버전, OpenGL ES / OpenCL / Metal / WebGPU 같은 저수준 API가 뒤섞여 있고, 개발자는 앱이 어떤 하드웨어에서 실행될지 미리 알 수 없죠.
기존 TensorFlow Lite GPU delegate는 이런 환경에서 1세대 GPU 가속을 가능하게 했지만, 이제는 한계에 부딪혔습니다. 실시간 컴퓨터 비전부터 고파라미터 생성형 AI까지, 최신 온디바이스 워크로드는 소비자용 실리콘을 한계까지 밀어붙이고 있습니다.
구글 AI Edge 팀이 이 문제를 풀기 위해 공개한 것이 바로 ML Drift입니다. Apache 2.0 라이선스로 오픈소스화된 고성능 크로스 플랫폼 온디바이스 GPU 컴퓨트 엔진이죠. LiteRT의 핵심 GPU 가속 엔진으로 동작하면서, 동시에 독립 라이브러리로도 사용할 수 있습니다.
💡 핵심 포인트: ML Drift는 "하드웨어 추상화"와 "성능"이라는 두 마리 토끼를 잡기 위해 설계된 통합 런타임입니다. 기존 TFLite GPU delegate는 신규 기능 업데이트가 중단되고, ML Drift로 마이그레이션이 권장됩니다.

ML Drift의 핵심 아키텍처 4가지
기존 TFLite GPU delegate 대비 ML Drift가 도입한 구조적 변화는 다음과 같습니다.
1. 텐서 가상화(Tensor Virtualization)를 통한 통합 셰이더
과거에는 OpenGL, OpenCL, Metal 백엔드마다 최적화된 셰이더를 따로 관리해야 했습니다. ML Drift는 텐서의 논리적 표현과 물리적 GPU 할당을 분리하는 텐서 가상화를 도입했습니다. 컴파일러 초기화 단계에서 동적 셰이더 템플릿이 좌표를 해석·변환하기 때문에, 백엔드별로 셰이더 코드베이스를 따로 유지할 필요가 없어졌습니다.
// ML Drift 스타일의 텐서 가상화 개념 예시 (의사 코드)
// 논리적 텐서 선언 - 백엔드에 독립적
auto logical_tensor = env.CreateTensor(
/*shape=*/{1, 3, 224, 224},
/*dtype=*/DataType::FLOAT32
);
// 컴파일러가 백엔드에 맞춰 물리적 할당을 자동 결정
// OpenGL: texture, OpenCL: buffer, Metal: MTLBuffer 등
auto shader = env.CompileShader(
"conv2d",
/*inputs=*/{logical_tensor},
/*dynamic_layout=*/true // 런타임에 레이아웃 해석
);
// 백엔드별 분기 코드 없이 실행
env.Execute(shader);
2. 확장 가능한 커스텀 Op 프레임워크
ML Drift는 저수준 셰이딩 언어에 직접 접근할 수 있는 등록 API를 제공합니다. 특히 에이전틱 SKILL.md 가이드가 포함되어 있어, 코딩 에이전트가 몇 분 만에 커스텀 셰이더를 작성·등록·검증할 수 있습니다. 독자적인 모델 블록을 실행 그래프에 직접 통합할 수 있는 세밀한 제어권을 확보하는 셈이죠.
3. 5D 텐서 지원
TFLite GPU delegate는 구조적으로 4D 텐서에 하드코딩되어 있어, 5D 텐서가 필요한 복잡한 모델은 레이아웃 핵(hack)을 써야 했습니다. ML Drift는 5D 텐서를 기본 지원하여 3D 컨볼루션 네트워크(체적/공간 AI), 시공간 모델(YOLO 11n, MobileViT v2, Swin Transformer v2 등)을 엣지 GPU에서 직접 실행할 수 있습니다.
4. 엣지 LLM을 위한 단계 인식 최적화
자기회귀 LLM 추론은 두 국면으로 나뉩니다. KV 캐시 프리필(prefill) 단계는 연산 집약적이고, 디코드(decode) 단계는 메모리 대역폭 집약적이죠. ML Drift는 실행 단계에 따라 커널과 레이아웃 구성을 동적으로 전환합니다. 디코드 단계에서는 컨볼루션 정렬 KV 캐시 레이아웃을 사용하고, 커널 내 활성화 양자화를 적극 적용해 불필요한 메모리 왕복을 제거합니다.
🔗 관련 인사이트: GPU 추론 병목에 대한 더 깊은 논의는 NVIDIA Blackwell Ultra, AI 추론의 숨은 병목 소프트맥스를 해결하다에서 확인할 수 있습니다.

실제 성능과 도입 사례
ML Drift는 이미 구글 생태계 전반에서 수백만 대의 기기에서 매일 프로덕션으로 돌아가고 있습니다.
| 제품/파트너 | 적용 영역 | 성능 개선 |
|---|---|---|
| YouTube Shorts | 세그멘테이션 기반 이펙트 | 평균 프레임 지연 최대 40% 감소 (Android/iOS) |
| Google Photos | 컴퓨테이셔널 포토그래피, 세그멘테이션 파이프라인 | 기존 GPU delegate 대비 최대 2초 단축 |
| Google Chrome | Gemini Nano 내장 AI API (Prompt/Summarize/Writer) | 데스크톱에서 고효율 온디바이스 AI 구동 |
| Adobe Lightroom / Photoshop | Select Subject, Select Sky, Adaptive Portrait | 온디바이스 성능 최대 30% 향상 |
| Snapchat | 얼굴/스타일 생성 이펙트 | 모델 지연 30% 개선, 대형 디퓨전 모델도 실행 |
또한 Gemma 모델 벤치마크에서 ML Drift는 다른 프레임워크 대비 최대 12% 낮은 메모리 오버헤드를 달성했습니다. 엣지 환경에서는 처리량(throughput)만큼이나 메모리 풋프린트가 중요하기 때문에, 이 수치는 실질적인 의미가 큽니다.
플랫폼 확장: 데스크톱 프리뷰
흥미로운 점은 ML Drift의 WebGPU 백엔드가 원래 브라우저 가속용으로 설계됐지만, Chromium의 WebGPU 구현인 Dawn 덕분에 동일한 코드베이스를 브라우저 밖에서도 네이티브로 컴파일할 수 있게 됐다는 것입니다. 이를 통해 Windows와 Linux에서도 DirectX/Vulkan 파편화를 우회하면서 ML Drift가 동작합니다. macOS의 네이티브 Metal 백엔드와 상호 보완적이죠.
⚠️ 주의사항 및 한계
- 레거시 TFLite GPU delegate는 신규 기능 업데이트가 중단됩니다. 기존 모델은 ML Drift로 마이그레이션하는 것이 권장되며, 하위 호환성은 보장됩니다.
- Android에서 번들되지 않은 런타임(unbundled runtime)을 쓰는 경우, ML Drift 가속은 현재 독립 LiteRT 패키지로 제공되며 Google Play Services 내 LiteRT에는 곧 추가될 예정입니다.
- 데스크톱 지원은 아직 "프리뷰" 단계로, 프로덕션 적용 전 충분한 검증이 필요합니다.

정리: ML Drift가 의미하는 것
ML Drift는 단순한 GPU delegate 업그레이드가 아니라, 온디바이스 AI 추론의 공통 기반을 목표로 하는 통합 런타임입니다. 텐서 가상화로 백엔드 파편화를 줄이고, 5D 텐서와 단계 인식 LLM 최적화로 생성형 AI까지 커버하며, WebGPU 기반 데스크톱 확장으로 개발 워크플로우까지 아우릅니다.
실무 적용 조언
- 기존 TFLite GPU delegate 사용자라면: ML Drift GPU accelerator로의 마이그레이션을 계획하세요. 하위 호환이 보장되므로 기존 모델은 그대로 동작하며, 즉시 성능 이득을 볼 수 있습니다.
- 커스텀 셰이더가 필요한 경우: SKILL.md 가이드를 활용해 코딩 에이전트로 커스텀 Op를 빠르게 프로토타이핑해 보세요.
- 엣지 LLM을 고려 중이라면: 단계 인식 최적화(prefill vs decode)가 실제 워크로드에서 어떤 차이를 만드는지 벤치마크로 확인하는 것이 좋습니다.
다음 단계 학습 방향
- LiteRT 공식 문서에서 ML Drift GPU accelerator 마이그레이션 가이드 확인
- WebGPU/Dawn 기반 네이티브 컴파일 흐름 학습 (데스크톱 추론 관심 시)
- 양자화 및 KV 캐시 레이아웃 최적화 관련 LLM 추론 기법 병행 학습
🔗 함께 보면 좋은 글: 클라우드 환경에서의 대규모 불확실성 분석 워크플로우에 관심 있다면 "SLB ARM + Azure 저류층 불확실성 분석, 클라우드로 어떻게 해결할까?"를 참고하세요.