DeepCoder-14B-Preview: un modelo de código abierto que destaca en la generación de código
Últimos recursos sobre IAPublicado hace 4 meses Círculo de intercambio de inteligencia artificial 2.9K 00
Introducción general
DeepCoder-14B-Preview es un modelo de generación de código abierto desarrollado por el equipo de Agentica y publicado en la plataforma Hugging Face. Está basado en DeepSeek-R1-Distilled-Qwen-14B, optimizado mediante técnicas de aprendizaje por refuerzo distribuido (RL), y es capaz de manejar hasta 64K ficha de contextos muy largos. El modelo tiene 14.000 millones de parámetros y alcanzó una precisión Pass@1 de 60,6% en las pruebas LiveCodeBench v5 (del 1 de agosto de 2024 al 1 de febrero de 2025), una mejora de 8% sobre el modelo base y un rendimiento cercano al o3-mini de OpenAI. Es completamente de código abierto, incluidos los pesos del modelo, los datos de entrenamiento y los scripts. El objetivo de DeepCoder es ayudar a los desarrolladores a escribir código complejo de forma eficiente, especialmente para competiciones de programación y proyectos a gran escala.

Lista de funciones
- Generar código largo: soporta contextos de hasta 64K tokens, y puede generar y manejar código muy largo.
- Salida de alta precisión: 60,6% Pass@1 en LiveCodeBench v5 para una calidad de código fiable.
- Código abierto disponible: los archivos del modelo, los conjuntos de datos y los scripts de entrenamiento están disponibles para su descarga y personalización gratuitas.
- Admite una amplia gama de tareas de programación: adecuado para responder a preguntas de oposiciones, depurar código y desarrollar proyectos.
- Razonamiento contextual largo: optimizado mediante técnicas GRPO+ y DAPO para garantizar la capacidad de generación de códigos largos.
Utilizar la ayuda
DeepCoder-14B-Preview es una potente herramienta que puede ayudarte a generar código o a manejar complejas tareas de programación. A continuación encontrará una guía detallada de instalación y uso.
Proceso de instalación
Para utilizar DeepCoder-14B-Preview localmente, es necesario preparar el entorno y descargar el modelo. Los pasos son los siguientes:
- Preparar el hardware y el software
- Se requiere un ordenador con GPU, se recomienda NVIDIA H100 o una tarjeta gráfica con al menos 24 GB de RAM.
- Instalación de Python 3.10: Ejecutar
conda create -n deepcoder python=3.10 -y
A continuación, active el entornoconda activate deepcoder
. - Instalar bibliotecas dependientes: ejecutar
pip install transformers torch huggingface_hub vllm
.
- Descargar modelos
- Visite la página oficial en https://huggingface.co/agentica-org/DeepCoder-14B-Preview.
- En "Ficheros y versiones", busque los ficheros del modelo (p. ej.
model-00001-of-00012.safetensors
). - Utiliza el comando descargar:
huggingface-cli download agentica-org/DeepCoder-14B-Preview --local-dir ./DeepCoder-14B
- Tras la descarga, los archivos del modelo se guardan localmente
./DeepCoder-14B
Carpeta.
- Modelos de carga
- Carga el modelo en Python:
from transformers import AutoModelForCausalLM, AutoTokenizer model_path = "./DeepCoder-14B" model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype="auto", device_map="auto") tokenizer = AutoTokenizer.from_pretrained(model_path)
- Esto cargará el modelo en la GPU listo para su uso.
- Carga el modelo en Python:
Cómo utilizar las principales funciones
El núcleo de DeepCoder es generar código y manejar contextos largos. Así es como funciona:
Generar código
- Requisitos de programación de entrada
- Prepara un problema, como "Escribe una función Python que encuentre el valor máximo en un array".
- Convierte los requisitos en texto:
prompt = "写一个 Python 函数,找出数组中的最大值"
- Generar código
- Utiliza el siguiente código para generar la respuesta:
inputs = tokenizer(prompt, return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.6, top_p=0.95) result = tokenizer.decode(outputs[0], skip_special_tokens=True) print(result)
- Posibles salidas:
def find_max(arr): if not arr: return None max_value = arr[0] for num in arr: if num > max_value: max_value = num return max_value
- Utiliza el siguiente código para generar la respuesta:
- Generación optimizada
- Si necesita un código más largo, ajuste el
max_new_tokens
es 1024 o superior. - establecer
max_tokens=64000
Se consigue un rendimiento óptimo a largo plazo.
- Si necesita un código más largo, ajuste el
Gestión de contextos largos
- Introduzca el código largo
- Digamos que tienes un código que tiene 32K tokens y quieres que el modelo lo renueve:
long_code = "def process_data(data):\n # 几千行代码...\n return processed_data" prompt = long_code + "\n请为这个函数添加异常处理"
- Digamos que tienes un código que tiene 32K tokens y quieres que el modelo lo renueve:
- Generar una continuación
- Introducir y generar:
inputs = tokenizer(prompt, return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.6, top_p=0.95) result = tokenizer.decode(outputs[0], skip_special_tokens=True) print(result)
- La salida puede ser:
def process_data(data): try: # 几千行代码... return processed_data except Exception as e: print(f"错误: {e}") return None
- Introducir y generar:
- Resultados de la verificación
- Compruebe que el código cumple los requisitos. Si no lo hace, describe los requisitos con más claridad.
Funciones destacadas Procedimiento de funcionamiento
Lo más destacado de DeepCoder es su gran capacidad de generación de código, que lo hace idóneo para competiciones y proyectos a gran escala.
Resolver concursos
- Obtener título
- Busque un tema en Codeforces, como "Dada una matriz, devuelva todos los subconjuntos posibles".
- Introduzca una descripción del tema:
prompt = "给定一个数组,返回所有可能的子集。例如,输入 [1,2,3],输出 [[],[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3]]"
- Generar código
- Ejecuta el comando generar:
inputs = tokenizer(prompt, return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.6, top_p=0.95) result = tokenizer.decode(outputs[0], skip_special_tokens=True) print(result)
- La salida puede ser:
def subsets(nums): result = [[]] for num in nums: result += [curr + [num] for curr in result] return result
- Ejecuta el comando generar:
- Resultados de las pruebas
- Para ejecutar el código en Python, escriba
[1,2,3]
Compruebe que la salida es correcta.
- Para ejecutar el código en Python, escriba
código de depuración
- Introduzca el código de la pregunta
- Supongamos que hay un trozo de código con errores:
buggy_code = "def sum_numbers(n):\n total = 0\n for i in range(n)\n total += i\n return total" prompt = buggy_code + "\n这段代码有语法错误,请修复"
- Supongamos que hay un trozo de código con errores:
- Generar correcciones
- Introducir y generar:
inputs = tokenizer(prompt, return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.6, top_p=0.95) result = tokenizer.decode(outputs[0], skip_special_tokens=True) print(result)
- La salida puede ser:
def sum_numbers(n): total = 0 for i in range(n): total += i return total
- Introducir y generar:
- Correcciones de verificación
- Compruebe que la sintaxis es correcta y ejecute el código para confirmar el resultado.
Recomendaciones de uso
- No añada una consulta al sistema, indique el requisito directamente en la consulta al usuario.
- establecer
temperature=0.6
responder cantandotop_p=0.95
para obtener resultados óptimos. - comandante en jefe (militar)
max_tokens
Ajústalo a 64000 para aprovechar los contextos largos.
escenario de aplicación
- concurso de programación
DeepCoder genera respuestas a preguntas de concursos rápidamente y es adecuado para tareas complejas en LiveCodeBench o Codeforces. - Desarrollo de proyectos a gran escala
Puede generar módulos de código largos para ayudar a los desarrolladores a completar grandes proyectos. - Educación y aprendizaje
Los estudiantes pueden utilizarlo para generar ejemplos de código, aprender algoritmos o depurar tareas.
CONTROL DE CALIDAD
- ¿Es gratis DeepCoder-14B-Preview?
Sí, tiene licencia MIT, es completamente de código abierto y de uso libre para cualquiera. - ¿Qué hardware se necesita para ejecutarlo?
Se recomienda utilizar un ordenador con GPU y al menos 24 GB de memoria de vídeo. Si utilizas una CPU, será mucho más lento. - ¿Qué lenguajes de programación admite?
Está especializado principalmente en Python, pero también puede generar código en Java, C++ y otros lenguajes, en función de la claridad de la indicación.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...