Salesforce AI Research propõe PerfCodeGen: uma estrutura sem treinamento que melhora o desempenho do código gerado pelo LLM por meio de feedback de uso
Inteligência artificial

Salesforce AI Research propõe PerfCodeGen: uma estrutura sem treinamento que melhora o desempenho do código gerado pelo LLM por meio de feedback de uso


Modelos de linguagem em larga escala (LLMs) tornaram-se ferramentas importantes no desenvolvimento de software, fornecendo recursos como geração de trechos de código, testes unitários automatizados e depuração. No entanto, esses modelos muitas vezes não conseguem produzir código que não seja apenas funcionalmente ineficiente, mas também eficiente em tempo de execução. A previsão excessiva da eficiência do tempo de execução pode levar a software ineficiente, aumentar os custos operacionais e impactar a experiência do usuário. Esta questão é particularmente relevante para desenvolvedores menos experientes, que podem confiar no código de IA sugerido sem compreender totalmente as suas implicações. A Salesforce Research aborda esses desafios com PerfCodeGen, uma estrutura que visa melhorar a correção e o desempenho do código gerado pelo LLM.

PerfCodeGen para Salesforce AI é uma estrutura de treinamento gratuita projetada para melhorar a eficiência do tempo de execução do código gerado pelo LLM. Isso é conseguido usando feedback de desempenho em um processo iterativo de autocorreção. Ao contrário dos métodos que precisam ser ajustados com extensos dados de treinamento, o PerfCodeGen usa um ciclo de feedback que avalia e refina o código com base nas métricas de tempo de execução durante a execução do teste. A estrutura opera em duas fases principais: refinar a precisão e melhorar a eficiência. Inicialmente, garante que o código gerado atenda aos requisitos de desempenho, solucionando os problemas identificados nos testes unitários. Uma vez confirmada a precisão, a estrutura se concentra na eficiência do tempo de execução, otimizando o código identificando e refinando casos de teste que consomem muitos recursos. Este processo iterativo resulta em soluções corretas e eficientes.

Detalhes técnicos e benefícios

PerfCodeGen integra-se aos fluxos de trabalho LLM existentes e começa gerando várias soluções candidatas usando um núcleo de amostra. Na primeira fase, esses alunos são avaliados quanto à precisão por meio de testes unitários. O feedback dos testes que falharam é usado para refinar as soluções. Uma vez confirmada a correção da operação, o framework passa para a segunda etapa, analisando as métricas de tempo de execução para identificar gargalos. Essas informações são então usadas para melhorar ainda mais o código, concentrando-se nos casos de teste mais demorados.

Este processo de duas etapas aumenta as chances de produção de programas de alto desempenho. A metodologia do PerfCodeGen mostra métodos para depuração e otimização humana, tornando-a eficiente e precisa. Além disso, a dependência da estrutura no feedback, em vez da reciclagem, permite que ela seja acessível a uma variedade de LLMs e domínios de aplicação. Ele mostrou melhorias consistentes na eficiência e precisão do tempo de execução em modelos como Phi-3-mini, Llama 3 e GPT-4.

PerfCodeGen foi testado em benchmarks como HumanEval, MBPP e APPS, demonstrando sua eficácia:

  1. Desempenho de tempo de atividade: No HumanEval, a taxa de melhoria do GPT-4 (%Opt) aumentou de 24,54% para 28,83% com PERFCODEGEN, com melhorias semelhantes observadas em todos os modelos.
  2. Desenvolvimento da Justiça: Para MBPP, a taxa de acerto do GPT-3,5 (%Correto) aumentou de 66,38% para 73,36% para uma amostra (Melhor@1).
  3. Fato mundial mais prático: PERFCODEGEN permitiu que LLMs gerassem soluções que superam a verdade em aproximadamente 55% das tarefas HumanEval e 67% das tarefas MBPP.
  4. Escalabilidade: Modelos abertos como Phi-3-mini e Mixtral alcançaram desempenho em comparação com modelos fechados como GPT-3.5 e GPT-4.

Esses resultados destacam a capacidade do PERFCODEGEN de medir a correção e a eficiência do tempo de execução, tornando-o uma adição valiosa aos fluxos de trabalho de geração de código orientados por LLM.

Conclusão:

PerfCodeGen fornece uma solução eficaz para a principal limitação dos LLMs atuais: seu foco na precisão em detrimento da eficiência do tempo de execução. Ao integrar feedback de desempenho em um processo de desenvolvimento iterativo, o PerfCodeGen permite a geração de código preciso e eficiente. Essa abordagem melhora a usabilidade dos LLMs no desenvolvimento de software, fornecendo aos desenvolvedores as ferramentas para produzir código de alta qualidade sem amplo treinamento. O sucesso do quadro em vários parâmetros de referência demonstra o seu potencial como um passo em frente na criação de soluções de programação orientadas por IA eficientes, fiáveis ​​e acessíveis.


Confira Página de papel e GitHub. Todo o crédito deste estudo vai para os pesquisadores deste projeto. Além disso, não se esqueça de nos seguir Twitter e junte-se ao nosso Estação telefônica de novo LinkedIn Gracima. Não se esqueça de participar do nosso SubReddit de 65k + ML.

🚨 Recomendar plataforma de código aberto: Parlant é uma estrutura que muda a forma como os agentes de IA tomam decisões em situações voltadas para o cliente. (Promovido)


Asif Razzaq é o CEO da Marktechpost Media Inc. Como empresário e engenheiro visionário, Asif está empenhado em aproveitar o poder da Inteligência Artificial em benefício da sociedade. Seu mais recente empreendimento é o lançamento da Plataforma de Mídia de Inteligência Artificial, Marktechpost, que se destaca por sua ampla cobertura de histórias de aprendizado de máquina e aprendizado profundo que parecem tecnicamente sólidas e facilmente compreendidas por um amplo público. A plataforma possui mais de 2 milhões de visualizações mensais, o que mostra sua popularidade entre os telespectadores.

📄 Conheça 'Height': ferramenta independente de gerenciamento de projetos (patrocinado)



Source link

Você também pode gostar...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *