Eu ontem: o LLM de código aberto vencerá o GPT-4 em alguns meses para geração de código. Eu agora: Hoje, na verdade.
Ontem, o código-fonte aberto Meta Llama, um modelo básico especializado em geração de código, é gratuito para pesquisa e fins comerciais.
Existem três versões de parâmetros da série de modelos Code Llama, o número de parâmetros é 7B, 13B e 34B. E suporta várias linguagens de programação, incluindo Python, C++, Java, PHP, Type (Java), C# e Bash.
As versões do Code Llama fornecidas pela Meta incluem:
Code Llama, o modelo básico de código;
Code Llama-Python, uma versão aprimorada do Python;
Code Llama-Instruct, uma versão aprimorada de instruções em linguagem natural.
Em termos de efeito, diferentes versões do Code Llama têm uma taxa de aprovação de geração (pass@1) em conjuntos de dados Humanos e MBPP que ultrapassa 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%). No entanto, Meta não lançou esta versão, mas obteve melhorias significativas de desempenho através do treinamento com uma pequena quantidade de dados codificados de alta qualidade.
Fonte:
Pouco depois de um dia, alguns pesquisadores desafiaram o GPT-4. Eles vêm da Phind (uma organização que visa construir um mecanismo de busca de IA para desenvolvedores), que superou o GPT-4** na avaliação humana com o **Código Llama-34B ajustado.
O cofundador da Phind, Michael Royzen, disse: “Este é apenas um experimento inicial que visa reproduzir (e superar) os resultados do “Unnatural Code Llama” no artigo Meta. No futuro, teremos um portfólio especializado de diferentes modelos CodeLlama que acredito que serão competitivos em fluxos de trabalho do mundo real. "
Ambos os modelos foram de código aberto:
Os pesquisadores publicaram esses dois modelos no Huggingface e todos podem conferir.
Phind-CodeLlama-34B-v1:
Phind-CodeLlama-34B-Python-v1:
A seguir, vamos ver como essa pesquisa foi implementada.
** Ajuste o Code Llama-34B para vencer o GPT-4**
Vejamos os resultados primeiro. Este estudo ajustou Code Llama-34B e Code Llama-34B-Python com o conjunto de dados interno de Phind e obteve dois modelos, Phind-CodeLlama-34B-v1 e Phind-CodeLlama-34B-Python-v1, respectivamente.
Os dois modelos recém-obtidos alcançaram 67,6% e 69,5% de aprovação, respectivamente, em Humano.
Para efeito de comparação, CodeLlama-34B pass@1 é 48,8%; CodeLlama-34B-Python pass@1 é 53,7%.
E o GPT-4 pass@1 em Humano é de 67% (dados divulgados pela OpenAI no "Relatório Técnico GPT-4" divulgado em março deste ano).
Fonte:
Fonte:
Quando se trata de ajuste fino, os conjuntos de dados são essenciais, e este estudo ajustou o Code Llama-34B e o Code Llama-34B-Python em um conjunto de dados proprietário contendo aproximadamente 80.000 problemas e soluções de programação de alta qualidade.
Em vez de exemplos de conclusão de código, este conjunto de dados usa pares instrução-resposta, o que é diferente da estrutura de dados Humanos. O estudo então treinou o modelo Phind para duas épocas, com um total de cerca de 160.000 exemplos. Os pesquisadores afirmaram que a tecnologia LoRA não foi utilizada no treinamento, mas sim o ajuste fino local.
Além disso, a pesquisa também adotou as tecnologias DeepSpeed ZeRO 3 e Flash Attention 2. Eles passaram três horas em 32 GPUs A100-80GB para treinar esses modelos com um comprimento de sequência de 4.096 tokens.
Além disso, o estudo aplicou o método de descontaminação da OpenAI ao conjunto de dados para tornar os resultados do modelo mais eficazes.
Como todos sabemos, mesmo o muito poderoso GPT-4 enfrentará o dilema da poluição de dados.Em termos leigos, o modelo treinado pode ter sido treinado nos dados de avaliação.
Este problema é muito complicado para o LLM, por exemplo, no processo de avaliação do desempenho de um modelo, para fazer uma avaliação cientificamente credível, o pesquisador deve verificar se o problema utilizado para avaliação está nos dados de treinamento do modelo. Nesse caso, o modelo pode se lembrar dessas questões e, ao avaliar o modelo, obviamente terá um desempenho melhor nessas questões específicas.
É como se uma pessoa já conhecesse as questões do exame antes de fazer o exame.
Para resolver este problema, a OpenAI divulgou como o GPT-4 avalia a poluição de dados no documento técnico público do GPT-4 "Relatório Técnico do GPT-4". eles tornaram isso público
Estratégias para quantificar e avaliar esta poluição de dados.
Especificamente, o OpenAI usa correspondência de substring para medir a contaminação cruzada entre o conjunto de dados de avaliação e os dados de pré-treinamento. Os dados de avaliação e de treinamento são processados removendo todos os espaços e símbolos, deixando apenas caracteres (incluindo números).
Para cada exemplo de avaliação, o OpenAI seleciona aleatoriamente três substrings de 50 caracteres (ou usa o exemplo inteiro se houver menos de 50 caracteres). Uma correspondência será determinada se qualquer uma das três substrings de avaliação amostradas for uma substring do exemplo de treinamento processado.
Isso produz uma lista de exemplos contaminados, que a OpenAI descarta e executa novamente para obter uma pontuação não contaminada. Mas este método de filtragem tem algumas limitações: a correspondência de substring pode levar a falsos negativos (se houver pequenas diferenças entre os dados de avaliação e de treinamento), bem como a falsos positivos. Assim, a OpenAI utiliza apenas parte da informação nos exemplos de avaliação, utilizando apenas perguntas, contexto ou dados equivalentes, mas ignorando respostas, respostas ou dados equivalentes. Em alguns casos, as opções de múltipla escolha também foram excluídas. Essas exclusões podem levar ao aumento de falsos positivos.
Para esta parte, os leitores interessados podem consultar o artigo para obter mais informações.
Endereço do papel:
No entanto, há alguma controvérsia sobre a pontuação humana que Phind usou ao avaliar o GPT-4. Algumas pessoas dizem que a pontuação do último teste do GPT-4 atingiu 85%. Mas Phind respondeu que a pesquisa relevante que derivou esta pontuação não conduziu pesquisas sobre poluição, e era impossível determinar se o GPT-4 tinha visto os dados de teste de Humanos ao passar por uma nova rodada de testes. Considerando algumas pesquisas recentes sobre "GPT-4 se tornando estúpido", é mais seguro usar os dados do relatório técnico original.
No entanto, considerando a complexidade da avaliação de modelos em larga escala, se estes resultados de avaliação podem refletir as verdadeiras capacidades do modelo ainda é uma questão controversa. Você pode baixar o modelo e experimentá-lo você mesmo.
Um dia após o lançamento, a capacidade de codificação do Code Llama melhorou muito, e a versão ajustada do Human_ obteve pontuação superior ao GPT-4
Ontem, o código-fonte aberto Meta Llama, um modelo básico especializado em geração de código, é gratuito para pesquisa e fins comerciais.
Existem três versões de parâmetros da série de modelos Code Llama, o número de parâmetros é 7B, 13B e 34B. E suporta várias linguagens de programação, incluindo Python, C++, Java, PHP, Type (Java), C# e Bash.
As versões do Code Llama fornecidas pela Meta incluem:
Em termos de efeito, diferentes versões do Code Llama têm uma taxa de aprovação de geração (pass@1) em conjuntos de dados Humanos e MBPP que ultrapassa 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%). No entanto, Meta não lançou esta versão, mas obteve melhorias significativas de desempenho através do treinamento com uma pequena quantidade de dados codificados de alta qualidade.
Fonte:
Pouco depois de um dia, alguns pesquisadores desafiaram o GPT-4. Eles vêm da Phind (uma organização que visa construir um mecanismo de busca de IA para desenvolvedores), que superou o GPT-4** na avaliação humana com o **Código Llama-34B ajustado.
O cofundador da Phind, Michael Royzen, disse: “Este é apenas um experimento inicial que visa reproduzir (e superar) os resultados do “Unnatural Code Llama” no artigo Meta. No futuro, teremos um portfólio especializado de diferentes modelos CodeLlama que acredito que serão competitivos em fluxos de trabalho do mundo real. "
Ambos os modelos foram de código aberto:
Os pesquisadores publicaram esses dois modelos no Huggingface e todos podem conferir.
A seguir, vamos ver como essa pesquisa foi implementada.
** Ajuste o Code Llama-34B para vencer o GPT-4**
Vejamos os resultados primeiro. Este estudo ajustou Code Llama-34B e Code Llama-34B-Python com o conjunto de dados interno de Phind e obteve dois modelos, Phind-CodeLlama-34B-v1 e Phind-CodeLlama-34B-Python-v1, respectivamente.
Os dois modelos recém-obtidos alcançaram 67,6% e 69,5% de aprovação, respectivamente, em Humano.
Para efeito de comparação, CodeLlama-34B pass@1 é 48,8%; CodeLlama-34B-Python pass@1 é 53,7%.
E o GPT-4 pass@1 em Humano é de 67% (dados divulgados pela OpenAI no "Relatório Técnico GPT-4" divulgado em março deste ano).
Fonte:
Fonte:
Quando se trata de ajuste fino, os conjuntos de dados são essenciais, e este estudo ajustou o Code Llama-34B e o Code Llama-34B-Python em um conjunto de dados proprietário contendo aproximadamente 80.000 problemas e soluções de programação de alta qualidade.
Em vez de exemplos de conclusão de código, este conjunto de dados usa pares instrução-resposta, o que é diferente da estrutura de dados Humanos. O estudo então treinou o modelo Phind para duas épocas, com um total de cerca de 160.000 exemplos. Os pesquisadores afirmaram que a tecnologia LoRA não foi utilizada no treinamento, mas sim o ajuste fino local.
Além disso, a pesquisa também adotou as tecnologias DeepSpeed ZeRO 3 e Flash Attention 2. Eles passaram três horas em 32 GPUs A100-80GB para treinar esses modelos com um comprimento de sequência de 4.096 tokens.
Além disso, o estudo aplicou o método de descontaminação da OpenAI ao conjunto de dados para tornar os resultados do modelo mais eficazes.
Como todos sabemos, mesmo o muito poderoso GPT-4 enfrentará o dilema da poluição de dados.Em termos leigos, o modelo treinado pode ter sido treinado nos dados de avaliação.
Este problema é muito complicado para o LLM, por exemplo, no processo de avaliação do desempenho de um modelo, para fazer uma avaliação cientificamente credível, o pesquisador deve verificar se o problema utilizado para avaliação está nos dados de treinamento do modelo. Nesse caso, o modelo pode se lembrar dessas questões e, ao avaliar o modelo, obviamente terá um desempenho melhor nessas questões específicas.
É como se uma pessoa já conhecesse as questões do exame antes de fazer o exame.
Para resolver este problema, a OpenAI divulgou como o GPT-4 avalia a poluição de dados no documento técnico público do GPT-4 "Relatório Técnico do GPT-4". eles tornaram isso público
Estratégias para quantificar e avaliar esta poluição de dados.
Especificamente, o OpenAI usa correspondência de substring para medir a contaminação cruzada entre o conjunto de dados de avaliação e os dados de pré-treinamento. Os dados de avaliação e de treinamento são processados removendo todos os espaços e símbolos, deixando apenas caracteres (incluindo números).
Para cada exemplo de avaliação, o OpenAI seleciona aleatoriamente três substrings de 50 caracteres (ou usa o exemplo inteiro se houver menos de 50 caracteres). Uma correspondência será determinada se qualquer uma das três substrings de avaliação amostradas for uma substring do exemplo de treinamento processado.
Isso produz uma lista de exemplos contaminados, que a OpenAI descarta e executa novamente para obter uma pontuação não contaminada. Mas este método de filtragem tem algumas limitações: a correspondência de substring pode levar a falsos negativos (se houver pequenas diferenças entre os dados de avaliação e de treinamento), bem como a falsos positivos. Assim, a OpenAI utiliza apenas parte da informação nos exemplos de avaliação, utilizando apenas perguntas, contexto ou dados equivalentes, mas ignorando respostas, respostas ou dados equivalentes. Em alguns casos, as opções de múltipla escolha também foram excluídas. Essas exclusões podem levar ao aumento de falsos positivos.
Para esta parte, os leitores interessados podem consultar o artigo para obter mais informações.
Endereço do papel:
No entanto, há alguma controvérsia sobre a pontuação humana que Phind usou ao avaliar o GPT-4. Algumas pessoas dizem que a pontuação do último teste do GPT-4 atingiu 85%. Mas Phind respondeu que a pesquisa relevante que derivou esta pontuação não conduziu pesquisas sobre poluição, e era impossível determinar se o GPT-4 tinha visto os dados de teste de Humanos ao passar por uma nova rodada de testes. Considerando algumas pesquisas recentes sobre "GPT-4 se tornando estúpido", é mais seguro usar os dados do relatório técnico original.
No entanto, considerando a complexidade da avaliação de modelos em larga escala, se estes resultados de avaliação podem refletir as verdadeiras capacidades do modelo ainda é uma questão controversa. Você pode baixar o modelo e experimentá-lo você mesmo.
Link de referência: