Avanzado 13 minEdge

LLM en NVIDIA Jetson Orin: la IA embebida que cabe en la main

El NVIDIA Jetson Orin es la placa que incorpora una auténtica GPU CUDA en una carcasa del tamaño de una baraja de cartas. A diferencia de una Raspberry Pi, el Jetson Orin ejecuta un LLM con aceleración por hardware, lo que lo cambia todo para la IA integrada: robótica, domótica y sensores autónomos. Esta guía cubre la elección de la placa (Nano 8 GB o AGX 64 GB), la instalación de JetPack, el despliegue de Ollama y llama.cpp y los modelos que puedes ejecutar de forma realista según tu memoria, siempre en local.

¿Estás eligiendo un equipo? Nuestras opciones por presupuesto →

Por Samir K.·Actualización 2026-08-27·Probado en Windows, macOS y Linux
Hardware recomendado

Buena relación calidad-precio para la IA local: un GMKtec EVO-X2 64 GB / 1 TB (Ryzen AI Max+ 395).

Un mini-PC es una máquina completa: verifica la memoria disponible y la compatibilidad del motor. No sustituye a macOS/MLX o CUDA.

¿Por qué esta elección? Nuestra ficha completa sobre GMKtec EVO-X2 64 GB / 1 TB (Ryzen AI Max+ 395) →

Comparar todas las opciones por presupuesto, de 800 a 3 500 € →

Presupuesto ajustado: RTX 5060 · Modelos grandes: RTX 5090 · Mac Studio.

Cuando te desplazas: qué portátil elegir para la IA local →

Enlaces de afiliados — posible comisión sin coste adicional para ti. Como socio de Amazon, QuelLLM obtiene un beneficio de las compras que cumplen las condiciones requeridas.

#¿Por qué un Jetson Orin para un LLM?

Un Jetson Orin no es un microcontrolador: es un módulo de sistema en un chip que combina una CPU ARM Cortex, una GPU NVIDIA con núcleos CUDA y Tensor, y memoria unificada compartida entre ambos. En concreto, la GPU accede directamente a la RAM del sistema, sin VRAM separada. Por tanto, un LLM cargado ocupa la memoria unificada, exactamente como en un Mac Apple Silicon, y el cálculo aprovecha la aceleración CUDA.

Eso es lo que distingue radicalmente un LLM en Jetson Orin de una IA en Raspberry Pi: mientras que el Pi tiene dificultades al trabajar solo con la CPU, el Orin delega el procesamiento en la GPU y mantiene velocidades utilizables con modelos de 3B a 8B. Todo ello con un consumo de entre 7 y 60 vatios, con posibilidad de funcionar con batería, sin un ventilador ruidoso ni una torre bajo el escritorio.

Autonomía de red
Ninguna dependencia del cloud: el modelo se ejecuta en el propio dispositivo, incluso en un robot móvil o en un lugar aislado sin conexión.
Latencia previsible
Sin viajes de ida y vuelta por internet. La respuesta depende únicamente de la GPU local, lo que importa para un bucle de control en tiempo real.
Confidencialidad
Los datos de sensores, cámaras o micrófonos nunca abandonan el dispositivo. Esencial en domótica y entornos médicos.
Ecosistema CUDA
El mismo stack de software que una GPU de escritorio NVIDIA: Ollama, llama.cpp, PyTorch y TensorRT funcionan, con la salvedad de que requieren compilación para ARM.

#Jetson Orin Nano o AGX: elige tu tarjeta

La línea Orin cubre un factor 8 en memoria y mucho más en potencia. Para un LLM, el criterio decisivo es la RAM unificada: limita exactamente el tamaño del modelo, como la VRAM en una tarjeta gráfica clásica. Aquí están los umbrales que importan.

