Ensemble-Instruct: Gerando Dados de Ajuste por Instrução com uma Mistura Heterogênea de Modelos de Linguagem
Ensemble-Instruct: Generating Instruction-Tuning Data with a Heterogeneous Mixture of LMs
October 21, 2023
Autores: Young-Suk Lee, Md Arafat Sultan, Yousef El-Kurdi, Tahira Naseem Asim Munawar, Radu Florian, Salim Roukos, Ramón Fernandez Astudillo
cs.AI
Resumo
Utilizando o aprendizado em contexto (ICL) para geração de dados, técnicas como Self-Instruct (Wang et al., 2023) ou sua continuação Alpaca (Taori et al., 2023) podem treinar agentes conversacionais robustos com apenas uma pequena quantidade de supervisão humana. Uma limitação dessas abordagens é que elas recorrem a modelos de linguagem muito grandes (em torno de 175 bilhões de parâmetros) que também são proprietários e não públicos. Aqui, exploramos a aplicação de tais técnicas a modelos de linguagem muito menores (em torno de 10 a 40 bilhões de parâmetros) e que possuem licenças permissivas. Descobrimos que a abordagem Self-Instruct é menos eficaz nesses tamanhos e propomos novos métodos de ICL que se baseiam em duas ideias principais: (a) Categorização e simplificação dos templates de ICL para facilitar o aprendizado de prompts pelo modelo de linguagem (LM), e (b) Ensembling sobre múltiplas saídas do LM para ajudar a selecionar exemplos sintéticos de alta qualidade. Nosso algoritmo aproveita as 175 tarefas iniciais do Self-Instruct e emprega pipelines separados para instruções que exigem uma entrada e instruções que não exigem. Investigações empíricas com diferentes LMs mostram que: (1) Nosso método proposto produz dados de ajuste de instrução de qualidade superior ao Self-Instruct, (2) Ele melhora o desempenho tanto de LMs básicos quanto de LMs ajustados por instrução de forma significativa, e (3) LMs menores ajustados por instrução geram saídas mais úteis do que suas contrapartes maiores não ajustadas. Nossa base de código está disponível em https://github.com/IBM/ensemble-instruct.
English
Using in-context learning (ICL) for data generation, techniques such as
Self-Instruct (Wang et al., 2023) or the follow-up Alpaca (Taori et al., 2023)
can train strong conversational agents with only a small amount of human
supervision. One limitation of these approaches is that they resort to very
large language models (around 175B parameters) that are also proprietary and
non-public. Here we explore the application of such techniques to language
models that are much smaller (around 10B--40B parameters) and have permissive
licenses. We find the Self-Instruct approach to be less effective at these
sizes and propose new ICL methods that draw on two main ideas: (a)
Categorization and simplification of the ICL templates to make prompt learning
easier for the LM, and (b) Ensembling over multiple LM outputs to help select
high-quality synthetic examples. Our algorithm leverages the 175 Self-Instruct
seed tasks and employs separate pipelines for instructions that require an
input and instructions that do not. Empirical investigations with different LMs
show that: (1) Our proposed method yields higher-quality instruction tuning
data than Self-Instruct, (2) It improves performances of both vanilla and
instruction-tuned LMs by significant margins, and (3) Smaller instruction-tuned
LMs generate more useful outputs than their larger un-tuned counterparts. Our
codebase is available at https://github.com/IBM/ensemble-instruct.