# lo0 — Blog Técnico

> Blog técnico sobre networking, ciberseguridad, infraestructura soberana, MLOps y LLMs en producción.

Notas técnicas escritas por los instructores de lo0 sobre networking, Kubernetes, clustering, MikroTik, Ubiquiti, Huawei, inteligencia artificial, LLMs en producción, MLOps soberano y certificaciones IT.

English version: https://blog.lo0.es/en/llms.txt

## Páginas

- [Aviso Legal](https://blog.lo0.es/legal/aviso-legal/index.md)
- [Política de Cookies](https://blog.lo0.es/legal/politica-cookies/index.md)
- [Política de Privacidad](https://blog.lo0.es/legal/politica-privacidad/index.md)
- [Sobre este blog](https://blog.lo0.es/about/index.md)

## Fundamentos

- [Capacidad real de ClickHouse en Langfuse v4: 2.782 bytes por observación, y por qué casi la mitad no son datos](https://blog.lo0.es/posts/langfuse-v4-capacidad-clickhouse/index.md): Sexto artículo de la serie sobre operar Langfuse v4 autoalojado. Langfuse no publica ninguna cifra de capacidad: ni bytes por observación, ni eventos por segundo, ni tamaño …
- [deepagents en un cluster propio: el SDK es libre, el servidor no, y lo que hay que construir en medio](https://blog.lo0.es/posts/deepagents-sdk-libre-servidor-con-licencia/index.md): Apertura de la vertical de plataforma agéntica. deepagents es el armazón de agentes de LangChain, y la pregunta que importa al meterlo en una plataforma propia no es qué sabe …
- [Que el modelo prefiera nuestras herramientas: la prioridad que no existe en ninguna capa, las dos primitivas que sí, y el `_meta` que atraviesa el gateway](https://blog.lo0.es/posts/prioridad-herramientas-mcp-visibilidad-y-exclusion/index.md): Continuación del artículo sobre el gateway MCP. Cuando un agente tiene herramientas nativas, un gateway propio y tres servidores de terceros, la pregunta operativa es cómo se …
- [Langfuse v4, día 2 (5 de 10): las treinta y nueve colas del worker, y las tres que deciden si pierdes datos](https://blog.lo0.es/posts/langfuse-v4-colas-del-worker/index.md): Quinto artículo de la serie sobre operar Langfuse v4. El worker consume treinta y nueve colas de BullMQ con treinta y dos interruptores, concurrencias distintas y limitadores que …
- [Langfuse v4, día 2 (4 de 10): migrar de la 3 a la 4 sin ventana, y dónde está el punto de no retorno](https://blog.lo0.es/posts/langfuse-v4-migrar-sin-ventana/index.md): Cuarto artículo de la serie sobre operar Langfuse v4. La migración es online y no necesita parada, pero el valor por defecto del modo de escritura es el destino, no el origen, y …
- [Langfuse v4, día 2 (3 de 10): dos agentes conocidos instrumentados, Open Deep Research y GPT Researcher](https://blog.lo0.es/posts/langfuse-v4-agentes-reales-odr-gptr/index.md): Tercer artículo de la serie sobre operar Langfuse v4. El anterior medía un grafo de juguete; este coge dos agentes open source que la gente despliega de verdad, Open Deep Research …
- [Langfuse v4, día 2 (2 de 10): poner LangGraph delante, y lo que cuesta un turno de agente en observaciones](https://blog.lo0.es/posts/langfuse-v4-instrumentar-langgraph/index.md): Segundo artículo de la serie sobre operar Langfuse v4. La serie crece a diez porque antes de hablar de migración y de capacidad hay que poner delante una plataforma agéntica real y …
- [Completar Keycloak para MCP: el recurso protegido que ningún SDK te da hecho, y la extensión empresarial que se salta el flujo entero](https://blog.lo0.es/posts/completar-keycloak-para-mcp/index.md): Continuación del artículo de Keycloak. El servidor de autorización no implementa los indicadores de recurso y considera los metadatos de recurso protegido fuera de su alcance, así …
- [Keycloak en una plataforma de IA: dónde encaja, qué resuelve y los dos estándares que MCP exige y no implementa](https://blog.lo0.es/posts/keycloak-plano-identidad-plataforma-ia/index.md): Introducción a Keycloak y a su lugar en una plataforma de inferencia LLM on-premise. Qué es a septiembre de 2026, cómo está construido, el modelo conceptual que hay que entender …
- [Langfuse v4, día 2 (1 de 10): el modelo de datos cambió debajo, y qué entra de verdad en una traza](https://blog.lo0.es/posts/langfuse-v4-que-entra-en-una-traza/index.md): Primer artículo de una serie de diez sobre operar Langfuse v4 en producción. La versión 4 dejó de tener tabla de trazas: ahora una traza es un grupo de observaciones …
- [El gateway no vive solo: el JWT que no valida la audiencia, el usuario que nunca llega a la traza y las costuras que hay que escribir a mano](https://blog.lo0.es/posts/litellm-identidad-trazas-costuras/index.md): Octavo artículo del track operativo de la capa de control. El gateway se conecta a un proveedor de identidad y a un backend de trazas, y en esas dos costuras hay más trabajo del …
- [Dimensionar para agentes: 275 tokens de entrada por cada uno de salida, y por qué el cuello de botella sigue siendo el decode](https://blog.lo0.es/posts/dimensionar-gateway-flota-agentes/index.md): Séptimo artículo del track operativo de la capa de control. El anterior sobre agentes trataba la convivencia; este trata el tamaño. Con las primeras mediciones a escala de …
- [El gateway MCP de LiteLLM: la segunda puerta de entrada, el catálogo de herramientas que nadie factura y por qué filtrarlo puede empeorar la selección](https://blog.lo0.es/posts/litellm-gateway-mcp-segunda-puerta/index.md): Sexto artículo del track operativo de la capa de control. El mismo proxy que reparte tokens es también un servidor MCP, y esa segunda puerta tiene reglas propias. Este artículo la …
- [Enrutado por prefijo: lo que LiteLLM no hace, quién sí lo hace y cuánto mejora de verdad](https://blog.lo0.es/posts/enrutado-prefijo-kv-cache-lo-que-litellm-no-hace/index.md): Quinto artículo del track operativo de la capa de control. En junio escribí que LiteLLM tenía enrutado consciente de prefijo en su versión enterprise. Era falso, y este artículo lo …
- [Humanos y agentes en el mismo gateway: por qué `priority` no prioriza, el 429 que tumba el pool entero y las dos formas de separar el tráfico](https://blog.lo0.es/posts/litellm-humanos-y-agentes-mismo-gateway/index.md): Cuarto artículo del track operativo de la capa de control. Qué pasa el día que un agente empieza a llamar al mismo gateway que los humanos: por qué el parámetro priority de LiteLLM …
- [Claves virtuales, presupuestos y límites en LiteLLM: la capa que decide quién consume la GPU, y las cuatro cosas que la documentación cuenta mal](https://blog.lo0.es/posts/litellm-limites-presupuestos-claves-virtuales/index.md): El control de acceso de LiteLLM Proxy en septiembre de 2026, leído del código y no de la documentación: la jerarquía de organización, equipo, usuario y cliente final y la regla que …
- [LiteLLM en día 2: un worker por pod, seis mil segundos de timeout y las otras cinco cosas que hay que cambiar antes de abrir tráfico](https://blog.lo0.es/posts/litellm-proxy-dia-2-alta-disponibilidad/index.md): El gateway se instala con un ConfigMap y se opera durante años. Este post recorre el día 2 de LiteLLM Proxy sobre Kubernetes: el modelo de proceso y por qué un worker por pod, el …
- [LiteLLM y Langfuse: el par operativo, y los cuatro sitios donde la traza se pierde entre el gateway y el panel](https://blog.lo0.es/posts/litellm-langfuse-par-operativo/index.md): El gateway y el backend de trazas se instalan en una tarde y se operan durante años. Este post recorre la costura entre LiteLLM y Langfuse en septiembre de 2026: las tres rutas de …
- [Knative y scale-to-zero para inferencia LLM: cuándo apagar la GPU ahorra y cuándo te cuesta el SLO](https://blog.lo0.es/posts/knative-scale-to-zero-inferencia-llm/index.md): Knative escala a cero un servicio en segundos, pero un modelo LLM tarda de decenas de segundos a minutos en cargar los pesos del disco a la HBM. Este artículo separa las dos cosas: …
- [KubeVela y Score: dar la plataforma por CLI sin enseñar Kubernetes al desarrollador](https://blog.lo0.es/posts/kubevela-score-autoservicio-cli-desarrollador/index.md): KubeVela y Score cubren la capa que Crossplane deja fuera: la experiencia del desarrollador centrada en la aplicación, por CLI. KubeVela usa el modelo OAM y una CLI amigable donde …
- [Kubeflow a fondo: qué piezas valen la pena en una plataforma LLM on-premise y cuáles ya tienes](https://blog.lo0.es/posts/kubeflow-a-fondo-plataforma-ml-on-premise/index.md): Kubeflow graduó en la CNCF en agosto de 2026 y dejó de ser un monolito para ser una colección de subproyectos independientes. Este artículo los desmonta uno a uno (Pipelines, …
- [Crossplane: el plano de control que convierte tu cluster en una API de nube privada](https://blog.lo0.es/posts/crossplane-control-plane-autoservicio-soberano/index.md): Crossplane se graduó en la CNCF en noviembre de 2025 y propone algo distinto a Terraform: en vez de aplicar infraestructura bajo demanda, la reconcilia de forma continua como una …
- [De la nube pública a la privada: qué se pierde de verdad y qué proyectos tapan el hueco](https://blog.lo0.es/posts/de-la-nube-publica-a-la-privada-mapa/index.md): Repatriar cargas de la nube pública a on-premise ahorra dinero y devuelve el control del dato, pero la nube no vende solo cómputo: vende operación incluida y capacidad bajo …
- [Backstage como portal de autoservicio: dar la plataforma LLM a tus equipos sin darles el cluster](https://blog.lo0.es/posts/backstage-portal-autoservicio-plataforma-llm/index.md): Backstage es el portal de desarrollador más adoptado, pero no es un producto: es un framework Node/React que se compila y se mantiene como código propio, con un coste de 2 a 3 …
- [El mapa del blog: de la acometida eléctrica al token servido](https://blog.lo0.es/posts/mapa-del-blog-stack-inferencia-soberana/index.md): Mapa conceptual del blog: los artículos publicados hasta agosto de 2026 ordenados por las diez capas que separan la acometida eléctrica del token que recibe un usuario. …
- [MLPerf Inference: cómo leerlo, qué obliga LoadGen y qué comparabilidad ofrece](https://blog.lo0.es/posts/mlperf-inference-como-leerlo/index.md): MLPerf Inference es el único benchmark de inferencia con reglas escritas, generador de carga obligatorio y proceso de auditoría. Esta ficha documenta los cuatro escenarios, lo que …
- [Medir la potencia de una GPU: NVML, DCGM y los errores de muestreo que invalidan tus vatios](https://blog.lo0.es/posts/medir-potencia-gpu-nvml-dcgm/index.md): Ficha de metrología para medir energía en GPU: qué devuelve exactamente nvmlDeviceGetPowerUsage (en H100 es una media de un segundo, no potencia instantánea), por qué el sensor …
- [Cadena de confianza del modelo (1/4): KServe y el Open Inference Protocol, el plano de control que le falta a tu serving](https://blog.lo0.es/posts/kserve-open-inference-protocol-plano-control/index.md): Abre la serie sobre la cadena de confianza del modelo. Qué aporta KServe (CNCF incubating desde el 29 de septiembre de 2025, v0.19.0 el 14 de junio de 2026) sobre un Deployment de …
- [Cadena de confianza del modelo (2/4): dónde viven los bytes — registro, artefactos OCI y distribución al nodo GPU](https://blog.lo0.es/posts/registro-distribucion-modelos-oci-oras/index.md): Segundo artículo de la serie: de dónde salen los bytes del modelo y cómo llegan a la GPU. Distinción entre model registry, repositorio de artefactos y almacenamiento del …
- [Cadena de confianza del modelo (3/4): firma, procedencia y AIBOM — por qué te fías de esos bytes](https://blog.lo0.es/posts/firma-procedencia-aibom-cadena-suministro-modelo/index.md): Tercer artículo de la serie: firma de artefactos de modelo con Sigstore (cosign 3.1.1, Rekor v2), la especificación OpenSSF Model Signing y su manifiesto de hashes, procedencia con …
- [Cadena de confianza del modelo (4/4): quién sirve el modelo y en qué máquina confías](https://blog.lo0.es/posts/identidad-aislamiento-spiffe-confidential-containers/index.md): Cierre de la serie: identidad criptográfica de la carga con SPIFFE/SPIRE (CNCF graduado, v1.15.1 de mayo de 2026) y aislamiento del entorno con Kata Containers y Confidential …
- [Volcano y Kueue: gang scheduling, colas y cuotas GPU para cargas distribuidas en Kubernetes](https://blog.lo0.es/posts/volcano-vs-kueue-scheduling-gpu-kubernetes/index.md): El kube-scheduler no sabe hacer gang scheduling ni cuotas justas entre equipos: un job multi-GPU arranca parcialmente y se queda en deadlock esperando el resto. Volcano (CNCF …
- [El harness reproducible: medir coste, rendimiento y energía en un solo experimento auditable](https://blog.lo0.es/posts/harness-reproducible-medicion-coste-rendimiento-energia/index.md): Cierre de la serie de datos: diseño completo del harness reproducible que captura a la vez €/1M tok (OpenCost/LiteLLM), Wh/token (DCGM/Kepler) y TTFT/ITL P99 (GuideLLM/AIPerf) en …
- [Del SLO al número de GPUs: cómo dimensionar y justificar la inversión en hardware de inferencia](https://blog.lo0.es/posts/dimensionar-justificar-inversion-gpu/index.md): Cadena de dimensionado completa de la demanda al número de nodos 4×H100 SXM: fórmulas paso a paso desde el SLO (TTFT/ITL P99) hasta el throughput pico requerido, pasando por el …
- [Energía en el TCO y en la regulación: coste, PUE, CSRD y la nueva obligación europea de reporte para centros de datos](https://blog.lo0.es/posts/energia-en-el-tco-y-la-regulacion/index.md): La energía es entre el 6 % y el 20 % del opex de un cluster GPU on-premise, pero el 100 % de lo que exige el nuevo marco regulatorio europeo: EED 2023/1791, Reglamento Delegado …
- [Palancas para gastar menos vatios por token: catálogo cuantificado para inferencia LLM](https://blog.lo0.es/posts/palancas-eficiencia-energetica-inferencia/index.md): Catálogo cuantificado de las palancas de eficiencia energética en inferencia LLM on-premise: cuantización FP8/INT4/AWQ reduce el J/token un 30–50%, power capping al 70% del TDP …
- [Del vatio al carbono, honestamente: PUE, intensidad del grid y gCO₂ por token](https://blog.lo0.es/posts/del-vatio-al-carbono-pue-grid/index.md): De la energía por token a las emisiones por token: PUE global (media 1,54 según Uptime Institute 2025), intensidad de carbono del grid (España ~108 gCO₂/kWh en 2024, Francia ~20 …
- [Sesgo de medición y reproducibilidad: por qué dos benchmarks del mismo modelo dan cifras que difieren hasta 7×](https://blog.lo0.es/posts/sesgo-medicion-reproducibilidad-bench/index.md): Catálogo exhaustivo de las fuentes de sesgo en benchmarks de inferencia LLM —desde la saturación del cliente mono-proceso (discrepancia documentada de 7,2×) hasta el tokenizer, la …
- [TCO completo de un cluster GPU on-premise: del capex al €/GPU-hora all-in y el break-even contra cloud](https://blog.lo0.es/posts/tco-on-premise-gpu-cluster/index.md): Modelo TCO completo de un cluster GPU on-premise con nodos 4×H100 SXM: desglose capex (GPUs, HGX baseboard, red InfiniBand NDR, NVMe, rack/PDU), opex (energía × PUE, personal, …
- [Cloud GPU: on-demand, reserved y spot — y por qué los neoclouds cambian el tablero (con precios 2026)](https://blog.lo0.es/posts/cloud-gpu-commitment-spot-neoclouds/index.md): Tabla de precios 2026 de H100/H200/B200 por proveedor y modalidad (on-demand, reserved 1-3 años, spot): neoclouds como CoreWeave, Lambda, Nebius o Voltage Park frente a AWS, GCP y …
- [Leaderboards de energía de LLM: cómo comparar modelos por Wh/token y elegir por eficiencia](https://blog.lo0.es/posts/leaderboards-energia-llm/index.md): Ficha técnica de los tres leaderboards OSS de eficiencia energética de LLMs: HF AI Energy Score (166 modelos, Wh/query, 1–5 estrellas sobre H100), ML.ENERGY Leaderboard v3 (J/token …
- [Benchmarks de calidad de LLM: la trampa de la contaminación y las herramientas OSS para no mentirse](https://blog.lo0.es/posts/benchmarks-de-calidad-llm/index.md): Por qué calidad y velocidad son ejes Pareto independientes, cómo la contaminación de datos invalida los leaderboards estáticos, y qué herramientas OSS —lm-evaluation-harness, HELM, …
- [Comparativa de motores de serving LLM en frontera de Pareto: vLLM, SGLang, TRT-LLM y Dynamo](https://blog.lo0.es/posts/comparativa-motores-serving-pareto/index.md): Comparativa de los cuatro motores OSS de serving LLM en 2026: vLLM, SGLang, TensorRT-LLM y NVIDIA Dynamo. Matriz de capacidades, cifras de throughput/latencia en 4×H100 SXM FP8 …
- [MLPerf Power: el benchmark estándar de eficiencia energética para sistemas ML on-premise](https://blog.lo0.es/posts/mlperf-power-eficiencia-energetica/index.md): MLPerf Power, mantenido por el MLCommons Power Working Group, es el único benchmark con medición a la pared certificada (SPEC PTDaemon + analizador Yokogawa) para comparar la …
- [GPU idle: el coste que no aparece en ninguna factura pero lo paga todo el TCO](https://blog.lo0.es/posts/utilizacion-gpu-como-finops/index.md): En un cluster on-premise de 4×H100 SXM, pasar del 20 % al 70 % de ocupación útil reduce el coste por millón de tokens de ~18 € a ~5 €, sin tocar el hardware. Este artículo …
- [Chargeback y showback de GPU en multi-tenancy: cómo repartir el coste del cluster entre equipos](https://blog.lo0.es/posts/chargeback-showback-multitenancy-gpu/index.md): Cómo repartir el coste de un cluster 4×H100 SXM entre equipos: definiciones FinOps de showback vs chargeback, Allocation API de OpenCost con shareIdle/idleByNode, LiteLLM virtual …
- [GenAI-Perf a fondo: perfilado de inferencia LLM con datos reales](https://blog.lo0.es/posts/nvidia-genai-perf-a-fondo/index.md): Deep dive de datos sobre NVIDIA GenAI-Perf: métricas (TTFT, ITL/TPOT, throughput P99), flags de invocación contra endpoints OpenAI-compatible (vLLM, NIM, TRT-LLM), sweep de …
- [On-premise soberano vs hyperscalers: el caso con datos (coste, energía, rendimiento y soberanía)](https://blog.lo0.es/posts/on-premise-soberano-vs-hyperscalers-datos/index.md): Artículo de síntesis de la serie: el caso on-premise soberano frente a los hyperscalers y el cloud europeo, cruzando los cuatro ejes (coste/TCO y break-even, rendimiento, energía y …
- [Medir la energía en producción: Kepler, DCGM y el stack práctico (precisión y overhead)](https://blog.lo0.es/posts/herramientas-energia-deploy-precision-overhead/index.md): Deep dive práctico de las herramientas de energía: cómo se despliega el stack de medición en Kubernetes (DCGM exporter + Kepler eBPF + Prometheus + Grafana), de qué fuentes saca …
- [GuideLLM a fondo: validar el SLO bajo carga y dimensionar desde el codo](https://blog.lo0.es/posts/guidellm-validacion-slo-bajo-carga/index.md): Deep dive de datos sobre GuideLLM: los rate-types (synchronous, concurrent, poisson, throughput, sweep), el sweep automático que halla el codo, cómo definir el SLO, la salida …
- [El segundo vector de coste de los agentes IA: durable execution con Temporal](https://blog.lo0.es/posts/temporal-durable-execution-coste-agentes/index.md): Los agentes tienen dos vectores de coste: el de inferencia (que vLLM local elimina) y el de la ejecución defectuosa (fallos que cobran doble, retries sin control, contexto inflado …
- [Del GPU-hora al coste por token: la métrica que compara on-prem y cloud](https://blog.lo0.es/posts/coste-por-token-y-por-request/index.md): Deep dive de datos: cómo se calcula el coste por token y por request de inferencia propia, por qué no es un precio de lista sino el €/GPU-hora dividido por el throughput, cómo se …
- [Energía por token en España: metodología, el mercado eléctrico y los casos de especulación](https://blog.lo0.es/posts/energia-por-token-metodologia/index.md): Deep dive centrado en España: cómo se mide la energía por token, cómo se forma el precio eléctrico en el mercado marginalista de OMIE, los casos documentados de especulación y …
- [Kubecost vs OpenCost vs alternativas: qué añade el comercial y cuándo merece pagarlo](https://blog.lo0.es/posts/kubecost-vs-opencost-vs-alternativas/index.md): Deep dive de datos: qué añade Kubecost (IBM) sobre OpenCost gratis (reconciliación de factura, rightsizing, anomalías, RBAC, multi-cluster), las alternativas comerciales …
- [OpenCost a fondo: cómo se asigna el coste de GPU en Kubernetes](https://blog.lo0.es/posts/opencost-cost-allocation-kubernetes/index.md): Deep dive de datos sobre OpenCost: el modelo de coste a nivel de nodo, de dónde saca los datos (Prometheus, DCGM), cómo se configuran precios on-prem en euros, la asignación por …
- [Catálogo de herramientas de benchmark LLM: ficha práctica a fondo](https://blog.lo0.es/posts/herramientas-benchmark-llm-ficha-a-ficha/index.md): Deep dive práctico del tooling de benchmarking de inferencia LLM: qué mide cada herramienta, cómo se invoca (comandos reales), qué formato de salida da y cuándo elegir cuál. vLLM …
- [Coste, rendimiento y energía: los tres ejes de la inferencia LLM y la identidad que los une](https://blog.lo0.es/posts/tres-ejes-coste-rendimiento-energia-inferencia-llm/index.md): Artículo de apertura de la serie de datos sobre FinOps, benchmarking de LLM y benchmarking de energía, con referencias EUROPEAS (Francia, Alemania, España) y en euros. Las métricas …
- [FinOps de GPU/LLM: frameworks, métricas y estado del arte (ficha a ficha)](https://blog.lo0.es/posts/finops-gpu-llm-frameworks-estado-del-arte/index.md): Introducción de datos al tooling de FinOps para clusters GPU/LLM: por qué la GPU es un problema de coste distinto, las métricas, las tres fases, la mecánica de asignación de …
- [Benchmarking de inferencia LLM: frameworks, métricas y estado del arte (ficha a ficha)](https://blog.lo0.es/posts/benchmarking-llm-frameworks-estado-del-arte/index.md): Introducción de datos al tooling de benchmarking de inferencia LLM: las métricas (TTFT, TPOT/ITL, throughput, goodput) y cómo se descomponen, la diferencia entre micro-bench …
- [Benchmarking de energía en IA: frameworks, métricas y estado del arte (ficha a ficha)](https://blog.lo0.es/posts/benchmarking-energia-llm-frameworks-estado-del-arte/index.md): Introducción de datos al tooling de medición de energía y carbono en IA: las métricas (J/token, Wh, gCO2), las capas de medición (NVML/DCGM, RAPL, eBPF), la ficha de Zeus, …
- [Servir modelos de razonamiento: el borrador invisible que decide tu latencia y tu factura](https://blog.lo0.es/posts/serving-modelos-razonamiento-test-time-compute/index.md): Servir o1/R1/Qwen3-style en producción: el bloque de razonamiento, los tokens ocultos que se facturan como salida, el presupuesto de pensamiento (thinking_token_budget, budget …
- [Contexto largo y KV offloading: cuando el cuaderno de notas no cabe en la mesa](https://blog.lo0.es/posts/contexto-largo-kv-offloading-tiered/index.md): El contexto largo (128k–1M tokens) no es un problema de modelo, es un problema de memoria: el KV cache explota y no cabe en la HBM. Jerarquía de memoria del KV (HBM→DRAM→NVMe→red), …
- [Acelerar el cold start de modelos: de minutos a segundos](https://blog.lo0.es/posts/acelerar-cold-start-carga-modelos-tensorizer/index.md): El cold start de un servidor de modelos no es una sola cosa: son cinco partidas —init del proceso, contexto CUDA, allocator, carga de pesos disco→HBM y captura de CUDA graphs + JIT …
- [FinOps y multi-tenancy del cluster GPU: quién paga qué](https://blog.lo0.es/posts/finops-multi-tenancy-gpu-litellm/index.md): Un cluster GPU compartido entre equipos no tiene factura mensual de proveedor: hay que fabricar la unidad de coste desde cero. Este post deriva el €/token a partir de la …
- [Multimodal on-premise: servir un VLM con vLLM (visión + lenguaje)](https://blog.lo0.es/posts/multimodal-vlm-on-premise-vllm/index.md): Cómo servir un modelo de visión-lenguaje (familia Qwen-VL) con vLLM para entender documentos e imágenes, por qué una imagen cuesta miles de tokens y cuándo merece la pena frente al …
- [Hardening y secretos del stack LLM soberano: defensa en profundidad](https://blog.lo0.es/posts/hardening-secretos-stack-llm-soberano/index.md): Endurecimiento por capas de un stack LLM on-premise soberano: secretos fuera de git (sealed-secrets, SOPS/age, External Secrets + Vault), NetworkPolicy default-deny con control de …
- [GitOps del stack de inferencia con Flux: operar el asistente como código](https://blog.lo0.es/posts/gitops-stack-inferencia-llm-flux/index.md): Un asistente LLM completo son seis o más servicios en varios namespaces. Desplegarlo y parchearlo a mano no escala ni es auditable. Este post explica cómo operar el stack de …
- [Servir embeddings y rerankers con TEI en producción](https://blog.lo0.es/posts/servir-embeddings-rerankers-tei-produccion/index.md): Text Embeddings Inference (TEI) es el motor del plano de datos del RAG: un servidor en Rust que sirve embeddings, rerankers y clasificación con batching dinámico por tokens, API …
- [Ingesta documental end-to-end: del PDF al chunk indexado](https://blog.lo0.es/posts/ingesta-documental-rag-pdf-a-chunk-indexado/index.md): El pipeline de ingesta RAG etapa por etapa —parsear, limpiar, trocear, enriquecer, embeber, indexar— con parsing layout-aware (Docling), estrategias de chunking comparadas, …
- [Llevar el RAG a la CPU: separar el plano de datos del plano de generación](https://blog.lo0.es/posts/rag-en-cpu-plano-datos-generacion/index.md): Casi todo el RAG —chunking, embeddings, índice HNSW, búsqueda híbrida, reranking ligero— cabe en CPU y a menudo es su sitio correcto. Separar el plano de datos (CPU, …
- [Servir varios modelos en una sola GPU: co-residencia, model-swapping y sleep mode](https://blog.lo0.es/posts/servir-varios-modelos-una-gpu-swap-sleep/index.md): Cuando tienes más modelos que VRAM —un LLM de agentes, rerankers, un alterno y un grande ocasional— hay tres formas de hacerlos convivir en una GPU: co-residir si caben, rotar con …
- [Compartir una GPU entre varias cargas: time-slicing, MPS y MIG](https://blog.lo0.es/posts/compartir-gpu-time-slicing-mps-mig/index.md): Tienes una GPU (o pocas) y quieres correr varias cargas encima. Hay tres mecanismos para repartirla —time-slicing por software, MPS espacial y MIG por hardware— y cada uno aísla …
- [Runbook: enjaular al agente de IA — bubblewrap en el cliente, Tetragon en el cluster](https://blog.lo0.es/posts/runbook-aislar-agentes-ia-bubblewrap-tetragon/index.md): Procedimiento operativo para aislar agentes de IA en los dos dominios, con comandos que se copian y pegan. En el cliente (workstation): instalar ai-jail + bubblewrap, el fichero …
- [El contratista con la llave maestra: aislar agentes de IA del workstation al cluster](https://blog.lo0.es/posts/aislar-agentes-ia-cliente-cluster/index.md): Un agente de IA que escribe y ejecuta código es un contratista al que le abres la puerta: competente, bienintencionado, pero con un cinturón de herramientas que pudo envenenarse en …
- [Runbook QLoRA: del dataset al adapter servido en multi-LoRA (procedimiento operativo)](https://blog.lo0.es/posts/qlora-runbook-fine-tuning-serving/index.md): Procedimiento operativo paso a paso para fine-tunear un SLM con QLoRA en una sola RTX 4090 (entorno, dataset, script TRL/PEFT, monitorización, validación, versionado del adapter) y …
- [QLoRA y multi-LoRA al límite en modelos pequeños](https://blog.lo0.es/posts/qlora-multi-lora-agresivo-slm/index.md): Cómo QLoRA permite fine-tunear un SLM 3-8B en una sola RTX 4090 (NF4, doble cuantización, paged optimizers) y por qué un SLM base + N adapters de rank bajo es el patrón natural de …
- [RAG agresivo en modelos pequeños: compensar parámetros con recuperación](https://blog.lo0.es/posts/rag-agresivo-modelos-pequenos/index.md): Por qué un SLM puede compensar su menor conocimiento paramétrico moviendo hechos de los pesos al contexto vía recuperación agresiva, y cuál es la tensión real con el coste de …
- [Cuantización agresiva (estado del arte): del 4-bit al ternario](https://blog.lo0.es/posts/cuantizacion-agresiva-sub-4-bit-ternario/index.md): Por qué por debajo de 4 bits la cuantización post-hoc ingenua colapsa, qué hacen AQLM, QuIP# y QTIP a 2 bits, y por qué BitNet b1.58 ternario es entrenamiento nativo, no …
- [Test-time quantization: cuantizar en caliente sin dataset de calibración](https://blog.lo0.es/posts/test-time-quantization-en-caliente/index.md): Qué es test-time quantization (TTQ): derivar las escalas de cuantización a partir de las activaciones reales en tiempo de inferencia, sin pase offline ni corpus de calibración, y …
- [Arquitecturas nativas para device: MoE de grano fino y pre-attention router](https://blog.lo0.es/posts/arquitecturas-nativas-device-moe-grano-fino/index.md): Diseñar el modelo desde cero para las restricciones del device en vez de comprimir un denso pensado para cloud: MoE de grano fino, sparse FFN y un pre-attention router que solapa …
- [Self-speculative decoding: el modelo que se adelanta a sí mismo](https://blog.lo0.es/posts/self-speculative-decoding-early-exit/index.md): Cómo un modelo pequeño puede hacer de su propio draft saliendo en una capa intermedia (early-exit) y verificarse con el forward completo, con cero memoria extra: LayerSkip, SWIFT, …
- [El roofline se invierte: por qué optimizar modelos pequeños es otro partido de rendimiento](https://blog.lo0.es/posts/roofline-invertido-modelos-pequenos/index.md): Por qué el modelo roofline cambia de régimen en SLM: el cuello deja de ser la HBM y pasa a ser el overhead fijo por step, y casi todas las intuiciones de los posts de modelos …
- [Los pasillos y el guardia de seguridad: topología PCIe, GPUDirect P2P y ACS](https://blog.lo0.es/posts/pcie-topology-gpudirect-p2p-acs/index.md): Dentro de un nodo de inferencia, las GPUs hablan entre sí por NVLink, pero todo lo demás —los pesos que vienen del disco, los datos que llegan por la red, el KV que se intercambia …
- [El especialista del plato estrella: el backend de atención de vLLM (FlashAttention, FlashInfer y la asimetría prefill/decode)](https://blog.lo0.es/posts/backend-atencion-vllm-flashinfer/index.md): De todos los kernels que ejecuta un LLM, casi todos son multiplicaciones de matrices estándar. Solo uno necesita un especialista: la atención. Y resulta que necesita dos …
- [La despensa por casilleros: PagedAttention y el block manager de vLLM](https://blog.lo0.es/posts/pagedattention-deep-dive/index.md): El KV cache crece un poco con cada token, y reservarlo de forma contigua —como hacían los primeros servidores— desperdiciaba el 60-80% de la HBM en fragmentación. PagedAttention le …
- [El pase: el jefe de sala que arma cada ronda — el scheduler step de vLLM](https://blog.lo0.es/posts/scheduler-step-vllm/index.md): Cada iteración del motor de inferencia, alguien decide qué peticiones entran a la GPU y cuántos tokens procesa cada una. Ese &#39;alguien&#39; es el scheduler, y su decisión —un …
- [El jefe que canta cada comanda: SMs, CUDA streams y CUDA graphs, o por qué la GPU se aburre generando tokens](https://blog.lo0.es/posts/sm-cuda-streams-cuda-graphs-inferencia/index.md): En decode, cada token lanza cientos de kernels diminutos, y cada lanzamiento cuesta 5-10 µs de CPU. Los kernels son tan pequeños que la GPU los termina antes de que la CPU cante el …
- [El montacargas de la despensa: del disco a la HBM, o por qué la cocina abre tarde](https://blog.lo0.es/posts/del-disco-a-la-hbm-cold-start-carga-modelo/index.md): Antes del primer token hay que subir 140 GB de pesos desde el disco hasta la HBM. Ese trayecto —disco → page cache → buffer de host → PCIe → HBM— no lo cronometra casi nadie, y es …
- [La puerta de la cocina que el maître no miró: NUMA de red, Cilium eBPF y DRANET, la cuarta pata del pinning](https://blog.lo0.es/posts/cilium-ebpf-dranet-numa-de-red-inferencia/index.md): El Topology Manager pinnea CPU, memoria y GPU al mismo NUMA node, pero nunca pregunta dónde está la NIC. En un nodo de inferencia con la red a 200/400 Gb/s, esa cuarta pata —la …
- [Elegir la centralita: qué gateway OSS poner por delante, y por qué la licencia decide antes que las features](https://blog.lo0.es/posts/elegir-gateway-oss-inferencia-llm/index.md): El gateway es la pieza que cruza cada request y la más cara de arrancar después: todo se acopla a él. Elegirlo bien empieza por la licencia (¿puedes poseerlo de verdad?), sigue por …
- [El maître que solo te sienta si cabéis en una mesa: CPU, Memory y Topology Manager en RKE2](https://blog.lo0.es/posts/kubelet-resource-managers-rke2-numa/index.md): Pinnear NUMA a mano con numactl no escala a un cluster. El kubelet lo automatiza con tres componentes —CPU Manager, Memory Manager y Topology Manager— que, en política …
- [La planta de al lado: NUMA, hugepages y aislamiento de CPU, o por qué tu GPU espera al kernel](https://blog.lo0.es/posts/numa-hugepages-aislamiento-cpu-inferencia/index.md): Un nodo 4×H100 es un servidor de dos sockets: dos NUMA nodes, cada uno con sus cores, su memoria y la mitad de las GPUs y NICs. Si los hilos de host de la inferencia caen en el …
- [La mesa compartida: NVLink, NVSwitch y NCCL, el cable por el que pasa cada token en tensor parallel](https://blog.lo0.es/posts/nvlink-nvswitch-nccl-tensor-parallel/index.md): Tensor parallelism no parte un modelo en cuatro trozos independientes: obliga a las GPUs a sumar resultados parciales —un all-reduce— dos veces por capa, decenas de veces por …
- [Langfuse por dentro: el centro de clasificación que no debe convertirse en el cuello de botella que vino a observar](https://blog.lo0.es/posts/langfuse-self-hosting-arquitectura-tuning/index.md): Langfuse v3 no es &#39;una base de datos de trazas&#39;: son seis servicios (Web, Worker, Postgres, ClickHouse, Redis/Valkey, S3/Blob) unidos por una tubería de ingesta asíncrona. Este …
- [Una réplica grande o muchas pequeñas: la decisión que define tu plataforma](https://blog.lo0.es/posts/tp-replicas-una-grande-vs-n-pequenas/index.md): TP=4×1 réplica vs TP=2×2 réplicas en 4 GPUs: no es solo una decisión técnica, define fault tolerance, granularidad de autoscaling y el punto de cruce latencia/throughput. Con las …
- [Prefix cache: ingeniería del hit rate para pasar del 15% al 75%](https://blog.lo0.es/posts/prefix-cache-hit-rate-engineering/index.md): Un hit rate del 75% en prefix cache equivale a multiplicar por 4 la capacidad de prefill sin añadir hardware. La mayoría de deployments están al 10-20% por razones evitables: …
- [Poda de modelos LLM: eliminar sin amputar](https://blog.lo0.es/posts/poda-pruning-llm-fundamentos/index.md): Cómo eliminar hasta el 50% de los pesos de un LLM sin reentrenarlo y sin que los usuarios noten la diferencia. SparseGPT, Wanda, 2:4 sparsity de NVIDIA y qué significa todo esto …
- [Optimizando el prefill en vLLM: los knobs que tu TTFT no perdona](https://blog.lo0.es/posts/prefill-optimizaciones-vllm/index.md): Chunked prefill, prefix caching, FP8 KV cache y max-num-batched-tokens explicados desde cero con números reales. Para ingenieros que quieren exprimir una RTX 4090 o una L40 sin …
- [Optimizando el decode en vLLM: exprimir cada token en hardware pequeño](https://blog.lo0.es/posts/decode-optimizaciones-vllm/index.md): PagedAttention, speculative decoding con EAGLE-3, KV cache cuantizado y tuning de gpu-memory-utilization para sacar el máximo de una RTX 4090 o una L40. Con números.
- [Knowledge Distillation: enseñar a un modelo pequeño a pensar como uno grande](https://blog.lo0.es/posts/knowledge-distillation-fundamentos/index.md): Cómo transferir el conocimiento de un modelo de 405B a uno de 8B sin que el pequeño aprenda desde cero. La matemática de la destilación, los tipos (offline, online, en-policy), y …
- [Instrumentar vLLM con OTel: medir lo que las optimizaciones realmente hacen](https://blog.lo0.es/posts/vllm-otel-instrumentacion-optimizaciones/index.md): Cómo conectar vLLM a un pipeline OTel para medir con precisión chunked prefill, prefix caching, speculative decoding, KV cache FP8 y concurrencia. Dos señales, cinco métricas …
- [FP8 end-to-end: activar, medir calidad y decidir con datos](https://blog.lo0.es/posts/fp8-end-to-end-pesos-kv-calidad/index.md): FP8 en H100 equivale a tener 1.4 réplicas adicionales gratis: +40-60% throughput, ×2 VRAM para KV cache. Pero activarlo sin medir la degradación de calidad es una apuesta. Workflow …
- [Batch sizing en vLLM: el grid search de dos horas que vale semanas de hardware](https://blog.lo0.es/posts/batch-sizing-vllm-grid-search/index.md): La mayoría de deployments dejan un 40-60% de throughput sobre la mesa por usar los defaults de vLLM. Metodología completa para encontrar la configuración óptima de max-num-seqs y …
- [Debezium y CDC: el notario que escucha los cambios antes de que nadie los pida](https://blog.lo0.es/posts/debezium-cdc-fundamentos/index.md): Cómo Debezium usa el WAL de PostgreSQL para capturar cada cambio en la base de datos —incluyendo DELETEs— y propagarlo a Kafka y Qdrant en menos de 100 ms, sin polling y sin carga …
- [Function calling y tool-augmented retrieval: el detective que sabe qué archivo pedir](https://blog.lo0.es/posts/function-calling-tool-augmented-retrieval/index.md): Cómo function calling convierte un LLM en un agente que decide qué fuente consultar: el patrón ReAct (Reasoning + Acting), las tres fuentes de datos heterogéneas (vector store, …
- [Evaluar un RAG sin engañarse: RAGAS, el golden dataset y las cuatro métricas que importan](https://blog.lo0.es/posts/rag-eval-ragas-golden-dataset/index.md): RAGAS descompone la evaluación de un sistema RAG en cuatro métricas ortogonales — faithfulness, answer relevance, context precision y context recall — cada una apuntando a un …
- [Semantic cache en RAG: el recepcionista con memoria fotográfica](https://blog.lo0.es/posts/semantic-cache-rag/index.md): Cómo un semantic cache reduce entre un 40% y un 60% el cómputo GPU en un pipeline RAG en producción, interceptando queries semánticamente equivalentes antes de que lleguen al …
- [PostgreSQL + Qdrant en la ingestión RAG: el cartero que sincroniza dos mundos](https://blog.lo0.es/posts/postgresql-qdrant-ingestion-microservicios/index.md): Cómo mantener PostgreSQL y Qdrant sincronizados en una pipeline RAG de producción: outbox pattern, CDC con Debezium, arquitectura de microservicios y matemáticas de throughput.
- [Ontologías y knowledge graphs en LLMOps: la nomenclatura linneana que sostiene las seis etapas del pipeline](https://blog.lo0.es/posts/ontologias-knowledge-graphs-seis-etapas-llmops/index.md): Por qué una ontología explícita es la nomenclatura sin la cual las seis etapas del pipeline LLMOps están hablando lenguas distintas, qué son realmente …
- [Embeddings en 2026: las tres familias (denso, esparso, multi-vector), el zoo de modelos y la decisión que importa en producción](https://blog.lo0.es/posts/embeddings-modelos-2026-dense-sparse-multivector/index.md): Por qué un embedder es siempre tres modelos distintos a la vez (denso, esparso, multi-vector), qué cambia entre ellos en cuanto a calidad, almacenamiento y latencia, el zoo de …
- [Runbooks de incident response para inferencia LLM: cada alerta a una acción concreta con Kafka y Keep](https://blog.lo0.es/posts/runbooks-incident-response-llm-keep-kafka/index.md): Las alertas DCGM y vLLM que se documentaron en los posts anteriores no son útiles sin un procedimiento codificado por cada una. Este post traduce cada anomalía a su acción concreta …
- [Entornos mixtos NVIDIA + Intel para inferencia LLM: del cluster H100 central al NUC en la sucursal](https://blog.lo0.es/posts/entornos-mixtos-nvidia-intel-servidores-nucs/index.md): Un cluster productivo serio en 2026 ya no es &#39;todo NVIDIA&#39; ni &#39;todo Intel&#39; — es heterogéneo por diseño. NVIDIA H100 SXM resuelve el LLM grande en el DC central; Intel Xeon 6 con …
- [Anatomía de las doce métricas DCGM y cinco vLLM: analogías, anomalías documentadas y casos reales 2024-2026](https://blog.lo0.es/posts/anatomia-metricas-dcgm-vllm-anomalias/index.md): El post anterior sobre observabilidad GPU listaba las doce métricas DCGM más cinco vLLM con umbrales V/Á/R. Este profundiza: cada métrica con su propia analogía explicativa, el …
- [El router de inferencia LLM: la centralita L7 que en el post de canary llamábamos LoadBalancer](https://blog.lo0.es/posts/router-inferencia-llm-gateway-l7/index.md): En el post anterior sobre canary, blue-green y shadow llamamos genéricamente &#34;LoadBalancer&#34; a la pieza que reparte tráfico entre los pools v1 y v2. La descripción era precisa pero …
- [Canary, blue-green y shadow para modelos LLM: cómo desplegar una versión nueva sin tirar el SLO](https://blog.lo0.es/posts/canary-blue-green-shadow-modelos-llm/index.md): Promocionar un modelo LLM nuevo al cluster productivo sin cortar tráfico ni romper el SLO exige una estrategia de despliegue progresivo. Las tres opciones —blue-green, canary y …
- [Autoscaling de inferencia LLM en Kubernetes: HPA con custom metrics y KEDA para vLLM](https://blog.lo0.es/posts/autoscaling-llm-kubernetes-keda/index.md): El autoscaling clásico de Kubernetes (HPA sobre CPU) no funciona para inferencia LLM porque la CPU del pod casi no se mueve. Las señales correctas son cuatro y vienen del motor: …
- [Observabilidad GPU para inferencia LLM: las doce métricas DCGM y vLLM que dictan la salud de tu producción](https://blog.lo0.es/posts/observabilidad-gpu-dcgm-llm/index.md): Una GPU no se observa con una métrica. Se observa con un panel de doce, distribuidas en cuatro familias (compute, memoria, térmico-energético, salud) y combinadas con cinco …
- [Capacity planning para inferencia LLM on-premise: cómo dimensionar GPUs a partir de un SLO](https://blog.lo0.es/posts/capacity-planning-inferencia-llm-on-premise/index.md): Antes de comprar GPUs hay que saber cuántas. Este post desmonta el cálculo de capacity planning de un cluster de inferencia LLM partiendo del SLO (TTFT P95, TPOT, requests por …
- [Controles técnicos: el mapeo cruzado ENS × ISO 42001 × EU AI Act sobre la arquitectura LLM on-premise](https://blog.lo0.es/posts/controles-tecnicos-ens-42001-eu-ai-act/index.md): Mapeo cruzado de los controles técnicos del Esquema Nacional de Seguridad (RD 311/2022, 74 medidas) contra los 38 controles del Annex A de ISO/IEC 42001 y los artículos operativos …
- [ISO/IEC 42001: el manual de operaciones del sistema de IA — cómo encaja el AIMS sobre la plataforma LLM on-premise descrita en el blog](https://blog.lo0.es/posts/iso-42001-aims-llm-on-premise/index.md): ISO/IEC 42001:2023 es la primera norma certificable de gestión de IA: 7 cláusulas Annex SL + 38 controles del Annex A. Este post la desmonta funcionalmente y la mapea control a …
- [EU AI Act: el expediente técnico artículo por artículo sobre la arquitectura LLM on-premise del blog](https://blog.lo0.es/posts/eu-ai-act-mapeo-arquitectura-llm-on-premise/index.md): Mapeo artículo por artículo del Reglamento UE 2024/1689 (EU AI Act) sobre la arquitectura LLM on-premise que el blog ha descrito. Para cada artículo relevante (5 prohibiciones, 9 …
- [LLM Guard: el traductor jurado con cuaderno de equivalencias — anatomía, scanners y su integración con Langfuse, vLLM y LiteLLM](https://blog.lo0.es/posts/llm-guard-fundamentos/index.md): Deep-dive funcional de LLM Guard (Protect AI): la pieza dentro de la capa de guardrails que se distingue por su patrón Anonymize → LLM → Deanonymize con Vault central, su catálogo …
- [Guardrails y safety en LLMs: las cuatro líneas de defensa del request en producción](https://blog.lo0.es/posts/guardrails-safety-llm/index.md): Por qué los guardrails son la única capa de safety que vive en el path del request, qué los separa de los evals offline, y cómo se diseñan las cuatro líneas de defensa (input, …
- [Siete fases de despliegue greenfield de una plataforma LLM on-premise: del hardware en la sala al primer token productivo](https://blog.lo0.es/posts/siete-fases-despliegue-plataforma-llm-on-premise/index.md): Tercer post de la trilogía arquitectónica. Los dos anteriores fijaron qué se monta y por qué; este fija cuándo. Siete fases nominales (F0–F6) que llevan una plataforma LLM …
- [Cinco niveles de madurez de la plataforma debajo del LLM: del servidor con Linux al cluster listo para vLLM](https://blog.lo0.es/posts/cinco-niveles-madurez-plataforma-llm-on-premise/index.md): El post anterior asumía siete capas listas; este recorre lo de debajo. Desde un servidor con Linux hasta un cluster preparado para correr vLLM, hay cinco niveles de madurez. Cada …
- [Structured output: el formulario con desplegables que tacha respuestas inválidas antes de que el modelo elija — Outlines, XGrammar, LLGuidance y la matemática del bitmask](https://blog.lo0.es/posts/structured-output-fundamentos/index.md): Cómo se garantiza al 100 % que un LLM produzca JSON parseable según un schema: el principio del logits bitmask, los autómatas (FSM/PDA) que deciden qué tokens son válidos en cada …
- [Continuous batching: la peluquería con 8 sillones que no espera al cliente lento — Orca, vLLM, chunked prefill y goodput](https://blog.lo0.es/posts/continuous-batching-fundamentos/index.md): Por qué el static batching dejaba la GPU al 20-40 % de utilización, qué cambia Orca (OSDI &#39;22) con iteration-level scheduling, cómo lo materializa vLLM con PagedAttention, qué …
- [Anatomía de un stack de inferencia LLM on-premise: las siete capas que tienen que sostenerse las unas a las otras](https://blog.lo0.es/posts/siete-capas-stack-inferencia-llm-on-premise/index.md): El stack de inferencia LLM on-premise no es un servidor de modelos: son siete capas (inferencia, embeddings, vector store, gateway, observabilidad, control plane, dependency …
- [Multi-LoRA serving: el traductor único con mil glosarios — base compartido, miles de adapters concurrentes y el kernel SGMV](https://blog.lo0.es/posts/multi-lora-serving-fundamentos/index.md): Cómo se sirven cientos o miles de adapters LoRA concurrentes contra un único base sin replicar el base, qué hace el kernel SGMV (Segmented Gather Matrix-Vector multiplication) que …
- [MoE inference: el call center con 256 especialistas y 8 atendiendo cada llamada — fundamentos, expert parallel y la economía de DeepSeek-V3](https://blog.lo0.es/posts/moe-inference-fundamentos/index.md): Por qué un MoE como DeepSeek-V3 tiene 671B parámetros totales pero solo activa 37B por token, qué cambia respecto al dense en throughput y memoria, cómo se reparten 256 expertos …
- [FlashAttention v1/v2/v3/v4: el bibliotecario que nunca despeja la mesa — IO-awareness, async y la asimetría de Blackwell](https://blog.lo0.es/posts/flashattention-fundamentos/index.md): Por qué attention era memory-bound en GPUs modernas y cómo FlashAttention le da la vuelta con tiling y online softmax; las tres ideas de FA2 (sequence parallelism, work …
- [Speculative decoding: el secretario que adelanta lo que va a decir el jefe — fundamentos, matemáticas y estado mayo 2026](https://blog.lo0.es/posts/speculative-decoding-fundamentos/index.md): Cómo funciona exactamente speculative decoding (draft + verify + rejection sampling), por qué la matemática garantiza que la calidad no se degrada, el techo algorítmico 1/(1-α), …
- [Quantization para inferencia LLM: FP8, INT4 (GPTQ, AWQ) y GGUF — el zoom contable del modelo](https://blog.lo0.es/posts/quantization-fundamentos-inferencia/index.md): Por qué un modelo de 70B cabe en 24 GB cuando se cuantiza, cuál es la matemática que lo permite (scale + zero-point), las diferencias prácticas entre PTQ y QAT, los cuatro formatos …
- [Tracing LLM con OpenTelemetry GenAI: la caja negra del avión que el campo estabilizó en 2026](https://blog.lo0.es/posts/tracing-llm-otel-genai/index.md): Por qué la observabilidad LLM no se reinventa con propietarios, qué exige la convención `gen_ai.*` de OpenTelemetry, cómo se monta el pipeline SDK → Collector → Langfuse + Tempo + …
- [LLM-as-judge: el corrector de oposiciones que evalúa a otros modelos sin convertirse en oráculo](https://blog.lo0.es/posts/llm-as-judge-fundamentos/index.md): Por qué funciona usar un LLM para evaluar a otro LLM, los tres patrones canónicos en 2026 (G-Eval, Prometheus 2, panel of judges), la matemática de la calibración con Cohen&#39;s …
- [Alignment moderno: DPO, KTO, ORPO y SimPO — el sumiller que aprende sin recibir reward model](https://blog.lo0.es/posts/alignment-moderno-dpo-kto-orpo-simpo/index.md): Por qué RLHF clásico está prácticamente extinto en 2026, qué pasó con el reward model, cómo DPO lo reemplazó con un cambio de variable, y dónde encajan KTO (señal binaria), ORPO …
- [Reranker y hybrid retrieval: el comité que decide los 5 chunks que el LLM va a leer de verdad](https://blog.lo0.es/posts/rag-reranker-hybrid-retrieval-fundamentos/index.md): Por qué dense retrieval solo no basta para un RAG en producción, cómo se combina con BM25 / SPLADE en hybrid retrieval, qué aporta un reranker cross-encoder, late interaction con …
- [RAG corpus curation: el bibliotecario activo que decide qué entra, qué sale y qué firma](https://blog.lo0.es/posts/rag-corpus-curation-fundamentos/index.md): Por qué un RAG sin curación activa del corpus es un sistema que aprende a equivocarse en producción. Las cinco capas de curación (schema-validation, deduplicación exact + near + …
- [Evals para LLMs: la capa después del tracing que decide si tu modelo rinde o sólo parece rendir](https://blog.lo0.es/posts/evals-llm-la-capa-despues-de-tracing/index.md): Por qué tracing no es evaluación, qué es realmente un golden dataset, cómo se construye un LLM-as-judge que no mienta, las matemáticas que separan un eval real de un termómetro …
- [Data versioning para LLMOps: DVC, lakeFS y el reto del golden dataset reproducible](https://blog.lo0.es/posts/data-versioning-dvc-lakefs/index.md): Por qué Git no basta para versionar los datasets que alimentan un sistema LLM, los cuatro artefactos que conviene versionar (training, RAG corpus, golden eval, enriched retrain), …
- [Retrain: cerrar el bucle entre el incidente en producción y el adapter que lo arregla](https://blog.lo0.es/posts/retrain-cerrar-el-bucle-feedback-dataset-adapter/index.md): La etapa que más se descuida del pipeline LLMOps. Cómo se captura feedback (explícito + implícito), se triajea por causa raíz, se enriquece el dataset, se decide la cadencia …
- [Prompt versioning: el contrato que evita que un cambio de cinco palabras hunda tu sistema](https://blog.lo0.es/posts/prompt-versioning-langfuse-mlflow/index.md): Por qué el prompt es código y necesita versionado de verdad. Patrón de tres primitivas (versión, label, cache), las dos herramientas dominantes en 2026 (Langfuse y MLflow Prompts), …
- [Disaggregated serving: prefill y decode en pods especializados](https://blog.lo0.es/posts/disaggregated-serving-prefill-decode/index.md): Por qué prefill y decode tienen perfiles de GPU incompatibles, cómo se separan en pods especializados con transferencia de KV cache vía NIXL/RDMA, y qué números reales aporta el …
- [Fine-tuning continuo en producción: del tráfico real al adapter desplegado](https://blog.lo0.es/posts/fine-tuning-continuo-produccion/index.md): Cómo se construye un ciclo de fine-tuning continuo on-premise en 2026: técnicas de alineamiento por tipo de señal, dataset versioning sobre Postgres, eval gates como predicados …
- [El pipeline LLMOps de seis etapas: arquitectura global y deep dive en cada componente](https://blog.lo0.es/posts/pipeline-llmops-seis-etapas/index.md): El tercer post de la serie MLOps para LLMs. Arquitectura global de un sistema LLMOps moderno con SVG maestro reutilizable, y deep dive en cada una de las seis etapas (Data, Tune, …
- [MLOps específico para LLMs en 2026: el panorama de tres modalidades, seis etapas y diez herramientas que las hacen funcionar](https://blog.lo0.es/posts/mlops-llms-panorama-2026/index.md): Por qué LLMOps es estructuralmente distinto de MLOps tradicional, el pipeline end-to-end de seis etapas (data → tune → eval → deploy → observe → retrain), las tres modalidades de …
- [KV cache: la memoria de trabajo que sostiene la inferencia LLM](https://blog.lo0.es/posts/kv-cache-fundamentos/index.md): Qué es el KV cache, por qué sin él la inferencia LLM sería inviable, cuánta VRAM se come y cómo dicta lo que cabe en una RTX 4090 o en un cluster de H100.
- [Bienvenidos al blog de lo0](https://blog.lo0.es/posts/bienvenida/index.md): Primer post del blog técnico de lo0.es

## Ia

- [Memoria entre hilos para los agentes de retail: PostgresStore, el cliente que vuelve y lo que no se debe recordar](https://blog.lo0.es/posts/memoria-agentes-langgraph-postgresstore-cliente-que-vuelve/index.md): Primer artículo de la tanda de memoria y enrutado sobre los agentes de LangGraph de la serie de retail. El checkpointer guarda un hilo; el almacén guarda lo que tiene que …
- [Evaluar agentes de LangGraph con datasets de Langfuse: casos dorados por agente, evaluadores en código, un juez calibrado y una puerta de regresión en CI](https://blog.lo0.es/posts/evaluar-agentes-langgraph-datasets-langfuse/index.md): Segundo artículo de la tanda de pruebas y evaluación. Los tests del artículo anterior fijan el grafo con las decisiones del modelo guionizadas; este mide las decisiones del modelo …
- [Probar agentes de LangGraph sin modelo: tests de grafo con un modelo guionizado, pytest y el checkpointer en memoria](https://blog.lo0.es/posts/probar-agentes-langgraph-modelo-falso-pytest/index.md): Primer artículo de una tanda de dos sobre pruebas y evaluación de los agentes de la serie de retail. Este cubre lo que se prueba sin llamar a ningún modelo: la estructura del …
- [Servir agentes de LangGraph sin langgraph-api: autorización por hilo, drenado, retención y sondas para los cuatro casos de retail](https://blog.lo0.es/posts/servir-agentes-langgraph-sin-langgraph-api/index.md): Cierre de la serie de agentes con LangGraph para retail. Los cuatro agentes anteriores se sirven en el mismo cluster de Kubernetes sin el servidor de LangGraph, que tiene licencia …
- [Agente de datos de producto con LangGraph: enriquecer y controlar fichas con un generador, un evaluador y un bucle que sabe parar](https://blog.lo0.es/posts/agente-fichas-producto-langgraph-generador-evaluador/index.md): Cuarto caso de la serie de agentes con LangGraph para retail. Un agente que redacta o completa fichas de producto y las somete a un evaluador con criterios fijos antes de …
- [Agente de cadena de suministro con LangGraph: incidencias con proveedores y reposición con plan-and-execute y map-reduce sobre miles de referencias](https://blog.lo0.es/posts/agente-cadena-suministro-langgraph-send-map-reduce/index.md): Tercer caso de la serie de agentes con LangGraph para retail. Un agente de compras que revisa las incidencias abiertas con proveedores, analiza las referencias en riesgo y propone …
- [Agente de atención al cliente con LangGraph: pedidos, devoluciones y sustituciones con el límite de aprobación humana en el código](https://blog.lo0.es/posts/agente-cliente-devoluciones-langgraph-interrupt-hitl/index.md): Segundo caso de la serie de agentes con LangGraph para retail. Un agente que atiende a un cliente sobre su pedido, prepara una devolución o una sustitución, y para a esperar a un …
- [Agente de empleado de tienda con LangGraph: procedimientos, stock y roturas con RAG, herramientas y middleware](https://blog.lo0.es/posts/agente-empleado-tienda-langgraph-rag-tools/index.md): Primer caso de la serie de agentes con LangGraph para retail. Un asistente de sala que responde a un dependiente sobre stock, procedimientos y roturas, construido con create_agent …
- [Agentes con LangGraph para retail: por qué un grafo, qué primitivas hacen falta y el stack que comparten los cuatro casos](https://blog.lo0.es/posts/agentes-langgraph-retail-marco-serie/index.md): Apertura de una serie de seis artículos sobre agentes construidos con LangGraph 1.2 y create_agent, con un dominio de retail como hilo conductor. Este primero fija el marco: cuándo …
- [El cluster GPU como plataforma: cómo convertir un cluster compartido en un servicio multi-tenant que tus equipos puedan consumir](https://blog.lo0.es/posts/cluster-h100-plataforma-multi-tenant/index.md): Cómo convertir un cluster GPU compartido en una plataforma interna multi-tenant: la capa AI gateway (LiteLLM, Portkey, Kong AI Gateway), aislamiento GPU (MIG vs MPS vs …
- [RAG sobre Kafka: arquitectura técnica de referencia para datalakes en streaming, con embeddings frescos y vector stores siempre al día](https://blog.lo0.es/posts/rag-kafka-datalake-arquitectura/index.md): El segundo post de la serie MLOps para LLMs. Arquitectura end-to-end de RAG sobre Kafka: log inmutable como source-of-truth, Debezium CDC desde PostgreSQL, Flink SQL con embedding …
- [eBPF en inferencia local y detección estadística de drift: el cierre del ciclo de observabilidad LLM en 2026](https://blog.lo0.es/posts/ebpf-on-device-inference-drift/index.md): Cierre de las series post-tracing y eBPF. Cómo eBPF observa la inferencia local sin instrumentar el código (uprobes en llama.cpp, vLLM, libcudart) — el paper ProfInfer 2026 — y …
- [MCP por dentro y su observabilidad profunda: el LSP de los agentes IA y cómo verlo todo con OpenTelemetry](https://blog.lo0.es/posts/mcp-observability-otel/index.md): Model Context Protocol explicado con analogías (USB-C de las apps IA, LSP de los editores, driver del sistema operativo): qué problema resuelve, arquitectura completa (Host, …
- [AgentSight y el nuevo tracing de LLMs: zero-instrumentation con eBPF frente a Langfuse, LangSmith, Phoenix y compañía](https://blog.lo0.es/posts/agentsight-tracing-llm/index.md): Cuarto y último post de la serie eBPF. Cómo se observa un agente LLM en 2026: el enfoque clásico instrumentado (Langfuse, LangSmith, Arize Phoenix, OpenLLMetry, Pydantic Logfire) …
- [Operators de inferencia LLM en Kubernetes: OME, vLLM Production Stack, NVIDIA Dynamo y llm-d](https://blog.lo0.es/posts/operators-llm-kubernetes/index.md): El cuarto post de la serie de inferencia. Por qué un Deployment plano ya no basta, qué CRDs aportan los cuatro operators dominantes en 2026 (OME, vLLM Production Stack, NVIDIA …
- [vLLM en Kubernetes: la pieza de inferencia LLM que sí escala](https://blog.lo0.es/posts/vllm-kubernetes/index.md): Cómo funciona vLLM por dentro (PagedAttention, continuous batching, scheduler), por qué Kubernetes es su hábitat natural, qué hace falta para desplegarlo en serio (GPU operator, …

## Infraestructura física

- [Refrigeración del datacenter de IA (1/4): el reto térmico](https://blog.lo0.es/posts/refrigeracion-datacenter-reto-termico/index.md): Primer artículo de la serie sobre refrigeración: por qué la densidad de la IA ha roto el modelo de refrigeración por aire. El espectro de soluciones del aire al líquido y la …
- [Refrigeración del datacenter de IA (2/4): el aire y sus límites](https://blog.lo0.es/posts/refrigeracion-datacenter-aire/index.md): Segundo artículo de la serie: la refrigeración por aire. CRAC y CRAH, la geometría del caudal bajo el suelo técnico, la ley cúbica del ventilador, la contención de pasillos, el …
- [Refrigeración del datacenter de IA (3/4): el líquido directo al chip](https://blog.lo0.es/posts/refrigeracion-datacenter-liquido-directo-chip/index.md): Tercer artículo de la serie: la refrigeración líquida directa al chip. La placa fría por dentro, cuánto calor captura el fluido, los bucles TCS y FWS, la CDU y su temperatura de …
- [Refrigeración del datacenter de IA (4/4): la inmersión y el horizonte del megavatio](https://blog.lo0.es/posts/refrigeracion-datacenter-inmersion/index.md): Cuarto y último artículo de la serie: la inmersión monofásica y bifásica, qué hay que cambiar en un servidor sumergido, el muro regulatorio de los PFAS, por qué el líquido directo …
- [Infraestructura física del datacenter (1/4): la cadena de energía](https://blog.lo0.es/posts/energia-datacenter-cadena/index.md): Primer artículo de la serie sobre infraestructura física: la cadena eléctrica completa de un datacenter, de la acometida al rack. Redundancia N/N+1/2N, niveles Tier, kW frente a …
- [Infraestructura física del datacenter (2/4): los generadores](https://blog.lo0.es/posts/energia-datacenter-generadores/index.md): Segundo artículo de la serie: los grupos electrógenos. El arranque en 10 segundos (NFPA 110), los ratings ISO 8528 y el &#39;Data Center Continuous&#39;, dimensionamiento y respuesta …
- [Infraestructura física del datacenter (3/4): la conmutación](https://blog.lo0.es/posts/energia-datacenter-conmutacion/index.md): Tercer artículo de la serie: la conmutación entre fuentes. ATS frente a STS, transición abierta y cerrada, la ventana de tolerancia de las fuentes del servidor, la normativa NEC y …
- [Infraestructura física del datacenter (4/4): el SAI y el ride-through](https://blog.lo0.es/posts/energia-datacenter-ups/index.md): Cuarto y último artículo de la serie: el SAI (UPS). El ride-through que cubre el arranque del generador, las topologías IEC 62040-3, el eco-mode, el volante de inercia, las …

## Infraestructura ia

- [Almacenamiento en la era de la IA (1/4): el estado del arte](https://blog.lo0.es/posts/almacenamiento-ia-estado-del-arte/index.md): Primer artículo de la serie sobre almacenamiento para IA: la jerarquía memoria-almacenamiento, el memory wall, NVMe Gen6, QLC de 245 TB, CXL, sistemas de archivos paralelos y la …
- [Almacenamiento en la era de la IA (2/4): rendimiento](https://blog.lo0.es/posts/almacenamiento-ia-rendimiento/index.md): Segundo artículo de la serie: métricas reales de rendimiento (GB/s, IOPS, latencia), MLPerf Storage v2.0, GPUDirect Storage, el patrón de I/O del entrenamiento, el coste del …
- [Almacenamiento en la era de la IA (3/4): seguridad](https://blog.lo0.es/posts/almacenamiento-ia-seguridad/index.md): Tercer artículo de la serie: cifrado en reposo y en tránsito, la transición a FIPS 140-3, criptografía post-cuántica y &#39;harvest now, decrypt later&#39;, envenenamiento de datos, …
- [Almacenamiento en la era de la IA (4/4): disponibilidad](https://blog.lo0.es/posts/almacenamiento-ia-disponibilidad/index.md): Cuarto y último artículo de la serie: redundancia con erasure coding frente a RAID, durabilidad de once nueves, AFR reales de Backblaze, replicación síncrona y RPO/RTO, resiliencia …

## Kubernetes

- [Hubble: observabilidad de red en eBPF, estado del arte 2026 y la nueva frontera con los agentes IA](https://blog.lo0.es/posts/hubble-observabilidad-ebpf/index.md): Hubble como tcpdump moderno con contexto Kubernetes nativo: arquitectura distribuida, flow logs L3-L7, métricas Prometheus, UI, casos de uso. Estado del arte 2026 (Cilium 1.19, IP …
- [Tetragon: el primo de seguridad de Cilium que ve cada syscall en el kernel](https://blog.lo0.es/posts/tetragon-runtime-security/index.md): Introducción extensa a Tetragon, el motor de seguridad y observabilidad de runtime basado en eBPF: arquitectura, TracingPolicy / TracingPolicyNamespaced, hook points (kprobes, …
- [eBPF de cero a Cilium: cómo el kernel aprendió a saltarse su propia pila TCP/IP](https://blog.lo0.es/posts/ebpf-cilium-tcp-ip-bypass/index.md): eBPF básico (qué es, qué no es), eBPF en networking (XDP, TC, sock_ops), cómo Cilium se salta la pila TCP/IP tradicional y los CRDs del BGP Control Plane v2 …
- [Kubernetes con Cilium BGP: servicios accesibles sin Ingress](https://blog.lo0.es/posts/rke2-cilium-bgp/index.md): Cómo configurar Cilium BGP en RKE2 para exponer ClusterIPs directamente en la LAN

## Llmops pipeline

- [El catálogo OSS para LLMOps en seis etapas: ficha por ficha, qué hace cada herramienta y cuándo elegirla](https://blog.lo0.es/posts/catalogo-herramientas-oss-llmops/index.md): Tercer post de la serie sobre el pipeline LLMOps, complementario al post forense y al catálogo paralelo OSS vs hyperscalers. Este se centra en el lado OSS: para cada una de las …
- [El catálogo paralelo: las seis etapas LLMOps en open source y en los hyperscalers (AWS, GCP, Azure)](https://blog.lo0.es/posts/oss-vs-hyperscalers-llmops/index.md): Para cada una de las seis etapas del pipeline LLMOps (Data, Tune, Eval, Deploy, Observe, Retrain) y los dos componentes transversales (prompt versioning, data versioning) que …
- [Anatomía de una petición LLM en producción, mayo 2026: tour por las seis etapas siguiendo una sola request](https://blog.lo0.es/posts/anatomia-request-llm-mayo-2026/index.md): Post de síntesis del blog. Rebobinamos una única petición real desde el frame en que el usuario hace clic hasta los datos que la entrenaron 90 días atrás, y luego seguimos hacia …

## Networking

- [EVPN-VXLAN con Huawei CloudEngine: Guía práctica](https://blog.lo0.es/posts/evpn-vxlan-huawei/index.md): Configuración de fabric EVPN-VXLAN con underlay ISIS y BGP ECMP en switches Huawei CE6863

## Tendencias ia

- [IoT y agentes de IA: el dato que la plataforma no te deja ver](https://blog.lo0.es/posts/iot-agentes-gobernanza-dato/index.md): Un agente de IA vale lo que vale el dato al que llega. En IoT ese dato suele estar retenido por diseño. Qué mecanismos lo retienen, qué obliga el Data Act desde el 12 de septiembre …

