El arranque en frío de un modelo de IA doméstico depende de la distribución del almacenamiento, ya que el entorno de ejecución debe localizar, leer, decodificar, mapear y transferir todos los pesos necesarios antes de la inferencia.
Dos copias del mismo modelo pueden arrancar a velocidades diferentes cuando una ya está almacenada en la caché de una unidad NVMe local y utiliza un formato optimizado para la carga, mientras que la otra se encuentra en un recurso compartido de red, un sistema de archivos fragmentado, un archivo comprimido o un directorio con fragmentos mal organizados. La ruta de arranque en frío también incluye los archivos del tokenizador, la configuración, la inicialización del entorno de ejecución, la asignación del acelerador y la primera ejecución. Las secciones siguientes separan el ancho de banda bruto del almacenamiento de la distribución del checkpoint para que los retrasos de inicio puedan atribuirse a la etapa correcta.
El arranque en frío es una cadena de etapas de almacenamiento y ejecución
Un modelo no está listo cuando el proceso simplemente abre su primer archivo. El entorno de ejecución debe descubrir los metadatos del checkpoint, crear la estructura del modelo, leer los bytes de los pesos, deserializar o mapear los tensores, asignar la memoria de destino, transferir los datos e inicializar los kernels o los grafos de ejecución.
La investigación sobre inferencia sin servidor identifica la carga durante el arranque en frío como una parte importante del retraso previo a que un servicio de LLM esté listo. La etapa más lenta cambia según el tamaño y el formato del modelo, el nivel de almacenamiento, la memoria del host y la ruta hacia el acelerador.
Una SSD rápida puede reducir el tiempo de lectura sin modificar la deserialización, las copias de la CPU, la transferencia a la GPU ni el calentamiento de los kernels. Mide el tiempo en cada límite en lugar de tratar toda la pausa como una sola prueba de disco.
La ubicación determina si los pesos llegan desde la caché, la LAN o el disco
Los pesos almacenados en una unidad NVMe local pueden leerse sin la latencia de red ni la cola de otro servidor. Un modelo ubicado en SMB, NFS, almacenamiento de objetos o un disco externo frío añade el comportamiento del transporte y de la caché remota antes de que comience la carga local.
Trabajos recientes sobre modelos almacenados en la caché del nodo muestran que mantener los artefactos grandes en local puede hacer que los arranques posteriores de las réplicas dependan mucho menos de la distribución remota repetida. En un servidor doméstico, el mismo principio diferencia una primera descarga de un lanzamiento local repetido.
Local no siempre significa caliente. Un reinicio, la expulsión de la caché, el remontaje del sistema de archivos o una lectura masiva simultánea pueden obligar al siguiente arranque a recuperar de nuevo la mayoría de las páginas del modelo desde el almacenamiento físico.
El artículo de ZimaSpace sobre la expulsión de modelos aborda el límite de memoria relacionado: cuando un modelo deja de estar residente, la siguiente solicitud debe reconstruir el estado de ejecución rápido.
El formato del checkpoint controla el trabajo de deserialización y copia
Un checkpoint puede ser un único archivo contiguo optimizado para la carga, varios fragmentos de tensores con un índice, un archivo comprimido o una serialización específica de un framework que reconstruye objetos de Python y metadatos de tensores.
ServerlessLLM utiliza lecturas secuenciales de checkpoints para reducir la sobrecarga del arranque en frío. Una distribución que admita lecturas directas grandes y una colocación predecible de los tensores pierde menos tiempo en operaciones de metadatos pequeñas y reconstrucciones intermedias.
El particionado puede reducir la RAM máxima del host porque se procesa un fragmento cada vez, pero demasiados archivos pequeños aumentan las búsquedas de directorios, las aperturas, los desplazamientos y el procesamiento de índices. El tamaño óptimo de los fragmentos depende del paralelismo del cargador y del sistema de archivos subyacente.
La compresión intercambia capacidad de almacenamiento por trabajo de CPU durante el arranque. Puede ayudar cuando el almacenamiento es muy lento, pero perjudicar el rendimiento cuando una SSD rápida debe esperar a la descompresión y a las copias de memoria.
El mapeo de memoria cambia cuándo entran las páginas en la RAM
Un cargador ávido puede asignar un búfer grande en el host y leer todo o casi todo el checkpoint antes de copiar los tensores a su destino. Un cargador con mapeo de memoria crea asignaciones virtuales y permite que el sistema operativo introduzca en la RAM las páginas del archivo a medida que se accede a ellas.
La investigación y los sistemas de carga modernos utilizan la carga con mapeo de memoria para evitar duplicar todo el artefacto en memoria anónima. Esto puede reducir el uso máximo de RAM y permitir que varios procesos reutilicen las páginas mediante la caché del sistema de archivos.
El mapeo de memoria no elimina la latencia del almacenamiento. Traslada las lecturas al momento de la falta de página, por lo que la primera inferencia aún puede detenerse si las páginas necesarias no se han cargado previamente o no se han precargado.
La precarga secuencial puede ayudar a un modelo que accede a la mayoría de los pesos en orden, mientras que el acceso aleatorio a expertos o componentes multimodales puede hacer que el patrón de faltas de página sea menos predecible.
La carga en paralelo solo ayuda cuando la ruta de almacenamiento tiene margen
Varios hilos de carga o flujos de copia a la GPU pueden solapar la lectura, la decodificación y la transferencia. También pueden convertir una lectura ordenada en varios flujos simultáneos que saturen una SSD débil, un puente USB, un recurso compartido de red o la ruta de metadatos del sistema de archivos.
Los resultados de ingeniería de NVIDIA sobre la transmisión simultánea de pesos muestran que el diseño de la carga y la elección del almacenamiento determinan conjuntamente la mejora. El paralelismo es útil cuando el origen y el destino pueden mantenerlo sin que aumente excesivamente la cola.
Un servidor doméstico también puede estar sirviendo contenido multimedia, escribiendo copias de seguridad, analizando archivos o ejecutando bases de datos en el mismo conjunto de almacenamiento. Esas cargas cambian la latencia del arranque en frío aunque el directorio del modelo no se modifique.
La caché caliente y la reutilización de pesos pueden dominar los arranques repetidos
El primer arranque después de iniciar el sistema puede leer todos los bytes del modelo desde el almacenamiento, mientras que el segundo se beneficia de la caché de páginas del sistema de archivos, de la memoria de la GPU conservada o de un entorno de ejecución que mantiene los pesos listos para reutilizarlos.
Tangram acelera el arranque mediante la reutilización de pesos en la memoria de la GPU. La lección general para un servidor doméstico es que “arranque en frío” debe especificar qué cachés y procesos se limpiaron antes de la prueba.
No compares un modelo inmediatamente después de otra ejecución caliente con un modelo diferente después de reiniciar el sistema. Define por separado los estados en frío, caliente para el sistema de archivos, caliente para el entorno de ejecución y caliente para el acelerador.
Evalúa la distribución con una prueba de estado frío repetible
Registra el tamaño del modelo, el número de archivos, los tamaños de los fragmentos, el sistema de archivos, las opciones de montaje, el dispositivo de almacenamiento, la ruta de red, el modo del cargador, la RAM del host, la memoria del acelerador y las operaciones de E/S simultáneas. Después, mide el descubrimiento de metadatos, la lectura en el host, la deserialización, la transferencia al dispositivo, la inicialización del entorno de ejecución y el primer token.
FlowLoader estudia la caché local de modelos porque la ubicación de los checkpoints y la superposición de canalizaciones pueden reducir el arranque de segundos o minutos. La mejora exacta depende de si el cuello de botella real está en el almacenamiento, las copias o la inicialización.
Repite la prueba después de descartar la caché del sistema de archivos, después de una ejecución caliente normal y durante un tráfico representativo del NAS. La diferencia resultante revela si ayudarán un cambio de distribución, un nivel local más rápido, menos fragmentos, el mapeo de memoria o una política de mantenimiento activo.
Centro de Tecnología e IA
Más para leer

¿Qué hace que un planificador de agentes de IA repita pasos que ya completó?
Rastrea los pasos repetidos del planificador mediante la persistencia del estado, la evidencia de finalización, el análisis de los resultados de las herramientas, la...

¿Qué causa errores de permisos solo dentro de los subprocesos de agentes de IA?
Compare la identidad del proceso principal y del proceso secundario, la vista del sistema de archivos, el entorno, las capacidades, la política de seguridad...

¿Qué causa la saturación de la CPU cuando se ejecutan simultáneamente la transcodificación por hardware y la IA de vídeo?
Rastrea la saturación de la CPU en la descarga de códecs, la conversión de píxeles, las copias de fotogramas, el preprocesamiento de IA, el...

