Phase 17 - Lesson 12

Edge Inference — Apple Neural Engine, Qualcomm Hexagon, WebGPU/WebLLM, Jetson

La principal restricción en el edge es el ancho de banda de memoria, no el cómputo. La DRAM móvil opera a 50-90 GB/s; la HBM3 de los centros de datos supera los 2-3 TB/s — una brecha de 30-50x. El decode está limitado por la memoria (memory-bound), por lo que la brecha es decisiva. En 2026, el panorama se divide en cuatro vías. El Apple M4/A18 Neural Engine alcanza un pico de 38 TOPS con memoria unificada (sin copia CPU↔NPU). El Qualcomm Snapdragon X Elite / 8 Gen 4 Hexagon alcanza 45 TOPS. WebGPU + WebLLM ejecuta Llama 3.1 8B (Q4) a ~41 tok/s en M3 Max (aproximadamente 70-80% del rendimiento nativo); 17.6k estrellas en GitHub, API compatible con OpenAI, ~70-75% de cobertura móvil. NVIDIA Jetson Orin Nano Super (8GB) soporta Llama 3.2 3B / Phi-3; AGX Orin ejecuta gpt-oss-20b a través de vLLM a ~40 tok/s; Jetson T4000 (JetPack 7.1) ofrece el doble de rendimiento que AGX Orin. TensorRT Edge-LLM es compatible con EAGLE-3, NVFP4, chunked prefill — presentado en el CES 2026 por Bosch, ThunderSoft y MediaTek.

Type: Learn Languages: Python (stdlib, toy bandwidth-bound decode simulator) Prerequisites: Phase 17 · 04 (vLLM Serving Internals), Phase 17 · 09 (Production Quantization) Time: ~60 minutos

Learning Objectives

  • Explicar por qué la inferencia de LLM en dispositivos móviles está limitada por el ancho de banda de memoria y el cómputo es secundario.
  • Enumerar los cuatro objetivos de edge (Apple ANE, Qualcomm Hexagon, WebGPU/WebLLM, NVIDIA Jetson) y asociar cada uno a un caso de uso.
  • Identificar la brecha de cobertura de WebGPU en 2026 (Firefox Android poniéndose al día) y el lanzamiento de Safari iOS 26.
  • Elegir un formato de cuantización por objetivo (Core ML INT4 + FP16 para ANE, QNN INT8/INT4 para Hexagon, WebGPU Q4 para navegador, NVFP4 para Jetson Thor).

El Problema

Un cliente quiere un chatbot en el dispositivo: enfocado en voz, privado por defecto, que funcione sin conexión. En una MacBook Pro M3 Max, Llama 3.1 8B Q4 se ejecuta a ~55 tok/s — aceptable. En un iPhone 16 Pro, el mismo modelo se ejecuta a 3 tok/s — no aceptable. En un Android de gama media con Snapdragon 8 Gen 3, a 7 tok/s. En el navegador mediante WebGPU en Chrome Android v121+, a 4-8 tok/s dependiendo del dispositivo.

La variación en el rendimiento no es un problema de portabilidad. Es el producto de la brecha de ancho de banda por el formato de cuantización y por si la NPU es accesible desde el espacio de usuario. La inferencia en el edge en 2026 consiste en cuatro problemas diferentes con cuatro soluciones distintas.

El Concepto

El ancho de banda es el verdadero límite

El decode lee el conjunto completo de pesos para cada token. Un modelo de 7B en Q4 ocupa 3.5 GB. Leer 3.5 GB a 50 GB/s toma 70 ms — un límite teórico de ~14 tok/s. A 90 GB/s (DRAM móvil de gama alta), el límite sube a ~25 tok/s. Ninguna cantidad de cómputo ayuda por debajo de este número.

La memoria HBM3 de centro de datos a 3 TB/s procesa los mismos 3.5 GB en 1.2 ms — el límite es de 830 tok/s. Mismo modelo, mismos pesos. Diferente subsistema de memoria.

Apple Neural Engine (M4 / A18)

  • Hasta 38 TOPS. Memoria unificada (la CPU y el ANE comparten el mismo pool) — sin sobrecarga de copia.
  • Acceso a través de Core ML + modelos compilados .mlmodel, o mediante Metal Performance Shaders (MPS) a través de PyTorch.
  • El backend Metal de Llama.cpp utiliza MPS, no el ANE directamente; el ANE nativo requiere conversión a Core ML.
  • La mejor ruta práctica para aplicaciones de iOS en 2026: Core ML con pesos INT4 + activaciones FP16.

Qualcomm Hexagon (Snapdragon X Elite / 8 Gen 4)

  • Hasta 45 TOPS. Integrado con la CPU y la GPU en el SoC pero con un dominio de memoria independiente.
  • El SDK de QNN (Qualcomm Neural Network) y AI Hub proporcionan conversión desde PyTorch/ONNX.
  • Las plantillas de chat, Llama 3.2, Phi-3 se distribuyen como artefactos de primera clase en AI Hub.

NPU de Intel / AMD (Lunar Lake, Ryzen AI 300)

  • 40-50 TOPS. El ecosistema de software va rezagado respecto a Apple/Qualcomm; OpenVINO está mejorando pero sigue siendo de nicho.
  • Ideal para aplicaciones copilot en Windows ARM; nativo en computadoras de escritorio AMD/Intel para escenarios local-first.

