DeepCoder-14B-Preview: un modelo de código abierto que destaca en la generación de código

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.

DeepCoder-14B-Preview:擅长代码生成的的开源模型

 

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:

  1. 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 -yA continuación, active el entorno conda activate deepcoder.
    • Instalar bibliotecas dependientes: ejecutar pip install transformers torch huggingface_hub vllm.
  2. 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.
  3. 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.

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

  1. 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 函数,找出数组中的最大值"
      
  2. 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
      
  3. 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.

Gestión de contextos largos

  1. 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请为这个函数添加异常处理"
      
  2. 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
      
  3. 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

  1. 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]]"
      
  2. 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
      
  3. Resultados de las pruebas
    • Para ejecutar el código en Python, escriba [1,2,3]Compruebe que la salida es correcta.

código de depuración

  1. 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这段代码有语法错误,请修复"
      
  2. 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
      
  3. 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 cantando top_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

  1. concurso de programación
    DeepCoder genera respuestas a preguntas de concursos rápidamente y es adecuado para tareas complejas en LiveCodeBench o Codeforces.
  2. Desarrollo de proyectos a gran escala
    Puede generar módulos de código largos para ayudar a los desarrolladores a completar grandes proyectos.
  3. Educación y aprendizaje
    Los estudiantes pueden utilizarlo para generar ejemplos de código, aprender algoritmos o depurar tareas.

 

CONTROL DE CALIDAD

  1. ¿Es gratis DeepCoder-14B-Preview?
    Sí, tiene licencia MIT, es completamente de código abierto y de uso libre para cualquiera.
  2. ¿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.
  3. ¿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

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...