mirror of
https://github.com/deepseek-ai/DeepSeek-V3.git
synced 2025-05-22 10:16:42 -04:00
70 lines
3.5 KiB
Markdown
70 lines
3.5 KiB
Markdown
# Resumen del Proyecto DeepSeek-V3
|
|
|
|
## Estructura del Proyecto
|
|
|
|
1. **README.md**: Proporciona una descripción general del modelo, su arquitectura, pre-entrenamiento, post-entrenamiento, resultados de evaluación, y cómo ejecutar el modelo localmente.
|
|
|
|
2. **README_WEIGHTS.md**: Documenta la estructura de los archivos de pesos del modelo, incluyendo los nuevos campos en `config.json`, la estructura de los pesos del modelo principal y los módulos de predicción de múltiples tokens (MTP).
|
|
|
|
3. **README_WEIGHTS_ES.md**: Versión en español de `README_WEIGHTS.md`.
|
|
|
|
4. **README_ES.md**: Versión en español de `README.md`.
|
|
|
|
5. **LICENSE-MODEL**: Licencia del modelo DeepSeek, que incluye restricciones de uso y condiciones de distribución.
|
|
|
|
6. **LICENSE-CODE**: Licencia MIT para el código del proyecto.
|
|
|
|
7. **.gitignore**: Lista de archivos y directorios que deben ser ignorados por Git.
|
|
|
|
8. **requirements.txt**: Lista de dependencias necesarias para ejecutar el proyecto.
|
|
|
|
## Código Principal
|
|
|
|
### inference/model.py
|
|
|
|
Define la arquitectura del modelo Transformer, incluyendo capas de atención, capas de feed-forward, y mecanismos de mezcla de expertos (MoE). Algunas clases y funciones clave incluyen:
|
|
|
|
- **ModelArgs**: Clase de datos que define los argumentos y parámetros del modelo.
|
|
- **ParallelEmbedding**: Capa de embedding con soporte para paralelismo distribuido.
|
|
- **Linear, ColumnParallelLinear, RowParallelLinear**: Capas lineales personalizadas con soporte para pesos cuantizados y paralelismo.
|
|
- **RMSNorm**: Normalización de capa basada en la raíz cuadrada media.
|
|
- **MLA**: Capa de atención multi-cabeza.
|
|
- **MLP**: Perceptrón multicapa utilizado como capa de feed-forward.
|
|
- **Gate**: Mecanismo de enrutamiento para MoE.
|
|
- **Expert**: Capa de experto para MoE.
|
|
- **MoE**: Módulo de mezcla de expertos.
|
|
- **Block**: Bloque Transformer que combina atención y capas de feed-forward.
|
|
- **Transformer**: Modelo Transformer completo con embeddings posicionales, múltiples capas y proyección de salida.
|
|
|
|
### inference/kernel.py
|
|
|
|
Define funciones y kernels de Triton para operaciones de cuantización y des-cuantización, así como para multiplicación de matrices en precisión FP8.
|
|
|
|
- **act_quant_kernel**: Kernel para cuantización de activaciones.
|
|
- **weight_dequant_kernel**: Kernel para des-cuantización de pesos.
|
|
- **fp8_gemm_kernel**: Kernel para multiplicación de matrices en precisión FP8.
|
|
|
|
### inference/generate.py
|
|
|
|
Proporciona funciones para generar texto utilizando el modelo Transformer.
|
|
|
|
- **sample**: Función para muestrear un token a partir de logits utilizando escalado de temperatura.
|
|
- **generate**: Función para generar nuevos tokens basados en tokens de entrada proporcionados.
|
|
- **main**: Función principal para cargar el modelo y realizar generación de texto interactiva o por lotes.
|
|
|
|
### inference/fp8_cast_bf16.py
|
|
|
|
Convierte pesos en formato FP8 a BF16 y guarda los pesos convertidos.
|
|
|
|
### inference/convert.py
|
|
|
|
Convierte y guarda archivos de puntos de control del modelo en un formato específico.
|
|
|
|
## Configuraciones
|
|
|
|
- **configs/config_671B.json**: Configuración del modelo con 671 mil millones de parámetros.
|
|
- **configs/config_236B.json**: Configuración del modelo con 236 mil millones de parámetros.
|
|
- **configs/config_16B.json**: Configuración del modelo con 16 mil millones de parámetros.
|
|
|
|
Este resumen proporciona una visión general del funcionamiento del proyecto DeepSeek-V3, destacando las principales clases, funciones y archivos involucrados en la implementación y ejecución del modelo.
|