Orin Nano 8 GB
La opción de entrada (~40 TOPS). 8 GB de RAM unificada compartida con el sistema. Apunta a modelos 3B en Q4, o a un 7B que cabe con poco margen si liberas memoria. Ideal para un sensor inteligente o un asistente de voz integrado.
Orin NX 8 / 16 GB
Gama media (~70-100 TOPS). La versión de 16 GB permite ejecutar cómodamente modelos de 7B-8B en Q4_K_M. Buen compromiso para la robótica móvil.
AGX Orin 32 GB
Estación de computación integrada (~200 TOPS). Ejecuta un modelo de 14B en Q4 con contexto, o varios modelos pequeños en paralelo (visión + lenguaje).
AGX Orin 64 GB
El modelo de gama alta (~275 TOPS). Está pensado para modelos de 32B en Q4 (~19 GB), con margen para el contexto y otras cargas. El único de la gama pensado para trabajar en serio con modelos de 32B.
i
Memoria unificada = tu límite
En Jetson, GPU y CPU comparten la misma RAM. Un modelo que pesa 5 GB deja menos espacio para el sistema, la pila de visión o ROS. Reserva siempre entre 1,5 y 2 GB para el sistema: en un Nano de 8 GB, espera tener alrededor de 6 GB realmente disponibles para el modelo.
→
¿Qué tarjeta para qué proyecto?
Prototipo domótico o asistente de voz → Orin Nano 8 GB. Robot móvil con percepción → NX 16 GB. Estación de cálculo para sistemas embebidos con varios modelos o un modelo 32B → AGX Orin 64 GB. No es necesario sobredimensionar: un 7B bien configurado cubre la inmensa mayoría de los usos en sistemas embebidos.

#Requisitos y rol de JetPack

Todo el ecosistema Jetson se basa en JetPack, la distribución de software de NVIDIA. Incluye Ubuntu (L4T, Linux for Tegra), los controladores CUDA, cuDNN, TensorRT y las bibliotecas de GPU. Sin JetPack correctamente flasheado, no hay aceleración: todo se ejecutaría únicamente en la CPU y perderías todas las ventajas de la placa.

Una tarjeta Jetson Orin
Nano, NX o AGX, con su alimentación adecuada (el Nano consume hasta 15 W, el AGX hasta 60 W).
Almacenamiento rápido
Tarjeta microSD (UHS-I) para probar el Nano, pero se recomienda encarecidamente un SSD NVMe: los modelos ocupan varios GB y la carga se resiente con una tarjeta SD.
Un PC host con Linux (Ubuntu)
Necesario para flashear mediante SDK Manager en los AGX/NX. El Nano Developer Kit se instala directamente desde una imagen SD.
JetPack 6.x
La rama reciente basada en Ubuntu 22.04, con CUDA 12. Es la plataforma de destino para una pila de software LLM moderna (Ollama y llama.cpp compilados para la arquitectura ARM SBSA).
!
Verifica la compatibilidad con JetPack
No todas las tarjetas admiten la misma versión de JetPack. Los antiguos Nano (serie anterior) están limitados a ramas más antiguas. Confirma en la página oficial de NVIDIA Jetson que tu módulo sea compatible con JetPack 6 antes de comenzar: un flasheo incorrecto deja el dispositivo sin poder arrancar.

#1. Flashear JetPack y verificar CUDA

  1. 01
    Flashear la imagen
    Para un Orin Nano Developer Kit, graba la imagen SD oficial en una tarjeta con Balena Etcher, insértala, conecta el equipo y sigue el asistente de Ubuntu. Para un AGX/NX, utiliza NVIDIA SDK Manager en el PC anfitrión, con un cable USB-C y la placa en modo de recuperación.
  2. 02
    Actualizar el sistema
    En el primer arranque, actualiza los paquetes. También es el momento de instalar los componentes de JetPack que falten si has utilizado la imagen SD.
  3. 03
    Verificar el GPU y CUDA
    Comprueba que CUDA esté presente y que se reconozca el módulo. jtop (instalado mediante el paquete jetson-stats) ofrece una vista en tiempo real de la GPU, de la RAM y del consumo: el equivalente de nvidia-smi para Jetson.
Verificar CUDA y el estado del Jetson
# Mettre à jour le système
sudo apt update && sudo apt upgrade -y

# Vérifier la version de CUDA fournie par JetPack
nvcc --version

# Installer jtop (moniteur GPU/RAM/conso pour Jetson)
sudo pip3 install -U jetson-stats
sudo systemctl restart jtop.service

# Lancer le moniteur temps réel
jtop
i
Cambiar al SSD NVMe
Si tienes un SSD NVMe, migra el sistema a ese disco (o al menos el directorio de modelos ~/.ollama). Cargar un modelo de 7B desde una microSD puede tardar un minuto; desde un NVMe, unos segundos. En un robot, eso cambia la experiencia al arrancar.

#2. Instalar Ollama en JetPack

Ollama es la vía más rápida para tener un primer modelo. El script de instalación oficial detecta la arquitectura ARM64 y la GPU de Jetson, y configura el servicio systemd. Una vez iniciado, el daemon escucha por defecto en http://localhost:11434, exactamente como en un ordenador de escritorio.

Instalar y ejecutar Ollama en Jetson
# Script d'installation officiel (détecte ARM64 + GPU Jetson)
curl -fsSL https://ollama.com/install.sh | sh

# Le service démarre automatiquement (systemd)
systemctl status ollama

# Tirer et lancer un modèle 3B adapté au Nano
ollama run granite4.2:3b

# Vérifier que le GPU est bien utilisé (pas CPU)
ollama ps
→
Confirmar la aceleración GPU
Después de ejecutar ollama run, abre jtop en otro terminal: la barra de la GPU debe subir durante la generación. Si la GPU permanece al 0 % y el uso de la CPU se dispara, la aceleración no está activa: comprueba que JetPack y CUDA estén bien instalados y que no estés usando una imagen ARM genérica sin soporte para Tegra.

Para una interfaz tipo ChatGPT, añade Open WebUI en un contenedor que apunte al mismo endpoint. En un Nano de 8 GB, limita los servicios: cada uno consume memoria unificada que ya se ha tenido en cuenta para el modelo.

#3. Compilar llama.cpp con CUDA

Ollama basta para la mayoría de los usos, pero compilar llama.cpp manualmente ofrece un control preciso: elección de la cuantización GGUF exacta, ajuste del número de capas transferidas a la GPU y, a menudo, algunos tokens por segundo más. También es la vía si quieres integrar el motor en tu propio binario para un sistema embebido.

Compilar llama.cpp con soporte CUDA en Jetson
# Dépendances de build
sudo apt install -y build-essential cmake git libcurl4-openssl-dev

# Récupérer les sources
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp

# Compiler avec CUDA activé (GGML_CUDA=ON)
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j$(nproc)

# Lancer l'inférence en déchargeant les couches sur le GPU (-ngl 99)
./build/bin/llama-cli -m modele-q4_k_m.gguf -ngl 99 -p "Bonjour"
!
La opción -ngl es crucial
Sin -ngl (número de capas en el GPU), llama.cpp permanece en CPU y pierdes todo el beneficio del Jetson. Coloca -ngl 99 para cargar completamente el modelo en el GPU siempre que quepa en memoria unificada. Si el modelo es demasiado grande, reduce este número para un modo híbrido CPU/GPU.

#¿Qué modelos funcionan según la memoria?

La regla es la misma que en una GPU de escritorio: con cuantización Q4_K_M (el mejor equilibrio entre calidad y memoria), calcula ~2 GB para un 3B, ~5 GB para un 7B, ~9 GB para un 14B y ~19 GB para un 32B. En Jetson, resta la memoria del sistema de la RAM total para conocer tu presupuesto real.

Orin Nano 8 GB
Granite 4.2 3B (~2,2 GB), Qwen 3.5 4B (~3,4 GB) o Gemma 4 E2B (~4,3 GB) en Q4. Un 8B (Granite 4.2 8B, ~5,3 GB) cabe si cierras todo lo demás, pero el margen para el contexto sigue siendo limitado.
Orin NX 16 GB
Funciona con comodidad con modelos de 8B–9B (Granite 4.2 8B, Qwen 3.5 9B) en Q4_K_M y con espacio para el contexto. Un modelo de 24B (Mistral Small 24B, ~14 GB) cabe en Q4, aunque deja poco margen.
AGX Orin 32 GB
Un modelo de 24B (Mistral Small, gpt-oss 20B) con holgura, o un MoE de 30-35B (Qwen 3.6 35B-A3B, ~23 GB). Espacio suficiente para combinar un modelo de lenguaje y una pila de visión.
AGX Orin 64 GB
Un MoE de 30-35B a plena calidad, un modelo de 24B en Q8 o varios modelos cargados simultáneamente. El único nivel pensado seriamente para modelos grandes con margen.
→
Prefiere modelos pequeños recientes
En sistemas embebidos, un modelo reciente de 3B-4B (Granite 4.2 3B, Qwen 3.5 4B, Gemma 4 E2B) suele superar a uno de 7B de una generación anterior, con la mitad de la memoria y de los vatios. Para un uso específico en robótica o domótica, un modelo pequeño con un prompt bien formulado es más que suficiente; no hace falta buscar un modelo grande que agote tu margen térmico.

#Consumo y modos de alimentación

La principal ventaja del Jetson es la relación rendimiento/vatio. Cada tarjeta ofrece modos de alimentación (power modes) que limitan el consumo activando más o menos núcleos de CPU y reduciendo la frecuencia de la GPU. Se controlan con nvpmodel, y jetson_clocks fuerza las frecuencias al máximo permitido por el modo.

Controlar los modos de consumo
# Lister les modes d'alimentation disponibles
sudo nvpmodel -q

# Basculer sur le mode le plus performant (index variable selon la carte)
sudo nvpmodel -m 0

# Verrouiller les fréquences au max du mode courant
sudo jetson_clocks

# Suivre conso, GPU et température en direct
jtop
Modo de bajo consumo
En Orin Nano, un modo de 7 W limita considerablemente la velocidad de generación, pero permite usar una batería o una fuente de alimentación USB-C de poca potencia. Adecuado para un sensor que consulta el modelo de forma intermitente.
Modo de máxima potencia
El modo MAXN desbloquea toda la GPU. En AGX Orin, el consumo puede alcanzar 60 W: prevé refrigeración (disipador activo) y una fuente de alimentación de capacidad adecuada.
El equilibrio en la IA embebida
Muchos proyectos funcionan bien en modo 15-25 W: buen rendimiento en un 3B-7B, disipación manejable, autonomía de batería razonable.
!
Gestión térmica = velocidad real de generación
Un Jetson que se calienta reduce su rendimiento por la temperatura: la tasa de tokens/segundo cae sin avisar. En una carcasa cerrada instalada en un robot, la disipación pasiva no basta en modo MAXN. Vigila la temperatura en jtop y prevé un ventilador o un disipador de buen tamaño si exiges mucho a la tarjeta.

#Casos de uso: robótica y domótica

El Jetson destaca allí donde un LLM debe funcionar lo más cerca posible del mundo físico, sin la latencia de la nube ni fugas de datos. Dos ámbitos predominan en los sistemas embebidos.

Robótica (ROS 2)
El LLM actúa como interfaz de lenguaje natural: traducir una instrucción hablada en una secuencia de acciones, describir una escena percibida por la cámara, razonar sobre una tarea. El Jetson aloja tanto la percepción (visión) como el lenguaje en la misma GPU.
Domótica local
Un asistente de voz doméstico que controla Home Assistant sin recurrir nunca a la nube. El modelo interpreta las peticiones en lenguaje natural y activa las automatizaciones: el micrófono y los datos permanecen en casa.
Sensor inteligente autónomo
En un emplazamiento aislado (agrícola, industrial), el Orin analiza datos localmente y genera resúmenes en lenguaje natural, que se transmiten solo cuando hay una conexión disponible.
Asistente de campo offline
Documentación técnica consultable mediante RAG, integrada en un vehículo o un equipo, que funciona sin conexión a la red.
i
El combo percepción + lenguaje
El verdadero interés del Jetson en robótica es hacer coexistir un modelo de visión (detección, segmentación mediante TensorRT) y un LLM en la misma GPU. Planifica cuidadosamente la asignación de memoria: en un NX de 16 GB, un modelo de 8B en Q4 (~5,3 GB) deja espacio para cargar una pila de visión, pero no para un segundo modelo grande.

