Introducción a los Modelos de Lenguaje Grandes
Introducción
¿Qué es exactamente un Modelo de Lenguaje Grande? Para responder a esa pregunta, empecemos con algo familiar. Imagina que estás escribiendo un mensaje de texto en tu teléfono. Después de escribir algunas palabras, tu teléfono sugiere la siguiente palabra — y a veces es tan precisa que solo tocas la sugerencia para seguir escribiendo. Esa función de texto predictivo es una forma muy simple de modelo de lenguaje. Un Modelo de Lenguaje Grande (LLM) opera bajo la misma idea básica, pero en una escala enormemente mayor.

Un LLM es una red neuronal entrenada con enormes volúmenes de texto — libros, artículos, sitios web, código y más. Durante este proceso de entrenamiento, el modelo lee miles de millones de oraciones y aprende las relaciones estadísticas entre palabras y frases. Descubre patrones como: cuando ciertas palabras aparecen, qué palabras tienden a seguir; cómo se estructuran las oraciones; cómo el contexto cambia el significado; y cómo diferentes piezas de información se relacionan entre sí. Una vez completado el entrenamiento, el modelo puede generar texto coherente y contextualmente apropiado en respuesta a una instrucción que tú proporcionas.
El "Grande" en Modelo de Lenguaje Grande se refiere a dos cosas simultáneamente. Primero está la escala de los datos de entrenamiento — los LLM modernos se entrenan en conjuntos de datos que contienen cientos de miles de millones a billones de tokens (donde un token es aproximadamente una palabra o parte de una palabra). Segundo está el modelo en sí — estos modelos contienen miles de millones de parámetros, que son los valores numéricos internos que codifican todo lo que el modelo ha aprendido. Un modelo con 7 mil millones de parámetros, por ejemplo, tiene 7 mil millones de números ajustables que juntos representan su conocimiento del lenguaje.

¿Por qué importa esto para ti como desarrollador de Jetson? Hasta hace poco, ejecutar un modelo de esta escala requería servidores en la nube caros con múltiples GPU de alta gama. La gran interrupción de los últimos dos años es que técnicas como la cuantización — comprimir la precisión numérica del modelo — ahora hacen posible ejecutar LLM capaces en dispositivos de borde como el NVIDIA Jetson Orin Nano y Orin NX. Esto significa que puedes construir aplicaciones impulsadas por IA que se ejecuten completamente sin conexión, manteniendo tus datos privados y eliminando la dependencia de la conectividad a Internet.
Cómo Funcionan los LLM
Ahora que entiendes qué es un LLM, la pregunta natural es: ¿cómo produce texto realmente? La respuesta gira en torno a una operación central — predecir el siguiente token en una secuencia.
Tokens: Los Bloques de Construcción
Antes de discutir cómo el modelo genera texto, necesitamos aclarar qué significa procesar texto como "tokens". Un LLM no lee texto sin formato como lo hacen los humanos. En cambio, un tokenizador divide tu entrada en unidades más pequeñas llamadas tokens. Un token podría ser una palabra completa como "computadora", un fragmento de palabra común como "the", o incluso un solo carácter en un idioma desconocido. Por ejemplo:
"The reComputer runs Linux"
→ ["The", " re", "Computer", " runs", " Linux"] (5 tokens)El vocabulario del tokenizador típicamente contiene entre 30,000 y 100,000 tokens. Cada fragmento de texto que el modelo ve se convierte en una secuencia de estos tokens antes de que ocurra cualquier procesamiento.
El Proceso de Entrenamiento
Entrenar un LLM implica tres etapas clave, cada una construyendo sobre la anterior:

Etapa 1 — Preentrenamiento en texto sin formato. El modelo se alimenta de cantidades enormes de texto (las fuentes comunes incluyen Common Crawl, Wikipedia, repositorios de GitHub y libros publicados). Durante esta etapa, la tarea del modelo es engañosamente simple: dada una secuencia de tokens, predecir el siguiente token. Por ejemplo, cuando el modelo ve "The Eiffel Tower is located in", aprende que "Paris" es el siguiente token más probable. Al repetir este ejercicio a través de miles de millones de ejemplos, el modelo construye gradualmente una representación interna de gramática, hechos, patrones de razonamiento e incluso lógica de programación.
Etapa 2 — Ajuste Fino Supervisado (SFT). Después del preentrenamiento, el modelo tiene conocimiento amplio pero no sabe cómo comportarse como un asistente útil. En esta etapa, los anotadores humanos crean ejemplos de pares de instrucciones y respuestas de alta calidad. El modelo se entrena con estos ejemplos para aprender el formato y estilo de respuestas útiles.
Etapa 3 — Alineación (RLHF o similar). En la etapa final, los evaluadores humanos clasifican múltiples respuestas del modelo de la mejor a la peor. Esta retroalimentación entrena un modelo de recompensa, que a su vez guía al LLM para producir respuestas que son más útiles, inofensivas y honestas. Por eso los modelos de chat modernos producen respuestas más coherentes y útiles de lo que la etapa de preentrenamiento por sí sola sugeriría.
Inferencia: Generando Texto Un Token a la Vez
Una vez que el entrenamiento se completa, el modelo genera texto a través de un proceso llamado inferencia. Esto es exactamente lo que sucede cuando escribes una instrucción:
Instrucción: "The capital of France is"
El tokenizador convierte esto en IDs de tokens. El modelo procesa estos tokens y produce una distribución de probabilidad sobre todos los tokens en su vocabulario. El token "Paris" recibe la probabilidad más alta, por lo que se selecciona y se añade a la salida. La secuencia actualizada ahora dice "The capital of France is Paris", y el modelo repite el proceso — prediciendo el siguiente token nuevamente. Esto continúa hasta que el modelo emite un token especial de fin de secuencia, o hasta que se alcanza un límite máximo de longitud.
Paso 1: "The capital of France is" → predecir "Paris"
Paso 2: "The capital of France is Paris" → predecir "and"
Paso 3: "The capital of France is Paris and"→ predecir " the"
Paso 4: ...continúa hasta completar
Un punto crítico que vale la pena entender: el modelo no "conoce" la respuesta de la manera en que funciona una búsqueda en base de datos. Produce texto que es estadísticamente probable dado sus datos de entrenamiento. Por eso los LLM a veces pueden generar declaraciones que suenan plausibles pero son incorrectas — una limitación que debes tener en cuenta al construir aplicaciones.
Todo el proceso — desde tu instrucción hasta la respuesta completa — es lo que sucede durante cada interacción con un LLM. En la siguiente sección, veremos la arquitectura de red neuronal específica que hace todo esto posible.
Cómo los Modelos de Lenguaje Grandes Procesan y Generan Texto
La Arquitectura Transformer
Casi todos los LLM modernos se basan en la arquitectura Transformer, introducida en el artículo histórico "Attention Is All You Need" (2017) por investigadores de Google. Este artículo individual cambió fundamentalmente la trayectoria de la IA — y los modelos que ejecutarás en Jetson (Llama, Qwen, DeepSeek, Gemma) son todos descendientes directos de esta arquitectura.
La innovación clave es el mecanismo de autoatención, que permite al modelo ponderar la importancia de diferentes palabras al procesar texto — permitiéndole entender contexto, relaciones y significado a un nivel sin precedentes.
El Transformer: Base de los LLM Modernos
De Secuencial a Paralelo: Por Qué Ganaron los Transformers
Antes de los Transformers, modelos como las RNN (Redes Neuronales Recurrentes) y las LSTM procesaban texto una palabra a la vez, secuencialmente de izquierda a derecha. Esto causaba dos problemas principales:
- Lento: Cada palabra dependía del cálculo de la palabra anterior — sin paralelismo posible
- Olvidadizo: Para cuando el modelo llegaba a la palabra 100, había mayormente "olvidado" la palabra 1
RNN (Viejo): "The" → "cat" → "sat" → "on" → "the" → "mat" (lento, secuencial)
Transformer: ["The", "cat", "sat", "on", "the", "mat"] → ¡todos a la vez! (rápido, paralelo)El Transformer resolvió ambos problemas procesando todas las palabras simultáneamente a través de autoatención. Esto hizo el entrenamiento dramáticamente más rápido y permitió a los modelos capturar relaciones de largo alcance de manera efectiva.

Cómo Funciona la Autoatención
La autoatención es la innovación central del Transformer. Entendámosla a través de un ejemplo concreto.
Una Analogía del Mundo Real — El Proceso de Selección de Entrevistas:
Imagina que estás contratando para un puesto y recibiste 5 currículums. Necesitas evaluar a cada candidato comparándolos con una "descripción del trabajo" (lo que estás buscando). Así es como funciona la autoatención:
- Cada currículum es tanto candidato como descripción del trabajo — suena extraño, pero así es exactamente como la autoatención trata cada palabra en una oración
- La "descripción del trabajo" para evaluar al candidato A se llama Query (Q)
- Cada currículum tiene una sección de "cualificaciones laborales" — estas son las Keys (K)
- El contenido real del currículum (experiencia, habilidades, educación) es el Value (V)
Ahora imagina que quieres descubrir a qué se refiere la palabra "it" en esta oración:
"The robot picked up the ball because it was heavy."
Aquí está el proceso paso a paso:
Paso 1: Generar Q/K/V para cada palabra
Cada palabra en la oración genera sus propios vectores Query, Key y Value. Piensa en ello como cada palabra preparando tanto una "pregunta de búsqueda" como "contenido para compartir":
| Palabra | Query (Lo que busco) | Key (Lo que ofrezco) | Value (Mi contenido) |
|---|---|---|---|
| "robot" | "¿qué es pesado/relacionado con el peso?" | "Soy un robot, puedo ser pesado" | características reales del robot |
| "picked" | "¿qué es un objeto?" | "Soy una acción" | detalles de la acción de recoger |
| "ball" | "¿qué es pesado?" | "Soy una pelota, puedo ser pesado" | características de la pelota |
| "it" | "¿a qué se refiere 'it'?" | "Yo represento algo" | — |

Paso 2: Calcular puntuaciones de relevancia — el producto punto
Para la palabra "it", tomamos su vector Query y calculamos productos punto con los vectores Key de TODAS las otras palabras:
"it" Query × "robot" Key = 0.2 (baja relevancia — los robots típicamente no se describen como pesados en este contexto)
"it" Query × "picked" Key = 0.1 (irrelevante — "picked" no tiene nada que ver con el peso)
"it" Query × "ball" Key = 0.9 (alta relevancia — ¡las pelotas definitivamente pueden ser pesadas!)
Paso 3: Aplicar softmax para normalizar
Estas puntuaciones en bruto pasan por softmax, que las convierte en probabilidades que suman 1:
"ball": 0.82 (82% — "it" muy probablemente se refiere a "ball")
"robot": 0.15 (15%)
"picked": 0.03 (3%)Paso 4: Suma ponderada de Values
Ahora combinamos todos los vectores Value usando estos pesos:
Nueva representación de "it" = 0.82 × ball.Value + 0.15 × robot.Value + 0.03 × picked.Value¿El resultado? La palabra "it" ahora "sabe" que se refiere a la pelota, y lleva ese significado hacia adelante.
Paso 5: Repetir para CADA palabra
Este proceso exacto sucede para cada palabra en la oración simultáneamente. "robot" mira a "ball", "picked", etc. para entender su contexto. "ball" mira a "robot" y "picked". Todos simultáneamente están "mirando" a todos los demás a través del mecanismo Query-Key-Value.
Las Matemáticas:
Este proceso se puede escribir como:
Attention(Q, K, V) = softmax( Q × Kᵀ / √dₖ ) × V
Donde dₖ es la dimensión del vector y √dₖ es un factor de escalado que evita que los números se vuelvan demasiado grandes durante el cálculo del producto punto. La clave no es la fórmula — es esta: cada palabra calcula cuán relevante es cada otra palabra para sí misma, y luego reúne información en consecuencia.
Autoatención: Palabras Préstando Atención Mutua
Atención Multi-Cabeza
En la sección anterior, viste cómo la autoatención permite a cada palabra mirar a cada otra palabra y calcular puntuaciones de relevancia. El resultado es un nuevo conjunto de vectores donde cada palabra ya ha mezclado contexto de las palabras a las que atendió. Esto es poderoso, pero tiene una limitación: un solo paso de atención solo puede capturar un tipo de relación a la vez.
Considera "The robot picked up the ball because it was heavy." El enlace entre "it" y "ball" (referencia de pronombre) y el enlace entre "robot" y "picked" (sujeto-verbo) son dos tipos fundamentalmente diferentes de relaciones. Un solo cálculo de atención puede descubrir uno, pero para capturar múltiples tipos de relaciones simultáneamente, necesitas múltiples pasos de atención en paralelo.
La Atención Multi-Cabeza hace exactamente esto. La idea es directa: en lugar de ejecutar la atención una vez, ejecútala múltiples veces en paralelo, dejando que cada "cabeza" aprenda su propio patrón independiente de relaciones.
Concretamente, cada cabeza tiene su propio conjunto separado de matrices de peso Q, K, V. Esto significa que para la misma palabra, cada cabeza la mapea en vectores Q, K, V diferentes, causando que atienda a diferentes otras palabras. Cuatro cabezas procesando la misma oración son como cuatro observadores mirando a través de filtros de diferentes colores, cada uno viendo un "faceta" diferente de la oración:
Oración: [The] [robot] [picked] [up] [the] [ball] [because] [it] [was] [heavy]
Cabeza 1 (gramática): robot ↔ picked picked ↔ up
Cabeza 2 (proximidad): the ↔ robot picked ↔ up
Cabeza 3 (semántica): heavy ↔ ball robot ↔ machine
Cabeza 4 (referencia): it ↔ ball
Las cuatro cabezas se ejecutan simultáneamente, cada una produciendo su propia salida de atención. Las cuatro salidas luego se concatenan y pasan a través de una transformación lineal para fusionarlas en una sola salida unificada:
Cabeza 1 (gramática) Cabeza 2 (proximidad) Cabeza 3 (semántica) Cabeza 4 (referencia)
↓ ↓ ↓ ↓
[salida 1] [salida 2] [salida 3] [salida 4]
↓ ↓ ↓ ↓
Concatenar + Transformación Lineal
↓
[Salida unificada con los cuatro tipos de información]Esta salida unificada lleva las cuatro dimensiones de información de relación a la vez, lista para la siguiente capa de la red. Por eso los Transformers entienden el lenguaje tan profundamente — en lugar de ver una oración desde un solo ángulo, la analizan desde múltiples dimensiones en paralelo.
Estructura del Bloque Transformer
Ahora entiendes el núcleo de la atención multi-cabeza: a través de múltiples cabezas de atención en paralelo, cada palabra puede entender simultáneamente la oración desde perspectivas gramaticales, semánticas y de referencia. Pero la atención por sí sola no es toda la imagen. Un modelo Transformer se construye apilando muchos bloques idénticos uno encima del otro — Llama 3.2 3B, por ejemplo, apila 28 de ellos. Estos bloques de construcción se llaman Bloques Transformer, y cada uno sigue el mismo flujo interno.
Etapa 1 — Autoatención Multi-Cabeza. Como ya sabes, cada palabra mira a cada otra palabra, calcula puntuaciones de relevancia a través del emparejamiento Query-Key, y reúne información de sus vecinos más relevantes. La salida es una nueva representación para cada palabra que ahora lleva información contextual de toda la oración.
Etapa 2 — Red Feed-Forward (FFN). Después de que la atención enriquece cada palabra con contexto, la FFN procesa cada palabra independientemente. Piénsalo como una pequeña red neuronal de dos capas cuya tarea es preguntar: "Ahora que conozco el contexto, ¿qué características más profundas puedo extraer de esta palabra?" La FFN almacena una cantidad sorprendente del "conocimiento" real del modelo — actúa como un motor de razonamiento por palabra.
Entre y alrededor de estas dos etapas, dos salvaguardas importantes mantienen la red profunda entrenable:
-
Conexión Residual (Add): Después de ambas etapas de Atención y FFN, la entrada original se añade de nuevo a la salida. Esto es como instalar un fusible en un electrodoméstico — incluso si un módulo intermedio produce un resultado imperfecto, la información original nunca se pierde. Sin este mecanismo, en una pila de 28 capas, la señal de entrenamiento (gradiente) decaería a casi cero durante la retropropagación, y el modelo no lograría aprender en absoluto.
-
Normalización de Capa: Después de la suma residual, todos los valores se reescalan a un rango estable. Piénsalo como un regulador de voltaje en un circuito eléctrico — evita que la señal "explote" después de pasar por 28 etapas de amplificación consecutivas.

La idea crítica es que cada bloque sucesivo construye un nivel más profundo de abstracción. Los bloques tempranos capturan sintaxis básica — qué palabras son vecinas, qué palabras son sujetos u objetos. Los bloques intermedios comienzan a ensamblar semántica — "the ball" es una frase nominal, "was heavy" es una descripción. En los bloques finales, el modelo ha construido una comprensión rica y multicapa de toda la entrada, lista para la predicción precisa del siguiente token.
Codificador vs. Decodificador
La arquitectura Transformer original descrita en "Attention Is All You Need" (2017) en realidad tenía dos mitades, cada una con un trabajo diferente. Entender esta división ayuda a explicar por qué los LLM modernos están construidos como están.
El Codificador — el lector. El trabajo del Codificador es leer una oración de entrada completa en un solo paso y construir una comprensión profunda de cada palabra en contexto. Utiliza atención bidireccional — lo que significa que cada palabra puede mirar a cada otra palabra, tanto a su izquierda como a su derecha. Como ve la oración completa a la vez, el Codificador sobresale en tareas de comprensión: resumir un párrafo, clasificar sentimiento o extraer el tema principal de un documento. BERT es el modelo solo-codificador más conocido, y Qwen y Gemma también ofrecen variantes de codificador.
El Decodificador — el escritor. El trabajo del Decodificador es fundamentalmente diferente: genera texto un token a la vez, de izquierda a derecha. Utiliza autoatención enmascarada, lo que significa que al predecir la tercera palabra, solo puede ver la primera y segunda palabras — nunca el futuro. Esta ceguera forzada es esencial: si el modelo pudiera "hacer trampa" espiando la respuesta, nunca aprendería a generar por sí mismo. GPT, Llama y DeepSeek todos usan esta arquitectura solo-decodificador.
Codificador-Decodificador — ambos juntos. Algunas tareas requieren tanto comprensión como generación: traducir una oración del inglés al chino, por ejemplo, requiere leer primero toda la oración en inglés (Codificador), y luego generar la traducción al chino palabra por palabra (Decodificador). Whisper (el modelo de reconocimiento de voz que encontraste anteriormente en este capítulo) usa esta arquitectura combinada.
La razón por la que los LLM modernos como Llama, GPT, Qwen y DeepSeek se establecieron en solo-decodificador es elegantemente simple: un Decodificador entrenado con suficientes datos aprende tanto a entender como a generar texto. Cuando predice el siguiente token, debe implícitamente entender todo lo que vino antes — y ese entendimiento implícito resulta ser suficiente para una gama remarkablemente amplia de tareas.
Codificación Posicional: Conociendo el Orden de las Palabras
En las secciones anteriores, viste cómo la autoatención permite a cada palabra mirar a cada otra palabra y calcular puntuaciones de relevancia. Pero hay una sutileza fácil de pasar por alto: la atención no tiene idea del orden en que aparecen las palabras. Calcula relevancia entre todos los pares de palabras, pero el cálculo es completamente independiente de la posición.
Esto significa que si alimentaras "The cat chased the dog" y "The dog chased the cat" al modelo, desde la perspectiva de la atención los cálculos serían idénticos — ambas oraciones contienen exactamente las mismas palabras, solo en diferente orden. Eso es claramente inaceptable: reorganizar las mismas palabras cambia el significado por completo.
La codificación posicional está diseñada para resolver exactamente este problema. La idea es intuitiva: antes de que el vector de cada palabra se introduzca en la atención, se añade una huella de posición — un vector diseñado matemáticamente cuyo único propósito es decir "esta palabra está en esta posición". Piénsalo como un número de asiento en un cine: el número de asiento no te dice nada sobre la película, pero te permite siempre distinguir la fila 3 asiento 5 de la fila 10 asiento 2.
En la práctica, la huella de cada posición se genera usando funciones de seno y coseno:
Posición 0: "What" + [0.00, 1.00, 0.00, 1.00, ...]
Posición 1: "is" + [0.84, 0.54, 0.84, 0.54, ...]
Posición 2: "Jet" + [0.91, -0.42, 0.91, -0.42, ...]¿Por qué seno y coseno? Porque las posiciones adyacentes siempre producen valores de huella ligeramente diferentes, y estos valores son continuos (no enteros simples 0, 1, 2). Esto significa que incluso si el modelo solo fue entrenado en oraciones de hasta 100 posiciones de largo, puede generalizar a oraciones de 200 posiciones — el "ritmo" de la codificación posicional es predecible y regular.
Modelos modernos como Llama y Qwen han mejorado a RoPE (Embedding Posicional Rotatorio). En lugar de añadir un valor de posición, RoPE rota el vector de cada palabra en el espacio de alta dimensión por un ángulo determinado por su posición. Esto trae un beneficio adicional: la distancia relativa entre dos palabras (cuántas posiciones apartadas están) se refleja directamente en la diferencia de ángulo entre sus vectores rotados, no solo en sus posiciones absolutas. Esto hace que el modelo sea más estable y flexible al manejar texto de diferentes longitudes.
Paso a Paso: Cómo un Transformer Procesa Texto
Ahora que has aprendido todos los componentes centrales de un Transformer, tracemos a través de un ejemplo completo para ver cómo trabajan juntos. Seguiremos la pregunta: "¿Qué es Jetson?"
Paso 1 — Tokenización El texto de entrada sin formato se divide en tokens (típicamente fragmentos de subpalabras):
"What is Jetson?" → ["What", "is", "Jet", "son", "?"] (5 tokens)
Paso 2 — Embedding Cada token se convierte en un vector numérico de alta dimensión. Llama 3.2 3B, por ejemplo, produce un vector de 3072 dimensiones para cada token:
"What" → [0.23, -0.45, 0.67, ..., 0.12] (3072 números)
"is" → [0.12, 0.89, -0.34, ..., 0.56]
"Jet" → [0.78, 0.11, 0.56, ..., -0.33]
"son" → [0.45, -0.23, 0.91, ..., 0.78]
"?" → [0.67, 0.34, -0.12, ..., 0.45]Paso 3 — Añadir Codificación Posicional Se añade un vector de codificación posicional al embedding de cada token, dando al modelo consciencia del orden de las palabras, como se explicó en detalle en la sección anterior.
Paso 4 — Autoatención (repetida sobre N capas) El modelo calcula puntuaciones de atención entre todos los tokens para encontrar relaciones:
"What" presta más atención a: "?" (0.5), "Jet" (0.4), "is" (0.3)
"is" presta más atención a: "What" (0.4), "Jetson" (0.5)
"Jet" presta más atención a: "son" (0.8), "is" (0.3)Después de la atención, la representación de cada token ahora contiene información de las palabras a las que atendió.
Paso 5 — Red Feed-Forward La representación enriquecida de cada token se procesa independientemente a través de una pequeña red neuronal para extraer características de nivel superior.
Paso 6 — Repetir (N capas apiladas) Los pasos 4 y 5 se repiten muchas veces (28 veces para Llama 3.2 3B). Cada capa construye un nivel de comprensión más profundo:
- Capas tempranas capturan sintaxis básica y relaciones locales (orden de palabras, colocaciones)
- Capas intermedias ensamblan semántica ("Jetson" es un sustantivo que se refiere a una plataforma de computación)
- Capas tardías forman comprensión de alto nivel, específica para tareas, lista para predicción
Paso 7 — Predicción de Salida La representación del token final se proyecta sobre todo el vocabulario, y el token con la mayor probabilidad se selecciona como la predicción del modelo para la siguiente palabra:
{"NVIDIA": 0.92, "AI": 0.03, "a": 0.02, ...}
→ Predicción: "NVIDIA" (mayor probabilidad)Conceptos Clave de Transformer
| Concepto | Descripción | Ejemplo |
|---|---|---|
| Ventana de Contexto | Número máximo de tokens que el modelo puede procesar a la vez | Llama 3.2: 128K tokens |
| Parámetros | Los pesos aprendidos que determinan las capacidades del modelo | Llama 3.2 3B = 3 mil millones de parámetros |
| Capas | Número de bloques Transformer apilados juntos | Llama 3.2 3B: 28 capas |
| Tamaño Oculto | Dimensionalidad de la representación de cada token | Llama 3.2 3B: 3072 dimensiones |
| Cabezas de Atención | Número de cálculos de atención en paralelo | Llama 3.2 3B: 24 cabezas |
Leyes de Escala: Por Qué los Modelos Más Grandes Son Más Inteligentes
Uno de los descubrimientos más sorprendentes en la investigación de IA es que el rendimiento del Transformer sigue leyes de escala — mejoras predecibles a medida que aumenta la escala del modelo, los datos o el presupuesto de cómputo. Este descubrimiento explica el salto rápido en la capacidad de IA durante la última década.
Las leyes de escala involucran tres dimensiones clave:
-
Más Parámetros (Tamaño del Modelo): Aumentar el número de parámetros — de 3 mil millones a 70 mil millones, por ejemplo — aumenta significativamente la profundidad de comprensión y expresividad del modelo. Los modelos más grandes pueden capturar patrones más sutiles y almacenar más conocimiento.
-
Más Datos de Entrenamiento: Un modelo más grande entrenado con datos insuficientes es como un gran comedor con una comida pequeña — no puede alcanzar su potencial. La investigación muestra que el tamaño del modelo y el conteo de tokens de entrenamiento deben escalar juntos idealmente, aproximadamente en una proporción de 1:1.
-
Más Cómputo: Entrenar modelos más grandes exige más tiempo de GPU y presupuesto. Los principales laboratorios de IA pueden gastar cientos de millones de dólares en una sola ejecución de entrenamiento, por eso sus modelos propietarios superan ampliamente lo que los proyectos de código abierto pueden lograr.
Debido a que las tres dimensiones han escalado juntas, el campo ha progresado desde el Transformer original en 2017 (solo 110 millones de parámetros) hasta los modelos actuales de 70+ mil millones de parámetros. Para tu dispositivo Jetson, la implicación más importante es esta: incluso modelos de 1 mil millones a 3 mil millones de parámetros poseen capacidades sólidas de comprensión y generación — más que suficientes para proporcionar servicios de IA prácticos en el borde.
Tamaños de Modelo y Despliegue Local
No todos los LLM tienen el mismo tamaño. Entender la escala del modelo es crucial para elegir el correcto para tu hardware — el conteo de parámetros determina directamente los requisitos de memoria y la velocidad de inferencia:
| Tamaño del Modelo | Parámetros | VRAM/RAM Necesaria (FP16) | Calidad | Velocidad en Jetson |
|---|---|---|---|---|
| Ligero | 1B–3B | 2–6GB | Básico | Muy rápido |
| Pequeño-Medio | 7B–8B | 14–16GB | Bueno | Moderado |
| Medio | 13B–14B | 26–28GB | Excelente | Lento |
| Grande | 70B+ | 140GB+ | Sobresaliente | No práctico localmente |
Para dispositivos Jetson, el punto óptimo es 1B a 8B. Los modelos en el rango de 1B–3B ofrecen experiencias interactivas muy fluidas en Orin Nano, mientras que los modelos de 7B–8B se ejecutan confiablemente en el Orin NX de 16GB.
Consejo: Después de la cuantización (cubierto a continuación), el uso de memoria cae drásticamente. Un modelo de 7B en cuantización INT4 requiere solo aproximadamente 3.5GB de memoria — lo suficientemente pequeño para ejecutarse en virtualmente cualquier dispositivo Jetson.
Familias Populares de LLM de Código Abierto
Aquí están las familias de LLM de código abierto más prominentes, todas ofrecen variantes que funcionan bien en Jetson:
Llama (Meta)
El LLM de código abierto de Meta — actualmente la comunidad más activa y el ecosistema más rico.
- Llama 3.2 viene en tamaños de 1B y 3B, construido específicamente para dispositivos de borde con un excelente equilibrio de rendimiento y tamaño
- Soporta múltiples idiomas; la comunidad proporciona una amplia gama de variantes ajustadas
- Familia de modelos mejor soportada en los ecosistemas Ollama y llama.cpp
Qwen (Alibaba Cloud)
El LLM de código abierto de Alibaba, líder entre los modelos abiertos en capacidad de idioma chino.
- Qwen3.5 abarca desde 0.8B hasta 122B parámetros; la variante de 0.8B es ideal para escenarios de borde con recursos limitados
- Excelente soporte bilingüe en chino e inglés
- Soporta nativamente uso de herramientas y razonamiento de cadena de pensamiento
DeepSeek
Una familia de modelos enfocada en razonamiento, sobresaliendo en matemáticas, codificación y tareas lógicas.
- DeepSeek-R1 ofrece versiones destiladas (1.5B, 7B, 8B) que superan significativamente modelos del mismo tamaño en benchmarks de razonamiento
- Bien suited para aplicaciones de IA de borde que requieren análisis lógico preciso
- La versión destilada de 7B es uno de los mejores modelos de razonamiento relación calidad-precio en Jetson
Phi (Microsoft)
La familia de modelos compactos de Microsoft, construida sobre la filosofía de "menos parámetros, mayor calidad".
- Phi-4-mini tiene solo 3.8 mil millones de parámetros pero iguala o supera a muchos modelos de 7B en benchmarks estándar
- Diseñado específicamente para entornos con recursos limitados — un ajuste natural para despliegue en el borde
- Entrenado en datos de alta calidad "de nivel textbook" usando una metodología de entrenamiento distintiva
Gemma (Google)
La familia de modelos de código abierto ligeros de Google, cubriendo de 1B a 27B parámetros.
- Gemma 4 en sus variantes de 2B y 4B funciona muy bien en Jetson
- Fuerte rendimiento tanto en comprensión de lenguaje como en generación de código
- Disponible tanto en versiones pre-entrenadas como ajustadas por instrucciones
Cuantización: Haciendo Modelos Más Pequeños
Para ejecutar un modelo de 7 mil millones de parámetros sin problemas en un dispositivo de borde como un Jetson, necesitas aplicar cuantización — reducir la precisión numérica de los pesos internos del modelo, intercambiando números de alta precisión "perfectos pero pesados" por otros de baja precisión "toscos pero suficientemente buenos", reduciendo drásticamente el uso de memoria.
Intuitivamente, es como comprimir una imagen 4K a 720p: el contenido se preserva completamente, pero el tamaño del archivo se reduce muchas veces. Para un modelo de 7B, los ahorros de memoria en diferentes niveles de precisión son sustanciales:
| Precisión | Bits | Memoria (modelo 7B) | Impacto en Calidad |
|---|---|---|---|
| FP32 | 32-bit | ~28GB | Ninguno (referencia) |
| FP16 | 16-bit | ~14GB | Mínimo |
| INT8 | 8-bit | ~7GB | Pequeño — apenas perceptible |
| INT4 (GGUF Q4) | 4-bit | ~3.5GB | Aceptable — la elección estándar para despliegue en el borde |
La cuantización INT4 es el caballo de batalla del despliegue en el borde: un modelo de 7B cabe en 3.5GB de memoria, lo suficientemente pequeño para ejecutarse sin problemas en la mayoría de los dispositivos Jetson.
Formatos de Cuantización Comunes
Diferentes motores de inferencia soportan diferentes formatos de archivos cuantizados, cada uno con sus propias fortalezas:
- GGUF (ecosistema llama.cpp): El formato dominante para inferencia local — soportado nativamente por Ollama y llama.cpp, autodescriptivo y listo para ejecutar
- SafeTensors (ecosistema HuggingFace): Más seguro (no ejecuta código arbitrario al cargar), y el formato estándar para vLLM y pipelines basados en HuggingFace
- AWQ (Cuantización de Pesos Consciente de Activación): Optimizado para inferencia GPU, comúnmente usado con vLLM, y el mejor desempeño para escenarios de alto rendimiento
Descripción General de Frameworks de Inferencia
Una vez que un modelo está entrenado, necesitas un framework de inferencia para ejecutarlo realmente en tu Jetson. Este capítulo cubre tres frameworks mainstream — cada uno diseñado para una etapa diferente del viaje, desde principiante hasta despliegue en producción.
Ollama — La Forma Más Simple de Comenzar
Ollama es el camino más rápido para ejecutar un LLM localmente. Instalación de una línea, descarga y gestión de modelos incorporadas — funciona de inmediato y es muy amigable para principiantes:
# Instalar Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Ejecutar un modelo (la primera ejecución descarga automáticamente)
ollama run llama3.2:3bMejor para: Primera experiencia con LLM, prototipado rápido, aprendizaje y exploración
llama.cpp — El Control Más Preciso
llama.cpp es una implementación ligera en C/C++ que ejecuta modelos eficientemente en CPU y GPU. Sus fortalezas son el uso mínimo de recursos y amplio soporte para formatos cuantizados — haciéndolo la opción preferida para dispositivos de borde con recursos limitados:
# Clonar y construir
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make -j$(nproc)
# Ejecutar inferencia
./llama-cli -m model.gguf -p "Hello, how are you?"Mejor para: Escenarios que demandan control máximo y optimización del rendimiento; despliegue en el borde ligero
vLLM — Servicio de Grado Producción
vLLM es un framework de servicio de inferencia de alto rendimiento diseñado para despliegues en producción. Soporta características avanzadas como PagedAttention (gestión de paginación de memoria que aumenta dramáticamente la concurrencia) y batching continuo, con una API compatible con OpenAI:
# Instalar vLLM
pip install vllm
# Iniciar el servidor API
vllm serve meta-llama/Llama-3.2-3B --host 0.0.0.0 --port 8000Mejor para: Servicio de API en producción, alta concurrencia, escenarios de alto rendimiento
Tabla Comparativa
Cada framework tiene sus fortalezas. La elección correcta depende de tus necesidades específicas:
| Característica | Ollama | llama.cpp | vLLM |
|---|---|---|---|
| Facilidad de Uso | Muy fácil, un comando | Moderado, construir desde código fuente | Moderado, pip install |
| Instalación | Script de una línea | Construir desde código fuente | pip install |
| Formatos de Modelo | GGUF (incorporado) | GGUF | SafeTensors, AWQ |
| Aceleración GPU | Sí (CUDA) | Sí (CUDA, Metal) | Sí (CUDA) |
| Servidor API Incorporado | Sí | Opcional (llama-server) | Sí |
| Compatible con OpenAI | Sí | No | Sí |
| Eficiencia de Memoria | Buena | Excelente (menor huella) | Buena |
| Batch/Concurrencia | No | No | Sí (ventaja central) |
| Recomendado Para | Desarrollo y pruebas locales | Máxima optimización en el borde | Servicio y API en producción |
Lo Que Aprenderás en Este Capítulo
El resto de este capítulo te guiará a través de configurar LLMs en tu Jetson y construir una aplicación completa de IA de voz:
Módulo 5.2: Primeros Pasos con Ollama
Instala Ollama en tu Jetson desde cero, descarga tu primer modelo, y ten una conversación local con una IA — completamente sin conexión.
Módulo 5.3: Ejecutando LLMs con llama.cpp
Profundiza bajo el capó: construye llama.cpp desde código fuente, aprende a cargar y ejecutar modelos GGUF cuantizados, y domina técnicas de optimización granular para dispositivos de borde.
Módulo 5.4: Inferencia de Alto Rendimiento con vLLM
Configura una infraestructura de servicio de LLM de grado producción con una API compatible con OpenAI, convirtiendo tu Jetson en un backend de IA local.
Módulo 5.5: Inicio Rápido de Jetson Examples
Despliega LLMs con un solo comando usando contenedores Docker preconstruidos del repositorio jetson-examples, saltándote toda la configuración tediosa del entorno.
Módulo 5.6: Pipeline ASR + LLM + TTS
Encadena reconocimiento de voz (ASR), un modelo de lenguaje grande (LLM), y texto a voz (TTS) en un asistente de IA de voz completo — todo ejecutándose sin conexión en tu Jetson.
Práctica: Evalúa Tu Hardware
Antes de continuar a los módulos de despliegue, verifica las capacidades de hardware de tu dispositivo Jetson para que puedas elegir el modelo correcto:
# Verificar memoria disponible
free -h
# Verificar modelo de GPU y VRAM
nvidia-smi
# Verificar versión de JetPack (determina versiones de CUDA y TensorRT)
dpkg -l | grep nvidia-jetpack
# Verificar almacenamiento disponible
df -h /Registra tus resultados:
- RAM Total: ______ GB
- VRAM de GPU: ______ MB
- Almacenamiento Libre: ______ GB
- Versión de JetPack: ___________
Con estos números, puedes determinar qué tamaños de modelo se ejecutarán cómodamente en tu dispositivo.
Práctica: Detectando Objetos con un Modelo de Lenguaje de Visión
Ahora que entiendes cómo los LLM procesan texto, veamos un Modelo de Lenguaje de Visión (VLM) en acción — uno que puede ver imágenes y describir lo que contienen. El ejemplo a continuación usa Ollama para enviar una imagen local a un VLM, que devuelve nombres de objetos y coordenadas de píxeles. OpenCV luego dibuja cajas delimitadoras con etiquetas en la imagen.
Prerrequisitos
pip install ollama opencv-python Pillow
ollama pull llava:7b # solo la primera vez, ~4.7GBEjecutar
cd code/
python vlm_object_detector.py --image your_photo.jpg
python vlm_object_detector.py --image photo.jpg --model minicpm-v --output results.jpgLos VLM no son detectores especializados como YOLO (Capítulo 4) — la precisión de las cajas delimitadoras varía según el modelo. El propósito de este ejercicio es darte experiencia práctica con el mismo razonamiento basado en tokens detrás de los LLM, extendido a imágenes a través de modelos multimodales — texto y visión siguen el mismo camino dentro de un Transformer.
Preguntas Frecuentes
¿Puedo ejecutar ChatGPT en Jetson?
No exactamente. ChatGPT es el sistema propietario de OpenAI que se ejecuta en clusters de servidores masivos. Sin embargo, puedes ejecutar modelos de código abierto que ofrecen capacidades conversacionales similares localmente en tu Jetson, con el beneficio adicional de la privacidad total de datos.
¿Necesito acceso a Internet para usar LLMs en Jetson?
Después de la descarga inicial del modelo, puedes ejecutar LLMs completamente sin conexión. Esta es una de las ventajas clave para despliegues en el borde en áreas con conectividad limitada.
¿Cuánto tiempo tarda en generar una respuesta?
El tiempo de respuesta depende del tamaño del modelo y tu hardware. En un Jetson Orin NX 16GB ejecutando un modelo de 3B, espera 10-30 tokens por segundo — lo suficientemente rápido para conversaciones en tiempo real.
Referencias
- Attention Is All You Need (Artículo Original del Transformer)
- The Illustrated Transformer - Guía visual de Jay Alammar
- https://huggingface.co/blog/Esmail-AGumaan/attention-is-all-you-need
- Curso de Hugging Face sobre LLM - Fundamentos de NLP y LLM
- Tarjeta del Modelo Llama 3.2
- Documentación de Qwen3
- NVIDIA Jetson AI Lab - Recursos de desarrollo de IA para Jetson
Siguiente: Continúa a Módulo 5.2: Primeros Pasos con Ollama para ejecutar tu primer LLM en Jetson!