Skip to Main Content
Talk Intermediate MIT License (software)

On-device inference: deploying and debugging models on Android

Proposal status is Rejected
Omkar Wagholikar
Omkar Wagholikar
Session Description

Cloud hosted AI impose very real tradeoffs: namely inference latency, cost, security concerns as the data leaves the device, along with the resultant dependencies on proprietary APIs.

Improvements in model architectures, quantization techniques, and storage have enabled a credible alternative On-Device Inference

This talk will examines the different aspects of running models on Commodity Android hardware today.

A technical deep-dive into three production-ready runtimes:

  • whisper.cpp: how OpenAI's Whisper is ported to C++, its use of GGML for CPU-optimized tensor operations, and how it achieves real-time transcription on mobile CPUs

  • llama.cpp: the GGML/GGUF model format, quantization schemes, KV caching, and how the runtime maps computation across CPU cores and GPU backends

  • LiteRT-LM (formerly TensorFlow Lite): Google's approach to on-device generative AI, its delegate system for NPU/GPU acceleration, and how it differs architecturally from the llama.cpp stack

Beyond the individual runtimes, we'll look at what they share: memory-mapped weight loading, operator fusion, attention optimizations, and the design philosophy of keeping inference self-contained with no runtime dependencies.

The session closes with a live demonstration of an Android application I built performing inference fully offline. The pipeline demoed runs on a single loaded model (Gemma 4 E2B) with no reloads between stages:

Voice recording  →  Transcription  →  Mood detection  →  Calendar event extraction  →  ICS file  →  System calendar

No network, no cloud, no API keys. We'll look at the architecture of this app and the practical considerations for keeping it responsive on a mid-range device.

Some data measured on device:

App

| PSS delta

| RAM Used

| CPU

| GPU

Demo App

| +1GB

| 754MB

| +11.2°C

| +10.1°C

Clash of Clans

| +54MB

| 845MB

| +9.0°C

| +1.1°C

Subway Surfers

| +21MB

| 915MB

| +6.0°C

| +2.5°C

*Measured using ADB commands (max to min difference)

Operation

| Avg wall time

| Avg throughput

| Avg PSS delta

| Avg battery drain

Engine init

| 4,858 ms

| NA

| +595 MB

| 0 µAh

Transcription

| 10,217 ms

| 96.8 tok/s

| +338 MB

| 3,000 µAh

Event extraction

| 5,009 ms

| 48.0 tok/s

| +60 MB

| 2,000 µAh

*App metrics measured using Gemma 4 E2B on a OnePlus 13 device, processing 1–2 minute voice note clips (approximately 100–200 words of transcription).

Attendees will leave with a clear mental model of how these runtimes work under the hood, what the real cost dimensions of edge inference is on the device level, and what is genuinely feasible today on hardware most users already carry.

Key Takeaways
  1. What GGML does differently from PyTorch / TensorFlow

  2. A working sense of quantization trade-offs

  3. The real cost dimensions of edge inference (beyond the model size, including but not limited to: KV Cache Optimization and Cold Starts)

References

Session Categories

Introducing a FOSS project or a new version of a popular project
Technology architecture
Engineering practice - productivity, debugging
Talk License: MIT License (software)

Which track are you applying for?

Android Open Source Project (AOSP)

Speakers

Omkar Wagholikar
Omkar Wagholikar Software Development Engineer | Intangles.ai

I have hands-on experience across a wide range of technologies, with a strong foundation in the Python, building production ready systems in Django and React. I am a full-stack web developer, with skills complemented by backend expertise in frameworks like Flask, Django. Alongside this, I’ve worked with asynchronous and event driven systems like Celery, RabbitMQ). I have explored lower-level programming in C and Rust, strengthening my ability to design efficient and scalable solutions.

I enjoy experimenting with generative AI and LLMs, having built a Python package that enables users to customize a RAG pipeline to converse with documents all on-device directly from the terminal or the UI all on device, combining usability with privacy.

Beyond coding, I’ve contributed as a student leader at PICT IEEE Student Branch, and honed my public speaking and leadership skills. I’m also a creative graphic designer and photographer, having designed numerous posters for my college clubs

I’m always excited to connect, collaborate, create or just chat about exciting tech stuff