LLMs: ajuste fino, destilação e engenharia de comando

A unidade anterior descreveu os LLMs de uso geral de várias maneiras. conhecido como:

  • LLMs de fundação
  • LLMs básicos
  • LLMs pré-treinados

Um LLM de fundação é treinado com linguagem natural suficiente para "conhecer" um notável sobre gramática, palavras e expressões idiomáticas. Um modelo de linguagem de base pode gerar frases úteis sobre os tópicos do treinamento. Além disso, um LLM de fundação pode realizar certas tarefas tradicionalmente chamadas "criativo", como escrever poesias. No entanto, o texto generativo de um LLM de base a saída não é uma solução para outros tipos de problemas comuns de ML, como regressão ou classificação. Para esses casos de uso, um LLM de fundação pode ser usado como uma plataforma, não como uma solução.

Transformar um LLM básico em uma solução que atenda aos requisitos precisa de um processo chamado ajuste. Um processo secundário chamado distillation gera uma versão menor (menos parâmetros) do objeto um modelo de machine learning.

Ajuste de detalhes

Pesquisas mostram que a capacidade de reconhecimento de padrões de linguagem grandes são tão poderosos que às vezes exigem treinamento adicional para aprender tarefas específicas. Esse treinamento adicional ajuda o modelo a fazer previsões melhores em uma tarefa específica. Esse treinamento adicional, chamado ajustes, libera o lado prático de um LLM.

O ajuste fino treina com exemplos específicos para a tarefa que seu aplicativo que cada função executa. Os engenheiros às vezes podem ajustar um LLM de fundação em apenas alguns centenas ou alguns milhares de exemplos de treinamento.

Apesar do número relativamente pequeno de exemplos de treinamento, o ajuste fino padrão costuma ser caro em termos computacionais. Isso porque o ajuste fino padrão envolve atualizando o peso e o viés de cada parâmetro em cada iteração de backpropagação. Felizmente, um processo mais inteligente chamado de eficiência de parâmetros ajuste pode ajustar um LLM ajustando somente um subconjunto de parâmetros em cada iteração de retropropagação.

As previsões de um modelo ajustado costumam ser melhores do que as previsões do LLM de fundação previsões. No entanto, um modelo ajustado contém o mesmo número de parâmetros que o LLM de base. Portanto, se um LLM de fundação tiver 10 bilhões de a versão ajustada também conterá 10 bilhões de parâmetros.

Destilação

A maioria dos LLMs ajustados contém um número enorme de parâmetros. Consequentemente, LLMs de fundação exigem enormes recursos computacionais e ambientais para gerar previsões. Grandes partes desses parâmetros são e, normalmente, irrelevantes para um aplicativo específico.

Destilação cria uma versão menor de um LLM. O LLM destilado gera previsões muito mais rápido e requer menos recursos computacionais e ambientais do que o LLM completo. No entanto, as previsões do modelo destilado geralmente não são tão boas quanto as previsões do LLM original. Lembre-se de que LLMs com mais parâmetros quase sempre geram previsões melhores do que os LLMs com menos parâmetros.

Engenharia de comando

Engenharia de comandos permite que os usuários finais de um LLM personalizem a saída do modelo. Ou seja, os usuários finais esclarecem como o LLM deve responder ao comando.

Os humanos aprendem bem com exemplos. assim como os LLMs. Mostrando um exemplo para um LLM é chamado Comandos one-shot: Por exemplo, suponha que você queira que um modelo use o seguinte formato para saída a família de uma fruta:

O usuário insere o nome de uma fruta: o LLM gera a classe dessa fruta.

Um comando one-shot mostra ao LLM um exemplo do formato anterior em seguida, pede para o LLM concluir uma consulta com base nesse exemplo. Por exemplo:

peach: drupe
apple: ______

Às vezes, um único exemplo é suficiente. Se for, o LLM gera uma resposta previsão. Por exemplo:

apple: pome

Em outras situações, um único exemplo é insuficiente. Ou seja, o usuário deve mostrar ao LLM vários exemplos. Por exemplo, o comando a seguir contém dois exemplos:

plum: drupe
pear: pome
lemon: ____

O fornecimento de vários exemplos é chamado comandos few-shot. Pense nas duas primeiras linhas do comando anterior como um treinamento exemplos.

Um LLM pode fornecer previsões úteis sem exemplos (zero-shot? comandos)? Às vezes, mas Os LLMs como contexto. Sem contexto, o comando zero-shot a seguir pode retornar informações sobre a empresa de tecnologia em vez da fruta:

apple: _______

Inferência off-line

Às vezes, o número de parâmetros em um LLM muito maior do que a inferência on-line é muito lento para ser prático em tarefas do mundo real, como regressão ou classificação. Por isso, muitas equipes de engenharia dependem inferência off-line (também conhecida como inferência em massa ou inferência estática). Em outras palavras, em vez de responder a consultas no momento da disponibilização, o treinado faz previsões com antecedência e as armazena em cache.

Não importa se o LLM demora muito para concluir a tarefa o LLM só precisa executar a tarefa uma vez por semana ou uma vez por mês.

Por exemplo, a Pesquisa Google usou um LLM para realizar inferência off-line e armazenar em cache uma lista de mais de 800 sinônimos para vacinas contra a COVID-19 em mais de 50 idiomas. A Pesquisa Google usou o lista em cache para identificar consultas sobre vacinas no trânsito em tempo real.

Usar LLMs com responsabilidade

Como qualquer forma de machine learning, os LLMs compartilham os seguintes vieses:

  • Os dados em que foram treinados.
  • Os dados em que foram extraídos.

Usar LLMs de maneira justa e responsável de acordo com as lições apresentadas anteriormente neste curso.

Exercício: testar seu conhecimento

Qual das afirmações abaixo é verdadeira sobre LLMs?
Um LLM destilado contém menos parâmetros que a base do modelo de linguagem de origem.
Sim, a destilação reduz o número de parâmetros.
Um LLM ajustado contém menos parâmetros do que a base de linguagem em que foi treinado.
Um modelo ajustado contém o mesmo número de parâmetros que o do modelo de linguagem de base original.
À medida que os usuários realizam mais engenharia de comando, o número de parâmetros em um LLM cresce.
A engenharia de comando não adiciona (nem remove nem altera) LLMs parâmetros.