Hacia MLLMS de confianza a través de la alineación del comportamiento de la retroalimentación humana correccional de grano fino
Este repositorio aloja el código, los datos y el peso del modelo de RLHF-V , un marco novedoso que alinea el comportamiento de modelos de lenguaje grande (MLLMS) multimodal a través de la retroalimentación humana correccional de grano fino.
Recopilamos datos de retroalimentación correccional de grano fino, que pueden acreditar mejor el comportamiento deseado, pidiendo a los anotadores humanos que corrijan los segmentos alucinados en las respuestas del modelo. En beneficio de la alta eficiencia de los datos, solo llevamos 1 hora en 8 GPU A100 para reducir la tasa de alucinación del modelo base en un 34.8%. Específicamente, realizamos experimentos en muffin, un MLLM que tiene una fuerte capacidad en la comprensión y el razonamiento de imágenes que se capacita en Unimm-Chat.
Visitar nuestro? Página de proyecto y? papel para explorar más! ¡Y no te pierdas probar nuestra demostración interactiva!
Presentamos el RLHF-V-Dataset, que es un conjunto de datos de preferencia humana construido por correcciones humanas a nivel de segmento de grano fino. En la práctica, obtenemos un total de 1,4k datos anotados que incluyen un conjunto diverso de instrucciones de descripción detalladas e instrucciones de pregunta.
Liberamos pesas del modelo RLHF-V en la cara de abrazo.
También proporcionamos nuestros pesos SFT, que es el punto de control del modelo después de un muffin de finete en el conjunto de datos VQAV2.
cd RLHF-V
git clone https://github.com/thunlp/muffin
cd Muffin
# Creating conda environment
conda create -n muffin python=3.10
conda activate muffin
# Installing dependencies
pip install -e .
# Install specific version of transformers to make sure you can reproduce the experimental results in our papers
git clone --recursive [email protected]:huggingface/transformers.git
cd transformers
git checkout a92e0ad2e20ef4ce28410b5e05c5d63a5a304e65
pip install .
cd ..Instale paquetes adicionales si necesita capacitación.
git clone --recursive https://github.com/Dao-AILab/flash-attention.git
cd flash-attention
# Note: Uncomment the following line if you have CUDA version <= 11.4
# git checkout ad11394
MAX_JOBS=8 python setup.py install
cd ..Para ejecutar Object Halbench Evaluation, también necesita los siguientes paquetes:
jsonlines
nltk==3.8.1
spacy==3.7.0
# Download and install "en_core_web_trf" for spacy
# The wheel version we use can be downloaded from
# https://github.com/explosion/spacy-models/releases/tag/en_core_web_trf-3.7.2
# run pip install en_core_web_trf-3.7.2-py3-none-any.whl Ejecute el siguiente script para generar, evaluar y resumir los resultados para el banco de Llava:
# cd RLHF-V
bash ./script/eval/eval_muffin_llavabench.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_OPENAI_API_KEY}La evaluación de Object Halbench se basa en las anotaciones de subtítulos y segmentación del conjunto de datos COCO2014. Primero descargue el conjunto de datos Coco2014 desde el sitio web oficial del conjunto de datos de Coco.
mkdir coco2014
cd coco2014
wget http://images.cocodataset.org/annotations/annotations_trainval2014.zip
unzip annotations_trainval2014.zip Reemplace {YOUR_COCO2014_ANNOTATION_DIR} con la ruta para el directorio de anotación de Coco2014 (por ejemplo ./coco2014/annotations coco2014/annotations) y reemplace {YOUR_OPENAI_API_KEY} con un api-key válido de OpenAI.
# cd RLHF-V
bash ./script/eval_muffin_objhal.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_COCO2014_ANNOTATION_DIR} {YOUR_OPENAI_API_KEY} Descargue los datos de evaluación MMHAL aquí y guarde el archivo en eval/data .
# cd RLHF-V
bash ./script/eval_muffin_mmhal.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_OPENAI_API_KEY}Siga las instrucciones en la sección Instalar para preparar el entorno de capacitación. Y asegúrese de actualizar a la última base de código de muffin :
cd Muffin
git pull
pip install -e .
Descargue nuestro punto de control del modelo SFT y guárdelo en Muffin/RLHF-V_SFT_weight .
Asegúrese de actualizar a la última base de código de muffin . Después de instalar el entorno de muffin, puede entrenar su modelo de la siguiente manera. Este script descargará automáticamente nuestros datos de entrenamiento de origen abierto de Huggingface, generará periódicos por nuestro modelo SFT y realizará capacitación DDPO:
cd Muffin
ref_model=./RLHF-V_SFT_weight
bash ./script/train/run_RLHFV.sh
./RLHFV_checkpoints/dpo_exp
master
RLHFV
1.1
$ref_model
./RLHF-V-Dataset
RLHFV_SFT
2160
360
0.1
False
TrueUso y avisos de licencia : los datos, el código y el punto de control están destinados y con licencia solo para uso de la investigación. También están restringidos a usos que siguen el acuerdo de licencia de Llama, Vicuna y Chat GPT. El conjunto de datos es CC por NC 4.0 (que permite solo un uso no comercial) y los modelos capacitados utilizando el conjunto de datos no deben usarse fuera de fines de investigación.
Si encuentra útil nuestro modelo/código/datos/documento, considere citar nuestros documentos y estén estrellados como min!
@article { yu2023rlhf ,
title = { Rlhf-v: Towards trustworthy mllms via behavior alignment from fine-grained correctional human feedback } ,
author = { Yu, Tianyu and Yao, Yuan and Zhang, Haoye and He, Taiwen and Han, Yifeng and Cui, Ganqu and Hu, Jinyi and Liu, Zhiyuan and Zheng, Hai-Tao and Sun, Maosong and others } ,
journal = { arXiv preprint arXiv:2312.00849 } ,
year = { 2023 }
}
@article { yu2024rlaifv ,
title = { RLAIF-V: Aligning MLLMs through Open-Source AI Feedback for Super GPT-4V Trustworthiness } ,
author = { Yu, Tianyu and Zhang, Haoye and Yao, Yuan and Dang, Yunkai and Chen, Da and Lu, Xiaoman and Cui, Ganqu and He, Taiwen and Liu, Zhiyuan and Chua, Tat-Seng and Sun, Maosong } ,
journal = { arXiv preprint arXiv:2405.17220 } ,
year = { 2024 } ,
}