|
--- |
|
license: apache-2.0 |
|
--- |
|
|
|
## Fine-tuning on Intel Gaudi2 |
|
|
|
This model is a fine-tuned model based on [mistralai/Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1) on the open source dataset [Open-Orca/SlimOrca](https://huggingface.co/datasets/Open-Orca/SlimOrca). Then we align it with DPO algorithm. For more details, you can refer our blog: [The Practice of Supervised Fine-tuning and Direct Preference Optimization on Intel Gaudi2](https://medium.com/@NeuralCompressor/the-practice-of-supervised-finetuning-and-direct-preference-optimization-on-habana-gaudi2-a1197d8a3cd3). |
|
|
|
## Model date |
|
Neural-chat-7b-v3 was trained between September and October, 2023. |
|
|
|
## Evaluation |
|
|
|
We submit our model to [open_llm_leaderboard](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard), and the model performance has been **improved significantly** as we see from the average metric of 7 tasks from the leaderboard. |
|
|
|
| Model | Average ⬆️| ARC (25-s) ⬆️ | HellaSwag (10-s) ⬆️ | MMLU (5-s) ⬆️| TruthfulQA (MC) (0-s) ⬆️ | Winogrande (5-s) | GSM8K (5-s) | DROP (3-s) | |
|
| --- | --- | --- | --- | --- | --- | --- | --- | --- | |
|
|[mistralai/Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1) | 50.32 | 59.58 | 83.31 | 64.16 | 42.15 | 78.37 | 18.12 | 6.14 | |
|
| **Ours** | **57.31** | 67.15 | 83.29 | 62.26 | 58.77 | 78.06 | 1.21 | 50.43 | |
|
|
|
|
|
## Training procedure |
|
|
|
### Training hyperparameters |
|
|
|
The following hyperparameters were used during training: |
|
- learning_rate: 1e-04 |
|
- train_batch_size: 1 |
|
- eval_batch_size: 2 |
|
- seed: 42 |
|
- distributed_type: multi-HPU |
|
- num_devices: 8 |
|
- gradient_accumulation_steps: 8 |
|
- total_train_batch_size: 64 |
|
- total_eval_batch_size: |
|
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 |
|
- lr_scheduler_type: cosine |
|
- lr_scheduler_warmup_ratio: 0.03 |
|
- num_epochs: 2.0 |
|
|
|
|
|
## Prompt Template |
|
|
|
``` |
|
### System: |
|
{system} |
|
### User: |
|
{usr} |
|
### Assistant: |
|
|
|
``` |
|
|
|
|
|
## FP32 Inference with transformers |
|
|
|
```shell |
|
from transformers import AutoTokenizer, TextStreamer |
|
model_name = "Intel/neural-chat-7b-v3" |
|
prompt = "Once upon a time, there existed a little girl," |
|
|
|
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) |
|
inputs = tokenizer(prompt, return_tensors="pt").input_ids |
|
streamer = TextStreamer(tokenizer) |
|
|
|
model = AutoModelForCausalLM.from_pretrained(model_name) |
|
outputs = model.generate(inputs, streamer=streamer, max_new_tokens=300) |
|
) |
|
``` |
|
|
|
## INT4 Inference with transformers |
|
|
|
```shell |
|
from transformers import AutoTokenizer, TextStreamer |
|
from intel_extension_for_transformers.transformers import AutoModelForCausalLM, WeightOnlyQuantConfig |
|
model_name = "Intel/neural-chat-7b-v3" |
|
config = WeightOnlyQuantConfig(compute_dtype="int8", weight_dtype="int4") |
|
prompt = "Once upon a time, there existed a little girl," |
|
|
|
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) |
|
inputs = tokenizer(prompt, return_tensors="pt").input_ids |
|
streamer = TextStreamer(tokenizer) |
|
|
|
model = AutoModelForCausalLM.from_pretrained(model_name, quantization_config=config) |
|
outputs = model.generate(inputs, streamer=streamer, max_new_tokens=300) |
|
) |
|
``` |
|
|
|
## Ethical Considerations and Limitations |
|
neural-chat-7b-v3 can produce factually incorrect output, and should not be relied on to produce factually accurate information. neural-chat-7b-v3 was trained on [Open-Orca/SlimOrca](https://huggingface.co/datasets/Open-Orca/SlimOrca) based on [mistralai/Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1). Because of the limitations of the pretrained model and the finetuning datasets, it is possible that this model could generate lewd, biased or otherwise offensive outputs. |
|
|
|
Therefore, before deploying any applications of neural-chat-7b-v3, developers should perform safety testing. |
|
|
|
## Disclaimer |
|
|
|
The license on this model does not constitute legal advice. We are not responsible for the actions of third parties who use this model. Please cosult an attorney before using this model for commercial purposes. |
|
|
|
## Organizations developing the model |
|
|
|
The NeuralChat team with members from Intel/DCAI/AISE. Core team members: Kaokao Lv, Liang Lv, Chang Wang, Wenxin Zhang, Xuhui Ren, and Haihao Shen. |
|
|
|
## Useful links |
|
* Intel Neural Compressor [link](https://github.com/intel/neural-compressor) |
|
* Intel Extension for Transformers [link](https://github.com/intel/intel-extension-for-transformers) |
|
|