
Meta acaba de lanzar Code Llama, un extenso modelo de lenguaje (LLM, por sus siglas en inglés) que puede utilizar instrucciones de texto para generar código. Según la empresa estadounidense, Code Llama tiene el potencial de acelerar y hacer más eficientes los flujos de trabajo para los desarrolladores con experiencia, así como reducir la barrera de entrada para aquellos que están aprendiendo a programar.
De hecho, esta nueva herramienta parece haber sido diseñada como un instrumento de productividad y educación para ayudar a los desarrolladores a escribir software más sólido y bien documentado.
El campo de la inteligencia artificial generativa está evolucionando rápidamente, y la empresa de Menlo Park considera que un enfoque abierto hacia la IA actual es el mejor para el desarrollo de nuevas herramientas AI innovadoras, seguras y responsables. Por esta razón, Code Llama se ha lanzado bajo la misma licencia comunitaria que Llama 2.
Pero, ¿cómo funciona realmente esta nueva herramienta y cuál es su verdadero potencial? Intentemos descubrirlo.
Cómo funciona Code Llama:
Code Llama es una versión especializada en código de Llama 2, que ha sido creada mediante un entrenamiento adicional sobre conjuntos de datos específicos de código. Durante este proceso, se muestrearon más datos del mismo conjunto y se prolongaron los períodos de entrenamiento. En esencia, Code Llama ofrece capacidades de codificación mejoradas basadas en Llama 2.
Por esto, es capaz de generar tanto código como lenguaje natural relacionados con el código, tanto a partir de instrucciones de código como de lenguaje natural (por ejemplo, «Escríbeme una función que devuelva la secuencia de Fibonacci»). También puede usarse para completar y resolver errores en el código. Además, admite muchos de los lenguajes más populares utilizados hoy en día, incluyendo Python, C++, Java, PHP, Typescript (Javascript), C# y Bash.
Resulta interesante notar cómo Meta está lanzando en realidad tres dimensiones diferentes de Code Llama, con 7 mil millones, 13 mil millones y 34 mil millones de parámetros, respectivamente. Cada uno de estos modelos ha sido entrenado con 500 mil millones de tokens de código y datos relacionados con el código. Los modelos base e instructivos de 7 mil millones y 13 mil millones también cuentan con la capacidad de inserción en medio (FIM), lo que les permite insertar código en código existente. Esto significa que pueden ayudar en tareas como completar el código directamente desde la base.
Estos tres modelos están diseñados para satisfacer diferentes necesidades de servicio y latencia. Por ejemplo, el modelo de 7 mil millones puede ser manejado en una única GPU. El modelo de 34 mil millones proporciona los mejores resultados y brinda mayor ayuda en la escritura de código, pero los modelos más pequeños de 7 mil millones y 13 mil millones son más rápidos y adecuados para tareas que requieren baja latencia, como completar el código en tiempo real.
Los modelos Code Llama ofrecen generaciones estables con un contexto de hasta 100,000 tokens. Todos los modelos están entrenados en secuencias de 16,000 tokens y muestran mejoras en las entradas con un máximo de 100,000 tokens.
Además de ser un requisito previo para generar programas más extensos, tener secuencias de entrada más largas desbloquea casos de uso nuevos e interesantes para un LLM de código. Por ejemplo, los usuarios pueden proporcionar al modelo más contexto desde su base de código para que las generaciones sean más relevantes. También resulta útil en situaciones de depuración en bases de código más grandes, donde hacer un seguimiento de todo el código relacionado con un problema específico puede ser un desafío para los desarrolladores. Cuando los desarrolladores se encuentran depurando un bloque amplio de código, pueden ingresar toda la longitud del código en el modelo.
Además del modelo base de Code Llama, Meta ha lanzado una versión especializada en Python llamada Code Llama-Python y otra versión llamada Code Llama-Instrct, que puede comprender instrucciones en lenguaje natural. Según Meta, cada versión específica de Code Llama no es intercambiable, y la empresa no recomienda utilizar el modelo base de Code Llama ni Code Llama-Python para instrucciones en lenguaje natural.
«Los programadores ya están utilizando LLM para ayudar en una variedad de tareas, desde escribir nuevo software hasta solucionar errores en el código existente», dijo Meta en una publicación de blog. «El objetivo es hacer que los flujos de trabajo de los desarrolladores sean más eficientes para que puedan concentrarse en los aspectos más humanos de su trabajo».
Meta afirma que Code Llama ha demostrado un rendimiento superior en comparación con los LLM (Large Language Models) disponibles públicamente, según pruebas de referencia. De hecho, incluso el blog phind informa haber optimizado aún más CodeLlama-34B y CodeLlama-34B-Python en un conjunto de datos interno del sitio, logrando un 67.6% y un 69.5% de pass@1 en HumanEval, respectivamente. En comparación, el competidor directo, GPT-4, logró un 67% según el informe técnico interno oficial de marzo. Además, el blog asegura que, para garantizar la validez de los resultados, aplicó la metodología de descontaminación de OpenAI al conjunto de datos.
En conclusión, Code Llama podría ser una herramienta valiosa tanto para desarrolladores más experimentados como para aquellos que están comenzando en el campo.
Únete a nuestra comunidad
¿Te apasiona el Desarrollo multiplataforma? ¿Quieres cambiar tu trayectoria laboral? En nuestra plataforma de Talent puedes encontrar la forma de llevar tu carrera al siguiente nivel. Entra en nuestra web y encuentra tu trabajo ideal- Échale un vistazo.
Ser parte de la comunidad de Codemotion te permitirá potenciar tu experiencia y enfrentar nuevos desafíos que impulsarán tu carrera. Aprenderás nuevas habilidades técnicas y crecerás junto a otros miembros mediante el intercambio de opiniones y la creación conjunta. Tenemos dos comunidades para ti según tu experiencia:
- Si eres wanna-be-dev, junior-dev o early-mid-dev nuestra comunidad de Discord es para ti. Allí encontrarás recursos, eventos, formación, muchos compañeros de viaje y beneficios exclusivos. Súmate aquí.
- Si eres late-mid-dev, senior-dev, Tech Lead o CTO nuestra comunidad de Telegram es para ti. Allí encontrarás el mejor networking, artículos high-tech, debates de tendencias tech y beneficios exclusivos. Súmate aquí.