AIUnlimited
🌳

Fundamentos de IA

🌱
AI Seeds

Empieza desde cero

🌿
AI Sprouts

Construye bases

🌳
AI Branches

Aplica en la práctica

🏕️
AI Canopy

Profundiza

🌲
AI Forest

Domina la IA

🔨

Maestría en IA

✏️
AI Sketch

Empieza desde cero

🪨
AI Chisel

Construye bases

⚒️
AI Craft

Aplica en la práctica

💎
AI Polish

Profundiza

🏆
AI Masterpiece

Domina la IA

📘

Práctica de IA

📖
Entendiendo modelos open-source

Fundamentos y recursos para modelos open-source

🎯
Del problema a la tarea del modelo

Convertir problemas de negocio en tareas de modelos

⚡
Ejecutando tu primer modelo

Mira tus primeros resultados en 30 minutos

🔧
Fine-tuning y evaluación

Ajusta modelos y evalúa el rendimiento

🚀
Sistemas de aplicación

Construye aplicaciones IA del mundo real

🎨
IA generativa

Explora modelos AIGC open-source

🤖
Agentes

Aprende frameworks Agent y herramientas MCP

📐
Fundamentos complementarios

Fundamentos LLM y evaluación

🎓

Claude Academia

🤖
Claude 101

Learn AI basics with Claude

💻
Claude Code 101

Code with Claude as your pair programmer

🤝
Introduction to Claude Cowork

Collaborate with Claude on complex projects

⚙️
Claude Platform 101

Build apps with the Claude API

Laboratorio

7 experimentos cargados
🧬Sandbox de Red Neuronal🤖¿IA o Humano?🥋Dojo de Prompt Engineering🏁Carrera de Algoritmos🧠Trivia de IA🏗️Lienzo de diseño de sistemas
🎯Entrevista simuladaEntrar al Laboratorio→
🚀

Desarrollo profesional

🚀
Plataforma de Entrevistas

Comienza tu camino

🌟
Dominio Conductual

Domina las habilidades blandas

💻
Entrevistas Técnicas

Supera la ronda de código

🤖
Entrevistas de IA y ML

Dominio en entrevistas de ML

🏆
Oferta y Más Allá

Consigue la mejor oferta

Empezar
AIUnlimited

Licencia MIT

沪ICP备18025655号-11

Aprender

  • Fundamentos de IA
  • Práctica de IA
  • Claude Academia
  • Laboratorio
  • Desarrollo profesional

Comunidad

  • Acerca de
  • Preguntas Frecuentes

Soporte

  • Términos de Servicio
  • Política de Privacidad
  • Contacto
Académicos de IA e Ingeniería›⚡ Ejecutando tu primer modelo›Lecciones›Server Configuration for Models
🖥️
Ejecutando tu primer modelo • Principiante⏱️ 15 min de lectura

Server Configuration for Models

Elige la configuración de servidor adecuada para el tamaño de tu modelo

Después de obtener tu primer resultado, es fácil querer probar modelos más grandes. Puedes pasar de 0.5B a 7B, pero el equipo original puede que ya no sea suficiente.

Al seleccionar recursos, primero distingue entre algunas cosas. CPU y GPU se encargan del cálculo, la memoria y la memoria de video almacenan los datos durante la ejecución, y el disco guarda los archivos del modelo. El hecho de que un modelo se descargue correctamente solo significa que el disco tiene suficiente espacio — para que pueda ejecutarse sin problemas, también depende de la memoria, la memoria de video y la capacidad de cálculo. El mismo modelo, dependiendo de la precisión con la que se cargue, la longitud de la entrada y cuántas solicitudes se procesen simultáneamente, afectará el uso de recursos. La inferencia y el entrenamiento también tienen requisitos diferentes.

Primero veamos en qué es bueno cada uno (CPU y GPU), luego estimemos cuánto espacio ocuparán los parámetros del modelo, para preparar la elección de una computadora portátil o una instancia en la nube.

