Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

Meta: uma abordagem de adaptação (aplicativo prático) para modelos de idiomas grandes

2024-09-11 1.2 K

Texto original:

https://ai.meta.com/blog/adapting-large-language-models-llms/

https://ai.meta.com/blog/when-to-fine-tune-llms-vs-other-techniques/

https://ai.meta.com/blog/how-to-fine-tune-llms-peft-dataset-curation/

 

Meta:大语言模型的适配(实际应用)方法-1

Esta é a primeira de uma série de três partes de postagens de blog sobre a adaptação de LLMs (Large Language Models) de código aberto. Neste artigo, conheceremos os vários métodos disponíveis para adaptar os LLMs aos dados de domínio.

  • existir Parte 2Discutiremos como determinar se o ajuste fino é apropriado para seu caso de uso.
  • existir Parte 3Em seguida, exploraremos algumas regras básicas sobre a curadoria de conjuntos de dados de treinamento de qualidade.

introdutório

Modelos de linguagem grandes (LLMs) em uma ampla gama de tarefas de linguagem e processamento de linguagem natural (NLP) avaliação comparativa中展现了卓越的能力。基于这些”通用”模型的产品用例正在增加。在这篇博客文章中,我们将为希望适应和整合 LLMs 到项目中的小型 AI 产品团队提供指导。让我们从澄清 LLMs 周围的 (通常令人困惑的) 术语开始,然后简要比较可用的不同适应方法,最后推荐一个逐步流程图来确定适合您用例的正确方法。

Método de adaptação LLM

pré-treinamento

O pré-treinamento é o uso de trilhões de dados tokens O processo de treinamento do LLM a partir do zero. Os modelos são treinados usando algoritmos autossupervisionados. Mais comumente, o treinamento prevê por autorregressão o próximo token para realizar (também conhecido como modelagem de linguagem causal). O pré-treinamento normalmente requer milhares de horas de GPU (105 - 107 [fonte1fonte2]) são distribuídos em várias GPUs. O modelo de saída pré-treinado é chamado de modelo básico.

Pré-treinamento contínuo

O pré-treinamento contínuo (também conhecido como pré-treinamento em dois estágios) envolve o treinamento adicional do modelo básico usando dados de domínio novos e não vistos. O mesmo algoritmo autossupervisionado é usado para o pré-treinamento inicial. Normalmente, envolve todos os pesos do modelo e a mistura de uma parte dos dados originais com os novos dados.

ajuste fino

O ajuste fino é o processo de adaptação de um modelo de linguagem pré-treinado usando um conjunto de dados anotados de forma supervisionada ou usando técnicas baseadas em aprendizado por reforço. Há duas diferenças principais em relação ao pré-treinamento:

  1. Treinamento supervisionado em conjuntos de dados anotados - contendo rótulos/respostas/preferências corretos - e não treinamento autossupervisionado
  2. São necessários menos tokens (milhares ou milhões, em vez dos bilhões ou trilhões necessários para o pré-treinamento), com o objetivo principal de aprimorar o acompanhamento de comandos, o alinhamento humano, o desempenho de tarefas etc.

Há duas dimensões para entender a grade de ajuste fino atual: a porcentagem de parâmetros alterados e os novos recursos adicionados como resultado do ajuste fino.

Porcentagem de parâmetros alterados

Há dois tipos de algoritmos, dependendo do número de parâmetros alterados:

  1. Completamente ajustado: Como o nome sugere, isso envolve a alteração de todos os parâmetros do modelo, incluindo o ajuste fino tradicional de modelos menores, como o XLMR e o BERT (100 a 300 milhões de parâmetros), bem como o Lhama 2O ajuste fino de modelos grandes, como o GPT3 (mais de 1 bilhão de parâmetros).
  2. Parameter Efficient Fine Tuning (PEFT): Ao contrário do ajuste fino de todos os pesos LLM, o algoritmo PEFT ajusta apenas um pequeno número de parâmetros adicionais ou atualiza um subconjunto dos parâmetros de pré-treinamento, normalmente de 1 a 6% do total de parâmetros.

Capacidade de adicionar ao modelo básico

O objetivo de realizar o ajuste fino é adicionar recursos aos modelos pré-treinados - por exemplo, aderência à instrução, alinhamento humano, etc. O Llama 2 para ajuste de diálogo é um modelo de ajuste fino com a capacidade de adicionar aderência e alinhamento de instruções. exemplo típico.