WebGPU + WebLLM

  • Ejecución de modelos en el navegador mediante compute shaders de WebGPU; sin instalación.
  • Llama 3.1 8B Q4 a ~41 tok/s en M3 Max — aproximadamente 70-80% del rendimiento nativo mediante el mismo backend.
  • 17.6k estrellas en GitHub en WebLLM; API de JS compatible con OpenAI; licencia Apache 2.0.
  • Cobertura en 2026: Chrome Android v121+, Safari iOS 26 GA, Firefox Android aún poniéndose al día. Cobertura móvil general de ~70-75%.

Familia NVIDIA Jetson

  • Orin Nano Super (8GB): admite Llama 3.2 3B, Phi-3 a buena velocidad de tok/s.
  • AGX Orin: ejecuta gpt-oss-20b a través de vLLM a ~40 tok/s.
  • Thor / T4000 (JetPack 7.1): 2x el rendimiento de AGX Orin, compatible con EAGLE-3 y NVFP4.
  • TensorRT Edge-LLM (2026) admite decodificación especulativa EAGLE-3, pesos NVFP4, chunked prefill — las optimizaciones de centro de datos portadas al edge.

Elección de cuantización por objetivo

Objetivo Formato Notas
Apple ANE pesos INT4 + activaciones FP16 ruta de conversión Core ML
Qualcomm Hexagon QNN INT8 / INT4 conversores de AI Hub
WebGPU / WebLLM Q4 MLC (q4f16_1) usar mlc_llm convert_weight + .wasm compilado; GGUF no está soportado
Jetson Orin Nano Q4 GGUF o TRT-LLM INT4 limitado por memoria
Jetson AGX / Thor NVFP4 + KV FP8 ruta de Edge-LLM

La trampa del contexto largo en el edge

El contexto de 128K de Llama 3.1 es una característica de centro de datos. En un teléfono con 8 GB de RAM, modelo de 4 GB + 2 GB de KV cache para 32K tokens + sobrecarga del sistema operativo = OOM (Out Of Memory). Las implementaciones en edge mantienen el contexto en 4K-8K a menos que se acepte una cuantización agresiva de KV (Q4 KV).

La voz es la aplicación estrella

Los agentes de voz son sensibles a la latencia (primer token < 500 ms). La inferencia local elimina por completo la latencia de red. Al combinarse con conversión de voz a texto (las variantes de Whisper Turbo se ejecutan en el edge), la inferencia en el edge se convierte en el bucle de voz ideal para producción.

Números que deberías recordar

  • Apple M4 / A18 ANE: 38 TOPS.
  • Qualcomm Hexagon SD X Elite: 45 TOPS.
  • WebLLM M3 Max: ~41 tok/s en Llama 3.1 8B Q4.
  • AGX Orin: ~40 tok/s en gpt-oss-20b a través de vLLM.
  • Brecha de ancho de banda centro de datos-edge: 30-50x.
  • Cobertura móvil de WebGPU: ~70-75% (Firefox Android rezagado).

Pruébalo

code/main.py calcula los límites teóricos de rendimiento de decodificación a partir de la física del ancho de banda de memoria en varios objetivos de edge. Compara con los benchmarks observados y resalta dónde el ancho de banda, y no el cómputo, es el cuello de botella.

Envíalo a Producción

Esta lección produce outputs/skill-edge-target-picker.md. Dada la plataforma (iOS/Android/navegador/Jetson), el modelo y el presupuesto de latencia/memoria, elige un formato de cuantización y un pipeline de conversión.

Ejercicios

  1. Ejecuta code/main.py. Para un modelo de 7B en Q4 en un Snapdragon 8 Gen 3 (~77 GB/s de ancho de banda), calcula el límite de decodificación. Compara con los 6-8 tok/s observados — ¿es eficiente el runtime?
  2. WebGPU en Android requiere Chrome v121+. Diseña un fallback para navegadores más antiguos — en el servidor a través de la misma API compatible con OpenAI.
  3. Tu aplicación de iOS necesita streaming con un contexto de 4K. ¿Qué combinación de modelo/formato te permite mantenerte por debajo de 4 GB de memoria activa en un iPhone 16?
  4. Jetson AGX Orin ejecuta gpt-oss-20b a 40 tok/s. Jetson Nano solo admite un modelo de 3B. Si tu producto está dirigido a ambos, ¿cómo unificas la stack de inferencia?
  5. Argumenta si "WebLLM está listo para producción en 2026". Cita la cobertura, el rendimiento y la brecha de Firefox Android.

Términos Clave

Término Lo que la gente dice Lo que realmente significa
ANE "Apple neural engine" NPU integrada en los chips de las series M y A de Apple; memoria unificada
Hexagon "Qualcomm NPU" NPU de Snapdragon; utiliza el SDK de QNN para el acceso
WebGPU "GPU del navegador" API de GPU para navegadores estandarizada por la W3C; Chrome/Safari en 2026
WebLLM "runtime de LLM en navegador" Proyecto basado en MLC-LLM; licencia Apache 2.0; JS compatible con OpenAI
Jetson "NVIDIA edge" Familia de placas Orin Nano / AGX / Thor / T4000
TRT Edge-LLM "edge TensorRT" Adaptación para edge de TensorRT-LLM en 2026; soporte de EAGLE-3 + NVFP4
Memoria unificada "pool compartido" CPU y NPU acceden a la misma memoria RAM; sin sobrecarga de copia
Limitado por ancho de banda "limitado por memoria" Fase de decodificación restringida por la tasa de transferencia (bytes/seg) al leer los pesos
Core ML "conversión de Apple" Framework de Apple para la ejecución de modelos nativos en la ANE
QNN "stack de Qualcomm" Qualcomm Neural Network SDK

Lecturas Recomendadas

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).