StarCoder

StarCoder is a powerful 15B parameter model trained on 80+ programming languages. Generate, complete, or fill in the middle of code with high accuracy using Hugging Face’s open-source model.

Ir a la IA
StarCoder cover

Acerca de StarCoder

Un modelo de generación de código de próxima generación

StarCoder es un gran modelo de lenguaje desarrollado por el proyecto BigCode, diseñado para generar y completar código fuente en más de 80 lenguajes de programación. Con 15 500 millones de parámetros y un enfoque en el entrenamiento de relleno intermedio, StarCoder admite tareas avanzadas de generación de código y ayuda a los desarrolladores con finalizaciones de alta calidad y sensibles al contexto.

Creado para desarrolladores e investigadores

Diseñado para ejecutarse de manera eficiente en hardware moderno e implementado a través de Hugging Face, StarCoder es accesible tanto para desarrolladores que buscan asistencia con el código como para investigadores que evalúan modelos de codificación de código abierto.

Características y capacidades

Multi-Language Support

StarCoder se entrenó con el conjunto de datos deduplicados The Stack (v1.2) e incluye código de más de 80 lenguajes de programación. Ya sea que trabajes con Python, JavaScript, C++ o lenguajes especializados, el modelo se adapta a tu entorno.

Objetivo de rellenar el medio

A diferencia de la generación tradicional de izquierda a derecha, StarCoder admite tareas de relleno intermedio (FIM). Esto permite a los desarrolladores insertar bloques de código faltantes entre secciones existentes, lo que mejora la flexibilidad del autocompletado y la generación de fragmentos.

Aspectos técnicos destacados

Arquitectura de modelos avanzada

StarCoder utiliza la arquitectura GPT-2 con atención multiconsulta y una gran ventana de contexto de 8192 tokens. Está optimizado para comprender y generar secuencias de código largas y estructuradas, lo que lo hace ideal para tareas de desarrollo de software del mundo real.

Conjunto de datos de entrenamiento masivo

StarCoder se entrenó con más de un billón de tokens y se creó con 512 GPU A100 durante un ciclo de entrenamiento de 24 días. El conjunto de datos se filtró para excluir contenido de exclusión voluntaria e incluye únicamente código con licencia permisiva.

Use Cases and Applications

Completado y generación de código

StarCoder puede generar nuevas funciones, completar código incompleto y ayudar a escribir código repetitivo. Es una herramienta útil para prototipar, aprender y automatizar flujos de trabajo de desarrollo.

Investigación y experimentación

Como modelo de acceso abierto bajo la licencia BigCode OpenRAIL-M, StarCoder es ideal para la investigación académica, la evaluación comparativa y la creación de aplicaciones posteriores para tareas de codificación.

Compatible con Transformers

Los desarrolladores pueden usar StarCoder directamente a través de Hugging Face Transformers con solo unas pocas líneas de código. Es totalmente accesible con aceleración de GPU para implementación local o en la nube.

Licencias y uso responsable

Licencia OpenRAIL-M

StarCoder se publica bajo la licencia BigCode OpenRAIL-M. Si bien los datos de entrenamiento provienen de código con licencia abierta, los usuarios son responsables de garantizar la correcta atribución y de respetar los requisitos de la licencia al utilizar el código generado.

Atribución y Transparencia

Hay disponible un índice de búsqueda para rastrear el origen de cualquier segmento de código generado, lo que permite a los desarrolladores proporcionar la atribución adecuada cuando sea necesario.

Evaluación y desempeño

Puntos de referencia competitivos

StarCoder ha demostrado un sólido desempeño en pruebas de referencia de codificación, entre las que se incluyen:

  • HumanEval (aprobado a 1): 0,408 (según solicitud)
  • MBPP (pasa a 1): 0,527
  • MultiPL (Java, C++, Go): Competitivo en múltiples lenguajes

Estas puntuaciones resaltan la efectividad del modelo en tareas de programación de propósito general.

Herramientas Alternativas