Geração aprimorada de pesquisa (RAG)

企业还可以通过添加特定领域知识库来适应 LLMs。RAG 本质上是”搜索驱动的 LLM 文本生成”。RAG 于 2020 年推出,使用根据用户问题检索并注入 LLM 提示的动态提示上下文,以引导它使用检索到的内容而不是预训练的—可能过时的—知识。Chat LangChain é um exemplo popular de um chatbot de perguntas e respostas sobre documentos LangChain com tecnologia RAG.

Aprendizagem contextual (ICL)

通过 ICL,我们通过在提示中放置原型示例来适应 LLM。多项研究表明,”通过示例演示”是有效的。这些示例可以包含不同类型的信息:

  • Somente texto de entrada e saída - ou seja, menos aprendizado de amostra
  • Traços de raciocínio: adicionar etapas intermediárias de raciocínio; cf. cadeia de pensamento Dicas (CoT)
  • Trilha de planejamento e reflexão: adicione informações que ensinem o LLM a planejar e refletir sobre sua estratégia de solução de problemas; consulte ReACT

Há uma variedade de outras estratégias para modificar os prompts queGuia de engenharia de dicasUma visão geral abrangente está incluída.

Escolha do método de adaptação correto

Para decidir qual dos métodos acima é adequado para um determinado aplicativo, você deve considerar vários fatores: os recursos do modelo necessários para a tarefa que está sendo executada, o custo de treinamento, o custo de inferência, o tipo de conjunto de dados e assim por diante. O fluxograma abaixo resume nossas recomendações para ajudá-lo a escolher o método correto de adaptação do Modelo de Linguagem Grande (LLM).

Meta:大语言模型的适配(实际应用)方法-1

Pré-treinamento

O pré-treinamento é uma parte importante do treinamento do LLM, usando variantes de previsão de token como funções de perda. Sua natureza autossupervisionada permite o treinamento em grandes quantidades de dados. Por exemplo, o Llama 2 foi treinado com 2 trilhões de tokens. Isso requer uma infraestrutura de computação maciça: Llama 2 70B cost 1.720.320 horas de GPU. Portanto, não recomendamos o pré-treinamento como um método viável de adaptação do LLM para equipes com recursos limitados.

Como o pré-treinamento é computacionalmente proibitivo, a atualização dos pesos de um modelo já pré-treinado pode ser uma maneira eficaz de adaptar o LLM a uma tarefa específica. Qualquer abordagem para atualizar pesos de modelos pré-treinados é suscetível ao fenômeno do esquecimento catastrófico, um termo usado para descrever um modelo que esquece habilidades e conhecimentos aprendidos anteriormente. Por exemplo.este estudomostra que os modelos ajustados no domínio médico têm desempenho reduzido em tarefas de acompanhamento de instruções e de perguntas e respostas comuns. Outros estudos também demonstraram que o conhecimento geral adquirido no pré-treinamento pode ser esquecido durante o treinamento subsequente. Por exemplo.este estudoAlgumas evidências do esquecimento de conhecimento do LLM são fornecidas a partir das perspectivas de conhecimento de domínio, raciocínio e compreensão de leitura.

Pré-treinamento contínuo

Considerando o esquecimento catastrófico, desenvolvimentos recentes sugerem que o pré-treinamento contínuo (CPT) pode melhorar ainda mais o desempenho com uma fração do custo computacional necessário para o pré-treinamento. O CPT pode ser benéfico para tarefas que exigem que o LLM adquira novas habilidades de conversão. Por exemplo.Há relatos de que...No entanto, o pré-treinamento contínuo foi bem-sucedido na adição de multilinguismo.

No entanto, o CPT ainda é um processo caro que exige dados e recursos computacionais significativos. Por exemplo, o conjunto Pythia passou por um segundo estágio de pré-treinamento, que resultou na criação do FinPythia-6.9BEsse modelo foi projetado para dados financeiros. Esse modelo, projetado especificamente para dados financeiros, foi submetido a 18 dias de CPT usando um conjunto de dados contendo 24 bilhões de tokens. Portanto, não recomendamos o pré-treinamento contínuo como uma abordagem viável para a adaptação do LLM para equipes com recursos limitados.

Concluindo, o uso de algoritmos autossupervisionados e conjuntos de dados não rotulados para adaptar LLMs (como feito no pré-treinamento e no pré-treinamento contínuo) consome muitos recursos e é caro, e não é recomendado como uma abordagem viável.

Ajuste fino completo e ajuste fino paramétrico eficiente (PEFT)

O ajuste fino com conjuntos de dados rotulados menores é uma abordagem mais econômica do que o pré-treinamento com conjuntos de dados não rotulados. Ao adaptar o modelo pré-treinado a uma tarefa específica, o modelo com ajuste fino demonstrou obter resultados de última geração em uma ampla gama de aplicações e especializações (por exemplo, jurídica, médica ou financeira).

O ajuste fino, especialmente o Parameter Efficient Fine-Tuning (PEFT), requer apenas uma fração dos recursos computacionais necessários para o pré-treinamento/pré-treinamento contínuo. Portanto, esse é um método de adaptação LLM viável para equipes com recursos limitados. Nesta série deParte 3Nele, nos aprofundamos nos detalhes do ajuste fino, incluindo o ajuste fino completo, o PEFT e um guia prático sobre como fazê-lo.

Recuperação de geração aumentada (RAG)

O RAG é outro método popular de adaptação do LLM. Se o seu aplicativo precisar extrair informações de uma base de conhecimento dinâmica (por exemplo, um bot de quiz), o RAG pode ser uma boa solução. A complexidade de um sistema baseado em RAG está principalmente na implementação do mecanismo de recuperação. O custo de raciocínio desses sistemas pode ser maior porque as dicas incluem documentos recuperados e a maioria dos provedores usa um modelo baseado em token. Nesta série deParte 2no qual discutimos o RAG de forma mais ampla e o comparamos com o ajuste fino.

Aprendizagem contextual (ICL)

Essa é a maneira mais econômica de adaptar o LLM.ICL não requer dados de treinamento ou recursos computacionais adicionais, o que a torna uma abordagem econômica. No entanto, de forma semelhante ao RAG, o custo e a latência da inferência podem aumentar devido ao processamento de mais tokens no momento da inferência.

resumos

A criação de um sistema baseado em LLM é um processo iterativo. Recomendamos começar com uma abordagem simples e aumentar gradualmente a complexidade até atingir sua meta. O fluxograma acima descreve esse processo iterativo e fornece uma base sólida para sua estratégia de adaptação ao LLM.

uma nota de agradecimento

Gostaríamos de agradecer a Suraj Subramanian e Varun Vontimitta por seus comentários construtivos sobre a organização e a preparação desta postagem do blog.

Parte II: Fazer ou não fazer o ajuste fino

这是关于适应开源大语言模型 (LLMs) 系列博客文章中的第二篇。在这篇文章中,我们将讨论以下问题:”我们什么时候应该微调,什么时候应该考虑其他技术?”

  • existir Parte IEm seguida, examinamos as abordagens comuns para adaptar os modelos de linguagem aos dados de domínio.
  • existir Parte IIIExplore algumas regras básicas sobre a curadoria de conjuntos de dados de treinamento de qualidade.

introdutório

在大语言模型兴起之前,微调常用于较小规模的模型 (1 亿 – 3 亿参数)。最先进的领域应用是使用监督微调 (SFT) 构建的—即使用你自己领域和下游任务的标注数据进一步训练预训练模型。然而,随着更大模型 (> 10 亿参数) 的出现,微调的问题变得更加微妙。最重要的是,大型模型需要更多资源和商业硬件进行微调。下面的表 1 提供了在三种情况下微调 Llama 2 7B 和 Llama 2 13B 模型的峰值 GPU 内存使用情况列表。你可能会注意到,像 QLoRA Esses algoritmos facilitam o ajuste fino de modelos grandes usando recursos limitados. Por exemplo, a Tabela 1 mostra o pico de memória da GPU para três cenários de ajuste fino (ajuste fino completo, LoRA e QLoRA) no Llama 2 7B. Reduções de memória semelhantes como resultado do ajuste fino eficiente paramétrico (PEFT) ou quantificação também são mostradas no Llama 1. relatórios Sobre. Além dos recursos de computação, o esquecimento catastrófico (para obter mais informações, consulte esta série de Parte I) é uma armadilha comum do ajuste fino de parâmetros completos. A técnica PEFT visa solucionar essas deficiências treinando um pequeno número de parâmetros.

Meta:大语言模型的适配(实际应用)方法-1Tabela 1: Memória (GB) no LLama 2 7B para diferentes métodos de ajuste fino (fonte (de informações etc.)O QLoRA é quantificado usando um NormalFloat de 4 bits.

Protótipos que podem se beneficiar de um ajuste fino

Identificamos os seguintes cenários como casos de uso comuns que poderiam se beneficiar de um ajuste fino:

  1. Personalização de tom, estilo e formato: Os casos de uso podem exigir um modelo de linguagem grande que reflita uma personalidade específica ou atenda a um público específico. Ao ajustar o modelo de biglanguage usando um conjunto de dados personalizado, podemos moldar as respostas do chatbot para que se alinhem melhor com os requisitos específicos ou com a experiência pretendida de seu público. Também podemos querer estruturar o resultado de uma maneira específica, por exemplo, no formato JSON, YAML ou Markdown.
  2. Melhore a precisão e lide com casos extremos: O ajuste fino pode ser usado para corrigir ilusões ou erros difíceis de corrigir por meio da engenharia de dicas e da aprendizagem contextual. Também pode aprimorar a capacidade de um modelo de executar novas habilidades ou tarefas difíceis de serem expressas em dicas. Esse processo pode ajudar a corrigir falhas em que os modelos não conseguem seguir dicas complexas e aumentar sua confiabilidade na produção do resultado desejado. Apresentamos dois exemplos:
    • Precisão do Phi-2 na análise de sentimentos de dados financeiros Atualizado de 34% para 85%.
    • ChatGPT Precisão na análise de sentimento dos comentários do Reddit Aumento de 25 pontos percentuais (de 48% a 73%), usando apenas 100 exemplos.
      Normalmente, para números de precisão iniciais menores (< 50%), o ajuste fino com algumas centenas de exemplos produzirá melhorias significativas.
  3. Abordar áreas de sub-representação: Embora os modelos de big language sejam treinados em grandes quantidades de dados de uso geral, eles nem sempre podem ser bem versados no jargão, na terminologia ou nas idiossincrasias de cada domínio de nicho. Para diversos domínios, como direito, saúde ou finanças, foi demonstrado que o ajuste fino ajuda a melhorar a precisão das tarefas posteriores. Apresentamos dois exemplos:
    • Como este escritos Foi destacado que o registro médico de um paciente contém dados altamente confidenciais que normalmente não são encontrados em domínio público. Portanto, os sistemas baseados em grandes modelos de linguagem para resumir registros médicos precisam ser ajustados.
    • Ajuste fino de idiomas sub-representados, como os idiomas indígenas, usando técnicas PEFT Útil em todas as tarefas.
  4. Redução de custos: O ajuste fino permite a destilação de habilidades de modelos maiores, como o Llama 2 70B/GPT-4, em modelos menores, como o Llama 2 7B, reduzindo o custo e a latência sem comprometer a qualidade. Além disso, o ajuste fino reduz a necessidade de dicas longas ou específicas (como as usadas na engenharia de dicas), economizando tokens e reduzindo ainda mais os custos. Por exemplo, oeste artigo Mostra como a economia de custos pode ser obtida por meio do refinamento do modelo GPT-4, mais caro, para ajustar o juiz GPT-3.5.
  5. Novas tarefas/capacidades: Muitas vezes, novos recursos podem ser obtidos por meio do ajuste fino. Apresentamos três exemplos:

Comparação com tecnologias de adaptação em outras áreas

Ajuste fino vs. aprendizado contextual (menos amostras)

A aprendizagem contextual (ICL) é uma forma eficiente de melhorar o desempenho de sistemas baseados em grandes modelos de linguagem. Além disso, os experimentos de ICL podem ajudá-lo a avaliar se o ajuste fino melhora o desempenho das tarefas posteriores. As considerações comuns ao usar a ICL são:

  • À medida que o número de exemplos a serem mostrados aumenta, também aumentam o custo de inferência e a latência.
  • Com mais e mais exemplos, o modelo de linguagem grande Muitas vezes esquecidos são alguns dos. Isso significa que você pode precisar de um sistema baseado em RAG que encontre os exemplos mais relevantes com base na entrada.
  • Modelos de linguagem grandes podem cuspir o conhecimento fornecido a eles como exemplos. Esse problema também existe durante o ajuste fino.

ajuste fino vs. e RAG

普遍共识是,当大语言模型的基础性能不令人满意时,你可能会”从 RAG 开始,评估其性能,如果发现不足,就转向微调”,或者”RAG 可能具有优势”超过微调 (fonte (de informações etc.)). No entanto, acreditamos que esse paradigma é uma simplificação excessiva porque, em muitos casos, o RAG não só não é uma alternativa ao ajuste fino, como também é uma abordagem complementar ao ajuste fino. Dependendo das características do problema, uma ou possivelmente ambas as abordagens devem ser tentadas. O uso de este artigo estrutura, aqui estão algumas perguntas que você pode fazer para determinar se o ajuste fino ou o RAG (ou possivelmente ambos) são adequados para o seu problema:

  • Seu aplicativo precisa de conhecimento externo? O ajuste fino geralmente não se aplica à injeção de novos conhecimentos.
  • Seu aplicativo exige um tom/comportamento/vocabulário ou estilo personalizado? Para esses tipos de requisitos, o ajuste fino geralmente é a abordagem correta.
  • Qual é a tolerância do seu aplicativo às alucinações? Em aplicativos em que a supressão de falsidades e fabricações imaginativas é fundamental, o sistema RAG oferece mecanismos integrados para minimizar as alucinações.
  • Qual é a quantidade de dados de treinamento rotulados disponíveis?
  • Quão estáticos/dinâmicos são os dados? Se o problema exigir acesso a um corpus dinâmico de dados, o ajuste fino pode não ser a abordagem correta, pois o conhecimento do modelo de linguagem grande fica desatualizado muito rapidamente.
  • Qual é o grau de transparência/interpretabilidade necessário para grandes aplicativos de modelagem de linguagem? O RAG pode essencialmente fornecer referências, que são úteis para interpretar grandes resultados de modelagem de linguagem.
  • Custo e complexidade: a equipe tem conhecimento especializado na criação de sistemas de busca ou experiência prévia em ajustes finos?
  • Qual é a diversidade de tarefas em seu aplicativo?

Na maioria dos casos, uma solução híbrida de ajuste fino e RAG produzirá os melhores resultados - e, então, a questão passa a ser o custo, o tempo e os ganhos autônomos adicionais de fazer as duas coisas ao mesmo tempo. Consulte as perguntas acima para orientar suas decisões sobre a necessidade de RAG e/ou ajuste fino e realize experimentos internos analisando os erros para entender os possíveis ganhos de métricas. Por fim, a exploração do ajuste fino exige uma estratégia robusta de coleta e aprimoramento de dados, que recomendamos como pré-requisito para iniciar o ajuste fino.

uma nota de agradecimento

Gostaríamos de agradecer a Suraj Subramanian e Varun Vontimitta por seus comentários construtivos sobre a organização e a preparação desta postagem do blog.

Parte III: Como fazer o ajuste fino: foco em conjuntos de dados eficazes

Meta:大语言模型的适配(实际应用)方法-1

Esta é a terceira postagem de uma série de blogs sobre a adaptação de modelos de linguagem grandes (LLMs) de código aberto. Neste artigo, examinamos algumas regras básicas para reunir conjuntos de dados de treinamento de boa qualidade.

  • existir Parte I Nele, analisamos as abordagens dominantes para adaptar modelos de linguagem a dados de domínio.
  • existir Parte II Em , discutimos como determinar se o ajuste fino é apropriado para seu caso de uso.

introdutório

O ajuste fino dos LLMs é uma combinação de arte e ciência, e as melhores práticas nesse campo ainda estão surgindo. Nesta postagem do blog, vamos nos concentrar nas variáveis de design do ajuste fino e fornecer orientações sobre as práticas recomendadas para modelos de ajuste fino em configurações com recursos limitados. Sugerimos as seguintes informações como ponto de partida para o desenvolvimento de uma estratégia para experimentos de ajuste fino.

Ajuste fino completo vs. ajuste fino paramétrico eficiente (PEFT)

Quantidade total de ajuste fino e PEFT em academia responder cantando aplicação prática Todos eles demonstraram melhorar o desempenho downstream quando aplicados em novos domínios. A escolha de um deles depende, em última análise, dos recursos computacionais disponíveis (em termos de horas de GPU e memória de GPU), do desempenho em tarefas que não sejam a tarefa downstream de destino (o compromisso de aprender a esquecer) e do custo da anotação manual.

É mais provável que o ajuste fino de volume total sofra de dois problemas:colisão de modelos responder cantando esquecimento cataclísmico. O colapso do modelo ocorre quando a saída do modelo converge para um conjunto finito de saídas e as caudas da distribuição do conteúdo original desaparecem. Esquecimento catastrófico, como nesta série Parte I discutido, pode fazer com que o modelo perca sua força. Alguns estudos empíricos iniciais mostraram queEm comparação com a técnica PEFT, a técnica de ajuste fino de volume total é mais propensa a esses problemasembora sejam necessárias mais pesquisas.

PEFT 技术在设计上可以作为微调的自然正则化器。PEFT 通常需要相对较少的计算资源来训练下游模型,并且在数据集规模有限的资源受限场景中更易于使用。在某些情况下,全量微调在特定任务上表现更好,但通常会以遗忘原始模型的某些能力为代价。这种特定下游任务性能与其他任务性能之间的”学习-遗忘”权衡在 Este documento. Uma comparação detalhada do LoRA e do ajuste fino completo é apresentada em.

Considerando as restrições de recursos, a técnica PEFT pode proporcionar uma melhor relação entre desempenho e custo do que o ajuste fino completo. Se o desempenho downstream for fundamental em uma situação de restrição de recursos, o ajuste fino de volume total será mais eficaz. Em ambos os casos, é fundamental ter em mente os seguintes princípios-chave para criar conjuntos de dados de alta qualidade.

Agrupamento de conjuntos de dados

在文献中的微调实验中,数据集对于获得微调的好处至关重要。这里的细微之处不仅仅是”更好的质量和更多的示例”,您可以明智地投资于数据集收集,以在资源受限的微调实验中提高性能。

Qualidade/quantidade de dados

  • A qualidade é fundamental: A tendência geral que observamos é que a qualidade é mais importante do que a quantidade, ou seja, é melhor ter um pequeno conjunto de dados de alta qualidade do que um grande conjunto de dados de baixa qualidade. Os princípios fundamentais da qualidade são: rotulagem consistente, ausência de erros, dados com rotulagem incorreta, entradas/saídas ruidosas e uma distribuição representativa em comparação com o todo. Ao fazer o ajuste fino doConjunto de dados LIMA de alguns milhares de exemplos cuidadosamente selecionados teve um desempenho melhor do que o conjunto de dados Alpaca de 50 mil gerados por máquina.Documentação de ajuste fino da OpenAI Sugere-se que até mesmo um conjunto de dados de 50 a 100 exemplos pode ter um impacto.
  • Tarefas linguísticas mais difíceis exigem mais dados: 相对较难的任务,如文本生成和摘要,更难微调,需要比分类和实体提取等简单任务更多的数据。这里的”更难”可能意味着多种情况:输出中的 token 更多,需要更高阶的人类能力,存在多个正确答案。
  • Coleta de dados eficaz e de alta qualidade: Devido ao alto custo da coleta de dados, as seguintes estratégias são recomendadas para melhorar a eficiência da amostra e reduzir os custos
    • Observe os padrões de falha: observe exemplos de recursos de ML anteriores que falharam e adicione exemplos que abordem esses padrões de falha.
    • Colaboração homem-máquina: essa é uma maneira mais econômica de dimensionar a anotação de dados. Usamos o LLM para automatizar a geração de respostas básicas, que os anotadores humanos podem anotar em menos tempo.

Diversidade de dados

Em termos simples, se você treinar demais um modelo com um tipo específico de resposta, ele será tendencioso a dar essa resposta, se não a resposta mais adequada. A regra geral aqui é garantir, tanto quanto possível, que os dados de treinamento reflitam como o modelo deve se comportar no mundo real.

  • Repetir: foi rejeitado por descobertas é a causa da degradação do modelo no ajuste fino e no pré-treinamento. A obtenção de diversidade por meio da eliminação da duplicação geralmente melhora as métricas de desempenho.
  • Diversidade de entrada: Aumente a diversidade parafraseando as entradas. No Ajuste fino do SQLCoder2 A equipe reformulou o texto simples que acompanha as consultas SQL para introduzir diversidade sintática e semântica. Da mesma forma, a equipeTradução reversa das instruções 被用于人工编写的文本,通过询问 LLM “这可能是对什么问题的回答?” 来生成问答数据集。
  • Diversidade do conjunto de dados: Ao fazer o ajuste fino para tarefas de downstream mais gerais (por exemplo, adaptação multilíngue), o uso de diversos conjuntos de dados demonstrou melhorar a compensação entre o esquecimento dos recursos originais de um modelo e o aprendizado de novos recursos. O direcionamento para diferentes idiomas, como Hindi (idioma) responder cantando Austronésico (idioma) O modelo de ajuste fino usa um rico conjunto de dados específico do idioma, bem como outros conjuntos de dados de ajuste fino de comandos, como o FLANeAlpacaDolly et al. para introduzir a diversidade.
  • Saída padronizada: A remoção de espaços em branco da saída e outros truques de formatação têm se mostrado úteis.SQLCoder2 从生成的 SQL 中移除空白,让模型专注于学习重要的 SQL 概念,而不是诸如空格和缩进等技巧。如果您希望回答中有特定的语气。”服务台聊天机器人是…”,那么为每个示例在数据集中添加这些内容。

Pipeline de dados baseado em LLM

Para reunir conjuntos de dados diversos e de alta qualidade, os pipelines de dados geralmente usam LLMs para reduzir os custos de anotação. As técnicas a seguir foram observadas na prática:

  • Avaliação: Treine o modelo com um conjunto de dados de alta qualidade e use-o para fazer anotações em seu conjunto de dados maior para filtrar exemplos de alta qualidade.
  • Gerar: Semear os LLMs com exemplos de alta qualidade e solicitar a geração de exemplos semelhantes de alta qualidade.Práticas recomendadas para conjuntos de dados sintéticos está começando a tomar forma.
  • Colaboração entre homem e computador: Use LLMs para gerar um conjunto inicial de resultados e permita que os humanos melhorem a qualidade editando ou selecionando preferências.

Depuração de seu conjunto de dados

  • Avalie seu conjunto de dados quanto a resultados ruins: 如果模型在某些方面仍然表现不佳,添加直接向模型展示如何正确处理这些方面的训练示例。如果您的模型存在语法、逻辑或风格问题,检查您的数据是否存在相同的问题。例如,如果模型现在说 “我会为您安排这个会议” (而它不应该这样说),看看现有示例是否教导模型说它可以做一些它实际上不能做的新事情。
  • Verifique novamente o equilíbrio das categorias positivo/negativo: 如果数据中 60% 的助手回复说 “我无法回答这个问题”,但在推理时只有 5% 的回复应该这样说,您可能会得到过多的拒绝。
  • Abrangência e consistência: Certifique-se de que seus exemplos de treinamento contenham todas as informações necessárias para a resposta. Se quisermos que o modelo elogie o usuário com base em suas características pessoais, e os exemplos de treinamento contiverem o elogio do assistente para características que não apareceram no diálogo anterior, o modelo poderá aprender a falsificar as informações. Certifique-se de que todos os exemplos de treinamento estejam no mesmo formato esperado durante o raciocínio. Verifique a consistência dos exemplos de treinamento. Se várias pessoas criaram os dados de treinamento, o desempenho do modelo pode ser limitado pelo nível de consistência interpessoal. Por exemplo, em uma tarefa de extração de texto, o modelo pode não ter um desempenho melhor se as pessoas concordarem apenas com os segmentos extraídos de 70%.

chegar a um veredicto

O ajuste fino é um aspecto fundamental no desenvolvimento de um modelo de linguagem grande que exige um equilíbrio delicado entre arte e ciência. A qualidade e a curadoria do conjunto de dados desempenham um papel importante no sucesso do ajuste fino, oModelos pequenos e ajustados de linguagens grandes tendem a superar os modelos maiores em tarefas específicas. Uma vez tomada a decisão de fazer o ajuste fino Guia de ajuste fino da lhama fornece um ponto de partida sólido. A natureza proprietária do portfólio de conjuntos de dados ajustados tem impedido o compartilhamento de práticas recomendadas e o progresso do código aberto. À medida que o campo continua a evoluir, prevemos o surgimento de práticas recomendadas comuns, mantendo a criatividade e a adaptabilidade do ajuste fino.

uma nota de agradecimento

Gostaríamos de agradecer a Suraj Subramanian e Varun Vontimitta por seus comentários construtivos sobre a organização e a preparação desta postagem do blog.

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

caixa de entrada

Entre em contato conosco

voltar ao topo

pt_BRPortuguês do Brasil