На пути к заслуживающим доверия mllms через выравнивание поведения из мелкозернистой исправительной обратной связи с человеком
Этот репозиторий проводит код, данные и вес модели RLHF-V , новую структуру, которая выравнивает поведение мультимодальных крупных языковых моделей (MLLMS) посредством мелкозернистой исправительной обратной связи человека.
Мы собираем мелкозернистые данные обратной связи по исправлению поправки, которые могут лучше заслужить желаемое поведение, попросив аннотаторов человека исправить галлюцинированные сегменты в ответах на модели. Получив выгоду от высокой эффективности данных, для нас требуется всего 1 час на 8 A100 -графических процессоров, чтобы снизить частоту галлюцинации базовой модели на 34,8%. В частности, мы проводим эксперименты на Muffin, MLLM, который обладает сильной способностью понимания изображения и рассуждений, которые обучаются на неимма-чате.
Посетить наш? Project Page и? Бумага, чтобы исследовать больше! И не пропустите, чтобы попробовать нашу интерактивную демонстрацию!
Мы представляем RLHF-V-Dataset, который представляет собой набор данных для человеческих предпочтений, построенный в мелкозернистых поправках на уровне сегмента. На практике мы получаем в общей сложности 1,4K-аннотированные данные, которые включают разнообразный набор подробных инструкций описания и инструкций с вопросами.
Мы выпускаем веса модели RLHF-V при обнимании лица.
Мы также предоставляем наши веса SFT, который является модельным контрольным точкой после кекса для создания набора данных 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 ..Установите дополнительные пакеты, если вам нужно пройти обучение.
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 ..Чтобы запустить оценку объекта Halbench, вам также нужны следующие пакеты:
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 Запустите следующий сценарий для генерации, оценки и обобщения результатов для скамейки Llava:
# cd RLHF-V
bash ./script/eval/eval_muffin_llavabench.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_OPENAI_API_KEY}Оценка объекта Halbench зависит от аннотаций заголовка и сегментации из набора данных Coco2014. Пожалуйста, сначала загрузите набор данных COCO2014 с официального веб -сайта COCO DataSet.
mkdir coco2014
cd coco2014
wget http://images.cocodataset.org/annotations/annotations_trainval2014.zip
unzip annotations_trainval2014.zip Пожалуйста, замените {YOUR_COCO2014_ANNOTATION_DIR} на путь для каталога аннотаций Coco2014 (например ./coco2014/annotations ) и замените {YOUR_OPENAI_API_KEY} на действительный openai api-key.
# cd RLHF-V
bash ./script/eval_muffin_objhal.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_COCO2014_ANNOTATION_DIR} {YOUR_OPENAI_API_KEY} Пожалуйста, загрузите здесь данные оценки MMHAL и сохраните файл в eval/data .
# cd RLHF-V
bash ./script/eval_muffin_mmhal.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_OPENAI_API_KEY}Пожалуйста, следуйте инструкциям в разделе «Установка», чтобы подготовить учебную среду. И обязательно перейдите на последнюю кодовую базу Muffin :
cd Muffin
git pull
pip install -e .
Пожалуйста, загрузите нашу контрольную точку SFT Model и сохраните ее в Muffin/RLHF-V_SFT_weight .
Пожалуйста, обязательно перейдите на последнюю кодовую базу Muffin . После установки среды Mufffin вы можете обучить свою модель следующим образом. Этот скрипт автоматически загрузит наши учебные данные с открытым исходным кодом от HuggingFace, генерировать LogP по нашей модели SFT и пройти обучение 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
TrueУведомления об использовании и лицензии : данные, код и контрольно -пропускной пункт предназначены и лицензированы только для использования в исследованиях. Они также ограничены использования, которые следуют за лицензионным соглашением Llama, Vicuna и Chat GPT. Набор данных CC по NC 4.0 (разрешающий только некоммерческое использование), и модели, обученные с использованием набора данных, не должны использоваться вне целей исследования.
Если вы найдете нашу модель/код/данные/бумага полезными, пожалуйста, рассмотрите возможность цитировать наши документы и звезда нас ️ ️!!!!!!!! ️ ️ ️
@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 } ,
}