<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Knative on lo0 — Blog Técnico</title><link>https://blog.lo0.es/tags/knative/</link><description>Recent content in Knative on lo0 — Blog Técnico</description><generator>Hugo -- gohugo.io</generator><language>es</language><lastBuildDate>Mon, 31 Aug 2026 10:00:00 +0200</lastBuildDate><atom:link href="https://blog.lo0.es/tags/knative/index.xml" rel="self" type="application/rss+xml"/><item><title>Knative y scale-to-zero para inferencia LLM: cuándo apagar la GPU ahorra y cuándo te cuesta el SLO</title><link>https://blog.lo0.es/posts/knative-scale-to-zero-inferencia-llm/</link><pubDate>Mon, 31 Aug 2026 10:00:00 +0200</pubDate><guid>https://blog.lo0.es/posts/knative-scale-to-zero-inferencia-llm/</guid><description>&lt;blockquote>
&lt;p>Cierre de la tanda de plataforma y autoservicio, tras &lt;a href="https://blog.lo0.es/posts/backstage-portal-autoservicio-plataforma-llm/">Backstage&lt;/a> y &lt;a href="https://blog.lo0.es/posts/kubeflow-a-fondo-plataforma-ml-on-premise/">Kubeflow&lt;/a>. Aquí la pregunta es puramente económica con una trampa técnica dentro: apagar la GPU cuando nadie la usa parece dinero gratis, hasta que el primer usuario del día espera dos minutos.&lt;/p>
&lt;/blockquote>
&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;p>Una GPU cuesta lo mismo sirviendo que ociosa. Una H100 en cloud dedicado ronda los 2 a 4 euros la hora se use o no, así que apagar el servicio cuando no hay tráfico parece dinero regalado. Knative es la pieza que lo hace: su autoescalador escala a cero réplicas y las vuelve a levantar cuando llega una petición, midiendo concurrencia en vez de CPU, que es lo que el autoescalador de Kubernetes no sabe hacer.&lt;/p>
&lt;p>La trampa está en el arranque en frío. Knative levanta un pod en segundos, pero eso solo es el principio: un LLM tiene que cargar los pesos del disco a la HBM y compilar sus grafos, y ahí se van de decenas de segundos a minutos según el tamaño del modelo y el almacenamiento. Un trabajo de referencia mide el arranque de vLLM en unos 20 segundos incluso para un modelo de 3.000 millones de parámetros, y la carga de pesos crece de forma lineal con el tamaño. El primer usuario de cada valle de tráfico paga esa espera entera.&lt;/p>
&lt;p>De ahí la regla. Apagar la GPU compensa con tráfico esporádico, muchos modelos poco usados o entornos de desarrollo, y es una trampa con SLO de latencia estricto, tráfico sostenido o modelos enormes cuyo arranque viola cualquier presupuesto interactivo. Entre el todo y la nada hay tres términos medios que casi siempre ganan: mantener una réplica caliente, compartir la GPU con model-swap, o acelerar la carga de pesos para que el arranque quepa en el ciclo del autoescalador.&lt;/p>
&lt;h2 id="la-analogía-el-restaurante-que-apaga-la-cocina">La analogía: el restaurante que apaga la cocina&lt;/h2>
&lt;p>Un restaurante con la cocina encendida a las cuatro de la tarde, sin un solo cliente, quema gas para nada. La tentación es apagarla y encenderla cuando entre alguien. El problema es el tiempo de encendido. Si la cocina es una placa de inducción, se enciende en segundos y apagarla entre servicios es evidente. Si es un horno de leña que tarda dos horas en coger temperatura, apagarlo significa que el primer cliente de la noche cena frío o se va.&lt;/p>
&lt;p>Servir un modelo pequeño es una placa de inducción. Servir un modelo de 70.000 millones de parámetros es el horno de leña: los pesos que hay que subir a la HBM son la leña que hay que quemar hasta alcanzar temperatura, y no se acelera con desearlo. La decisión de apagar la cocina, es decir, de escalar a cero, no depende de si quieres ahorrar gas, sino de cuánto tarda en encenderse tu cocina y de cuánto está dispuesto a esperar tu primer cliente. Todo este artículo es esa cuenta.&lt;/p>
&lt;h2 id="cómo-escala-knative">Cómo escala Knative&lt;/h2>
&lt;p>Knative graduó en la CNCF en octubre de 2025 y tiene tres componentes; el que nos ocupa es &lt;strong>Serving&lt;/strong>, el de aplicaciones sin servidor con autoescalado. Su modelo de objetos tiene cuatro piezas: el &lt;code>Service&lt;/code> de alto nivel, la &lt;code>Configuration&lt;/code> que describe el estado deseado, la &lt;code>Revision&lt;/code> inmutable que es lo que se escala en realidad, y la &lt;code>Route&lt;/code> que reparte tráfico entre revisiones.&lt;/p>
&lt;p>Lo que hace posible el escalado a cero son dos componentes del plano de datos. El &lt;strong>queue-proxy&lt;/strong> es un sidecar en cada pod que mide la concurrencia y aplica el límite de peticiones simultáneas. El &lt;strong>activator&lt;/strong> es la pieza clave: cuando el servicio está a cero réplicas, las peticiones se dirigen a él, que las &lt;strong>aparca en una cola, avisa al autoescalador de que hace falta capacidad, y reenvía la petición aparcada&lt;/strong> cuando un pod queda listo. Es el camarero que toma nota y te dice que la cocina está calentando, en vez de cerrarte la puerta.&lt;/p>
&lt;h3 id="kpa-frente-a-hpa">KPA frente a HPA&lt;/h3>
&lt;p>El autoescalador propio de Knative, el KPA, mide &lt;strong>concurrencia y peticiones por segundo&lt;/strong>, no CPU ni memoria. Esa es la diferencia que importa: el autoescalador de Kubernetes, el HPA, escala por CPU y &lt;strong>no sabe bajar a cero&lt;/strong>, su mínimo operativo es uno. Para apagar del todo hace falta el KPA.&lt;/p>
&lt;p>El KPA trabaja con dos ventanas. La &lt;strong>estable&lt;/strong>, de 60 segundos por defecto, promedia el tráfico normal. La &lt;strong>de pánico&lt;/strong>, mucho más corta, reacciona a picos bruscos: cuando la demanda supera el doble de la capacidad de las réplicas actuales, entra en modo pánico y escala de golpe. El objetivo de concurrencia por réplica por defecto es 100, pero para inferencia LLM el valor útil suele ser de 1 a 4, porque cada petición ocupa mucho la GPU; el ejemplo oficial de KServe usa un objetivo de 1.&lt;/p>
&lt;p>Dos temporizadores gobiernan el apagado. El &lt;code>scale-to-zero-grace-period&lt;/code>, de 30 segundos por defecto, es lo que el sistema espera a tener lista la maquinaria de rearranque antes de retirar la última réplica. El &lt;code>scale-to-zero-pod-retention-period&lt;/code>, cero por defecto, es el tiempo mínimo que el último pod sobrevive tras la decisión de apagar. Subir este segundo valor es una de las palancas para no apagar en cuanto hay un microvalle de tráfico.&lt;/p>
&lt;h2 id="por-qué-el-arranque-en-frío-de-un-llm-no-es-arrancar-un-pod">Por qué el arranque en frío de un LLM no es arrancar un pod&lt;/h2>
&lt;p>Aquí está el núcleo del artículo, y hay un matiz que la mayoría de las discusiones se salta. Que Knative levante un pod en segundos no significa que el modelo esté listo en segundos. El arranque de un servicio de inferencia tiene varias fases, y las dos caras que dominan no son las que uno espera.&lt;/p>
&lt;p>Un trabajo reciente que mide el arranque en frío de vLLM lo desglosa paso a paso. Para un modelo de 3.000 millones de parámetros, el arranque total ronda los &lt;strong>20 segundos&lt;/strong>, y el hallazgo contraintuitivo es que &lt;strong>la mayor parte está limitada por CPU&lt;/strong>, no por GPU: inicialización del proceso, importación de librerías, construcción del motor. Dentro de eso hay dos costes que crecen y que son los que atacan las técnicas de aceleración.&lt;/p>
&lt;p>El primero es la &lt;strong>carga de pesos&lt;/strong>, que escala de forma lineal con el tamaño del modelo. En el mismo trabajo va de medio segundo para un modelo pequeño a casi cinco para uno de 16.000 millones. Proyectado a los tamaños reales, el peso en disco manda: un modelo de 8.000 millones ocupa unos 16 GB en FP16 y 8 en FP8; uno de 70.000 millones, 140 y 70; uno de 405.000 millones, 810 y 405. Cargar 140 GB del disco a la HBM no se hace en un parpadeo, y si el almacenamiento es lento o está en red, el minuto llega solo.&lt;/p>
&lt;p>El segundo es la &lt;strong>compilación de grafos&lt;/strong>. La transformación y captura de grafos con &lt;code>torch.compile&lt;/code> cuesta de 11 a 21 segundos si no hay caché de compilación, y baja a 3 a 6 con ella. Es media batalla que no tiene nada que ver con los pesos, y que se gana conservando la caché de compilación entre arranques.&lt;/p>
&lt;p>La conclusión operativa es que el enemigo no es solo la HBM: es la carga de pesos más la compilación. Para modelos pequeños los pesos son solo una fracción del arranque, y apagar la GPU es casi indoloro. Para modelos grandes los pesos dominan, y el arranque en frío se convierte en el problema. Cargar un modelo de 70.000 millones con el cargador ingenuo de la librería habitual puede irse a &lt;strong>varios minutos&lt;/strong>, y ese es el tiempo exacto que espera tu primer usuario.&lt;/p>
&lt;h3 id="las-técnicas-que-acortan-la-espera">Las técnicas que acortan la espera&lt;/h3>
&lt;p>La buena noticia es que el arranque en frío se ataca por sus dos frentes. Por el lado de los pesos, los cargadores por streaming como el de NVIDIA transfieren los pesos a la GPU de forma concurrente en vez de secuencial: los datos publicados llevan un modelo de 8.000 millones de unos 48 segundos con el cargador estándar a unos 14 con streaming desde SSD, y a menos de 8 con almacenamiento rápido. El caso más gráfico es un modelo de 122.000 millones, 233 GB en disco, que pasa de 3 minutos y medio a unos 37 segundos. Ese número tiene una consecuencia directa: &lt;strong>37 segundos caben en un ciclo de sondeo del autoescalador de 30 a 60 segundos; tres minutos y medio, no.&lt;/strong> Es la diferencia entre que el escalado a cero sea viable con modelos grandes o no lo sea.&lt;/p>
&lt;p>Por el lado de la compilación, la técnica es más barata todavía: conservar la caché de &lt;code>torch.compile&lt;/code> entre arranques, y con ella los 11 a 21 segundos se convierten en 3 a 6. Herramientas como &lt;a href="https://blog.lo0.es/posts/acelerar-cold-start-carga-modelos-tensorizer/">Tensorizer&lt;/a> y las imágenes OCI con los pesos empaquetados atacan el mismo problema desde otro ángulo, como vimos en el artículo sobre &lt;a href="https://blog.lo0.es/posts/del-disco-a-la-hbm-cold-start-carga-modelo/">acelerar el cold start&lt;/a>.&lt;/p>
&lt;h2 id="knative-y-kserve-los-dos-modos">Knative y KServe: los dos modos&lt;/h2>
&lt;p>KServe se apoya en Knative para su modo sin servidor, y esto es lo que conecta todo lo anterior con una plataforma real. KServe tiene dos modos de despliegue.&lt;/p>
&lt;p>El modo &lt;strong>Serverless&lt;/strong> usa Knative Serving y el KPA, &lt;strong>soporta escalado a cero&lt;/strong> y mide concurrencia y peticiones por segundo. Se activa poniendo &lt;code>minReplicas: 0&lt;/code> en el &lt;code>InferenceService&lt;/code>. Es el camino natural para servir muchos modelos intermitentes.&lt;/p>
&lt;p>El modo &lt;strong>Standard&lt;/strong> o &lt;em>raw&lt;/em> usa el HPA de Kubernetes, &lt;strong>no escala a cero&lt;/strong>, y mide CPU y memoria. Se elige cuando se necesita algo que Knative restringe, como montar varios volúmenes, y no hace falta apagar del todo.&lt;/p>
&lt;p>Hay un tercer camino que interesa especialmente a quien ya tiene &lt;a href="https://blog.lo0.es/posts/autoscaling-llm-kubernetes-keda/">KEDA&lt;/a> desplegado: en modo Standard, KServe recomienda &lt;strong>KEDA&lt;/strong> para inferencia generativa, y KEDA &lt;strong>sí puede escalar a cero&lt;/strong> por métricas de Prometheus, como la longitud de la cola o los tokens por segundo. Es una vía de escalado a cero por métricas propias, fuera de Knative, que encaja mejor con un autoescalado guiado por la señal real de saturación del modelo en vez de por concurrencia genérica.&lt;/p>
&lt;p>Para quien sirve muchos modelos predictivos y ligeros, existe además &lt;strong>ModelMesh&lt;/strong>, el patrón de alta densidad que mete muchos modelos en los mismos pods y los rota en memoria, sin apoyarse en Knative. Es el equivalente al model-swap: en vez de apagar y encender por modelo, comparte una GPU entre muchos. Está orientado a inferencia clásica de respuesta corta, no a LLM generativos.&lt;/p>
&lt;h2 id="la-cuenta-económica">La cuenta económica&lt;/h2>
&lt;p>La decisión se reduce a comparar lo que ahorras apagando con lo que arriesgas en el arranque. El ahorro es fácil de estimar. Si una GPU cuesta \( C \) euros por hora y tu servicio está ocioso \( H \) horas al día, apagarlo ahorra del orden de&lt;/p>
$$\text{ahorro diario} \approx C \cdot H$$
&lt;p>Con una H100 a 3 euros la hora y 16 horas ociosas al día, son 48 euros diarios por GPU, del orden de 1.400 al mes. En una flota de varios modelos poco usados, la cifra se multiplica y deja de ser despreciable.&lt;/p>
&lt;p>El coste está en el otro lado, y no se mide en euros: se mide en SLO. El escalado a cero solo sale a cuenta si el arranque en frío &lt;strong>cabe dentro de lo que tu peor caso de latencia tolera&lt;/strong>. Con un modelo pequeño y almacenamiento rápido, decenas de segundos como mucho, y para un asistente interno que se usa a ráfagas puede ser aceptable. Con un modelo de 70.000 millones y el cargador ingenuo, minutos, y ningún SLO interactivo lo aguanta.&lt;/p>
&lt;p>Entre apagar del todo y no apagar nunca hay tres términos medios, y casi siempre uno de ellos es la respuesta correcta:&lt;/p>
&lt;p>&lt;strong>Réplica caliente&lt;/strong>, con &lt;code>minReplicas: 1&lt;/code>. Se elimina el arranque en frío del primer usuario a cambio de pagar una GPU-hora continua. El punto de equilibrio es directo: compensa mantenerla caliente cuando el coste de esa GPU en caliente es menor que el coste reputacional o de SLO de que el primer usuario espere. Para un servicio de cara al cliente, casi siempre.&lt;/p>
&lt;p>&lt;strong>Model-swap o sleep en una GPU compartida&lt;/strong>, como vimos en &lt;a href="https://blog.lo0.es/posts/servir-varios-modelos-una-gpu-swap-sleep/">servir varios modelos en una GPU&lt;/a>. El proceso se mantiene vivo y el modelo se descarga y recarga en segundos en vez de arrancar de cero. Es el intermedio para varios modelos que no justifican una GPU cada uno pero tampoco toleran el arranque completo.&lt;/p>
&lt;p>&lt;strong>Acelerar la carga&lt;/strong> para que el arranque en frío quepa en el ciclo del autoescalador, con streaming de pesos y caché de compilación. Es lo que hace viable el escalado a cero real con modelos grandes, y el que convierte &amp;ldquo;tres minutos y medio&amp;rdquo; en &amp;ldquo;37 segundos&amp;rdquo;.&lt;/p>
&lt;h2 id="trampas-operativas-y-escepticismo-honesto">Trampas operativas y escepticismo honesto&lt;/h2>
&lt;p>&lt;strong>El pod arranca en segundos, el modelo no.&lt;/strong> No confundas el tiempo de arranque de Knative con el tiempo hasta que el modelo responde. La diferencia es todo el artículo.&lt;/p>
&lt;p>&lt;strong>El objetivo de concurrencia por defecto es 100, y para un LLM eso es un desastre.&lt;/strong> Cada petición ocupa la GPU; un objetivo de 1 a 4 es lo razonable. Dejar el 100 por defecto significa aceptar cien peticiones simultáneas en una réplica que aguanta cuatro.&lt;/p>
&lt;p>&lt;strong>El arranque en frío no es solo carga de pesos.&lt;/strong> La compilación de grafos cuesta lo suyo, y se ataca por separado, con caché. Optimizar solo el almacenamiento deja la mitad del problema sin tocar.&lt;/p>
&lt;p>&lt;strong>Cilium y Gateway API todavía no son un camino soportado.&lt;/strong> Knative soporta Gateway API en beta y prueba con Istio, Contour y Envoy Gateway; la integración con Cilium no figura como probada y tiene fricción documentada. Si tu ingress es Cilium, verifícalo antes de contar con ello.&lt;/p>
&lt;p>&lt;strong>KEDA puede ser mejor señal que el KPA.&lt;/strong> Escalar por concurrencia genérica es peor que escalar por la métrica real de saturación del modelo. Si ya tienes KEDA, el modo Standard con escalado a cero por métricas propias merece una prueba frente al Serverless por defecto.&lt;/p>
&lt;h2 id="para-una-factoría-de-inferencia">Para una factoría de inferencia&lt;/h2>
&lt;p>La decisión de apagar la GPU no es ideológica, es aritmética, y depende de dos números: cuánto tarda tu modelo en arrancar y cuánto espera tu peor usuario. Tres reglas cierran el asunto.&lt;/p>
&lt;p>Primera, &lt;strong>apaga lo que es intermitente y barato de arrancar&lt;/strong>: entornos de desarrollo, modelos pequeños de uso esporádico, la larga cola de modelos que casi nadie toca. Ahí el escalado a cero es dinero directo sin coste apreciable de SLO.&lt;/p>
&lt;p>Segunda, &lt;strong>no apagues lo que es crítico y caro de arrancar&lt;/strong>: el modelo de cara al cliente con SLO estricto, y los modelos enormes cuyo arranque en frío se mide en minutos. Ahí una réplica caliente cuesta menos que un usuario esperando.&lt;/p>
&lt;p>Tercera, &lt;strong>antes de decidir, mide tu arranque real y arréglalo&lt;/strong>. Muchos servicios se descartan del escalado a cero por un arranque de tres minutos que, con streaming de pesos y caché de compilación, baja a treinta segundos y cambia la respuesta. La palanca más rentable no es elegir bien entre apagar o no: es hacer que apagar sea barato.&lt;/p>
&lt;p>Con esto cerramos la tanda de plataforma y autoservicio. El &lt;a href="https://blog.lo0.es/posts/backstage-portal-autoservicio-plataforma-llm/">portal&lt;/a> enseña lo que hay, la &lt;a href="https://blog.lo0.es/posts/kubeflow-a-fondo-plataforma-ml-on-premise/">caja de herramientas de ML&lt;/a> da lo que falta sin duplicar lo que tienes, y el escalado a cero decide cuánto de todo eso está encendido cuando nadie mira. Las tres responden a la misma pregunta desde ángulos distintos: cómo poner una plataforma cara a disposición de sus usuarios sin arruinarse manteniéndola encendida.&lt;/p>
&lt;h2 id="ver-también">Ver también&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://blog.lo0.es/posts/autoscaling-llm-kubernetes-keda/">Autoscaling de inferencia LLM con HPA y KEDA&lt;/a> — la alternativa por métricas propias al KPA de Knative.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/servir-varios-modelos-una-gpu-swap-sleep/">Servir varios modelos en una GPU: co-residencia, model-swap y sleep&lt;/a> — el intermedio entre apagar y mantener caliente.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/acelerar-cold-start-carga-modelos-tensorizer/">Acelerar el cold start de modelos&lt;/a> — cómo hacer que el arranque quepa en el ciclo del autoescalador.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/tco-on-premise-gpu-cluster/">TCO completo de un cluster GPU on-premise&lt;/a> — la cuenta de la GPU-hora que decide si apagar compensa.&lt;/li>
&lt;/ul>
&lt;h2 id="fuentes">Fuentes&lt;/h2>
&lt;ul>
&lt;li>CNCF, &lt;em>Cloud Native Computing Foundation announces Knative&amp;rsquo;s graduation&lt;/em> — &lt;a href="https://www.cncf.io/announcements/2025/10/08/cloud-native-computing-foundation-announces-knatives-graduation/">https://www.cncf.io/announcements/2025/10/08/cloud-native-computing-foundation-announces-knatives-graduation/&lt;/a>&lt;/li>
&lt;li>Knative Docs, &lt;em>Serving architecture&lt;/em> — &lt;a href="https://knative.dev/docs/serving/architecture/">https://knative.dev/docs/serving/architecture/&lt;/a>&lt;/li>
&lt;li>Knative Docs, &lt;em>Request flow&lt;/em> — &lt;a href="https://knative.dev/docs/serving/request-flow/">https://knative.dev/docs/serving/request-flow/&lt;/a>&lt;/li>
&lt;li>Knative Docs, &lt;em>Configuring KPA-specific autoscaling&lt;/em> — &lt;a href="https://knative.dev/docs/serving/autoscaling/kpa-specific/">https://knative.dev/docs/serving/autoscaling/kpa-specific/&lt;/a>&lt;/li>
&lt;li>Knative Docs, &lt;em>Configuring concurrency&lt;/em> — &lt;a href="https://knative.dev/docs/serving/autoscaling/concurrency/">https://knative.dev/docs/serving/autoscaling/concurrency/&lt;/a>&lt;/li>
&lt;li>Knative Docs, &lt;em>Configuring scale-to-zero&lt;/em> — &lt;a href="https://knative.dev/docs/serving/autoscaling/scale-to-zero/">https://knative.dev/docs/serving/autoscaling/scale-to-zero/&lt;/a>&lt;/li>
&lt;li>Knative Blog, &lt;em>Managing Gateway API ingress with the Knative Operator&lt;/em> — &lt;a href="https://knative.dev/blog/articles/gateway-api-ingress-with-knative-operator/">https://knative.dev/blog/articles/gateway-api-ingress-with-knative-operator/&lt;/a>&lt;/li>
&lt;li>CNCF, &lt;em>KServe becomes a CNCF incubating project&lt;/em> — &lt;a href="https://www.cncf.io/blog/2025/11/11/kserve-becomes-a-cncf-incubating-project/">https://www.cncf.io/blog/2025/11/11/kserve-becomes-a-cncf-incubating-project/&lt;/a>&lt;/li>
&lt;li>KServe Docs, &lt;em>Autoscaling with Kubernetes HPA (Serverless vs Standard)&lt;/em> — &lt;a href="https://kserve.github.io/website/docs/model-serving/predictive-inference/autoscaling/hpa-autoscaler">https://kserve.github.io/website/docs/model-serving/predictive-inference/autoscaling/hpa-autoscaler&lt;/a>&lt;/li>
&lt;li>KServe Docs, &lt;em>Autoscaler for generative inference (KEDA)&lt;/em> — &lt;a href="https://kserve.github.io/website/docs/model-serving/generative-inference/autoscaling">https://kserve.github.io/website/docs/model-serving/generative-inference/autoscaling&lt;/a>&lt;/li>
&lt;li>KServe GitHub, &lt;em>docs/samples/autoscaling (InferenceService minReplicas 0)&lt;/em> — &lt;a href="https://github.com/kserve/kserve/blob/master/docs/samples/autoscaling/README.md">https://github.com/kserve/kserve/blob/master/docs/samples/autoscaling/README.md&lt;/a>&lt;/li>
&lt;li>Wang et al. (MLSys 2026), &lt;em>Breaking the ice: analyzing cold start latency in vLLM&lt;/em> — &lt;a href="https://arxiv.org/abs/2606.07362">https://arxiv.org/abs/2606.07362&lt;/a>&lt;/li>
&lt;li>NVIDIA Developer Blog, &lt;em>Reducing cold start latency for LLM inference with NVIDIA Run:ai Model Streamer&lt;/em> — &lt;a href="https://developer.nvidia.com/blog/reducing-cold-start-latency-for-llm-inference-with-nvidia-runai-model-streamer">https://developer.nvidia.com/blog/reducing-cold-start-latency-for-llm-inference-with-nvidia-runai-model-streamer&lt;/a>&lt;/li>
&lt;li>Microsoft Azure SDK Blog, &lt;em>Eliminate LLM cold starts: load models up to 6x faster&lt;/em> — &lt;a href="https://devblogs.microsoft.com/azure-sdk/eliminate-llm-cold-starts-load-models-up-to-6x-faster-with-azure-blob-storage-and-runai-model-streamer/">https://devblogs.microsoft.com/azure-sdk/eliminate-llm-cold-starts-load-models-up-to-6x-faster-with-azure-blob-storage-and-runai-model-streamer/&lt;/a>&lt;/li>
&lt;li>Hugging Face Blog, &lt;em>Llama 3.1 (VRAM and precision tables)&lt;/em> — &lt;a href="https://huggingface.co/blog/llama31">https://huggingface.co/blog/llama31&lt;/a>&lt;/li>
&lt;li>CloudZero, &lt;em>H100 GPU cost 2026&lt;/em> — &lt;a href="https://www.cloudzero.com/blog/h100-gpu-cost/">https://www.cloudzero.com/blog/h100-gpu-cost/&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>