Código aberto oficial do Code Llama: gratuito para uso comercial, a versão misteriosa está próxima do GPT-4

Fonte: Coração da Máquina

Editores: Du Wei, Chen Ping

Hoje, a família de modelos Llama de código aberto da Meta inaugurou um novo membro - Code Llama, um modelo básico especializado em geração de código.

Como uma versão específica de código do Llama 2, o Code Llama é ainda mais ajustado e treinado em um conjunto de dados de código específico.

Meta disse que o acordo de código aberto do Code Llama, assim como o Llama 2, é gratuito para pesquisa e fins comerciais.

O artigo relacionado "Code Llama: Open Foundation Models for Code" foi publicado, com 47 páginas e 25 autores.

Endereço do papel:

Endereço GitHub:

Existem três versões da série de modelos Code Llama com quantidades de parâmetros de 7B, 13B e 34B. E suporta várias linguagens de programação, incluindo Python, C++, Java, PHP, Type (Java), C# e Bash.

Code Llama oferece suporte estável à geração de contexto de até 100.000 tokens. A Figura 2 abaixo mostra o processo de ajuste fino do Code Llama.

Em termos de efeito, a taxa de aprovação (pass@1) de diferentes versões do Code Llama nos conjuntos de dados Humano e MBPP pode ultrapassar o GPT-3.5.

Além disso, o pass@1 da versão "Unnatural" 34B do Code Llama no conjunto de dados Humano está próximo do GPT-4 (62,2% vs 67,0%). A Meta não lançou esta versão, mas obteve melhorias significativas de desempenho treinando em uma pequena quantidade de dados codificados de alta qualidade.

Esta edição especial atraiu a atenção de muitas pessoas, incluindo Andrej Karpathy, ex-diretor de IA da Tesla e que está retornando à OpenAI.

Embora seja mencionado no artigo que se trata de uma "versão do Code Llama-Python 34B ajustada em 15.000 instruções não naturais", Karpathy ainda está curioso sobre esse "nome misterioso, descrição vaga e outros modelos de confidencialidade esmagadores".

Como funciona o Code Llama

Code Llama tem recursos de codificação muito fortes. Ele pode gerar código com base em código e prompts de linguagem natural (por exemplo, prompts de entrada do usuário "Ajude-me a escrever uma função que produza a sequência de Fibonacci.") Também pode ajudar os usuários com conclusão e depuração de código. código.

As três versões de parâmetros do modelo Code Llama são treinadas usando tokens de código 500B e dados relacionados ao código. Os modelos básicos e de instrução 7B e 13B também são treinados em FIM (preencher o meio), permitindo que o código seja inserido no código existente, o que significa que eles podem suportar tarefas como conclusão de código prontas para uso.

A tabela a seguir é o conjunto de dados de treinamento do Code Llama.

Com todos os três modelos, diferentes requisitos de serviço e latência podem ser atendidos. Por exemplo, o modelo 7B pode rodar em uma única GPU; o modelo 34B retorna os melhores resultados e fornece melhor assistência de codificação, mas em termos de velocidade, os modelos menores 7B e 13B são mais rápidos e mais adequados para tarefas de baixa latência, como Conclusão de código ao vivo.

O Code Llama não apenas fornece geração estável de até 100.000 tokens de contexto, mas também de até 16.000 sequências de tokens de treinamento para todos os modelos. **

Além de ser um pré-requisito para gerar programas mais longos, ter sequências de entrada mais longas também traz novos recursos ao Code Llama. Por exemplo, os usuários podem fornecer modelos com mais contexto de sua base de código para tornar o código gerado mais relevante.

Vale a pena mencionar que Meta aprimorou ainda mais o Code Llama com duas variantes adicionais: **Code Llama - Python e Code Llama - Instruct. **

Code Llama-Python é uma variante do Code Llama, que é ainda mais aprimorado no token 100B do código Python. A tabela a seguir é o conjunto de dados de treinamento do Code Llama-Python.

Code Llama - Instruct é uma variante alinhada e ajustada por instruções do Code Llama para melhor compreensão dos prompts de entrada. Meta recomenda usar a variante Code Llama - Instruct ao usar Code Llama para geração de código, porque Code Llama - Instruct foi ajustado para gerar respostas úteis e seguras em linguagem natural.

Meta afirmou que não recomenda o uso de Code Llama ou Code Llama - Python para tarefas gerais de linguagem natural porque nenhum dos modelos foi projetado para seguir instruções de linguagem natural. Code Llama foi projetado para tarefas específicas de código e não é adequado como modelo base para outras tarefas.

Ao usar modelos Code Llama, os usuários devem obedecer à Política de Licença e Uso.

Como funciona o Code Llama

Meta usa dois benchmarks de codificação Humano e MBPP (Mostly Basic Python Programming) para teste. Entre eles, o modelo de teste Humano é baseado na capacidade da string do documento (docstrings) de completar o código, e o modelo de teste MBPP é baseado na capacidade de descrever o código.

Os resultados mostram que o Code Llama supera LLMs de código aberto específicos para tarefas de código e supera seu próprio Llama2. Por exemplo, Code Llama 34B pontua 53,7% em Human e 56,2% em MBPP, que é o melhor em comparação com outras soluções de código aberto de última geração e comparável ao ChatGPT.

No entanto, o Code Llama também apresenta riscos. Meta disse que construir um modelo de IA responsável é crucial, e eles tomaram muitas medidas de segurança antes de lançar o Code Llama. Como parte de um esforço de teste da equipe vermelha, a Meta conduziu uma avaliação quantitativa do risco do Code Llama gerar código malicioso. Eles criaram dicas na tentativa de fazer com que o modelo gerasse código malicioso e compararam as respostas do Code Llama a essas dicas com o ChatGPT (GPT3.5 Turbo). Acontece que a resposta do Code Llama é mais segura.

Deste ponto de vista, o Llama 2, cuja capacidade de codificação não é particularmente forte, foi preenchido pelo Code Llama. Meta espera que o surgimento do Code Llama inspire outros pesquisadores a criar ferramentas novas e inovadoras para pesquisa e produtos comerciais baseados no Llama 2.

Link de referência:

Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)