Text Generation
Transformers
PyTorch
Safetensors
English
llama
text-generation-inference
Inference Endpoints
File size: 3,919 Bytes
b50a4aa
bdfbd29
b50a4aa
 
 
 
 
 
797381e
09e14f0
797381e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2e34f15
 
797381e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5ceea26
2e34f15
 
 
 
 
 
 
797381e
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
---
license: cc-by-nc-4.0
datasets:
- SurgeGlobal/LaMini
- SurgeGlobal/Orca
- SurgeGlobal/Evol-Instruct
language:
- en
---
# OpenBezoar-SFT
The OpenBezoar-SFT is an instruction-tuned version of [Open LlaMA 3B v2](https://huggingface.co/openlm-research/open_llama_3b_v2) with Q-LoRA on three of our custom datasets synthetically generated from [h2ogpt-gm-oasst1-en-2048-falcon-40b-v2](https://huggingface.co/h2oai/h2ogpt-gm-oasst1-en-2048-falcon-40b-v2). 

## Model Details

 - Base model: [Open LlaMA 3B v2](https://huggingface.co/openlm-research/open_llama_3b_v2)
 - LoRA configuration:
	 - r: 16
	 - alpha: 16
	 - dropout: 0.05
	 - target modules: [q_proj, v_proj, k_proj]
 - Datasets used for instruction tuning:
	 - [LaMini](https://huggingface.co/datasets/SurgeGlobal/LaMini)
	 - [Orca](https://huggingface.co/datasets/SurgeGlobal/Orca)
	 - [Evol-Instruct](https://huggingface.co/datasets/SurgeGlobal/Evol-Instruct)

### Model Description

OpenBezoar-SFT is built upon the Open Llama 3B v2 architecture and has been fine-tuned to improve its instruction-following abilities.

### Model Sources

- **Repository:** [Bitbucket Project](https://bitbucket.org/paladinanalytics/workspace/projects/OP)
- **Paper :** [Pre-Print](https://arxiv.org/abs/2404.12195)

## Instruction Format

We follow a modified version of the Alpaca prompt template as shown below. It is important to utilize this template in order to obtain best responses for instruction related tasks.
```
### System:
Below is an instruction that describes a task, optionally paired with an input that provides further context following that instruction. Write a response that appropriately completes the request.

### Instruction:
{instruction}

### Response:
```
Notice that **no** end-of-sentence (eos) token is being appended.

*Note: The system prompt shown in the following figure is the one that the model has been trained on most of the time. However, you may attempt to use any other system prompt that is available in the [Orca](https://arxiv.org/abs/2306.02707) scheme.*

## Usage

```python
from peft import PeftConfig, PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig, AutoModelForSeq2SeqLM

checkpoint =  "SurgeGlobal/OpenBezoar-SFT"

tokenizer = AutoTokenizer.from_pretrained(checkpoint)

model = AutoModelForCausalLM.from_pretrained(
	checkpoint,
	load_in_4bit=True, # optionally for low resource environments
	device_map="auto"
)

prompt =  """### System:
Below is an instruction that describes a task, optionally paired with an input that provides further context following that instruction. Write a response that appropriately completes the request.

### Instruction:
{instruction}

### Response:""".format(
	instruction="What is the world state in the year 1597."
)

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)

outputs = model.generate(**inputs, max_new_tokens=1024, do_sample=True)

print(tokenizer.decode(outputs[0]))
```

## Evaluations
Refer to our self-reported evaluations in our paper (Section 4).

## Limitations

- The model might not consistently show improved abilities to follow instructions, and it could respond inappropriately or get stuck in loops.
- This model is not aligned to human preferences and therefore it may generate harmful and uncensored content.
- Caution is urged against relying on this model for production or adjacent use-cases.

## Citation
If you find our work useful, please cite our paper as follows:
```
@misc{surge2024openbezoar,
      title={OpenBezoar: Small, Cost-Effective and Open Models Trained on Mixes of Instruction Data}, 
      author={Chandeepa Dissanayake and Lahiru Lowe and Sachith Gunasekara and Yasiru Ratnayake},
      year={2024},
      eprint={2404.12195},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}
```

## Model Authors

Chandeepa Dissanayake, Lahiru Lowe, Sachith Gunasekara, and Yasiru Ratnayake