Por qué DeepSeek V3 está revolucionando el mundo de la IA: la perspectiva de un desarrollador
Uno de los objetivos finales de todos los Grandes Modelos de Lenguaje (LLMs) que usamos hoy en día es ser capaces de entender y realizar cualquier tarea intelectual que un ser humano pueda hacer. Este concepto se conoce comúnmente como Inteligencia Artificial General (AGI). La carrera hacia la AGI ha impulsado rápidos desarrollos en muchos LLMs por parte de desarrolladores de IA líderes a nivel mundial, como OpenAI, Meta, Google, Anthropic y Qwen.
Recientemente, los nuevos LLMs desarrollados por DeepSeek han generado una enorme expectación dentro de la comunidad de IA debido a su combinación de rendimiento y coste operativo. Por ejemplo, se afirma que el modelo DeepSeek R1 funciona de manera similar al modelo de razonamiento más avanzado de OpenAI hasta la fecha, el modelo o1, con solo una fracción del coste de entrenamiento. Mientras tanto, el rendimiento del modelo DeepSeek V3 es comparable al de GPT-4o y tiene solo una fracción del coste de entrenamiento. A diferencia de OpenAI, DeepSeek ha decidido hacer sus modelos completamente de código abierto, permitiendo a toda la comunidad de IA acceder a los pesos de los modelos de DeepSeek. Esto acelerará aún más el proceso hacia la AGI.
Este artículo analizará varias características innovadoras del modelo DeepSeek, específicamente DeepSeek V3, que hacen que el rendimiento de este LLM sea comparable al de los modelos de código cerrado de última generación disponibles. Así que, sin más preámbulos, exploremos la primera característica innovadora clave.
Característica uno: Atención latente multicabezal
En esencia, DeepSeek V3 sigue adoptando la arquitectura clásica de Transformers. Consiste en una enorme cantidad de bloques Transformer, donde cada bloque contiene varias capas importantes: normalización, atención y capas feed-forward, como puedes ver en la siguiente visualización:
Visualización de un único bloque Transformer.
En esta sección, nos centraremos únicamente en la capa de atención, ya que aquí es donde reside la Atención Latente Multicabezal (MLA) del modelo DeepSeek V3.
En pocas palabras, una capa de atención espera como entrada la representación de embedding de un token en una posición particular. El primer paso de la capa de atención es proyectar este embedding de entrada en vectores de consulta, clave y valor utilizando tres matrices de pesos aprendidas. La capa utilizará entonces estos valores para estimar el contexto de este token particular con respecto a los tokens anteriores, un proceso comúnmente llamado mecanismo de atención.
Sin embargo, la forma en que se calcula el mecanismo de atención presenta un inconveniente significativo. Como quizá ya sepas, los LLMs generan un token a la vez en una secuencia, y un nuevo token siempre depende de los tokens generados previamente. Por lo tanto, para estimar el contexto de un nuevo token, es necesario recalcular la atención de los tokens anteriores. Por ejemplo, generar el token número 50 requiere recalcular la atención de los tokens 1 a 49 cada vez. Esto da como resultado un proceso de generación de tokens muy lento durante la inferencia.
Gestión de KV Cache en vLLM. Fuente.
Para resolver este problema, normalmente se implementa en los LLMs un enfoque llamado KV cache para acelerar el proceso de generación de tokens. Como su nombre indica, con KV cache, la clave y el valor de un nuevo token se almacenan en una caché durante cada proceso de generación. Por lo tanto, durante el cálculo de atención de un nuevo token, usamos la clave y el valor en caché de los tokens anteriores en lugar de recalcular todo desde cero. Esto acelera eficazmente el proceso de generación de tokens.
DeepSeek V3 también utiliza caché KV en su capa de atención. De hecho, lleva este enfoque aún más lejos con la introducción de MLA. En esencia, MLA comprime la dimensión del embedding de entrada en su representación de bajo rango eliminando elementos redundantes. Como resultado de esta compresión, el tamaño de los vectores de clave, valor y consulta se vuelve aún más pequeño, optimizando así la memoria para la caché KV y acelerando el proceso de generación de tokens.
Arquitectura de DeepSeek V3 en un único bloque Transformer. Fuente.
Como puedes ver en la figura anterior, el enfoque comprime conjuntamente la clave y el valor en su representación de bajo rango. Esta versión comprimida del vector clave-valor puede almacenarse en caché de forma similar a la caché KV normal.
Mientras tanto, la consulta se comprime de forma independiente. Una vez comprimida, la representación de bajo rango del vector de consulta es procesada por dos pipelines diferentes: una se proyecta directamente con una capa para mapearla de nuevo a su representación de alta dimensión, y otra es procesada por un enfoque llamado Rotary Positional Embedding (RoPE). El método RoPE es importante para introducir información posicional del nuevo token en una secuencia. Las salidas de estas dos pipelines se concatenan luego en una única entrada final para la capa de atención multi-cabezal.
El vector clave-valor comprimido conjuntamente también pasa por un proceso similar al del vector de consulta. Sin embargo, la entrada para RoPE del vector de clave proviene del embedding de entrada original en lugar del vector clave-valor comprimido.
Característica dos: DeepSeek MoE
Otro enfoque fascinante implementado dentro de DeepSeek V3 es el enfoque Mixture of Experts (MoE). Como puedes ver en la imagen anterior, este método se implementa en DeepSeek V3 como reemplazo de la red feed-forward original en el bloque Transformers.
Usemos un ejemplo para entender fácilmente qué hace MoE. Imagina que estamos estudiando en una universidad con muchos profesores, cada uno experto en una materia diferente (matemáticas, física, literatura). Cuando queremos preguntar algo sobre cálculo, nos dirigirán al profesor de matemáticas. Del mismo modo, si queremos preguntar algo sobre física cuántica, nos dirigirán al profesor de física.
MoE funciona de manera similar. Consiste en muchos modelos, cada uno con su propia experiencia para resolver un problema particular.
Durante la fase de entrenamiento, cada modelo recibe datos diferentes de un dominio particular, de modo que se convierten en expertos en resolver tareas de ese dominio. Luego, durante la inferencia, en lugar de depender de un único modelo masivo para manejar todos los dominios de un problema, MoE asignará la consulta a los modelos expertos más capaces. Este enfoque hace que la inferencia sea más rápida y eficiente, ya que solo se activará un pequeño número de modelos expertos durante la predicción, dependiendo de la tarea.
MoE en DeepSeek V3. Fuente.
Un elemento importante en un enfoque MoE es la red de compuerta. Esta red tiene dos responsabilidades principales: analizar la consulta de entrada y luego dirigirla a los modelos expertos más apropiados. Sin embargo, un problema común en el entrenamiento de MoE es el problema de balanceo de carga, donde la red de compuerta sigue dirigiendo todos los datos de entrenamiento a un modelo específico en lugar de distribuirlos a otros modelos.
Implementar una pérdida auxiliar ayuda a forzar a la red de compuerta a aprender a distribuir los datos de entrenamiento a diferentes modelos. El problema es que se ha demostrado que depender solo de la pérdida auxiliar degrada el rendimiento del modelo después del entrenamiento.
Para introducir un equilibrio entre el balanceo de carga y el rendimiento del modelo, DeepSeek V3 implementó una estrategia de balanceo de carga sin pérdida auxiliar. Esta estrategia introduce un término de sesgo en cada modelo experto que se ajustará dinámicamente según la carga de enrutamiento del experto correspondiente. Esto garantiza que ningún modelo experto se sobrecargue o se infrautilice.
Además, como puedes ver en la visualización anterior, DeepSeek V3 diseñó ciertos expertos para que fueran "expertos compartidos", y estos expertos siempre están activos para diversas tareas. Esta implementación ayuda a mejorar la capacidad del modelo para generalizar en diferentes dominios de tareas.
Esta característica MoE es la receta secreta detrás de la versatilidad de DeepSeek V3. Como verás en la siguiente sección, DeepSeek V3 tiene un alto rendimiento en diversas tareas con diferentes dominios, como matemáticas, programación, lenguaje, etc. De hecho, este modelo es actualmente el modelo base de código abierto más potente en varios dominios.
Característica tres: Predicciones de múltiples tokens
Los LLM comunes predicen un token en cada paso de decodificación, pero DeepSeek V3 opera de manera diferente, especialmente en su fase de entrenamiento. DeepSeek V3 implementa las llamadas predicciones de múltiples tokens (MTP) durante el entrenamiento, lo que permite al modelo predecir varios tokens futuros en cada paso de decodificación.
Aunque añade capas de complejidad, el enfoque MTP es importante para mejorar el rendimiento del modelo en diferentes tareas. Como puedes imaginar, al observar posibles tokens futuros varios pasos por delante en un solo paso de decodificación, el modelo puede aprender la mejor solución posible para cualquier tarea dada.
Visualización del enfoque MTP en DeepSeek V3. Fuente.
Para implementar MTP, DeepSeek V3 adopta más de un modelo, cada uno compuesto por un conjunto de capas Transformer. Un modelo actúa como modelo principal, mientras que los demás actúan como módulos MTP. Aunque no está claramente definido, el modelo MTP suele ser de menor tamaño en comparación con el modelo principal (el tamaño total del modelo DeepSeek V3 en HuggingFace es de 685B, con 671B del modelo principal y 14B del módulo MTP).
Durante la fase de entrenamiento, tanto el modelo principal como los módulos MTP toman la entrada de la misma capa de embeddings. Sin embargo, la implementación aún debe realizarse en secuencia, es decir, el modelo principal debe ir primero prediciendo el token un paso por delante y, después de eso, el primer módulo MTP predecirá el token dos pasos por delante. Este proceso continúa según el número de módulos MTP. Después de predecir los tokens, tanto el modelo principal como los módulos MTP utilizarán la misma cabeza de salida.
Podemos ser totalmente flexibles con el módulo MTP durante la fase de inferencia. Por ejemplo, podemos descartar por completo el módulo MTP y usar solo el modelo principal durante la inferencia, tal como los LLM comunes. Además, podemos usar el módulo MTP para implementar un enfoque de decodificación especulativa y potencialmente acelerar aún más el proceso de generación.
Coste y rendimiento de DeepSeek V3 en comparación con otros modelos
Todas las características innovadoras mencionadas anteriormente permitieron que el modelo DeepSeek V3 se entrenara de forma mucho más económica que sus competidores de código cerrado.
DeepSeek V3 se entrenó en un clúster con 2.048 GPU NVIDIA H800. La fase de preentrenamiento del modelo DeepSeek V3 costó alrededor de 0.01M, lo que elevó el total a 100M](https://www.wired.com/story/openai-ceo-sam-altman-the-age-of-giant-ai-models-is-already-over/).
DeepSeek V3 también mostró un rendimiento superior en comparación con otros LLM de código abierto y cerrado, como Qwen2.5 72B, Llama 3.1 405B, Claude 3.5 Sonnet y ChatGPT 4o en diferentes benchmarks, como puedes ver en la figura a continuación:
Comparación entre DeepSeek-V3 y otros modelos de chat de vanguardia. Fuente.
El rendimiento de DeepSeek V3 ha demostrado ser superior en comparación con otros modelos de vanguardia en diversas tareas, como programación, matemáticas y chino. Su rendimiento en tareas en inglés mostró resultados comparables con Claude 3.5 Sonnet en varios benchmarks.
Además, el rendimiento de DeepSeek V3 se ha comparado con otros LLMs en tareas de generación abiertas utilizando GPT-4-Turbo-1106 como juez y la tasa de victorias controlada por longitud como métrica. Como resultado, DeepSeek V3 demostró el mejor rendimiento en comparación con otros en los benchmarks Arena-Hard y AlpacaEval 2.0.
Comparación entre DeepSeek-V3 y otros modelos de chat de vanguardia en los benchmarks AlpacaEval 2.0 y Arena-Hard. Fuente.
El rendimiento superior de DeepSeek V3 tanto en los benchmarks Arena-Hard como AlpacaEval 2.0 muestra su capacidad y robustez para manejar prompts largos y complejos, así como tareas de escritura y escenarios sencillos de preguntas y respuestas.
Cómo los desarrolladores pueden aprovechar DeepSeek V3
Además de su rendimiento, otro atractivo principal del modelo DeepSeek V3 es su naturaleza de código abierto. DeepSeek ha decidido hacer que el modelo V3 sea de código abierto bajo la licencia MIT, lo que significa que los desarrolladores pueden tener acceso gratuito a sus pesos y usarlo para sus propios fines, incluso para uso comercial.
Podemos usarlo para diversos casos de uso de GenAI, desde recomendaciones personalizadas y generación de contenido hasta asistentes virtuales, chatbots internos, resumen de documentos y muchos más. Estos casos de uso también nos permiten combinar el poder de DeepSeek V3 con Milvus, una base de datos vectorial de código abierto, para almacenar miles de millones de embeddings de contexto.
En el momento de escribir este artículo, DeepSeek V3 aún no se ha integrado en Hugging Face. Sin embargo, se espera que se integre muy pronto para que puedas usar y ejecutar el modelo localmente de una manera sencilla. Mientras esperamos la integración oficial con Hugging Face, puedes ejecutar DeepSeek V3 de varias maneras.
La forma más sencilla de probar DeepSeek V3 es a través de la plataforma oficial de chat de DeepSeek. Todo lo que necesitas hacer es registrarte y empezar a chatear con el modelo.
Si quieres ejecutarlo localmente en tu máquina, primero debes clonar el repositorio oficial de DeepSeek V3 con el siguiente comando:
git clone <https://github.com/deepseek-ai/DeepSeek-V3.git>
A continuación, ve a la carpeta inference e instala todas las dependencias requeridas ejecutando los siguientes comandos:
cd DeepSeek-V3/inference
pip install -r requirements.txt
A continuación, debes descargar los pesos del modelo. Hay dos pesos de modelo disponibles en HuggingFace: la versión base (solo después de la fase de preentrenamiento) y la versión de chat (después de la fase de postentrenamiento). Descarga la versión del modelo que prefieras y luego coloca los pesos dentro de la carpeta /path/to/DeepSeek-V3.
Ahora puedes convertir los pesos del modelo de HuggingFace a un formato específico con el siguiente comando:
python convert.py --hf-ckpt-path /path/to/DeepSeek-V3 --save-path /path/to/DeepSeek-V3-Demo --n-experts 256 --model-parallel 16
Y finalmente puedes ejecutar este comando para empezar a chatear con DeepSeek V3:
torchrun --nnodes 2 --nproc-per-node 8 generate.py --node-rank $RANK --master-addr $ADDR --ckpt-path /path/to/DeepSeek-V3-Demo --config configs/config_671B.json --interactive --temperature 0.7 --max-new-tokens 200
Una forma alternativa de ponerse en marcha con DeepSeek V3 es mediante varios frameworks de serving optimizados para LLM, como vLLM, SGLang, LMDeploy y TensorRT-LLM.
Perspectivas futuras después de DeepSeek V3
La introducción de DeepSeek V3 puede considerarse un avance significativo en muchos aspectos. Muchas innovaciones implementadas en la fase de entrenamiento de DeepSeek V3, como MLA, MoE, MTP y el entrenamiento de precisión mixta con cuantización FP8, han abierto un camino para desarrollar un LLM que no solo sea eficaz y eficiente, sino también significativamente más barato de entrenar.
La implementación de MLA, MoE y MTP contribuye a acelerar el proceso de generación de tokens durante la inferencia de diferentes maneras:
MLA nos permite ahorrar memoria de caché KV y acelerar la generación de tokens comprimiendo la dimensión de las representaciones de entrada en su representación de bajo rango.
MoE acelera el proceso de generación de tokens y mejora la escalabilidad del modelo al activar solo ciertos expertos durante la inferencia, según la tarea. En lugar de activar todos los 671B parámetros durante la inferencia, el modelo solo activará una pequeña fracción de ellos (alrededor de 37B).
MTP puede reutilizarse durante la inferencia para facilitar un enfoque de decodificación especulativa. Con este enfoque, la predicción del siguiente token puede comenzar a partir de posibles tokens futuros predichos por módulos MTP en lugar de predecirlo desde cero.
El hecho de que DeepSeek haya elegido publicar DeepSeek V3 como código abierto bajo la licencia MIT también nos anima, a la comunidad global de IA, a contribuir, experimentar y construir sobre su tecnología. Esto, a su vez, nos involucra a todos en el ciclo para una innovación más rápida hacia el objetivo de alcanzar una AGI que nos beneficie a todos.
Aunque su rendimiento ya es superior en comparación con otros LLMs de vanguardia, la investigación sugiere que el rendimiento de DeepSeek V3 puede mejorarse aún más en el futuro.
Anteriormente, el equipo de DeepSeek realizó una investigación sobre la destilación del poder de razonamiento de su modelo más potente, DeepSeek R1, en el modelo DeepSeek V2.5. Si no estás familiarizado con ello, la destilación se refiere al proceso de transferir el conocimiento de un modelo más grande y con mayor rendimiento a uno más pequeño.
DeepSeek V2.5 mostró mejoras significativas en los benchmarks LiveCodeBench y MATH-500 cuando se le proporcionaron datos adicionales de destilación del modelo R1, aunque también vino con una desventaja evidente: un aumento en la longitud promedio de las respuestas.
La contribución de la destilación de DeepSeek-R1 en DeepSeek V2.5. Fuente.
No obstante, esta investigación muestra que la misma técnica de destilación de conocimiento también puede aplicarse a DeepSeek V3 en el futuro para optimizar aún más su rendimiento en diversos dominios de datos.
Conclusión
DeepSeek V3 representa un gran paso adelante en el campo de la IA de código abierto. Ofrece un rendimiento comparable al de los principales modelos de código cerrado solo por una fracción de los costos de entrenamiento. Sus características innovadoras, incluidas Multi-Head Latent Attention (MLA), Mixture of Experts (MoE) y Multi-Token Predictions (MTP), contribuyen tanto a la eficiencia como a la precisión durante las fases de entrenamiento e inferencia. Además, su naturaleza de código abierto bajo la licencia MIT permite a la comunidad de IA construir sobre sus avances, acelerando así el progreso hacia la AGI.
De cara al futuro, el impacto de DeepSeek V3 puede ser aún más poderoso. La posible aplicación de técnicas de destilación de conocimiento, como ya exploraron DeepSeek R1 y DeepSeek V2.5, sugiere margen para una mayor optimización y mejoras de eficiencia. Podemos decir que DeepSeek V3 establece un nuevo punto de referencia para la investigación de IA rentable y de alto rendimiento.
Sigue leyendo

Zilliz Cloud Update: Tiered Storage, Business Critical Plan, Cross-Region Backup, and Pricing Changes
This release offers a rebuilt tiered storage with lower costs, a new Business Critical plan for enhanced security, and pricing updates, among other features.

Zilliz Cloud Launches in AWS Australia, Expanding Global Reach to Australia and Neighboring Markets
We're thrilled to announce that Zilliz Cloud is now available in the AWS Sydney, Australia region (ap-southeast-2).

Milvus WebUI: A Visual Management Tool for Your Vector Database
Explore Milvus WebUI to monitor, manage, and optimize your vector database with real-time insights, performance tracking, and system health monitoring.


