Descrição
Code Llama é uma família de modelos de linguagem grandes desenvolvida pela Meta, baseada no Llama 2 e especializada em tarefas relacionadas a código. Este repositório oferece o código de inferência necessário para executar esses modelos poderosos. Os modelos Code Llama entregam desempenho de ponta entre os modelos abertos, apresentando capacidades como preenchimento de código, suporte para contextos de entrada estendidos de até 100.000 tokens e seguimento de instruções zero-shot para programação.
A família inclui modelos base (Code Llama), versões específicas para Python (Code Llama - Python) e modelos de seguimento de instruções (Code Llama - Instruct). Estes estão disponíveis em vários tamanhos de parâmetros: 7B, 13B, 34B e 70B. Todos os modelos são treinados em sequências de 16k tokens e demonstram desempenho aprimorado com entradas de até 100k tokens. As variantes 7B e 13B do Code Llama e Code Llama - Instruct são capazes de preencher código com base no conteúdo circundante.
Desenvolvido através do fine-tuning do Llama 2 com uma amostragem maior de código, o Code Llama incorpora consideráveis mitigações de segurança. O repositório fornece pesos de modelo e código inicial para esses modelos pré-treinados e fine-tuned. Ele serve como um exemplo mínimo para carregar modelos Code Llama e executar inferência. Os usuários podem baixar pesos de modelo e tokenizadores do site da Meta após aceitar a licença, e então usar o script `download.sh` fornecido.
A configuração envolve clonar o repositório e instalar dependências dentro de um ambiente conda com PyTorch/CUDA. A inferência requer a especificação de valores de modelo paralelo (MP), que variam de acordo com o tamanho do modelo (por exemplo, 1 para 7B, 8 para 70B). O repositório inclui scripts de exemplo para completude de código (`example_completion.py`), preenchimento de código (`example_infilling.py`) e seguimento de instruções (`example_instructions.py`), demonstrando como fazer prompts e executar os diferentes tipos de modelos de forma eficaz.
Os modelos Code Llama - Instruct são especificamente fine-tuned para seguir instruções, exigindo formatação particular para resultados ideais. O repositório também destaca os riscos potenciais associados às tecnologias de IA e direciona os usuários para um Guia de Uso Responsável e artigos de pesquisa para mais informações. Problemas relacionados a bugs de software ou comportamento do modelo podem ser relatados através dos links do GitHub fornecidos.
Recursos principais de Code Llama
Código de inferência para modelos Code Llama
Suporta modelos base, especializados em Python e de seguimento de instruções
Disponível em tamanhos de parâmetros 7B, 13B, 34B e 70B
Desempenho de ponta entre modelos de código abertos
Capacidades de preenchimento de código para modelos 7B e 13B
Suporta contextos de entrada grandes de até 100.000 tokens
Seguimento de instruções zero-shot para tarefas de programação
Treinado em sequências de 16k tokens
Inclui pesos de modelo e código inicial
Fornece scripts de exemplo para completude, preenchimento e seguimento de instruções
Incorpora mitigações de segurança
Licenciado para pesquisadores e entidades comerciais
Primeiros passos com Code Llama
Clonar: Clone o repositório do GitHub.
Instalar: Configure um ambiente conda com PyTorch/CUDA e instale as dependências usando `pip install -e .`.
Baixar: Obtenha os pesos do modelo e tokenizadores do site da Meta e use `download.sh`.
Configurar: Determine o valor apropriado de modelo paralelo (MP) com base no tamanho do modelo.
Executar: Execute a inferência usando os scripts de exemplo fornecidos (por exemplo, `example_completion.py`, `example_infilling.py`, `example_instructions.py`).
Otimizar: Ajuste `max_seq_len` e `max_batch_size` com base no hardware e caso de uso.
Casos de uso de Code Llama
- Geração de Código
- Completude de Código
- Preenchimento de Código
- Seguimento de Instruções
- Desenvolvimento Python
- Pesquisa
- Tarefas de Contexto Grande








