Vers des MLLMs dignes de confiance via l'alignement du comportement à partir de commentaires humains correctionnels à grain fin
Ce référentiel héberge le code, les données et le poids du modèle de RLHF-V , un nouveau cadre qui aligne le comportement des modèles de langage de grands langues multimodaux (MLLMS) par une rétroaction humaine correctionnelle à grain fin.
Nous collectons des données de rétroaction correctionnelle à grain fin, qui peuvent mieux créditer le comportement souhaité, en demandant aux annotateurs humains de corriger les segments hallucinés dans les réponses du modèle. Bénéficiant de la forte efficacité des données, il ne faut que 1 heure sur 8 GPU A100 pour réduire le taux d'hallucination du modèle de base de 34,8%. Plus précisément, nous effectuons des expériences sur le muffin, un MLLM qui a une forte capacité dans la compréhension et le raisonnement de l'image qui est formé sur un chat Unimm.
Visiter notre? Page de projet et? papier pour en explorer plus! Et ne manquez pas d'essayer notre démo interactive!
Nous présentons le rlhf-v-dataset, qui est un ensemble de données de préférence humaine construit par des corrections humaines au niveau du segment à grain fin. En pratique, nous obtenons un total de données annotées de 1,4 000 qui comprennent un ensemble diversifié d'instructions de description détaillées et d'instructions de réponses aux questions.
Nous libérons des poids du modèle RLHF-V sur les étreintes.
Nous fournissons également nos poids SFT, qui est le point de contrôle du modèle après le muffin de finetun sur l'ensemble de données 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 ..Installez des packages supplémentaires si vous avez besoin de faire une formation.
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 ..Pour exécuter l'évaluation de l'objet Halbench, vous avez également besoin des packages suivants:
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 Exécutez le script suivant pour générer, évaluer et résumer les résultats pour le banc llava:
# cd RLHF-V
bash ./script/eval/eval_muffin_llavabench.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_OPENAI_API_KEY}L'évaluation de l'objet Halbench repose sur la légende et les annotations de segmentation de l'ensemble de données CoCO2014. Veuillez d'abord télécharger l'ensemble de données CoCO2014 à partir du site officiel de l'ensemble de données CoCo.
mkdir coco2014
cd coco2014
wget http://images.cocodataset.org/annotations/annotations_trainval2014.zip
unzip annotations_trainval2014.zip Veuillez remplacer {YOUR_COCO2014_ANNOTATION_DIR} par le chemin du répertoire d'annotation COCO2014 (par exemple ./coco2014/annotations coco2014/annotations), et remplacer {YOUR_OPENAI_API_KEY} par une touche Openai valide.
# cd RLHF-V
bash ./script/eval_muffin_objhal.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_COCO2014_ANNOTATION_DIR} {YOUR_OPENAI_API_KEY} Veuillez télécharger les données d'évaluation MMHAL ici et enregistrer le fichier dans eval/data .
# cd RLHF-V
bash ./script/eval_muffin_mmhal.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_OPENAI_API_KEY}Veuillez suivre les instructions dans la section Installer pour préparer l'environnement de formation. Et assurez-vous de passer à la dernière base de code de Muffin :
cd Muffin
git pull
pip install -e .
Veuillez télécharger notre point de contrôle du modèle SFT et l'enregistrer sur Muffin/RLHF-V_SFT_weight .
Veuillez vous assurer de passer à la dernière base de code de Muffin . Après avoir installé l'environnement de muffin, vous pouvez former votre modèle comme suit. Ce script téléchargera automatiquement nos données de formation open source à partir de HuggingFace, générera des logps par notre modèle SFT et DDPO Training:
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
TrueAvis d'utilisation et de licence : les données, le code et le point de contrôle sont destinés et conçus pour une utilisation de la recherche uniquement. Ils sont également limités aux utilisations qui suivent l'accord de licence de Llama, Vicuna et Chat GPT. L'ensemble de données est CC par NC 4.0 (ne permettant qu'une utilisation non commerciale) et les modèles formés à l'aide de l'ensemble de données ne doivent pas être utilisés en dehors des fins de recherche.
Si vous trouvez notre modèle / code / données / papier utile, veuillez envisager de citer nos papiers et de nous jouer ️!
@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 } ,
}