aiXcoder-7B: un modelo de lenguaje grande liviano y eficiente que ofrece alta precisión en la finalización del código en múltiples idiomas y puntos de referencia

Los modelos de lenguajes grandes (LLM) han revolucionado varios dominios, incluida la finalización de código, donde la inteligencia artificial predice y sugiere código basándose en las entradas previas de un desarrollador. Esta tecnología mejora significativamente la productividad, permitiendo a los desarrolladores escribir código más rápido y con menos errores. A pesar de la promesa de los LLM, muchos modelos luchan por equilibrar la velocidad y la precisión. Los modelos más grandes suelen tener mayor precisión, pero introducen retrasos que dificultan las tareas de codificación en tiempo real, lo que genera ineficiencia. Este desafío ha estimulado los esfuerzos para crear modelos más pequeños y más eficientes que conserven un alto rendimiento en la finalización del código.

El principal problema en el campo de los LLM para la finalización de código es el equilibrio entre el tamaño del modelo y el rendimiento. Los modelos más grandes, aunque potentes, requieren más tiempo y recursos computacionales, lo que genera tiempos de respuesta más lentos para los desarrolladores. Esto disminuye su usabilidad, particularmente en aplicaciones en tiempo real donde la retroalimentación rápida es esencial. La necesidad de modelos más rápidos y livianos que aún ofrezcan alta precisión en las predicciones de código se ha convertido en un foco de investigación crucial en los últimos años.

Los métodos tradicionales para completar código generalmente implican ampliar los LLM para aumentar la precisión de la predicción. Estos métodos, como los utilizados en CodeLlama-34B y StarCoder2-15B, se basan en enormes conjuntos de datos y miles de millones de parámetros, lo que aumenta significativamente su tamaño y complejidad. Si bien este enfoque mejora la capacidad de los modelos para generar código preciso, tiene el costo de mayores tiempos de respuesta y mayores requisitos de hardware. Los desarrolladores a menudo descubren que el tamaño de estos modelos y las demandas computacionales obstaculizan su flujo de trabajo.

El equipo de investigación de aiXcoder y la Universidad de Pekín presentó aiXcoder-7Bdiseñado para ser liviano y altamente efectivo en tareas de finalización de código. Con solo 7 mil millones de parámetros, logra una precisión notable en comparación con modelos más grandes, lo que lo convierte en una solución ideal para entornos de codificación en tiempo real. aiXcoder-7B se centra en equilibrar el tamaño y el rendimiento, garantizando que pueda implementarse en el mundo académico y la industria sin las cargas computacionales típicas de los LLM más grandes. La eficiencia del modelo lo destaca en un campo dominado por alternativas mucho más grandes.

El equipo de investigación empleó entrenamiento multiobjetivo, que incluye métodos como Next-Token Prediction (NTP), Fill-In-the-Middle (FIM) y el avanzado Structured Fill-In-the-Middle (SFIM). SFIM, en particular, permite que el modelo considere la sintaxis y la estructura del código con mayor profundidad, lo que le permite predecir con mayor precisión en una amplia gama de escenarios de codificación. Esto contrasta con otros modelos que a menudo sólo consideran el código como texto plano sin comprender sus matices estructurales. La capacidad de aiXcoder-7B para predecir segmentos de código faltantes dentro de una función o entre archivos le brinda una ventaja única en tareas de programación del mundo real.

El proceso de capacitación para aiXcoder-7B implicó el uso de un extenso conjunto de datos de 1,2 billones de tokens únicos. El modelo se entrenó mediante un riguroso proceso de recopilación de datos que incluía rastreo, limpieza, deduplicación y controles de calidad de los datos. El conjunto de datos incluía 3,5 TB de código fuente de varios lenguajes de programación, lo que garantizaba que el modelo pudiera manejar varios lenguajes, incluidos Python, Java, C++ y JavaScript. Para mejorar aún más su rendimiento, aiXcoder-7B utilizó diversas estrategias de muestreo de datos, como muestreo basado en similitudes de contenido de archivos, dependencias entre archivos y similitudes de rutas de archivos. Estas estrategias ayudaron al modelo a comprender contextos entre archivos, lo cual es crucial para tareas en las que la finalización del código depende de referencias distribuidas en varios archivos.

aiXcoder-7B superó a seis LLM de tamaño similar en seis puntos de referencia diferentes. En particular, el punto de referencia HumanEval logró una puntuación Pass@1 del 54,9%, superando a modelos aún más grandes como CodeLlama-34B (48,2%) y StarCoder2-15B (46,3%). En otro punto de referencia, FIM-Eval, aiXcoder-7B demostró sólidas capacidades de generalización en diferentes tipos de código, logrando un rendimiento superior en lenguajes como Java y Python. Su capacidad para generar código que se asemeja mucho al código escrito por humanos, tanto en estilo como en longitud, lo distingue aún más de sus competidores. Por ejemplo, en Java, aiXcoder-7B produjo solo 0,97 veces el tamaño del código escrito por humanos en comparación con otros modelos que generaron código mucho más largo.

El aiXcoder-7B muestra el potencial para crear LLM más pequeños, más rápidos y más eficientes sin sacrificar la precisión. Su rendimiento en múltiples pruebas comparativas y lenguajes de programación lo posiciona como una gran herramienta para los desarrolladores que necesitan completar código confiable y en tiempo real. La combinación de capacitación multiobjetivo, un amplio conjunto de datos y técnicas de muestreo innovadoras ha permitido a aiXcoder-7B establecer un nuevo estándar para LLM livianos en este dominio.

En conclusión, aiXcoder-7B aborda una brecha crítica en el campo de los LLM para la finalización de código al ofrecer un modelo altamente eficiente y preciso. La investigación detrás del modelo destaca varias conclusiones clave que pueden guiar el desarrollo futuro en esta área:

  • Siete mil millones de parámetros garantizan la eficiencia sin sacrificar la precisión.
  • Utiliza entrenamiento multiobjetivo, incluido SFIM, para mejorar las capacidades de predicción.
  • Capacitado con 1,2 billones de tokens con un proceso integral de recopilación de datos.
  • Supera a los modelos más grandes en los puntos de referencia, logrando un 54,9 % Pass@1 en HumanEval.
  • Capaz de generar código que refleja fielmente el código escrito por humanos tanto en estilo como en longitud.

Mira el Papel y GitHub. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, no olvides seguirnos en Gorjeo y únete a nuestro Canal de telegramas y LinkedIn Grarriba. Si te gusta nuestro trabajo, te encantará nuestro hoja informativa.. No olvides unirte a nuestro SubReddit de más de 50.000 ml.

[Upcoming Live Webinar- Oct 29, 2024] La mejor plataforma para ofrecer modelos optimizados: motor de inferencia Predibase (promocionado)


Asif Razzaq es el director ejecutivo de Marktechpost Media Inc.. Como empresario e ingeniero visionario, Asif está comprometido a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, Marktechpost, que se destaca por su cobertura en profundidad del aprendizaje automático y las noticias sobre aprendizaje profundo que es técnicamente sólida y fácilmente comprensible para una amplia audiencia. La plataforma cuenta con más de 2 millones de visitas mensuales, lo que ilustra su popularidad entre el público.