Compreendendo Modelos Pequenos como Plug-ins Valiosos para Grandes Modelos de Linguagem

Compreendendo Modelos Pequenos como Plug-ins Valiosos para Grandes Modelos de Linguagem

Introdução

No cenário em rápida evolução da inteligência artificial, a interação entre grandes modelos de linguagem (LLMs) e seus equivalentes menores é uma narrativa de sinergia e inovação. As capacidades imponentes de LLMs como GPT-3 e GPT-4, embora impressionantes, estão envoltas em uma fortaleza de limitações — acessibilidade limitada aos pesos do modelo, demandas computacionais imensas e as restrições do aprendizado em contexto (ICL).

No entanto, dentro desses limites reside uma brecha, uma oportunidade para que modelos pequenos atuem como plug-ins, oferecendo uma ponte para aplicações mais personalizadas e eficientes. Este blog explora a necessidade e o impacto da integração de modelos pequenos como plug-ins nos domínios expansivos dos LLMs, examinando o conceito de Super Aprendizado em Contexto (SuperICL) e suas ramificações no mundo real.

Compreendendo LLMs e Modelos Menores

As Diferenças entre LLMs e Modelos Menores

Um Grande Modelo de Linguagem é um sistema de IA sofisticado projetado para processar e compreender grandes volumes de dados de linguagem natural. LLMs geralmente têm um vasto número de parâmetros, variando de centenas de milhões a bilhões. Isso permite que eles capturem padrões e relacionamentos intrincados dentro da linguagem, possibilitando capacidades avançadas como tradução de idiomas, sumarização de texto, resposta a perguntas e geração de conteúdo. LLMs são treinados em grandes conjuntos de dados e podem exibir comportamentos complexos e “habilidades emergentes” à medida que aumentam de tamanho, embora esse último conceito seja sujeito a debate, conforme discutido na pesquisa de Stanford.

Em contraste, modelos menores têm menos parâmetros e são menos complexos. Eles podem ser mais limitados em suas capacidades e na variedade de tarefas que podem realizar de forma eficaz. Modelos menores são tipicamente usados para tarefas mais específicas ou menos complexas devido aos seus menores requisitos computacionais e necessidades de conjuntos de dados menores. Embora possam ser muito eficientes e eficazes para certas aplicações, geralmente não possuem o mesmo nível de compreensão sutil ou a capacidade de lidar com uma ampla variedade de tarefas de linguagem que os LLMs.

Quais São os Melhores LLMs de Código Aberto?

  • BERT: Desenvolvido pelo Google, o BERT é um LLM pioneiro conhecido por seu impacto transformador no processamento de linguagem natural, utilizado globalmente na Pesquisa Google e inspirando numerosos modelos especializados.
  • Falcon 180B: O LLM do Instituto de Inovação Tecnológica dos Emirados Árabes Unidos com 180 bilhões de parâmetros, excelente em geração e processamento de texto, com uma versão menor, Falcon-40B, também reconhecida pela compreensão de linguagem.
  • GPT-NeoX e GPT-J: LLMs de código aberto da EleutherAI com 20 bilhões e 6 bilhões de parâmetros, respectivamente, oferecendo alto desempenho em vários domínios e promovendo a democratização da IA.
  • LLaMA 3: O LLM versátil da Meta AI, variando de 7 a 70 bilhões de parâmetros, otimizado para geração de linguagem natural e personalizável através de uma licença de código aberto, com APIs disponíveis para desenvolvedores. Empresas, como a Novita AI, geralmente oferecem APIs LLaMA 3 para startups de IA.
  • BLOOM: Um LLM de código aberto com 176 bilhões de parâmetros, um esforço colaborativo da Hugging Face, projetado para geração de texto multilíngue e em linguagens de programação, priorizando transparência e acessibilidade.
  • Vicuna 13-B: Ajustado a partir do LLaMa 13B, este modelo conversacional de código aberto é adepto a lidar com diálogos extensos em aplicações de chatbot em várias indústrias, demonstrando capacidades avançadas de IA conversacional.

