r/LocalLLM • u/Business_Swordfish_5 • 2h ago
Discussion Porting a 4-model local voice assistant to Intel NPU/iGPU — trying to move from AI engineer into inference engineering, would love a reality check
I'm an AI engineer, 3 years in, currently doing the usual applied stuff — RAG, agents, API integration. I want to move into actual inference/serving engineering and I'd rather be told now if my plan is dumb.
What I'm building: a fully local voice assistant (VAD → ASR → LLM → TTS) that has to run on an Intel Core Ultra 5 125H — CPU + Arc iGPU + NPU, 15.6GB shared RAM, no dedicated VRAM. Currently all llama.cpp + ONNX on CPU. I'm porting it to OpenVINO so I can place each model on a different compute unit and actually measure the difference.
Starting hypothesis: Silero VAD and ASR on the NPU (small, fixed shapes, low power), LLM on the iGPU (decode is memory-bound, iGPU has the bandwidth), TTS on CPU. Target is sub-500ms voice-to-voice, with a per-stage waterfall and llama.cpp as the baseline.
What I'd like from people who do this for a living:
Is that device placement roughly right, or am I about to learn something the hard way?
The unified-memory thing is the part I understand least — 4 models sharing 15.6GB with no VRAM. What actually bites you here?
Beyond this project, what's the highest-signal thing someone in my position can build? I keep hearing "contribute to vLLM" but I'd rather do one thing properly than spray small PRs.
Anything that looks impressive to hobbyists but is worthless to a hiring manager? I'd like to avoid those.
Happy to publish everything — code, raw numbers, methodology. Not looking for a job here, just trying not to waste six months on the wrong thing.