SuperLLaMA: Testando Inteligência Artificial Generativa em Modelos Open-Source

·

·

Leitura de 7 min

Leitura de 7 min

Hero image do post do blog
Hero image do post do blog

Por trás das notas de reunião do Supernormal está uma equipe de IA de classe mundial, com foco em ajudar todos a usar a IA para ter sucesso no trabalho. Além de desenvolver a tecnologia que alimenta os produtos Supernormal dos quais você depende, nossa equipe de IA trabalha em pesquisas de ponta para descobrir novas tecnologias que impulsionarão o Supernormal do futuro e contribuirão para o ecossistema de IA em geral. Nos últimos meses, nossa equipe tem experimentado o SuperLLaMA, um modelo personalizado construído pelo Supernormal com base no modelo de código aberto LLaMA.  

Como o Supernormal Funciona Hoje

Como qualquer participante de reunião, o notador de IA do Supernormal, Norm, participa da reunião. Ele então transcreve e usa vários serviços LLM (como OpenAI, PaLM, Claude) e modelos proprietários ajustados para gerar notas de reunião, incluindo um resumo e itens de ação. Os dois principais componentes de ML nesse fluxo de trabalho são o reconhecimento de fala (para transcrever reuniões) e os LLMs (para gerar notas de reunião a partir do discurso transcrito).

No Supernormal, executamos a transcrição da reunião em tempo real e usamos o texto transcrito para gerar notas a cada k minutos da reunião também em tempo real. Essa transcrição, juntamente com um prompt apropriado (dependendo do tipo de reunião), é então usada para gerar as notas da reunião.

Vantagens do Modelo de Código Aberto 

O estado da arte em aplicações de texto generativo em IA, como a sumarização de reuniões, atualmente é produzido principalmente por provedores como OpenAI no GPT-4 e GPT-3.5-Turbo. Esses modelos são fechados, acessados por meio de uma API e exigem uma frota de servidores dedicados para atender aos pedidos de inferência. No entanto, um memorando do Google recentemente vazado [Link] apontou para um possível futuro para texto gerado baseado em modelos de código aberto.

A recente pesquisa em modelos ajustados por instruções como Alpaca (LLaMA), Vicuna (LLaMA), Dolly (Pythia) mostrou grande promessa em uma variedade de tarefas. Muitos deles mostraram um desempenho equivalente a alguns dos modelos maiores como GPT-3.5, GPT-4 e PaLM. Usar modelos de código aberto tem várias vantagens, incluindo: 

  • Custos - Os serviços LLM cobram por nível de palavra e, para startups construídas em torno de LLMs, os custos de serviço são um fator importante. 

  • Customização - Modelos de código aberto podem ser treinados em dados internos e utilizados para proporcionar uma melhor experiência ao cliente, personalizando o modelo para necessidades específicas dos clientes.

  • Controle - O tempo de inatividade dos provedores de LLM tem um impacto direto em um produto dependente de LLM; usar modelos autossuficientes oferece mais controle e opções de plano de contingência.

Analisando os custos, a sumarização de uma reunião de uma hora é bastante cara. Se você deseja extrair itens de ação de alta qualidade, um resumo e outros detalhes importantes de uma reunião, pode esperar gastar mais de US$3 por reunião em custos de computação. 

Começamos perguntando o que seria necessário para fornecer a mesma qualidade de saída, mas usando apenas modelos que rodam no seu computador. A computação de borda (no seu laptop) elimina completamente os custos de computação, mas exigiria um pipeline completo de aprendizado de máquina que tenha:

  • Um modelo local de fala para texto.

  • Um modelo local de LLM para gerar o resumo das notas da reunião e os itens de ação a partir do texto transcrito.




Metas do Experimento

Como o LLaMA ainda não pode ser usado para fins comerciais, o objetivo deste experimento não era desenvolver um modelo comercial paralelo, mas explorar como o modelo se comporta em casos de uso interno. Com uma base de clientes crescente e mais de 2 milhões de notas por mês, desenvolver modelos locais poderia nos ajudar a resolver os problemas que delineamos acima. Para avaliar o modelo, decidimos (1) integrar Whisper + Diarização de Falantes + alimentar o áudio de entrada em uma demonstração de ponta a ponta e (2) ajustar o modelo LLaMA em notas anonimizadas.

Antecedentes dos LLMs

A maioria dos LLMs é construída com base em diferentes variações da arquitetura transformer proposta em 'Attention is All You Need' [Link]. Todos são treinados com o objetivo de prever a próxima palavra dada a sentença inicial. Isso pode ser comparado à função de sugestão de palavras-chave em celulares, onde o teclado sugere palavras à medida que digitamos. Os modelos são conhecidos como Modelos de Linguagem (LM) e, devido ao grande número de parâmetros nesses modelos, são referidos como Modelos de Linguagem de Grande Escala (LLMs).

Esses LLMs variam devido a diferenças nos dados de treinamento usados e diferentes objetivos de treinamento. GPT-3, GPT-3.5, GPT-4 e LLaMA foram treinados em diferentes conjuntos de dados de tamanhos variados. O desempenho dos modelos difere devido a variações nos dados de pré-treinamento, tamanho do conjunto de dados de treinamento e número de parâmetros. Por exemplo, o GPT3 tem 175B parâmetros treinados em 500B tokens, enquanto o GPT3.5 tem 6.7B parâmetros treinados em 1T tokens.