Por Que Precisamos de Modelos Pequenos Como Plug-ins para Grandes Modelos de Linguagem?

Acessibilidade Limitada aos Pesos do Modelo

  • LLMs como GPT-3 e GPT-4 são ferramentas poderosas para uma variedade de tarefas de processamento de linguagem natural (PLN). No entanto, os parâmetros de peso reais desses modelos geralmente não são compartilhados publicamente devido a preocupações de propriedade intelectual e segurança.
  • Sem acesso aos pesos do modelo, não é possível realizar o ajuste fino interno onde os parâmetros do modelo são ajustados para melhor se adequar a uma tarefa ou conjunto de dados específico.

Tamanhos Imensos dos Modelos

  • LLMs são tipicamente muito grandes, com bilhões de parâmetros, o que os torna intensivos em recursos. Os requisitos de hardware para treinar ou mesmo ajustar tais modelos estão além do alcance da maioria dos indivíduos e organizações menores.
  • O grande tamanho também significa que transferir esses modelos para hardware diferente ou usá-los em ambientes com poder computacional limitado é desafiador.

Limitações do Aprendizado em Contexto (ICL)

  • ICL é uma técnica onde alguns exemplos rotulados são fornecidos junto com a entrada para ajudar o modelo a fazer previsões. Este método permite que o modelo aprenda a partir do contexto fornecido pelos exemplos.
  • No entanto, o ICL é limitado pelo comprimento do contexto que o LLM pode processar. Se o contexto for muito longo, pode exceder a capacidade do modelo, e o modelo não conseguirá utilizar efetivamente todos os exemplos fornecidos.
  • Esta limitação é particularmente problemática quando há uma grande quantidade de dados supervisionados disponíveis, pois o ICL só pode usar um pequeno subconjunto deles devido à restrição de comprimento do contexto.

Para lidar com essas questões, alguns acadêmicos propõem o Super Aprendizado em Contexto (SuperICL), que combina os pontos fortes dos LLMs com modelos menores ajustados localmente. Os modelos menores, ou plug-ins, são ajustados em dados específicos da tarefa e fornecem uma ponte entre as capacidades gerais do LLM e os requisitos específicos da tarefa em questão. Esta abordagem permite uma transferência de conhecimento mais eficaz e um desempenho melhorado em tarefas supervisionadas, superando as limitações do ICL e os desafios associados ao tamanho e inacessibilidade dos LLMs.

Como as Pessoas Descobriram que Modelos Pequenos São Plug-ins Valiosos para Grandes Modelos de Linguagem?

Nesta seção, vamos discutir o artigo intitulado “Small Models are Valuable Plug-ins for Large Language Models” de Canwen Xu, Yichong Xu, Shuohang Wang, Yang Liu, Chenguang Zhu e Julian McAuley da Universidade da Califórnia, San Diego e Microsoft. Como sempre, se os detalhes da pesquisa não lhe interessam, sinta-se à vontade para pular para a próxima seção.

Método

Com base no reconhecimento das limitações dos LLMs, que discutimos na seção anterior, os autores propõem o SuperICL para combinar LLMs com modelos plug-in menores ajustados localmente. O modelo plug-in é primeiro ajustado no conjunto de dados supervisionado específico da tarefa. Em seguida, ele faz previsões com pontuações de confiança nos exemplos de treinamento desse conjunto de dados. Essas previsões são fornecidas como contexto ao LLM juntamente com a entrada de teste. O LLM utiliza esse contexto para fazer a previsão final e pode opcionalmente gerar uma explicação para seu raciocínio.

Design do Experimento

Eles avaliam no benchmark GLUE para tarefas de compreensão de linguagem natural e no XNLI para transferência multilíngue zero-shot. GPT-3.5 é usado como LLM e RoBERTa-Large/XLM-R como modelos plug-in. O SuperICL é comparado com linhas de base de ICL com GPT-3.5 e usando apenas os modelos plug-in.

