# No, los modelos pequeños no son la "opción presupuestaria"

<!--category-- AI, LLM, Opinion, Ollama, ONNX -->
<datetime class="hidden">2025-12-28T16:00</datetime>

Los LLM pequeños y locales se enmarcan a menudo como la alternativa barata a los modelos fronterizos. Ese encuadre es incorrecto. No son una versión degradada de la misma cosa. Son una opción arquitectónica diferente, seleccionada para **control**, **predictibilidad**, y **Modos de fallo supervivibles**.

Soy tan culpable como cualquiera por empujar la narrativa de "son libres"... como si ese fuera el único factor decisivo. Pero como elegir una base de datos / plataforma de alojamiento para un sistema que necesita entender **¿Qué concesiones estás haciendo?**.

Usando un modelo pequeño a través de [Ollama](https://ollama.ai/), LM Studio, [ONNX Runtime](https://onnxruntime.ai/), o similar no se trata (sólo) de ahorrar dinero. Se trata de elegir **donde se permite la existencia de no-determinismo**.

[TOC]

## La diferencia real: Modos de fallo

Los grandes modelos fronterizos son más amplios y fluidos, densifican más la lógica humana expresada, abarcan más dominios y producen más rastros de razonamiento convincentes. **más peligroso** en sistemas que requieren garantías.

Los modelos fronterizos tienen sentido cuando se requiere amplitud y las salidas son asesoradas por diseño - redacción creativa, exploración abierta o síntesis en dominios desconocidos.

Sus fracasos son **semántica en lugar de estructural**. Este es el error de categoría: tratar un componente probabilístico como si fuera un límite del sistema. Generan salidas de aspecto válido que están mal de manera sutil. Esos fallos son:

- Caro de detectar
- Caro para depurar
- A menudo sólo visible después de que se hace el daño

**Los modelos pequeños fallan de manera diferente.**

Cuando un modelo pequeño se confunde, tiende a:

- Romper esquemas
- Emit JSON no válido
- Salidas de truncamiento
- Perder la pista de la estructura

Estos son **fallas baratas**. Son detectables con simple validación. Activan retrocesos o retrocesos inmediatamente. No avanzan silenciosamente el estado.

**Esto no es una debilidad, es una característica.**

## De dónde viene este principio

Esta perspicacia no es teoría abstracta - es la base de la [Diez mandamientos de uso de LLM](/blog/tencommandments). El principio básico:

> **Los LLM interpretan la realidad. Nunca se les debe permitir definirla.**

Cuando sigues este principio, descubres algo sorprendente: **Dejas de necesitar modelos caros**. Un modelo de parámetro 7B que se ejecuta localmente puede clasificar, resumir y generar hipótesis muy bien - porque los sistemas deterministas alrededor de él manejan todo lo que realmente necesita ser correcto.

Los modelos pequeños no son "débiles" - a menudo son **suficiente** porque el problema ya se ha reducido para el momento en que llega a ellos.

Los modelos de frontera le están vendiendo fiabilidad que debe construir usted mismo.

## El modelo mental correcto

Al igual que DuckDB no es "cheap SQL" y Postgres no es "peor Azure SQL", pequeños LLM ocupan un **diferente punto en el espacio de diseño**. Usted los elige cuando:

# Preocupación # # Pequeña ventaja de modelo #
|---------|----------------------|
| **Localidad** Se ejecuta en su hardware, su red, su jurisdicción
| **Auditabilidad** Cada inferencia es registrada, reproducible, inspeccionable
| **Radio de explosión** Los fracasos son contenidos, no propagados a través de las cadenas API
| **Ejecución de la corrección** Validación ocurre fuera del modelo
| **No-determinismo consolidado** La incertidumbre está fuertemente constreñida

## Cómo uso esto en la práctica

Esto no es hipotético, mis proyectos demuestran este patrón repetidamente:

### GraphRAG con tres modos de extracción

[Mi implementación GraphRAG](/blog/graphrag-minimum-viable-implementation) ofrece tres modos:

# Modo # LLM llama # # Mejor para #
|------|-----------|----------|
| **Heurística** 0 por trozo  Puro determinismo vía IDF + estructura
| **Híbrido** 1 por documento  Pequeño modelo valida candidatos
| **LLM** 2 por trozo  Máxima calidad cuando sea necesario

Los **modo híbrido** es el punto dulce: la extracción heurística encuentra candidatos (deterministas), luego un pequeño modelo local los valida y enriquece. Una llamada LLM por documento, no por trozo.

Con Ollama corriendo localmente, el costo es de $0. Pero no es por eso que lo uso - ahorro de costos son un efecto secundario de la abstracción correcta, no el objetivo. Lo uso porque **los fracasos son baratos y obvios**.

### Incrustaciones ONNX: No se requiere LLM

[Búsqueda semántica con ONNX y Qdrant](/blog/semantic-search-with-onnx-and-qdrant) muestra otro patrón: algunas tareas no necesitan un LLM en absoluto. Las incrustaciones BERT a través de ONNX Runtime le dan:

- **Inferencia fácil de usar en la CPU** - no se requiere GPU
- **Productos determinísticos** - la misma entrada siempre produce la misma incrustación
- **Ejecución local** - sin llamadas API, sin latencia, sin límites de tarifas
- **Modelo ~90MB** - corre a cualquier parte

Por [búsqueda híbrida](/blog/rag-hybrid-search-and-indexing)El LLM sólo aparece en el momento de la síntesis - e incluso entonces, un pequeño modelo local funciona bien porque es **Explicación** estructura que los sistemas deterministas ya han validado.

### DocSummarizer: Estructura Primero, LLM Segundo

[DocSummarizer](/blog/docsummarizer-tool) encarna esta filosofía:

1. **Análisis** documentos con bibliotecas deterministas (OpenXML, Markdig)
2. **Chunk** contenido utilizando normas estructurales (partidas, párrafos, bloques de código)
3. **Insertar** trozos con ONNX BERT
4. **Recuperar** trozos relevantes a través de la búsqueda de vectores
5. **Síntesise** con Ollama - el único paso probabilístico

El LLM es el **último paso**, trabajando en contenido pre-validado, pre-estructurado. Puede fallar - y cuando lo hace, el fallo es obvio porque la estructura ya es correcta.

### TinyLLM: Charla local con límites

[TinyLLM](/blog/texttospeech) demuestra el uso local de LLM en una aplicación de escritorio de Windows. Soporta:

- Motor Ollama
- Carga directa del modelo GGUF
- Memoria RAG (con recuperación determinista)

La interfaz de chat es probabilística. La memoria, el manejo de archivos y la gestión del estado son deterministas. El fracaso en uno no corrompe al otro.

## Las tres preguntas

Los modelos de frontera son herramientas poderosas cuando se usan deliberadamente, pero aumentan el poder expresivo más rápido de lo que reducen el riesgo. **sin ocultar la verdad o la responsabilidad**.

La pregunta correcta no es "¿qué modelo es el mejor?"

Es:

1. **¿A dónde pertenece la probabilidad?**
2. **¿Dónde debe ser absoluto el determinismo?**
3. **¿Qué fracasos puede sobrevivir este sistema?**

Si la respuesta implica estado, efectos secundarios, dinero, política, o garantías - el modelo nunca debe estar a cargo. Y si el modelo sólo está allí para clasificar, resumir, clasificar, o proponer hipótesis, un pequeño modelo local es a menudo el **elección correcta**, no el económico.

## El patrón: maquinaria aburrida + modelo pequeño

Esta es la arquitectura que funciona:

```
┌─────────────────────────────────────────────────────┐
│                 DETERMINISTIC LAYER                 │
│  State machines, queues, validation, storage        │
│  (DuckDB, Postgres, Redis, file systems)           │
└─────────────────────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────┐
│                   INTERFACE LAYER                   │
│  Schema validation, retries, fallbacks             │
│  (Polly, FluentValidation, custom guards)          │
└─────────────────────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────┐
│                  PROBABILISTIC LAYER                │
│  Classification, summarisation, hypothesis gen     │
│  (Ollama, ONNX, small local models)                │
└─────────────────────────────────────────────────────┘
```

El LLM está en la **inferior**, no la parte superior. Propone; las capas deterministas disponen.

## La fiabilidad no se trata de evitar el fracaso

Las tres perspectivas -las preguntas, el patrón y este principio final- se reducen a la misma regla:

**La fiabilidad consiste en elegir los fracasos que se pueden sobrevivir.**

Con los LLM, eso significa manejar el no-determinismo a través de prácticas deterministas:

- [Mandamiento I](/blog/tencommandments): El Estado vive fuera del modelo
- [Mandamiento VII](/blog/tencommandments): Hacer que el fracaso sea ruidoso y aburrido
- [Mandamiento IX](/blog/tencommandments): Construye primero la maquinaria de perforación

Los modelos pequeños hacen esto más fácil porque sus fracasos son **fuerte**. JSON Inválido. Salida truncada. Violaciones del esquema. Estos son regalos - te dicen inmediatamente que algo salió mal.

Las fallas del modelo fronterizo son: **silencio**. Tonterías plausibles. alucinaciones seguras. deriva semántica que sólo se hace visible cuando un cliente se queja o una auditoría falla.

**Voy a tomar los fracasos en voz alta cada vez.**

## Lectura relacionada

### La filosofía

- [Diez mandamientos de uso de LLM](/blog/tencommandments) - Los principios que subyacen a este enfoque
- [¿Por qué no uso LangChain?](/blog/why-i-dont-use-langchain) - La complejidad del marco frente a la claridad
- [Por qué los proyectos comerciales de IA son tontos](/blog/whycommercialaiprojectsaredumb) - El caso de la IA local-primera

### Aplicación

- [GraphRAG: Aplicación mínima viable](/blog/graphrag-minimum-viable-implementation) - Tres modos de extracción en la práctica
- [Búsqueda semántica con ONNX y Qdrant](/blog/semantic-search-with-onnx-and-qdrant) - Incrustaciones fáciles de usar en la CPU
- [Herramienta DocSummarizer](/blog/docsummarizer-tool) - Estructura primero, LLM segundo
- [Búsqueda híbrida y auto-indexing](/blog/rag-hybrid-search-and-indexing) - Búsqueda lista para la producción

### La arquitectura

- [DiSE: Tratar a los LLM como poco confiables](/blog/blog-article-cooking-dise-part3-untrustworthy-gods) - El patrón de "dioses no confiables"
- [Detección de bots con asesores LLM](/blog/botdetection-introduction) - LLM como asesor, no controlador
- [Inteligencia del cliente Cero-PII](/blog/zero-pii-customer-intelligence-part1) - Comprensión semántica con límites

## Recursos externos

- [Ollama](https://ollama.ai/) - Ejecute LLMs localmente con un comando
- [ONNX Runtime](https://onnxruntime.ai/) - Inferencia ML multiplataforma
- [LM Studio](https://lmstudio.ai/) - Aplicación de escritorio para LLM locales
- [llama.cpp](https://github.com/ggerganov/llama.cpp) - Eficiente inferencia C++