Compartilhar via


Conceitos: Modelos de linguagem pequenos e grandes

Neste artigo, você aprenderá sobre modelos de linguagem pequenos e grandes, incluindo quando usá-los e como você pode usá-los com seus fluxos de trabalho de IA e aprendizado de máquina no Serviço de Kubernetes do Azure (AKS).

O que são modelos de linguagem?

Os modelos de linguagem são modelos avançados de aprendizado de máquina usados para tarefas de processamento de linguagem natural (NLP), como geração de texto e análise de sentimentos. Esses modelos representam a linguagem natural com base na probabilidade de palavras ou sequências de palavras ocorrerem em um determinado contexto.

Modelos de linguagem convencionais têm sido usados em configurações supervisionadas para fins de pesquisa, nos quais os modelos são treinados em conjuntos de dados de texto bem rotulados para tarefas específicas. Os modelos de linguagem pré-treinados oferecem uma maneira acessível de começar a usar a IA e se tornaram mais amplamente usados nos últimos anos. Esses modelos são treinados em grandes corpora de texto da internet usando redes neurais profundas e podem ser ajustados em conjuntos de dados menores para tarefas específicas.

O tamanho de um modelo de linguagem é determinado pelo número de seus parâmetros, ou pesos, que determinam como o modelo processa os dados de entrada e gera a saída. Os parâmetros são aprendidos durante o processo de treinamento, ajustando os pesos nas camadas do modelo para minimizar a diferença entre as previsões do modelo e os dados reais. Quanto mais parâmetros um modelo possui, mais complexo e expressivo ele é, mas também mais caro computacionalmente é para treinar e usar.

Em geral, modelos de linguagem pequenos têm menos de 10 bilhões de parâmetros, e modelos de linguagem grandes têm mais de 10 bilhões de parâmetros. Por exemplo, a nova família de modelos do Microsoft Phi-3 tem três versões com tamanhos diferentes: mini (3,8 bilhões de parâmetros), pequena (7 bilhões de parâmetros) e média (14 bilhões de parâmetros).

Quando usar modelos de linguagem pequenos

Vantagens

Os modelos de linguagem pequenos são uma boa opção se você quiser modelos que sejam:

  • Mais rápidos e econômicos para treinar e executar: Eles requerem menos dados e poder de computação.
  • Fáceis de implantar e manter: Eles têm um volume menor de armazenamento e memória.
  • Menos propensos a sobreajuste, que é quando um modelo aprende o ruído ou padrões específicos dos dados de treinamento e não consegue generalizar para novos dados.
  • Interpretáveis e explicáveis: Eles têm menos parâmetros e componentes para entender e analisar.

Casos de uso

Modelos de linguagem pequenos são adequados para casos de uso que exigem:

  • Dados ou recursos limitados, e você precisa de uma solução rápida e simples.
  • Tarefas bem definidas ou restritas, e você não precisa de muita criatividade no resultado.
  • Tarefas de alta precisão e baixo recall, e você valoriza precisão e qualidade em vez de cobertura e quantidade.
  • Tarefas confidenciais ou regulamentadas, e você precisa garantir a transparência e a responsabilidade do modelo.

A tabela a seguir lista alguns modelos populares de linguagem pequena e de alto desempenho:

Família do modelo Tamanho dos modelos (número de parâmetros) Licença de software
Microsoft Phi-3 Phi-3-mini (3,8 bilhões), Phi-3-small (7 bilhões) Licença MIT
Microsoft Phi-2 Phi-2 (2,7 bilhões) Licença MIT
Falcon Falcon-7B (7 bilhões) Licença do Apache 2.0

Quando usar modelos de linguagem grandes

Vantagens

Os modelos de linguagem grandes são uma boa opção se você quiser modelos que sejam:

  • Poderosos e expressivos: Eles podem capturar padrões e relacionamentos mais complexos nos dados.
  • Gerais e adaptáveis: Eles podem lidar com uma variedade maior de tarefas e transferir conhecimento entre domínios.
  • Robustos e consistentes: Eles podem lidar com entradas ruidosas ou incompletas e evitar erros e vieses comuns.

Casos de uso

Os modelos de linguagem grandes são adequados para casos de uso que exigem:

  • dados e recursos abundantes, e você tem o orçamento para criar e manter uma solução complexa.
  • Tarefas de baixa precisão e alto recall, e você valoriza cobertura e quantidade em vez de precisão e qualidade.
  • Tarefas desafiadoras ou exploratórias, e você deseja aproveitar a capacidade do modelo de aprender e se adaptar.

A tabela a seguir lista alguns modelos de linguagem grandes, populares e de alto desempenho:

Família do modelo Tamanho dos modelos (número de parâmetros) Licença de software
Microsoft Phi-3 Phi-3-medium (14 bilhões) Licença MIT
Falcon Falcon-40B (40 bilhões) Licença do Apache 2.0

Experimente modelos de linguagem pequenos e grandes no AKS

O Operador de Conjunto de Ferramentas de IA do Kubernetes (KAITO) é um operador de código aberto que automatiza implantações de modelos de idiomas pequenos e grandes em clusters do Kubernetes. O complemento KAITO para AKS simplifica a integração e reduz o tempo de inferência para modelos de código aberto em seus clusters do AKS. O complemento provisiona automaticamente nós de GPU do tamanho certo e configura o servidor de interferência associado como um servidor de ponto de extremidade para o modelo escolhido.

Para obter mais informações, consulte Implantar um modelo de IA no AKS com o operador de conjunto de ferramentas de IA. Para começar com uma variedade de modelos de linguagem pequenos e grandes com suporte para seus fluxos de trabalho de inferência, consulte o repositório GitHub do modelo KAITO.

Importante

O software de código aberto é mencionado em toda a documentação e amostras do AKS. O software que você implanta está excluído dos contratos de nível de serviço do AKS, garantia limitada e suporte do Azure. Ao usar tecnologia de código aberto junto com o AKS, consulte as opções de suporte disponíveis nas comunidades e mantenedores de projetos respectivos para desenvolver um plano.

Por exemplo, o repositório do Ray GitHub descreve várias plataformas que variam em tempo de resposta, finalidade e nível de suporte.

A Microsoft assume a responsabilidade por criar os pacotes de código aberto que implantamos no AKS. Essa responsabilidade inclui ter propriedade completa do processo de criação, verificação, sinalização, validação e hotfix, junto com o controle sobre os binários em imagens de contêiner. Para obter mais informações, confira Gerenciamento de vulnerabilidades para o AKS e Cobertura de suporte do AKS.

Próximas etapas

Para saber mais sobre cargas de trabalho de IA e aprendizado de máquina em contêineres no AKS, consulte os artigos a seguir: