|
--- |
|
base_model: llava-hf/llava-1.5-7b-hf |
|
library_name: transformers |
|
model_name: llava-lora-12-06-rpo-0.1 |
|
tags: |
|
- generated_from_trainer |
|
- trl |
|
- dpo |
|
licence: license |
|
--- |
|
|
|
# Model Card for llava-lora-12-06-rpo-0.1 |
|
|
|
This model is a fine-tuned version of [llava-hf/llava-1.5-7b-hf](https://huggingface.co/llava-hf/llava-1.5-7b-hf). |
|
It has been trained using [TRL](https://github.com/huggingface/trl). |
|
|
|
## Quick start |
|
|
|
```python |
|
from transformers import pipeline |
|
|
|
question = "If you had a time machine, but could only go to the past or the future once and never return, which would you choose and why?" |
|
generator = pipeline("text-generation", model="abshetty/llava-lora-12-06-rpo-0.1", device="cuda") |
|
output = generator([{"role": "user", "content": question}], max_new_tokens=128, return_full_text=False)[0] |
|
print(output["generated_text"]) |
|
``` |
|
|
|
## Training procedure |
|
|
|
[<img src="https://raw.githubusercontent.com/wandb/assets/main/wandb-github-badge-28.svg" alt="Visualize in Weights & Biases" width="150" height="24"/>](https://wandb.ai/ashetty21-university-of-california-berkeley/huggingface/runs/ck7mmct6) |
|
|
|
This model was trained with DPO, a method introduced in [Direct Preference Optimization: Your Language Model is Secretly a Reward Model](https://huggingface.co/papers/2305.18290). |
|
|
|
### Framework versions |
|
|
|
- TRL: 0.12.2 |
|
- Transformers: 4.46.3 |
|
- Pytorch: 2.5.1+cu121 |
|
- Datasets: 3.1.0 |
|
- Tokenizers: 0.20.3 |
|
|
|
## Citations |
|
|
|
Cite DPO as: |
|
|
|
```bibtex |
|
@inproceedings{rafailov2023direct, |
|
title = {{Direct Preference Optimization: Your Language Model is Secretly a Reward Model}}, |
|
author = {Rafael Rafailov and Archit Sharma and Eric Mitchell and Christopher D. Manning and Stefano Ermon and Chelsea Finn}, |
|
year = 2023, |
|
booktitle = {Advances in Neural Information Processing Systems 36: Annual Conference on Neural Information Processing Systems 2023, NeurIPS 2023, New Orleans, LA, USA, December 10 - 16, 2023}, |
|
url = {http://papers.nips.cc/paper_files/paper/2023/hash/a85b405ed65c6477a4fe8302b5e06ce7-Abstract-Conference.html}, |
|
editor = {Alice Oh and Tristan Naumann and Amir Globerson and Kate Saenko and Moritz Hardt and Sergey Levine}, |
|
} |
|
``` |
|
|
|
Cite TRL as: |
|
|
|
```bibtex |
|
@misc{vonwerra2022trl, |
|
title = {{TRL: Transformer Reinforcement Learning}}, |
|
author = {Leandro von Werra and Younes Belkada and Lewis Tunstall and Edward Beeching and Tristan Thrush and Nathan Lambert and Shengyi Huang and Kashif Rasul and Quentin Gallouédec}, |
|
year = 2020, |
|
journal = {GitHub repository}, |
|
publisher = {GitHub}, |
|
howpublished = {\url{https://github.com/huggingface/trl}} |
|
} |
|
``` |
|
|
|
#Train the model |
|
training_args = DPOConfig( |
|
output_dir="llava-lora-12-06-rpo-0.1", |
|
bf16=True, |
|
gradient_checkpointing=True, |
|
per_device_train_batch_size=8, |
|
per_device_eval_batch_size=4, |
|
gradient_accumulation_steps=32, |
|
evaluation_strategy="steps", |
|
eval_steps=1, |
|
learning_rate=1e-5, |
|
beta=0.1, |
|
warmup_ratio=0.1, |
|
lr_scheduler_type="cosine", |
|
num_train_epochs=2, |
|
rpo_alpha=0.1, |
|
dataset_num_proc=32, # tokenization will use 32 processes |
|
dataloader_num_workers=32, # data loading will use 32 workers |
|
logging_steps=1, |
|
) |
|
|
|
#Define LoRA configuration with specified rank |
|
lora_config = LoraConfig( |
|
r=64, # Set rank to 64 |
|
lora_alpha=128, # Set scaling factor to 128 |
|
target_modules="all-linear", # Target all linear layers |
|
lora_dropout=0.1, |
|
) |
|
|
|
trainer = DPOTrainer( |
|
model, |
|
ref_model=None, # not needed when using peft |
|
args=training_args, |
|
train_dataset=train_dataset, |
|
eval_dataset=eval_dataset, |
|
tokenizer=processor, |
|
peft_config=lora_config, |
|
) |