#Frente al Raspberry Pi: la verdadera diferencia

La pregunta siempre vuelve: ¿por qué pagar por un Jetson cuando una Raspberry Pi 5 también ejecuta Ollama? La respuesta se resume en una palabra: la GPU. La Pi no tiene un acelerador aprovechable para la inferencia de LLM; todo se ejecuta en la CPU ARM. El Jetson, en cambio, delega el cálculo en núcleos CUDA.

Aceleración
Pi 5: solo CPU, apenas unos pocos tokens por segundo con un 3B. Jetson Orin: GPU CUDA, un rendimiento varias veces superior con el mismo modelo y modelos de 7B-14B realmente utilizables.
Memoria
Pi 5 tiene un límite de 8/16 GB de RAM para la CPU. Jetson llega hasta 64 GB de memoria unificada que la GPU puede utilizar, lo que permite ejecutar modelos fuera del alcance del Pi.
Precio
El Pi cuesta una fracción de lo que cuesta el Jetson. La diferencia de precio es real: el Jetson se justifica cuando necesitas mayor capacidad de procesamiento o modelos grandes, no para un simple bot de 1B.
Ecosistema
El Pi es de propósito general y cuenta con un ecosistema comunitario; el Jetson está orientado a la IA integrada con CUDA, TensorRT y el soporte de NVIDIA para robótica (Isaac).
→
¿Cuál elegir?
Bot de texto ocasional, presupuesto ajustado, 1B-3B suficiente → Raspberry Pi 5. Rendimiento sostenido, visión + lenguaje, 7B y más, bucle en tiempo real → Jetson Orin. El costo adicional del Jetson tiene sentido solo si realmente usas su GPU.

#Solución de problemas

Ollama permanece en CPU
La GPU no se utiliza si JetPack/CUDA no está correctamente instalado o si has flasheado una imagen ARM genérica sin soporte para Tegra. Comprueba nvcc --version y la actividad de la GPU en jtop.
Out of memory al cargar
El modelo supera la memoria unificada disponible tras descontar la que utiliza el sistema. Baja a un modelo de menor tamaño (7B → 3B), pasa a una cuantización Q4 más agresiva o cierra los otros servicios.
Caída drástica de la velocidad de generación
Limitación del rendimiento por temperatura. Controla la temperatura en jtop, mejora la refrigeración o cambia a un modo nvpmodel que consuma menos pero sea estable.
Carga del modelo muy lenta
Modelos almacenados en microSD. Mueve ~/.ollama (o tus GGUF) a un SSD NVMe para que se carguen en segundos en lugar de minutos.
llama.cpp ignora el GPU
Opción -ngl ausente o compilación sin CUDA. Recompila con -DGGML_CUDA=ON y ejecuta con -ngl 99.
Diagnósticos rápidos de Jetson
# Le GPU est-il vu et actif ?
jtop

# CUDA est-il bien présent ?
nvcc --version

# Ollama utilise-t-il le GPU pour le modèle chargé ?
ollama ps

# Mode d'alimentation courant
sudo nvpmodel -q

#Para ir más allá

Jetson comparte la misma pila de software que un PC NVIDIA. Estas guías te permiten ampliar de forma natural tu configuración de sistema embebido:

LLM en Raspberry Pi 5: IA local embebida
La comparación directa usando solo la CPU, útil para decidir entre Pi y Jetson según tu proyecto y tu presupuesto.
Compilar llama.cpp con CUDA
Para profundizar en la compilación desde el código fuente y los ajustes de GPU, aplicables a la arquitectura ARM del Jetson.
Elegir tu cuantización (Q4, Q5, Q8, FP16)
Para ajustar el uso de memoria a la RAM unificada de tu tarjeta Orin.
¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.