Resultados

O SuperICL supera tanto o ICL com GPT-3.5 quanto os modelos plug-in individualmente no benchmark GLUE. No conjunto de dados XNLI, o SuperICL melhora em relação ao XLM-R para a maioria dos idiomas, demonstrando transferência zero-shot eficaz. Um estudo de ablação mostra a importância de cada componente na abordagem SuperICL.

Conclusão

O SuperICL alcança um desempenho superior ao combinar os pontos fortes dos LLMs e modelos plug-in menores ajustados nos dados da tarefa. Ele aborda o problema de instabilidade do ICL regular ao separar a compreensão da linguagem da absorção de conhecimento específico da tarefa. Além disso, o SuperICL melhora as capacidades de modelos menores, como estender sua cobertura multilíngue. Ele também fornece interpretabilidade ao permitir que o LLM gere explicações ao substituir as previsões do plug-in.

Casos Reais de Modelos Pequenos Como Plug-ins para Grandes Modelos de Linguagem

Chatbots de Atendimento ao Cliente Personalizados

Modelos pequenos e específicos de domínio podem ser ajustados para entender a terminologia e o contexto de uma indústria específica e então usados como plug-ins em uma estrutura de chatbot grande para fornecer respostas mais precisas e relevantes.

Assistência em Diagnóstico Médico

Um modelo pequeno treinado em registros médicos e literatura pode atuar como um plug-in para um LLM para ajudar médicos a diagnosticar condições, sugerir tratamentos e interpretar testes médicos com mais precisão.

Análise de Documentos Jurídicos

Modelos pequenos ajustados em documentos jurídicos podem ser usados para melhorar LLMs na análise e compreensão de contratos legais, fornecendo resumos e destacando possíveis problemas ou cláusulas.

Tradução de Idiomas

Para idiomas com poucos recursos, modelos pequenos podem ser treinados nos dados disponíveis e então usados como plug-ins em LLMs para melhorar a qualidade da tradução e lidar melhor com nuances.

Ferramentas Educacionais

Modelos pequenos adaptados ao conteúdo educacional podem ser integrados a LLMs para criar sistemas de tutoria inteligentes que fornecem feedback personalizado e explicações aos alunos.

Moderação de Conteúdo

Modelos pequenos treinados para detectar tipos específicos de conteúdo (por exemplo, discurso de ódio, conteúdo explícito) podem ser usados para melhorar as capacidades dos LLMs na moderação de conteúdo gerado por usuários em plataformas de mídia social.

Monitoramento de Saúde

Modelos pequenos treinados para reconhecer padrões em dados de pacientes podem ser usados para fornecer alertas precoces ou insights sobre possíveis problemas de saúde quando integrados a um LLM que pode processar e analisar conjuntos de dados maiores.

Essas aplicações demonstram como a combinação de conhecimento especializado de modelos pequenos com a compreensão ampla dos LLMs pode levar a soluções mais eficientes, precisas e personalizadas em vários contextos profissionais e pessoais.

Como Executar Códigos para o SuperICL

Os códigos apresentados abaixo são citados de https://github.com/JetRunner/SuperICL?tab=readme-ov-file. Você pode encontrar todos os scripts Python mencionados abaixo através deste link.

Processo de Configuração

1 Instalar os Pacotes Necessários: Use o gerenciador de pacotes pip para instalar todos os pacotes necessários listados no arquivo requirements.txt.

pip install -r requirements.txt

2 Configurar a Chave da API OpenAI:

  • Copie o arquivo de configuração de exemplo para criar seu próprio arquivo de configuração: cp api_config_example.py api_config.py.
  • Edite o arquivo api_config.py recém-criado usando um editor de texto como vi para inserir sua chave da API OpenAI.

Executando o Código para Diferentes Tarefas

