Em direção a MLLMs confiáveis por meio de alinhamento de comportamento de feedback humano correcional de granulação fina
Esse repositório hospeda o código, dados e o peso do modelo do RLHF-V , uma nova estrutura que alinha o comportamento de modelos de linguagem grande multimodal (MLLMS) por meio de feedback humano correcional de granulação fina.
Coletamos dados de feedback correcional de granulação fina, que podem creditar melhor o comportamento desejado, pedindo aos anotadores humanos que corrigissem os segmentos alucinados nas respostas dos modelos. Beneficiando -se da alta eficiência dos dados, leva apenas 1 hora em 8 GPUs A100 para reduzirmos a taxa de alucinação do modelo básico em 34,8%. Especificamente, realizamos experimentos sobre o Muffin, um MLLM que tem uma forte capacidade no entendimento e raciocínio de imagem que é treinado no Unimm-Chat.
Visitar nosso? página do projeto e? papel para explorar mais! E não perca a nossa demonstração interativa!
Apresentamos o RLHF-V-DataSet, que é um conjunto de dados de preferência humana construído por correções humanas no nível de segmento de granulação fina. Na prática, obtemos um total de 1,4 mil dados anotados que incluem um conjunto diversificado de instruções detalhadas de descrição e instruções de resposta a perguntas.
Lançamos o modelo RLHF-V pesos no rosto abraçando.
Também fornecemos nossos pesos SFT, que é o ponto de verificação do modelo após o muffin do Finetuning no conjunto de dados 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 pacotes adicionais se precisar fazer treinamento.
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 executar a avaliação do objeto Halbench, você também precisa dos seguintes pacotes:
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 Execute o script a seguir para gerar, avaliar e resumir os resultados para o banco LLAVA:
# cd RLHF-V
bash ./script/eval/eval_muffin_llavabench.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_OPENAI_API_KEY}A avaliação do objeto Halbench depende das anotações de legenda e segmentação do conjunto de dados Coco2014. Faça o download do conjunto de dados Coco2014 no site oficial do conjunto de dados Coco.
mkdir coco2014
cd coco2014
wget http://images.cocodataset.org/annotations/annotations_trainval2014.zip
unzip annotations_trainval2014.zip Substitua {YOUR_COCO2014_ANNOTATION_DIR} pelo caminho do diretório de anotação Coco2014 (por exemplo ./coco2014/annotations coco2014/annotações) e substitua {YOUR_OPENAI_API_KEY} por uma tecla de aberai válida.
# cd RLHF-V
bash ./script/eval_muffin_objhal.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_COCO2014_ANNOTATION_DIR} {YOUR_OPENAI_API_KEY} Faça o download dos dados de avaliação MMHAL aqui e salve o arquivo em eval/data .
# cd RLHF-V
bash ./script/eval_muffin_mmhal.sh ./RLHF-V_weight ./results/RLHF-V {YOUR_OPENAI_API_KEY}Siga as instruções na seção de instalação para preparar o ambiente de treinamento. E certifique -se de atualizar para a última base de código de Muffin :
cd Muffin
git pull
pip install -e .
Faça o download do nosso ponto de verificação do modelo SFT e salve-o no Muffin/RLHF-V_SFT_weight .
Certifique -se de atualizar para a última base de código de muffin . Depois de instalar o ambiente do Muffin, você pode treinar seu modelo da seguinte maneira. Este script baixará automaticamente nossos dados de treinamento de origem aberta do HuggingFace, gerará logps pelo nosso modelo SFT e fará o treinamento 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
TrueAvisos de uso e licença : os dados, o código e o ponto de verificação são destinados e licenciados apenas para uso em pesquisa. Eles também são restritos aos usos que seguem o contrato de licença de Llama, Vicuna e Chat GPT. O conjunto de dados é CC pelo NC 4.0 (permitindo apenas uso não comercial) e os modelos treinados usando o conjunto de dados não devem ser usados fora dos fins de pesquisa.
Se você encontrar nosso modelo/código/dados/papel
@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 } ,
}