Bitune
1.0.0

Bitune: ajuste de instrucciones bidireccionales
[ Paper ] [ Website ]
Este código fuente contiene la implementación de Bitune, y es suficiente para reproducir los resultados del documento. Tenga en cuenta que se usó para explorar diferentes ideas, y muchos componentes tienen diferentes nombres o se refieren a conceptos no mencionados en el documento.
Planeamos lanzar un repositorio limpio para Bitune en el futuro cercano.
El Directorio lm-evaluation-harness contiene el repositorio de EleutHerai/LM-Evaluation-Harness, adaptado a nuestro método. Puede instalarlo con el siguiente comando:
pip install -e lm-evaluation-harnesscommon_0.sh .wandb para el registro. Actualice la línea 57 de eval.py con su nombre de usuario wandb . instruct.sh script.downstream.sh . Asegúrese de establecer el número correcto de pasos de actualización (según los valores proporcionados en el Apéndice) y la desacopluación de las líneas apropiadas para el nombre del conjunto de datos, las evaluaciones (en la parte inferior) y el nombre del método.ablations.sh y ejecuta el script. models :pass_scale_k , pass_scale_v ).enforce_bidir de la función forward() .forward() responsable de llamar al envoltorio Bitune ._pass_fn() en el archivo passes.py ):pass_scale_k , pass_scale_v ).peft establece adaptadores inactivos como no motrizables.PassScale definida en models/think_gemma.py ):forward() que aplica la operación de mezcla en función de la variante especificada en la config ( config.pass_type ). Nuestro método final está definido por la variante 607 (la utilizada para los experimentos) y su versión simplificada 801 . Se han utilizado las siguientes versiones de las bibliotecas:
transformers==4.38.2peft==0.11.1datasets==2.18.0evaluate==0.4.0 @misc { kopiczko2024bitune ,
title = { Bitune: Bidirectional Instruction-Tuning } ,
author = { Dawid J. Kopiczko and Tijmen Blankevoort and Yuki M. Asano } ,
year = { 2024 } ,
eprint = { 2405.14862 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CL }
}