CPU y GPU: ¿En qué es bueno cada uno?

Uno sobresale en el procesamiento flexible, el otro en la computación paralela

CPU y GPU difieren significativamente en sus enfoques de cómputo.

CPU está diseñado para cómputo general, con cada núcleo teniendo capacidades de control y cómputo relativamente completas. Puede tomar decisiones, saltar y programar tareas según el proceso de ejecución del programa, manejando flexiblemente diferentes tipos de tareas de cómputo.

GPU utiliza una arquitectura de cómputo paralelo, conteniendo un gran número de unidades de cómputo que pueden ejecutar una gran cantidad de tareas de cómputo simultáneamente. Está adaptado para manejar tareas con grandes escalas de datos y alta repetitividad de cálculo.

¿Es el GPU más rápido en todo?

La velocidad de procesamiento de CPU y GPU depende del tipo de tarea y la escala de cómputo.

Para escenarios que involucran una gran cantidad de juicio lógico, control de programas y programación de tareas, CPU tiene una eficiencia de ejecución más alta. Tareas como la operación del sistema de consultas de bases de datos son adecuadas para CPU.

Para tareas de cómputo paralelo a gran escala, GPU puede proporcionar un mayor rendimiento de cómputo. La multiplicación de matrices y las operaciones de convolución en el aprendizaje profundo pueden dividirse en múltiples subtareas paralelas, ejecutadas simultáneamente por las unidades de cómputo de GPU, mejorando la eficiencia de cómputo general.

Sin embargo, las ventajas de GPU solo se vuelven significativas cuando la escala de las tareas de cómputo es grande. Cuando el volumen de datos es pequeño, los recursos de cómputo de GPU no pueden aprovecharse completamente, y la transferencia de datos y la programación de tareas entre CPU y GPU también generan costos adicionales. En este caso, usar CPU puede ser más eficiente.

Lección 2 de 50% completado
←Your First Inference in 30 Minutes

Discusión

Iniciar sesión unirse a la discusión

Además de comprar equipo, ¿qué otros costos debes considerar?

Los costos de CPU y GPU no solo incluyen los precios de compra del hardware, sino también el consumo de energía durante la operación, así como los costos de uso y mantenimiento posteriores.

En cuanto a la adquisición de hardware, CPU es estándar — los servidores ordinarios y las computadoras personales todos necesitan configuración de CPU. Los GPU de alto rendimiento utilizados para entrenamiento e inferencia de IA suelen ser costosos. Además del GPU en sí, también debes considerar los costos de servidores, memoria de video, almacenamiento y otro hardware de soporte.

Durante la operación, GPU tiene alto consumo de energía al realizar cómputos a gran escala. Cuantos más GPU haya en un servidor, mayor será la presión sobre el suministro eléctrico y la refrigeración, y los costos de electricidad y refrigeración de los centros de datos aumentarán significativamente.

En cuanto a uso y mantenimiento, el ecosistema de CPU es relativamente maduro, y el mantenimiento rutinario de servidores es relativamente sencillo. GPU requiere considerar la compatibilidad de controladores, marcos de cómputo y entorno de hardware. Los conflictos entre diferentes versiones pueden impedir que los modelos funcionen normalmente. Los entornos multi-GPU también involucran la comunicación de datos entre dispositivos, lo que tiene ciertos requisitos para conexiones de hardware y configuración de software.

¿Cómo elegir entre CPU y GPU?

El entrenamiento y la inferencia tienen diferentes requisitos de recursos, y los modelos de diferentes escalas y tipos también tienen diferencias significativas en recursos de cómputo. La selección de hardware debe considerar de manera integral la escala del modelo, el volumen de datos, los requisitos de rendimiento y las necesidades de recursos en ambos escenarios de entrenamiento e inferencia.

En la fase de entrenamiento del modelo, cuando la escala de datos es pequeña, CPU puede satisfacer las necesidades de entrenamiento de la mayoría de los modelos de aprendizaje automático tradicionales, como regresión lineal, regresión logística y bosques aleatorios. Algunos redes neurales ligeras también pueden usar CPU para entrenamiento, pero a medida que aumentan el volumen de datos y la complejidad de la estructura del modelo, el tiempo de entrenamiento aumentará significativamente. Si necesitas ajustar frecuentemente modelos, usar GPU puede reducir el tiempo de entrenamiento.

El entrenamiento de redes neurales a gran escala y grandes modelos de lenguaje requiere un cómputo matricial extenso, con requisitos altos de poder de cómputo y capacidad de memoria de video. Los grandes modelos de lenguaje con miles de millones de parámetros, como Qwen, necesitan depender de dispositivos de aceleración de alto rendimiento como GPU para el entrenamiento.

Los requisitos del modelo durante la inferencia difieren de los del entrenamiento. Para escenarios con escalas de parámetros más pequeñas y volúmenes de acceso más bajos, CPU puede satisfacer las necesidades de inferencia, y el uso de recursos también puede reducirse mediante métodos como la cuantificación. Para modelos grandes, servicios de alta concurrencia y escenarios que requieren respuesta rápida, GPU puede proporcionar una eficiencia de inferencia más alta.

CPU y GPU cada uno tiene escenarios aplicables, y necesitas considerar de manera integral la escala del modelo, el volumen de datos, las solicitudes concurrentes, los requisitos de rendimiento y los costos de implementación.

¿Qué tan grande es el modelo? ¿Cuánta memoria y memoria de video se necesita reservar?

Primero la cantidad de parámetros, luego la precisión de carga

La evaluación de los requisitos de recursos de un modelo depende principalmente de dos indicadores: la escala de parámetros y la precisión de datos.

La escala de parámetros del modelo generalmente se expresa en B, donde 1B representa 1 mil millones de parámetros. Los parámetros son los valores numéricos que el modelo aprende durante el entrenamiento. Durante la inferencia, estos parámetros deben cargarse en memoria (CPU) o memoria de video (GPU). Cuanto mayor sea la cantidad de parámetros, más recursos ocupados.

La precisión de datos se refiere al formato numérico que utilizan los parámetros del modelo para almacenamiento y cómputo. Los formatos comunes incluyen FP32, FP16, BF16 y formatos de cuantificación como INT8 e INT4. Para la misma cantidad de parámetros, una mayor precisión de datos significa más recursos ocupados.

El espacio de almacenamiento estimado para 1B parámetros en diferentes precisiones es el siguiente:

PrecisiónEspacio por 1B parámetros (aprox.)Usos comunes
FP32 (Precisión simple) 4GBEntrenamiento, inferencia de alta precisión
FP16 (Media precisión) 2GBEntrenamiento, inferencia
BF16 2GBEntrenamiento, inferencia
INT8 1GBInferencia cuantizada
INT4 0.5GBInferencia cuantizada de baja precisión

Pesos del modelo = Cantidad de parámetros × Espacio de almacenamiento por 1B parámetros en esa precisión. Para un modelo 7B con inferencia en precisión FP16, la ocupación de pesos del modelo es aproximadamente: 7 × 2GB ≈ 14GB.

Primero la cantidad de parámetros, luego la precisión de carga

Durante la inferencia del modelo, además de cargar los pesos del modelo, se necesitan recursos adicionales para KV Cache, marco de ejecución y cómputo temporal.

KV Cache se utiliza para almacenar información relacionada con Tokens que ya han sido calculados durante el proceso de generación, evitando cálculos redundantes. Su uso depende de la estructura del modelo, la longitud del contexto y el número de solicitudes simultáneas. Cuanto más largo sea el contexto, más información se debe almacenar; cuantas más solicitudes se procesen simultáneamente, más aumentará el uso de KV Cache.

Fórmula de estimación del uso de recursos de inferencia:

Memoria requerida para inferencia CPU ≈ Pesos del modelo + Overhead del framework y temporal.

Memoria de video requerida para inferencia GPU ≈ Pesos del modelo + KV Cache + Overhead del framework y temporal.

De estos, los pesos son estáticos, el overhead del framework es básicamente constante, y la variable reside completamente en KV Cache. En escenarios de secuencias largas, se debe reservar espacio para KV Cache.

Para el mismo modelo, ¿por qué el entrenamiento usa más recursos?

Los requisitos de recursos de la fase de entrenamiento del modelo son superiores a los de la fase de inferencia. Además de almacenar los pesos del modelo, también se deben almacenar gradientes, estados del optimizador y resultados intermedios durante el entrenamiento, requiriendo más recursos. Los requisitos de recursos de entrenamiento dependen del tipo de optimizador y la estrategia de entrenamiento.

(1) Entrenamiento completo del modelo

Para el entrenamiento completo del modelo, los pesos del modelo, gradientes, estados del optimizador y activaciones deben almacenarse simultáneamente. Tomando como ejemplo el entrenamiento completo con optimizador Adam y precisión FP16, cada 1B parámetro requiere aproximadamente:

ComponentePor 1B parámetros
Pesos del modelo (FP16)2 GB
Gradientes (FP16)2 GB
Estados del optimizador8 GB
Copia FP32 de pesos4 GB
Subtotal (sin activaciones)16 GB

Nota: El optimizador Adam necesita guardar dos copias de estados en precisión FP32 (momento y varianza), por lo que los estados del optimizador ocupan 8GB; la copia FP32 de pesos se utiliza para la actualización de parámetros del optimizador.

La fórmula de estimación preliminar para el entrenamiento completo es:

Memoria de video requerida para entrenamiento GPU ≈ Cantidad de parámetros × 16 Byte + Overhead de activación

Memoria requerida para entrenamiento CPU ≈ Cantidad de parámetros × 16 Byte + Overhead de activación

El entrenamiento GPU está limitado por la capacidad de memoria de video, mientras que el entrenamiento CPU está limitado por la velocidad de cómputo. Por ejemplo, un modelo 7B con entrenamiento completo en FP16 en GPU requiere al menos 7B × 16 Byte ≈ 112GB de memoria de video, y el requisito real será mayor después de agregar activaciones.

(2) Ajuste eficiente de parámetros (como LoRA)

Para el ajuste de modelos grandes, los métodos de ajuste eficiente de parámetros como LoRA (Low-Rank Adaptation) son más comunes en la práctica. LoRA no actualiza todos los parámetros del modelo original durante el entrenamiento; en su lugar, congela los pesos del modelo original y solo entrena los parámetros de adaptación de bajo rango recién agregados, reduciendo significativamente los requisitos de memoria de video.

Memoria de video para entrenamiento LoRA ≈ Pesos del modelo base + Parámetros LoRA + Gradientes y estados del optimizador de parámetros LoRA + Activaciones.

De estos, los pesos del modelo base solo necesitan cargarse y no participan en actualizaciones; los parámetros agregados por LoRA representan solo el 0.1%~1% del modelo original, y sus gradientes y overhead del optimizador son casi insignificantes. La memoria de video real depende principalmente de los pesos del modelo, la longitud del contexto, el tamaño del lote y los métodos de optimización del framework de entrenamiento. El ajuste LoRA puede reducir significativamente los requisitos de memoria de video en comparación con el entrenamiento completo.

Por ejemplo, al cargar un modelo 7B con FP16, los pesos del modelo ocupan 4GB. En una sola GPU con 24GB de memoria de video, el ajuste LoRA generalmente puede ejecutarse (con ajustes apropiados del tamaño del lote y la longitud del contexto). Usar QLoRA (cuantificar el modelo base a INT4) puede reducir aún más el uso de memoria de video, permitiendo el ajuste en hardware más limitado.