1 Benchmark GLUE:

  • Execute o script run_glue.py com os parâmetros especificados para rodar o modelo no benchmark GLUE.
  • Inclua --model_path apontando para a localização do modelo, --model_name com o identificador do modelo e --dataset especificando a tarefa GLUE.
  • Para habilitar explicações para as previsões do modelo, adicione a flag --explanation.
python run_glue.py \
--model_path roberta-large-mnli \
--model_name RoBERTa-Large \
--dataset mnli-m \
--explanation  # Adicione esta flag para explicações
  • Para todas as tarefas suportadas, consulte a documentação fornecida.

2 Benchmark XNLI:

  • Execute o script run_xnli.py para tarefas de inferência de linguagem natural multilíngue com os parâmetros especificados.
  • Especifique --model_path para o diretório do modelo, --model_name com o nome do modelo e --lang para listar os idiomas incluídos no conjunto de dados.
python run_xnli.py \
--model_path /caminho/para/modelo \
--model_name XLM-V \
--lang en,ar,bg,de,el,es,fr,hi,ru,sw,th,tr,ur,vi,zh

Informações Adicionais

Para todos os parâmetros disponíveis para os scripts, consulte o repositório de código.

Citação

Se você usar este trabalho em sua pesquisa, cite-o da seguinte forma:

@article{xu2023small,
  title={Small Models are Valuable Plug-ins for Large Language Models},
  author={Xu, Canwen and Xu, Yichong and Wang, Shuohang and Liu, Yang and Zhu, Chenguang and McAuley, Julian},
  journal={arXiv preprint arXiv:2305.08848},
  year={2023}
}

Limitações dos Modelos Pequenos Como Plug-ins para Grandes Modelos de Linguagem

Dependência do desempenho do modelo plug-in

O desempenho geral do SuperICL ainda depende da qualidade do modelo plug-in ajustado localmente. Se o modelo plug-in tiver um desempenho ruim na tarefa, pode limitar a eficácia do SuperICL.

Custo computacional

O ajuste fino do modelo plug-in requer acesso a recursos computacionais suficientes. Para conjuntos de dados supervisionados muito grandes, esse ajuste fino pode se tornar proibitivamente caro para grupos de pesquisa menores ou indivíduos.

Generalização entre tarefas

Os experimentos focam em tarefas de compreensão de linguagem natural no benchmark GLUE. Embora promissor, mais avaliação é necessária para avaliar a eficácia do SuperICL em outras tarefas de PLN, como geração, sumarização, tradução, etc.

Transferência entre tarefas

Não está claro quão bem um único modelo plug-in ajustado em uma tarefa pode generalizar e fornecer contexto eficaz para uma tarefa completamente diferente quando usado com o SuperICL.

Limites de multilinguismo

Embora o SuperICL melhore o multilinguismo, suas capacidades multilíngues ainda são fundamentalmente limitadas pelas capacidades multilíngues originais do modelo plug-in, como XLM-R.

Conclusão

A integração de modelos pequenos como plug-ins com LLMs, conforme demonstrado pelo SuperICL, oferece uma solução convincente para as limitações inerentes da IA em larga escala. Ao aumentar as capacidades dos LLMs, abrimos caminho para sistemas de IA mais matizados, eficientes e amplamente aplicáveis. No entanto, desafios como a dependência do desempenho do plug-in, custos computacionais e generalização entre tarefas persistem, instando a uma abordagem equilibrada para aproveitar essa sinergia.

Fique ligado para explorar as descobertas mais recentes da academia de IA!

Novita AI, a plataforma única para criatividade ilimitada que oferece acesso a mais de 100 APIs. Desde geração de imagens e processamento de linguagem até aprimoramento de áudio e manipulação de vídeo, pagamento conforme o uso acessível, libera você das dores de cabeça da manutenção de GPU enquanto constrói seus próprios produtos. Experimente gratuitamente.