Tornando o código gerado pela IA mais preciso em qualquer idioma | MIT Information



Tornando o código gerado pela IA mais preciso em qualquer idioma | MIT Information

Os programadores agora podem usar modelos de linguagem grandes (LLMs) para gerar código do computador mais rapidamente. No entanto, isso apenas facilita a vida dos programadores se esse código seguir as regras da linguagem de programação e não causar falhas no computador.

Alguns métodos existem para garantir que os LLMs estão em conformidade com as regras de qualquer idioma em que estejam gerando texto, mas muitos desses métodos distorcem o significado pretendido do modelo ou consomem muito tempo para serem viáveis ​​para tarefas complexas.

Uma nova abordagem desenvolvida por pesquisadores do MIT e de outros lugares orienta automaticamente um LLM para gerar texto que adere às regras do idioma relevante, como uma linguagem de programação específica e também é livre de erros. Seu método permite que um LLM aloque esforços para saídas com maior probabilidade de serem válidas e precisas, ao mesmo tempo em que descartam saídas pouco promissoras no início do processo. Essa abordagem probabilística aumenta a eficiência computacional.

Devido a esses ganhos de eficiência, a arquitetura dos pesquisadores permitiu que os pequenos LLMs superem modelos muito maiores na geração de saídas precisas e adequadamente estruturadas para vários casos de uso do mundo actual, incluindo biologia molecular e robótica.

A longo prazo, essa nova arquitetura pode ajudar a não expor a controlar o conteúdo gerado pela IA. Por exemplo, poderia permitir que os empresários escrevam consultas complexas no SQL, um idioma para manipulação de banco de dados, usando apenas os avisos de linguagem pure.

“Este trabalho tem implicações além da pesquisa. Pode melhorar os assistentes de programação, a análise de dados movidos a IA e as ferramentas de descoberta científica, garantindo que os resultados gerados pela IA permaneçam úteis e corretos”, diz João Loula, um estudante de pós-graduação do MIT e co-líder de um artigo sobre essa estrutura.

Loula se junta ao artigo dos autores co-líder Benjamin Lebrun, assistente de pesquisa do Instituto de Inteligência Synthetic Mila-Quebec, e Li Du, estudante de pós-graduação da Universidade John Hopkins; Os autores co-senior Vikash Mansinghka ’05, Meng ’09, PhD ’09, um cientista de pesquisa principal e líder do Projeto de Computação Probabilística no Departamento de Ciências Cerebrais e Cognitivas do MIT; Alexander Ok. Lew SM ’20, professor assistente da Universidade de Yale; Tim Vieira, um pós -doutorado em Eth Zurique; e Timothy J. O’Donnell, professor associado da McGill College e presidente do Canadá Cifar AI em Mila, que liderou a equipe internacional; bem como vários outros. A pesquisa será apresentada na Conferência Internacional sobre Representações de Aprendizagem.

Exibir estrutura e significado

Uma abordagem comum para controlar o texto estruturado gerado pelo LLMS envolve verificar uma saída inteira, como um bloco de código do computador, para garantir que seja válido e será executado livre de erros. Caso contrário, o usuário deve começar de novo, acumulando recursos computacionais.

Por outro lado, um programador pode parar para verificar a saída ao longo do caminho. Embora isso possa garantir que o código adere à linguagem de programação e seja estruturalmente válido, corrigindo incrementalmente o código pode fazer com que ele se desvie do significado que o usuário pretendia, prejudicando sua precisão a longo prazo.

“É muito mais fácil aplicar a estrutura do que o significado. Podemos verificar rapidamente se algo está na linguagem de programação certa, mas verificar o significado que você precisa executar o código. Nosso trabalho também é sobre lidar com esses diferentes tipos de informações”, diz Loula.

A abordagem dos pesquisadores envolve o conhecimento de engenharia no LLM para direcioná -lo para os resultados mais promissores. É mais provável que essas saídas sigam as restrições estruturais definidas por um usuário e ter o significado que o usuário pretende.

“Não estamos tentando treinar um LLM para fazer isso. Em vez disso, estamos projetando algum conhecimento que um especialista teria e combiná -lo com o conhecimento do LLM, que oferece uma abordagem muito diferente para escalar do que você vê no aprendizado profundo”, acrescenta Mansinghka.

Eles conseguem isso usando uma técnica chamada sequencial Monte Carlo, que permite que a geração paralela de um LLM competam entre si. O modelo aloca dinamicamente os recursos para diferentes encadeamentos de computação paralela, com base em como sua saída é promissora.

Cada saída recebe um peso que representa a probabilidade de ser estruturalmente válido e semanticamente preciso. Em cada etapa do cálculo, o modelo se concentra naqueles com pesos mais altos e joga fora o resto.

Em certo sentido, é como se o LLM tivesse um especialista olhando por cima do ombro para garantir que ele faça as escolhas certas a cada etapa, mantendo -o focado no objetivo geral. O usuário especifica a estrutura e o significado desejados, bem como como verificar a saída, a arquitetura dos pesquisadores orienta o LLM a fazer o restante.

“Nós elaboramos a matemática duro para que, para qualquer tipo de restrições que você gostaria de incorporar, você terá os pesos adequados. No closing, você obtém a resposta certa”, diz Loula.

Impulsionando pequenos modelos

Para testar sua abordagem, eles aplicaram a estrutura ao LLMS encarregado de gerar quatro tipos de saídas: código Python, consultas de banco de dados SQL, estruturas moleculares e planos para um robô seguir.

Quando comparados às abordagens existentes, o método dos pesquisadores teve um desempenho mais precisos, exigindo menos computação.

Na geração de código Python, por exemplo, a arquitetura dos pesquisadores permitiu que um modelo pequeno e de código aberto supere um modelo especializado e comercial de código fechado que é mais que o dobro de seu tamanho.

“Estamos muito empolgados por podermos permitir que esses pequenos modelos dêem muito acima do peso”, diz Loula.

Avançando, os pesquisadores querem usar sua técnica para controlar pedaços maiores de texto gerado, em vez de trabalhar um pequeno pedaço de cada vez. Eles também desejam combinar seu método com o aprendizado, para que, ao controlar as saídas que um modelo gera, ele aprenda a ser mais preciso.

A longo prazo, esse projeto pode ter aplicativos mais amplos para usuários não técnicos. Por exemplo, pode ser combinado com sistemas para Modelagem de dados automatizadae Consultando modelos generativos de bancos de dados.

A abordagem também pode permitir sistemas de análise de dados assistidos por máquina, onde o usuário pode conversar com software program que modela com precisão o significado dos dados e as perguntas feitas pelo usuário, adiciona Mansinghka.

“Uma das questões fundamentais da linguística é como o significado de palavras, frases e frases pode ser fundamentado em modelos do mundo, representando a incerteza e a imprecisão em significado e referência. LLMS, prevendo que sequências de token não abordam esse problema. Nosso artigo mostra que, em símbolos estreitos. Linguística e inteligência synthetic necessárias para entender como as máquinas podem se comunicar sobre o mundo como nós ”, diz O’Donnell.

Esta pesquisa é financiada, em parte, pelo Programa de Cadeiras do Canadá Cifar AI e pela Siegel Household Basis, por meio de presente para a busca da família MIT Siegel por inteligência.

Deixe um comentário

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