Descripción
Code Llama es una familia de modelos de lenguaje grandes desarrollados por Meta, construidos sobre Llama 2 y especializados para tareas relacionadas con el código. Este repositorio ofrece el código de inferencia necesario para ejecutar estos potentes modelos. Los modelos Code Llama ofrecen un rendimiento de vanguardia entre los modelos abiertos, con capacidades como el autocompletado de código, soporte para contextos de entrada extendidos de hasta 100.000 tokens y seguimiento de instrucciones de cero disparos para programación.
La familia incluye modelos base (Code Llama), versiones específicas para Python (Code Llama - Python) y modelos de seguimiento de instrucciones (Code Llama - Instruct). Estos están disponibles en varios tamaños de parámetros: 7B, 13B, 34B y 70B. Todos los modelos se entrenan con secuencias de 16k tokens y demuestran un rendimiento mejorado con entradas de hasta 100k tokens. Las variantes de 7B y 13B de Code Llama y Code Llama - Instruct son capaces de autocompletar código basándose en el contenido circundante.
Desarrollado mediante el ajuste fino de Llama 2 con una mayor muestra de código, Code Llama incorpora considerables mitigaciones de seguridad. El repositorio proporciona pesos del modelo y código de inicio para estos modelos preentrenados y ajustados. Sirve como un ejemplo mínimo para cargar modelos Code Llama y ejecutar inferencias. Los usuarios pueden descargar los pesos del modelo y los tokenizadores del sitio web de Meta después de aceptar la licencia, y luego usar el script `download.sh` proporcionado.
La configuración implica clonar el repositorio e instalar las dependencias dentro de un entorno conda con PyTorch/CUDA. La inferencia requiere especificar valores de paralelismo de modelo (MP), que varían según el tamaño del modelo (por ejemplo, 1 para 7B, 8 para 70B). El repositorio incluye scripts de ejemplo para autocompletado de código (`example_completion.py`), autocompletado de código (`example_infilling.py`) y seguimiento de instrucciones (`example_instructions.py`), demostrando cómo dar formato y ejecutar los diferentes tipos de modelos de manera efectiva.
Los modelos Code Llama - Instruct se ajustan específicamente para seguir instrucciones, requiriendo un formato particular para obtener resultados óptimos. El repositorio también destaca los riesgos potenciales asociados con las tecnologías de IA y dirige a los usuarios a una Guía de Uso Responsable y a artículos de investigación para obtener más información. Los problemas relacionados con errores de software o comportamiento del modelo se pueden informar a través de los enlaces de GitHub proporcionados.
Características principales de Code Llama
Código de inferencia para modelos Code Llama
Soporta modelos base, especializados en Python y de seguimiento de instrucciones
Disponible en tamaños de 7B, 13B, 34B y 70B parámetros
Rendimiento de vanguardia entre los modelos de código abiertos
Capacidades de autocompletado de código para modelos de 7B y 13B
Soporta contextos de entrada amplios de hasta 100.000 tokens
Seguimiento de instrucciones de cero disparos para tareas de programación
Entrenado en secuencias de 16k tokens
Incluye pesos del modelo y código de inicio
Proporciona scripts de ejemplo para autocompletado, autocompletado y seguimiento de instrucciones
Incorpora mitigaciones de seguridad
Licenciado para investigadores y entidades comerciales
Primeros pasos con Code Llama
Clonar: Clone el repositorio desde GitHub.
Instalar: Configure un entorno conda con PyTorch/CUDA e instale las dependencias usando `pip install -e .`.
Descargar: Obtenga los pesos del modelo y los tokenizadores del sitio web de Meta y use `download.sh`.
Configurar: Determine el valor apropiado de paralelismo de modelo (MP) según el tamaño del modelo.
Ejecutar: Ejecute la inferencia utilizando los scripts de ejemplo proporcionados (por ejemplo, `example_completion.py`, `example_infilling.py`, `example_instructions.py`).
Optimizar: Ajuste `max_seq_len` y `max_batch_size` según el hardware y el caso de uso.
Casos de uso de Code Llama
- Generación de Código
- Autocompletado de Código
- Autocompletado de Código
- Seguimiento de Instrucciones
- Desarrollo en Python
- Investigación
- Tareas de Contexto Amplio








