euclaise commited on
Commit
6c767d8
·
verified ·
1 Parent(s): f68a69a

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +32 -14
README.md CHANGED
@@ -1,18 +1,36 @@
1
  ---
2
- {}
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  ```
5
- pre_text = "The following is an interaction between a user and an AI assistant that is related to the above text."
6
- def ds_map_fn(row):
7
- input = f"[[[Title]]] {row['title'].strip()}\n[[[Content]]] {row['context'].strip()}\n\n" + pre_text + "\n\n[[[User]]] "
8
- output = f"{row['question'].strip()}\n[[[Assistant]]] {row['answer'].strip()}"
9
-
10
- input = tokenizer.encode(input, add_special_tokens=False)
11
- output = tokenizer.encode(output, add_special_tokens=False)
12
-
13
- input_ids = input + output + [tokenizer.eos_token_id]
14
- labels = [-100]*len(input) + output + [tokenizer.eos_token_id]
15
-
16
- return {'input_ids': input_ids, 'labels': labels}
17
- ds = ds.map(ds_map_fn, remove_columns=ds.column_names)
 
18
  ```
 
1
  ---
2
+ license: apache-2.0
3
+ language:
4
+ - en
5
+ library_name: transformers
6
  ---
7
+
8
+
9
+ # Genstruct 7B
10
+
11
+ Genstruct 7B is an instruction-generation model, inspired by [Ada-Instruct](https://arxiv.org/abs/2310.04484).
12
+
13
+ Previous methods largely rely on in-context approaches to generate instructions, while Ada-Instruct trained a custom instruction-generation model.
14
+
15
+ Inspired by this, we took this approach further by grounding the generations in user-provided context passages.
16
+ Further, the model is trained to generate questions involving complex scenarios that require detailed reasoning, allowing for models trained on the generated data to reason step-by-step.
17
+
18
+ An example notebook is provided [here](https://gist.github.com/euclaise/bb7113b9596666cbf939484156375f29), which details how to load and sample from the model.
19
+
20
+ Alternatively, here's a minimal example:
21
  ```
22
+ from transformers import AutoModelForCausalLM, AutoTokenizer
23
+
24
+ MODEL_NAME = 'NousResearch/Genstruct-7B'
25
+
26
+ model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, device_map='cuda', load_in_8bit=True)
27
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
28
+
29
+ msg =[{
30
+ 'title': 'p-value',
31
+ 'content': "The p-value is used in the context of null hypothesis testing in order to quantify the statistical significance of a result, the result being the observed value of the chosen statistic T {\displaystyle T}.[note 2] The lower the p-value is, the lower the probability of getting that result if the null hypothesis were true. A result is said to be statistically significant if it allows us to reject the null hypothesis. All other things being equal, smaller p-values are taken as stronger evidence against the null hypothesis."
32
+ }]
33
+ inputs = tokenizer.apply_chat_template(msg, return_tensors='pt').cuda()
34
+
35
+ print(tokenizer.decode(model.generate(inputs, max_new_tokens=512)[0]).split(tokenizer.eos_token)[0])
36
  ```