O ajuste por instrução é um paradigma de ajuste fino proposto com base nesses LLMs. Em vez de aprender a prever a próxima palavra dada as palavras anteriores na sentença, o ajuste por instrução envolve treinar o modelo para seguir a instrução e usar a sequência de entrada para gerar os tokens de saída. O treino de LLMs envolve retropropagação para cada palavra nas frases, enquanto, para ajuste por instrução, apenas as palavras de sequência de saída são usadas para retropropagação.

O conjunto de dados de ajuste por instrução consiste em 3 partes: instrução, entrada e saída. Instâncias de treinamento para ajuste por instrução são assim:

Instrução: Gere um resumo para a seguinte entrada.

Entrada: A Rainha Elizabeth foi a rainha da Inglaterra. Ela governou sobre ....

Saída: ….. (Um resumo da passagem acima).

O uso de pares de instrução-entrada torna o modelo generalizável para instruções em linguagem natural. Torna o modelo mais adaptável a diferentes variações da instrução acima e adaptável a diferentes instruções também.

Alpaca é um modelo ajustado por instrução construído sobre o LM de código aberto denominado LLaMA (semelhante ao GPT-3). Os autores de Alpaca reuniram um conjunto de 52K tuplas únicas de instrução-entrada-saída e usaram este conjunto de dados para aperfeiçoar o modelo LLaMA (de acordo com a abordagem de ajuste por instrução descrita acima) e nomearam o modelo Alpaca. Existem 2 maneiras diferentes de gerar a saída para um par de instrução-entrada dado: (1) pedir a um anotador humano para escrever a saída ou (2) usar um LLM de alta qualidade como GPT-3.5, GPT-4 ou Claude para gerar a saída. 

No caso de Alpaca, os autores usaram o modelo GPT-3.5 para gerar as sequências de saída para o par de instrução-entrada. A grande variedade de diferentes instruções o tornou generalizável para instruções que não faziam parte do conjunto de treinamento.

Processo de Treinamento do Experimento

Alpaca foi uma das primeiras abordagens de ajuste por instrução propostas em modelos pequenos (<50B parâmetros), que mostrou resultados surpreendentemente bons a um baixo custo de treinamento. Por isso adotamos uma abordagem semelhante. Mas queríamos treinar um modelo para processar transcrições de reuniões, o que é muito diferente do conjunto de dados Alpaca, então usamos uma mistura do conjunto de dados Alpaca (26k exemplos) e nosso conjunto de dados de reuniões internas anonimizadas (uma mistura de saídas do GPT3, GPT3.5, e GPT4). Os 26k exemplos internos anonimizados consistiam tanto em resumos quanto em itens de ação. Algumas das principais diferenças entre o conjunto de dados Alpaca e nosso conjunto de dados interno incluíam: 

  • Comprimento das entradas - O comprimento médio das entradas do Alpaca era de 4 palavras contra 900 para nosso conjunto de dados interno

  • Dados ruidosos - As entradas do Alpaca consistiam em muito poucas palavras, enquanto nossas transcrições não só continham mais palavras, como também eram mais ruidosas com mudanças de palestrante. 

  • Instruções - O conjunto de dados do Alpaca tinha 52k instruções unitárias, enquanto nosso conjunto de dados interno consiste em apenas algumas instruções únicas.



Devido a essas diferenças, nosso custo de treinamento foi 20x maior do que o conjunto de dados do Alpaca. Semelhante ao Alpaca, nós ajustamos o modelo LLaMA7B.

Resultados do Experimento

Dos exemplos abaixo, podemos tirar as seguintes conclusões: 

  • Modelos grandes da OpenAI tendem a ser mais específicos, pois incluíram os nomes das diferentes partes envolvidas, em vez de usar termos genéricos como “a equipe” no caso dos resumos.

  • No caso de itens de ação, modelos pequenos têm dificuldade em selecionar as entidades corretas, o que leva a saídas um tanto quanto ambíguas. E em alguns outros casos, apenas prevê NENHUM, quando não tem certeza de quais itens de ação existem.

  • A janela de contexto limitada de modelos do tipo LLaMA torna difícil passar exemplos em contexto, o que nos impede de aproveitar completamente os benefícios do ajuste fino.





Resumo da Reunião




Items de Ação - Exemplo de Sucesso




Items de Ação - Exemplo de Falha








Direções Futuras

Acreditamos que o uso de um modelo de linguagem maior com dados filtrados deve ajudar a aliviar alguns dos problemas que enfrentamos, e planejamos continuar o experimento das seguintes maneiras: 

  • Experimentar com tamanhos de modelo maiores.

  • Experimentar com diferentes modelos base além do LLaMA. 

  • Explorar abordagens de quantização para reduzir o custo de treinamento.

Junte-se a mais de 700 mil organizações que utilizam o Supernormal

Conclua seu trabalho com clientes num flash com agentes de IA para reuniões e trabalho de projetos.

Junte-se a mais de 700 mil organizações que utilizam o Supernormal

Conclua seu trabalho com clientes num flash com agentes de IA para reuniões e trabalho de projetos.

Posts relacionados