Codificação mais precisa: os pesquisadores adaptam o sequencial Monte Carlo para o código gerado pela AI


Participe de nossos boletins diários e semanais para obter as atualizações mais recentes e conteúdo exclusivo sobre a cobertura de IA líder do setor. Saber mais


Codificar com a ajuda dos modelos de IA continua a ganhar popularidade, mas muitos têm destacado problemas Isso surge quando os desenvolvedores dependem de assistentes de codificação.

No entanto, pesquisadores de COMAssim, Universidade McGillAssim, Eth ZuriqueAssim, Universidade Johns HopkinsAssim, Yale e o Instituto de Inteligência Artificial Mila-Quebec desenvolveram um novo método para garantir que os códigos gerados pela IA sejam mais precisos e úteis. Este método abrange várias linguagens de programação e instrui o Modelo de Linguagem Grande (LLM) a aderir às regras de cada idioma.

O grupo constatou que, ao adaptar novos métodos de amostragem, os modelos de IA podem ser orientados a seguir as regras da linguagem de programação e até melhorar o desempenho de modelos de idiomas pequenos (SLMs), que normalmente são usados ​​para geração de código, superando o de grandes modelos de idiomas.

No papelos pesquisadores usaram o sequencial Monte Carlo (SMC) para “enfrentar vários problemas desafiadores de análise semântica, orientando a geração com uma análise estática e dinâmica incremental”. Monte Carlo sequencial refere -se a uma família de algoritmos que ajudam a descobrir soluções para filtrar problemas.

João Loula, co-escritor do jornal, disse em entrevista a Papel do campus do MIT que o método “poderia melhorar os assistentes de programação, a análise de dados alimentada por IA e as ferramentas de descoberta científica”. Também pode cortar custos de computação e ser mais eficiente do que os métodos de reranger.

Os pesquisadores observaram que o código gerado pela IA pode ser poderoso, mas também pode levar ao código que desconsidera as regras semânticas das linguagens de programação. Outros métodos para evitar isso podem distorcer modelos ou consumir muito tempo.

Seu método faz com que o LLM siga as regras da linguagem de programação, descartando saídas de código que podem não funcionar no início do processo e “alocar esforços para resultados com maior probabilidade de serem válidos e precisos”.

Adaptando SMC à geração de código

Os pesquisadores desenvolveram uma arquitetura que traz SMC para a geração de codificação “sob diversas restrições sintáticas e semânticas”.

“Ao contrário de muitas estruturas anteriores para decodificação restrita, nosso algoritmo pode integrar restrições que não podem ser avaliadas de forma incremental em todo o vocabulário de token, bem como restrições que só podem ser avaliadas em intervalos irregulares durante a geração”, disseram os pesquisadores no artigo.

Os principais recursos da adaptação da amostragem SMC à geração de modelos incluem distribuição de propostas, onde a amostragem de token por toque é guiada por restrições baratas, pesos importantes que corrigem para vieses e reamostrações que reallocam o esforço de computação para gerações parciais.

Os pesquisadores observaram que, embora a SMC possa orientar modelos para um código mais correto e útil, eles reconheceram que o método pode ter alguns problemas.

“Embora a amostragem de importância aborda várias deficiências da decodificação local, ela também sofre de uma grande fraqueza: as correções de peso e os potenciais caros não são integrados até que uma sequência completa seja gerada a partir da proposta. Isso é embora, embora informações críticas sobre se uma sequência pode satisfazer uma restrição, disse -se muitas vezes muito mais cedo e pode ser usado para evitar grandes quantidades de computação desnecessária.

Teste de modelo

Para provar sua teoria, Loula e sua equipe executaram experimentos para verificar se o SMC para projetar o código mais preciso funciona.

Essas experiências foram:

  • Geração de código Python em tarefas de ciência de dados, que usaram o LLAMA 3 70B para codificar linha por linha e testar versões iniciais
  • Geração de texto para SQL com llama 3 8b- Instruto
  • Inferência de metas no planejamento de tarefas para prever a condição de meta de um agente e também usou a llama 3 8b
  • Síntese molecular para descoberta de medicamentos

Eles descobriram que o uso do SMC melhorou os modelos de linguagem pequena, a precisão e a robustez aprimoradas e superaram modelos maiores.

Por que é importante

Os modelos de IA fizeram com que os engenheiros e outros codificadores funcionassem mais rapidamente e com mais eficiência. Também é dado origem a um novo tipo de engenheiro de software: o codificador da vibração. Mas Houve preocupações Sobre a qualidade do código, falta de suporte para codificação mais complexa e custos de computação para geração simples de código.

Novos métodos, como a adaptação do SMC, podem tornar a codificação de IA mais útil e permitir que os engenheiros confiem no código gerado por modelos mais.

Outras empresas exploraram maneiras de melhorar o código gerado pela IA. Juntos ai e Agente lançado Deepcoder-14bque aproveita menos parâmetros. Google também melhorou o seu Recurso de assistência ao código Para ajudar a melhorar a qualidade do código.


Comentários

Deixe um comentário

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