OpenBezoar: Modelos Pequenos, Econômicos e Abertos Treinados em Misturas de Dados de Instrução
OpenBezoar: Small, Cost-Effective and Open Models Trained on Mixes of Instruction Data
April 18, 2024
Autores: Chandeepa Dissanayake, Lahiru Lowe, Sachith Gunasekara, Yasiru Ratnayake
cs.AI
Resumo
O ajuste fino de instruções em LLMs pré-treinados para diversas tarefas subsequentes tem demonstrado um sucesso notável e capturado o interesse tanto de acadêmicos quanto de profissionais. Para garantir que esses LLMs ajustados estejam alinhados com as preferências humanas, técnicas como RLHF e DPO surgiram. Ao mesmo tempo, há um interesse crescente em modelos com menor número de parâmetros. Neste trabalho, utilizando o OpenLLaMA 3Bv2 como modelo base, descrevemos a receita usada para ajustar a família de modelos OpenBezoar. Nesta receita: Primeiro, geramos dados sintéticos de ajuste fino de instruções usando uma variante de ajuste fino de instruções do modelo Falcon-40B, aberta e sem restrições comerciais, sob três esquemas baseados em: LaMini-LM, WizardLM/Evol-Instruct (com databricks-dolly-15k como conjunto de dados inicial) e Orca (com a Coleção Flan como conjunto de dados inicial), então filtramos essas gerações usando GPT-4 como um proxy humano. Em seguida, realizamos um ajuste fino supervisionado baseado em QLoRA de forma sequencial com cada esquema. O checkpoint resultante é ainda mais ajustado com um subconjunto do conjunto de dados HH-RLHF para minimizar a mudança de distribuição antes de usar a perda DPO para obter o checkpoint final. A avaliação é feita com as tarefas/métricas do LM Eval Harness, bem como no MT-Bench usando o framework "LLM-as-a-judge" com Claude 2.1, com a descoberta de que o checkpoint final, "OpenBezoar-HH-RLHF-DPO", demonstra desempenho superior a muitos modelos na escala de 3B de parâmetros, superando até mesmo o modelo líder em uma das categorias no Huggingface Open LLM Leaderboard. Lançamos os checkpoints "OpenBezoar-SFT", "OpenBezoar-HH-RLHF-SFT", "OpenBezoar-HH-RLHF-DPO", juntamente com nossos conjuntos de dados gerados no HuggingFace em https://huggingface.co/collections/SurgeGlobal/open-bezoar-6620a24923e12127e9e2b9cc e nosso código-fonte em https://bitbucket.org/paladinanalytics/workspace/projects/OP.
English
Instruction fine-tuning pretrained LLMs for diverse downstream tasks has
demonstrated remarkable success and has captured the interest of both academics
and practitioners. To ensure such fine-tuned LLMs align with human preferences,
techniques such as RLHF and DPO have emerged. At the same time, there is
increasing interest in smaller parameter counts for models. In this work, using
OpenLLaMA 3Bv2 as a base model, we describe the recipe used to fine-tune the
OpenBezoar family of models. In this recipe: We first generate synthetic
instruction fine-tuning data using an open and commercially non-restrictive
instruction fine-tuned variant of the Falcon-40B model under three schemes
based on: LaMini-LM, WizardLM/Evol-Instruct (with databricks-dolly-15k as a
seed dataset) and Orca (with the Flan Collection as a seed dataset), then
filter these generations using GPT-4 as a human proxy. We then perform
cost-effective QLoRA-based supervised fine-tuning sequentially with each
scheme. The resulting checkpoint is further fine-tuned with a subset of the
HH-RLHF dataset to minimize distribution shift prior to using the DPO loss to
obtain the final checkpoint. Evaluation is done with the LM Eval Harness
tasks/metrics as well as on MT-Bench using the "LLM-as-a-judge" framework with
Claude 2.1, with the finding that the final checkpoint,
"OpenBezoar-HH-RLHF-DPO", demonstrates superior performance over many models at
the 3B parameter scale, even outperforming the top model in one of the
categories on the Huggingface Open LLM Leaderboard. We release
"OpenBezoar-SFT", "OpenBezoar-HH-RLHF-SFT", "OpenBezoar-HH-RLHF-DPO"
checkpoints, alongside our generated datasets on HuggingFace at
https://huggingface.co/collections/SurgeGlobal/open-bezoar-6620a24923e12127e9e2b9cc
and our codebase at
https://bitbucket.org/paladinanalytics/workspace/projects/OP.