FlexGen, um mecanismo para executar bots de IA em uma única GPU

FlexGen

O FlexGen é um mecanismo construído com o objetivo de reduzir os requisitos de recursos de inferência de grandes modelos de linguagem para uma única GPU.

A notícia foi divulgada recentemente que um grupo de pesquisadores da Stanford University, University of California at Berkeley, ETH Zurich, Graduate School of Economics, Carnegie Mellon University, bem como Yandex e Meta, publicaram o código-fonte de un mecanismo para executar modelos de linguagem grandes em sistemas com recursos limitados.

com nome de código «FlexGen», é um projeto que visa reduzir significativamente o requisitos recursos para operações de inferência LLM. Postado no GitHub, o FlexGen requer apenas Python e PyTorch, mas pode ser usado principalmente com uma única GPU como NVIDIA Tesla T4 ou GeForce RTX 3090.

Por exemplo o mecanismo fornece a capacidade de criar funcionalidades que lembram o ChatGPT e o Copilot executando um modelo OPT-175B pré-treinado cobrindo 175 bilhões de parâmetros em um computador comum com uma placa gráfica para jogos NVIDIA RTX3090 equipada com 24 GB de memória de vídeo.

É referido que os modelos (LLM) suportam o funcionamento de ferramentas como ChatGPT e Copilot. Esses são modelos grandes que usam bilhões de parâmetros e são treinados em grandes quantidades de dados.

Os altos requisitos computacionais e de memória para tarefas de inferência LLM geralmente requerem o uso de aceleradores de última geração.

Estamos contentes que o público esteja realmente entusiasmado com o FlexGen. No entanto, nosso trabalho ainda está em preparação e ainda não está pronto para lançamento/anúncio público. A partir do feedback inicial sobre este projeto, percebemos que as primeiras versões deste README e nosso documento não eram claros sobre o propósito do FlexGen. Este é um esforço preliminar para reduzir os requisitos de recursos dos LLMs, mas também tem muitas limitações e não se destina a substituir os casos de uso quando houver recursos suficientes disponíveis.

A inferência LLM é um processo no qual um modelo de linguagem é usado para gerar previsões sobre o texto de entrada: envolve o uso de um modelo de linguagem, como um modelo generativo como um GPT (Transformador Pré-treinado Generativo), para fazer previsões sobre o que é mais provável acontecer. ser fornecido como uma resposta após um texto de entrada específico capturado.

Sobre o FlexGen

O pacote inclui um script de amostra para criar bots. que permite ao usuário baixe um dos modelos de idioma disponíveis publicamente e comece a conversar imediatamente.

Como base, propõe-se a utilização de um grande modelo de linguagem publicado pelo Facebook, treinado nas coleções BookCorpus (10 mil livros), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews, etc.), Pushshift.io (com base nos dados do Reddit)) e CCNewsV2 (arquivo de notícias).

O modelo cobre cerca de 180 bilhões de tokens (800 GB de dados). Demorou 33 dias executando o cluster com 992 GPUs NVIDIA A100 de 80 GB para treinar o modelo.

Executando o OPT-175B em um sistema com uma única GPU NVIDIA T4 (16 GB), o mecanismo FlexGen demonstrou desempenho até 100x mais rápido do que as soluções oferecidas anteriormente, tornando o uso de modelos de linguagem grande mais acessível e permitindo que sejam executados em sistemas sem aceleradores especializados.

Ao mesmo tempo, o FlexGen pode escalar para paralelizar cálculos na presença de várias GPUs. Para reduzir o tamanho do modelo, um esquema adicional de compactação de parâmetros e um mecanismo de cache do modelo são usados.

Atualmente, FlexGen suporta apenas modelos de linguagem OPT, mas no futuro, os desenvolvedores também prometem adicionar suporte para BLOOM (176 bilhões de parâmetros, suporta 46 idiomas e 13 linguagens de programação), CodeGen (pode gerar código em 22 linguagens de programação) e GLM.

Por fim, vale ressaltar que o código é escrito em Python, usa o framework PyTorch e é distribuído sob a licença Apache 2.0.

Para os Interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.