A família Coder adicionou um novo membro e seu código é aberto!
Quais grandes ferramentas de modelo você conhece sobre edição de código?
O usuário do Twitter @lvwerra criou a imagem abaixo para classificar a maioria dos membros da família de códigos.
Apenas duas semanas depois de divulgar esta foto, três novos membros se juntaram à família: DeciCoder, OctoCoder e o último membro SQLCoder.
Entre eles, o membro mais recente SQLCoder não só tem excelente desempenho, mas também é de código aberto!
SQLCoder
Como modelo de linguagem SOTA em larga escala, o SQLCoder converte questões de linguagem natural em consultas SQL. No SQL, a estrutura de avaliação de código aberto do desenvolvedor, o SQLCoder supera significativamente todos os principais modelos de código aberto e supera o GPT-3.5 da OpenAI.
SQLCoder é um parâmetro LLM de 15B e também uma implementação ajustada de StarCoder. SQLCoder é ajustado em consultas SQL feitas à mão de dificuldade crescente. Quando ajustado para um único esquema de banco de dados, seu desempenho é comparável ou até melhor que o GPT-4.
*endereço do projeto:
*Endereço de demonstração:
Peso do modelo:
Nos últimos três meses, o SQLCoder foi implantado em empresas médicas, financeiras e outras. Essas empresas geralmente têm dados confidenciais que não desejam fora de seus próprios servidores; portanto, utilizar um modelo auto-hospedado é a única maneira de usar o LLM.
metodo
criar conjunto de dados
Os autores criaram um conjunto de dados de par de conclusão editado manualmente, com foco em tarefas de texto para SQL. O conjunto de dados foi criado a partir de 10 padrões diferentes, com questões de dificuldade variada. Além disso, eles criaram um conjunto de dados de avaliação de 175 questões de 7 novos padrões.
Eles garantiram que esquemas complexos com 4 a 20 tabelas fossem selecionados nos conjuntos de dados de treinamento e avaliação, uma vez que esquemas com apenas 1 ou 2 tabelas tendiam a permitir consultas simples e diretas devido a relacionamentos limitados.
categoria de pergunta
Após a criação do conjunto de dados, o autor classificou cada questão do conjunto de dados em quatro categorias: fácil, médio, difícil e extremamente difícil. Essa categorização é feita adaptando os critérios utilizados pelo conjunto de dados Spider para medir a dificuldade do SQL. Finalmente, eles dividiram o conjunto de dados em duas subseções distintas, fácil e moderada, e difícil e superdifícil.
afinação
Os autores ajustaram o modelo nas duas etapas seguintes.
Primeiro, o modelo básico do StarCoder foi ajustado apenas em problemas de dificuldade fácil e moderada.
Em segundo lugar, o modelo obtido (codificado como defog-easy) é ajustado em problemas difíceis e superdifíceis para obter o SQLcoder.
Avalie
Os autores avaliaram o modelo em um conjunto de dados personalizado que eles mesmos criaram. Avaliar a exatidão das consultas SQL é muito difícil, eles consideraram usar o GPT-4 como padrão de avaliação, mas encontraram muitos problemas. Ao longo do caminho, eles também perceberam que duas consultas SQL diferentes poderiam estar corretas.
Para a pergunta "quem são os últimos 10 usuários de Toronto", ambos os formulários de consulta a seguir estão corretos.
Diante disso, os autores construíram uma estrutura customizada para avaliar a correção da consulta. Eles não apenas abriram o código-fonte dos pesos do modelo, mas também abriram o código-fonte da estrutura de avaliação e do conjunto de dados de avaliação.
O objetivo de liberar o conjunto de dados é enriquecer os benchmarks disponíveis e ajudar pesquisadores e engenheiros a entender melhor o desempenho dos modelos generativos de texto para SQL, especialmente a resposta do modelo a alterações inócuas nos resultados retornados, como renomeação de colunas, acréscimo de colunas e reordenação) robustez.
Mais detalhes sobre a avaliação podem ser encontrados no conteúdo do blog:
desempenho
Na estrutura de avaliação, o Defog SQLCoder supera todos os modelos principais, exceto GPT-4. Em particular, ele supera o gpt-3.5-turbo e o text-davinci-003, que têm mais de 10 vezes o tamanho dos dois modelos.
Esses resultados são para um banco de dados SQL genérico e não refletem o desempenho do SQLCoder em um único esquema de banco de dados. Ao ajustar um único esquema de banco de dados, o SQLCoder tem desempenho igual ou melhor que o GPT-4 da OpenAI com menor latência (no A100 80 GB).
*Divide cada questão gerada em 5 categorias e mostra a porcentagem de questões respondidas corretamente por cada modelo por categoria. *
Requisitos de Hardware do SQLCoder
O SQLCoder foi testado em uma GPU A100 de 40 GB com pesos. Você também pode carregar versões quantizadas de 8 e 4 bits do modelo em GPUs de consumo com 20 GB ou mais de memória, como RTX 4090, RTX 3090 e chips M2 Pro, M2 Max ou M2 Ultra da Apple com 20 GB ou mais de memória.
O próximo trabalho
Nas próximas semanas, o autor fará as seguintes atualizações no SQLCoder:
Treine o modelo com mais dados coletados por humanos e uma gama mais ampla de perguntas;
Ajustar ainda mais o modelo usando modelagem de recompensa e RLHF;
Pré-treinar um modelo (SQL + Python) especializado em análise de dados do zero.
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.
A capacidade única do modelo 15B ultrapassou o GPT3.5 e o SQLCoder de código aberto foi empregado
Quais grandes ferramentas de modelo você conhece sobre edição de código?
O usuário do Twitter @lvwerra criou a imagem abaixo para classificar a maioria dos membros da família de códigos.
SQLCoder
Como modelo de linguagem SOTA em larga escala, o SQLCoder converte questões de linguagem natural em consultas SQL. No SQL, a estrutura de avaliação de código aberto do desenvolvedor, o SQLCoder supera significativamente todos os principais modelos de código aberto e supera o GPT-3.5 da OpenAI.
SQLCoder é um parâmetro LLM de 15B e também uma implementação ajustada de StarCoder. SQLCoder é ajustado em consultas SQL feitas à mão de dificuldade crescente. Quando ajustado para um único esquema de banco de dados, seu desempenho é comparável ou até melhor que o GPT-4.
Nos últimos três meses, o SQLCoder foi implantado em empresas médicas, financeiras e outras. Essas empresas geralmente têm dados confidenciais que não desejam fora de seus próprios servidores; portanto, utilizar um modelo auto-hospedado é a única maneira de usar o LLM.
metodo
criar conjunto de dados
Os autores criaram um conjunto de dados de par de conclusão editado manualmente, com foco em tarefas de texto para SQL. O conjunto de dados foi criado a partir de 10 padrões diferentes, com questões de dificuldade variada. Além disso, eles criaram um conjunto de dados de avaliação de 175 questões de 7 novos padrões.
Eles garantiram que esquemas complexos com 4 a 20 tabelas fossem selecionados nos conjuntos de dados de treinamento e avaliação, uma vez que esquemas com apenas 1 ou 2 tabelas tendiam a permitir consultas simples e diretas devido a relacionamentos limitados.
categoria de pergunta
Após a criação do conjunto de dados, o autor classificou cada questão do conjunto de dados em quatro categorias: fácil, médio, difícil e extremamente difícil. Essa categorização é feita adaptando os critérios utilizados pelo conjunto de dados Spider para medir a dificuldade do SQL. Finalmente, eles dividiram o conjunto de dados em duas subseções distintas, fácil e moderada, e difícil e superdifícil.
afinação
Os autores ajustaram o modelo nas duas etapas seguintes.
Primeiro, o modelo básico do StarCoder foi ajustado apenas em problemas de dificuldade fácil e moderada.
Em segundo lugar, o modelo obtido (codificado como defog-easy) é ajustado em problemas difíceis e superdifíceis para obter o SQLcoder.
Avalie
Os autores avaliaram o modelo em um conjunto de dados personalizado que eles mesmos criaram. Avaliar a exatidão das consultas SQL é muito difícil, eles consideraram usar o GPT-4 como padrão de avaliação, mas encontraram muitos problemas. Ao longo do caminho, eles também perceberam que duas consultas SQL diferentes poderiam estar corretas.
Para a pergunta "quem são os últimos 10 usuários de Toronto", ambos os formulários de consulta a seguir estão corretos.
O objetivo de liberar o conjunto de dados é enriquecer os benchmarks disponíveis e ajudar pesquisadores e engenheiros a entender melhor o desempenho dos modelos generativos de texto para SQL, especialmente a resposta do modelo a alterações inócuas nos resultados retornados, como renomeação de colunas, acréscimo de colunas e reordenação) robustez.
desempenho
Na estrutura de avaliação, o Defog SQLCoder supera todos os modelos principais, exceto GPT-4. Em particular, ele supera o gpt-3.5-turbo e o text-davinci-003, que têm mais de 10 vezes o tamanho dos dois modelos.
Requisitos de Hardware do SQLCoder
O SQLCoder foi testado em uma GPU A100 de 40 GB com pesos. Você também pode carregar versões quantizadas de 8 e 4 bits do modelo em GPUs de consumo com 20 GB ou mais de memória, como RTX 4090, RTX 3090 e chips M2 Pro, M2 Max ou M2 Ultra da Apple com 20 GB ou mais de memória.
O próximo trabalho
Nas próximas semanas, o autor fará as seguintes atualizações no SQLCoder: