17 puntos por GN⁺ 2025-01-29 | 1 comentarios | Compartir por WhatsApp
  • DeepSeek-R1 es un modelo de código abierto con un rendimiento comparable al modelo de razonamiento O1 de OpenAI
  • Se logró reducir el modelo original de 720 GB a 131 GB, alcanzando una disminución de tamaño del 80%
  • Usa una técnica de cuantización dinámica en la que algunas capas se mantienen con mayor número de bits (por ejemplo, 4 bits) y la mayoría de las capas MoE (Mixture of Experts) se procesan a 1.58 bits

Características principales

  • Especificaciones mínimas: puede ejecutarse en CPU con 20 GB de RAM, aunque la velocidad es baja
  • Rendimiento óptimo: se requiere una suma de VRAM y RAM de al menos 80 GB; la VRAM recomendada es de 160 GB (2 GPU H100 de 80 GB)
  • Las versiones con cuantización dinámica (131 GB~212 GB) están disponibles en Hugging Face: DeepSeek-R1-GGUF

Tipos de modelos con cuantización dinámica

  • Se ofrecen un total de 4 versiones cuantizadas:
    • 131 GB, 158 GB, 183 GB, 212 GB (2 bits convencional)
  • La cuantización se optimiza usando la matriz de importancia (imatrix)
  • El método de cuantización y los requisitos de hardware varían según el modelo

Benchmarks y pruebas de rendimiento

  • Se midieron las puntuaciones en 10 criterios de evaluación tomando como base la generación del juego Flappy Bird (pass@3)
  • Las puntuaciones del modelo con cuantización dinámica de 1.58 bits son las siguientes:
    • Modelo de 131 GB: 6.92
    • Modelo de 158 GB: 9.08
    • Modelo de 183 GB: 9.17
  • Los modelos sin cuantización dinámica generan errores repetitivos o resultados incorrectos

Aprovechamiento de la arquitectura de DeepSeek-R1

  • A partir del análisis de la arquitectura de DeepSeek-R1, se mantienen en alta resolución las partes con mayor sensibilidad a la cuantización
    • Las primeras 3 capas densas se mantienen en 4~6 bits
    • La mayoría de las capas MoE se cuantizan a 1.58 bits
    • El módulo MLA (Memory Layers Attention) y la parte down_proj se mantienen con mayor precisión
  • Se logró reducir el tamaño del modelo cuantizando alrededor del 88% de los pesos a 1.58 bits

Solución a problemas de plantilla de chat y manejo de tokens

  • En todas las versiones se usan los tokens de plantilla de chat <|begin_of_sentence|> y <|end_of_sentence|>
  • El token EOS estaba configurado incorrectamente y causaba problemas de generación infinita, pero ya fue corregido

1 comentarios

 
GN⁺ 2025-01-29
Comentarios en Hacker News
  • Una reducción de tamaño del 80% es un logro sorprendente, y que la versión de 1.58 bits corra a 140 tokens/segundo en un sistema dual H100 es impresionante. Sin embargo, es discutible qué tan práctico sea para la mayoría de la gente. Puede ejecutarse con 24 GB de VRAM o 20 GB de RAM, pero es demasiado lento. También hay problemas de repetición. La repetición en Pygame le quita sentido a la cuantización. Hay soluciones, pero no resuelven el problema de fondo. Es excelente que lo hayan hecho accesible en Hugging Face y que el enfoque de cuantización dinámica sea tan bueno. Favorece a los equipos pequeños. Pero sigue requiriendo hardware costoso.

  • Al ejecutar DeepSeek en una RTX 4090, el modelo debería caber en la VRAM, pero es lento. La arquitectura de memoria unificada de Apple tiene ventaja. Un Mx Ultra con 192 GB puede manejar modelos grandes de forma eficiente. Ya es hora de cancelar la suscripción a OpenAI.

  • La reducción de tamaño del 80% de DeepSeek-R1 es sorprendente. Hace que los modelos grandes sean más accesibles para más personas. La velocidad de 140 tokens/segundo en un sistema dual H100 con cuantización de 1.58 bits es impresionante. Empresas pequeñas o medianas podrían usarlo para aplicaciones locales. Es una gran ventaja para tareas de agentes que requieren baja latencia.

  • La suma de VRAM + RAM debe ser de al menos 80 GB para ofrecer un rendimiento óptimo. Se puede intentar en un servidor de bajo consumo y bajo costo. Es posible armar un sistema con Ryzen 5500 + 64 GB de RAM + 7x RTX 3060 de 12 GB por 1600 euros. El consumo eléctrico es de unos 520 watts. Se empieza con una placa AM4 y una RTX 3060 de 12 GB usada. Las GPU adicionales se conectan con risers/extensores PCIe. Es bueno para aprender y ganar experiencia.

  • Si se cuantizan todas las capas a 1.58 bits, aparece una repetición infinita. Es interesante el proceso por el que los autores de esta entrada de blog encontraron una semilla específica. Buen trabajo.

  • La evaluación de R1 todavía no está clara. La afirmación de que fue entrenado con $5M está teniendo un gran impacto en el mercado. Me pregunto si ya fue verificada.

  • Si invertiste en una máquina 100x pero podría hacerse con una 10x, no entiendo por qué no tendrías 10 máquinas 10x. Se puede reutilizar hardware y datos para crear múltiples instancias de un modelo más eficiente.

  • El trabajo de Danielhanchen es impresionante. Unsloth es excelente, y su capacidad para adaptarse rápido a nuevos modelos y corregir errores en la implementación base es asombrosa. Los laboratorios serios deberían darle unas horas de ventaja.

  • La reducción del tamaño del modelo y el mantenimiento de la consistencia son sorprendentes. Pero queda la duda de cuánto se mantuvo realmente el efecto. Flappy bird es un juego muy conocido, pero una mejor prueba sería ver si R1 y o1 pueden resolver problemas que otros modelos no pueden.

  • Estaría bien que los modelos base de próxima generación se diseñaran para poder hacer inferencia con cuantización de 8 bits en 128 GB de VRAM. Por ejemplo, una base potente basada en MoE con 16 mil millones de parámetros activos y 6~7 expertos podría ejecutarse en una MacBook con 128 GB de RAM.