CoolFace
Modelpublic

TriAiExperiments/SFR-Iterative-DPO-LLaMA-3-8B-R

sourceHugging Faceupdated 2y agoView on Hugging Face
1likes186downloads
README.md118 linesDownload Raw Back to root
1# Original Salesforce Readme2I think they had the wrong license, which is why they deleted the original repos.3The correct license would be the [llama 3 license](https://github.com/meta-llama/llama3/blob/main/LICENSE)4 5---6license: cc-by-nc-nd-3.07---8# SFR-Iterative-DPO-Llama-3-8B-R9 10## Introduction11We release a state-of-the-art instruct model of its class, **SFR-Iterative-DPO-LLaMA-3-8B-R**.12On all three widely-used instruct model benchmarks: **Alpaca-Eval-V2**, **MT-Bench**, **Chat-Arena-Hard**, our model outperforms all models of similar size (e.g., LLaMA-3-8B-it), most large open-sourced models (e.g., Mixtral-8x7B-it),13and strong proprietary models (e.g., GPT-3.5-turbo-0613). The model is trained with open-sourced datasets without any additional human-/GPT4-labeling.14 15## Model Releases16- [SFT model](https://huggingface.co/Salesforce/SFR-SFT-LLaMA-3-8B-R)17- [Reward model](https://huggingface.co/Salesforce/SFR-RM-LLaMA-3-8B-R)18- [RLHF model](https://huggingface.co/Salesforce/SFR-Iterative-DPO-LLaMA-3-8B-R)19 20 21## Training methods22We have developed a simple and efficient online RLHF recipe for LLM instruct training. Our recipe is DPO-based and thus much cheaper and simpler to train and tune compared to PPO-based approaches.23Unlike widely-used offline DPO, the online component of our approach effectively mitigates distribution shifts during policy optimization.24For a detailed exposition, please refer to our accompanying technical report.25 26 27## Chat Benchmarks28 29| **Model**               | **Size** | **Method**        | **LC Alpaca-Eval-V2** | **MT-Bench** | **Chat-Arena-Hard** |30|-------------------------|----------|-------------------|-----------------------|--------------|---------------------|31| **Small Open-Sourced Models**           |          |                   |                       |              |                     |32| Gemma-7B-it             | 7B       | SFT               | 10.4                  | 6.38         | 7.5                 |33| Zephyr-7B-beta          | 7B       | Vanilla DPO       | 13.1                  | 7.34         | -                   |34| Mistral-7B-v0.2-it      | 7B       | SFT               | 17.1                  | 7.51         | 12.6                |35| Open-Chat-0106          | 7B       | SFT               | 15.6                  | 7.8          | -                   |36| Starling-7B-beta        | 7B       | PPO               | 25.8                  | 8.12         | 23.0                |37| LLaMA-3-8B-it           | 8B       | RS+DPO+PPO        | 22.9                  | 8.16         | 20.6                |38| **Ours**                |          |                   |                       |              |                     |39| Ours (SFT baseline)     | 8B       | SFT               | 10.2                  | 7.69         | 5.6                 |40| Ours (DPO baseline)     | 8B       | Vanilla DPO       | 22.5                  | 8.17         | 22.4                |41| Ours (Online RLHF)      | 8B       | Iterative DPO     | **37.2**              | **8.46**     | **29.1**            |42| **Large Open-Sourced Models**       |          |                   |                       |              |                     |43| Vicuna-33b-v1.3         | 33B      | SFT               | 17.6                  | 7.12         | 8.6                 |44| Yi-34B-Chat             | 34B      | SFT               | 27.2                  | -            | 23.1                |45| Mixtral-8x7B-it         | 45B*     | SFT               | 23.7                  | 8.30         | 23.4                |46| Tulu-2-DPO-70B          | 70B      | Vanilla DPO       | 21.2                  | 7.89         | 15.0                |47| LLaMA-3-70B-it          | 70B      | RS+DPO+PPO        | 34.4                  | 8.95         | 41.1                |48| Mixtral-8x22B-it        | 141B*    | SFT               | 30.9                  | 8.66         | 36.4                |49| **Proprietary Models**  |       |                   |                       |              |                     |50| GPT-3.5-turbo-1106      | -        | -                 | 19.3                  | 8.35         | 18.9                |51| GPT-3.5-turbo-0613      | -        | -                 | 22.7                  | 8.39         | 24.8                |52| GPT-4-0613              | -        | -                 | 30.2                  | 9.18         | 37.9                |53| Claude-3-Opus           | -        | -                 | 40.5                  | 9.00         | 60.4                |54| GPT-4 Turbo (04/09)     | -        | -                 | 55.0                  | -            | 82.6                |55 56 57## Academic Benchmarks58 59| **Model**                  | **Size** | **Method**      | **GSM-8K** | **MMLU** | **HumanEval** | **TruthfulQA** | **ARC** | **MBPP** |60|----------------------------|----------|-----------------|------------|----------|---------------|----------------|---------|----------|61| LLaMA-3-8B-it              | 8B       | RS+DPO+PPO      | 79.6       | 66.0     | 61.6          | 43.9           | 59.5    | 61.1     |62| Ours (SFT baseline)        | 8B       | SFT             | 74.2       | 64.7     | 65.2          | 53.4           | 61.4    | 62.3     |63| Ours (DPO baseline)        | 8B       | Vanilla DPO     | 79.8       | 64.5     | 63.4          | 61.8           | 65.2    | 60.3     |64| Ours (Iterative RLHF)      | 8B       | Iterative DPO   | 80.7       | 65.3     | 64.6          | 60.4           | 64.3    | 60.8     |65 66 67## Usage68```python69from transformers import AutoModelForCausalLM, AutoTokenizer70 71device = "cuda" 72 73model = AutoModelForCausalLM.from_pretrained("Salesforce/SFR-Iterative-DPO-LLaMA-3-8B-R")74tokenizer = AutoTokenizer.from_pretrained("Salesforce/SFR-Iterative-DPO-LLaMA-3-8B-R")75 76messages = [77    {"role": "user", "content": "I'm trying to teach myself to have nicer handwriting. Can you help?"},78]79 80model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt")81 82model_inputs = model_inputs.to(device)83model.to(device)84 85output_tokens = model.generate(model_inputs, max_new_tokens=1024, do_sample=True)86model_outputs = tokenizer.batch_decode(output_tokens)87print(model_outputs[0])88```89 90 91## Limitations92SFR-Iterative-DPO-LLaMA-3-8B-R is a research model developed as part of our RLHF initiative at Salesforce. 93While safety and ethical considerations are integral to our alignment process, 94there remains the possibility that the model could generate offensive or unethical content, particularly under adversarial conditions. 95We are committed to continuous improvement in our models to minimize such risks and encourage responsible usage.96 97## Citation98Please cite our papers if you find our models are useful.99 100```bibtex101@misc{dong2024rlhf,102      title={RLHF Workflow: From Reward Modeling to Online RLHF}, 103      author={Hanze Dong and Wei Xiong and Bo Pang and Haoxiang Wang and Han Zhao and Yingbo Zhou and Nan Jiang and Doyen Sahoo and Caiming Xiong and Tong Zhang},104      year={2024},105      eprint={2405.07863},106      archivePrefix={arXiv},107      primaryClass={cs.LG}108}109 110@misc{xiong2024iterative,111      title={Iterative Preference Learning from Human Feedback: Bridging Theory and Practice for RLHF under KL-Constraint}, 112      author={Wei Xiong and Hanze Dong and Chenlu Ye and Ziqi Wang and Han Zhong and Heng Ji and Nan Jiang and Tong Zhang},113      year={2024},114      eprint={2312.11456},115      archivePrefix={arXiv},116      primaryClass={cs.LG}117}118```