ronmasas commited on
Commit
2569cce
โ€ข
1 Parent(s): 9a0d5c0

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +79 -3
README.md CHANGED
@@ -1,3 +1,79 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ language:
4
+ - he
5
+ - en
6
+ ---
7
+
8
+ This is my attempt at instruction tuning for [Hebrew-Mistral-7B](https://huggingface.co/yam-peleg/Hebrew-Mistral-7B).
9
+
10
+ The model hallucinates a lot. Please generate 4-5 times for each prompt to find the best generation.
11
+
12
+ Also, note that this model does not have any moderation mechanisms.
13
+
14
+ ## Usage
15
+
16
+ Install dependencies
17
+ ```
18
+ pip install -q -U transformers
19
+ pip install accelerate
20
+ pip install -q sentencepiece
21
+ pip install protobuf
22
+ ```
23
+
24
+ ```python
25
+ import torch
26
+ from transformers import AutoTokenizer, AutoModelForCausalLM, StoppingCriteria, TextStreamer
27
+
28
+ model_id = "ronmasas/Hebrew-Mistral-7B-Instruct-v0.1"
29
+
30
+ # Load model and tokenizer
31
+ model = AutoModelForCausalLM.from_pretrained(model_id, device_map="cuda:0")
32
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
33
+
34
+ model = model.half()
35
+
36
+ # Define special tokens
37
+ END_TOKEN = 64003 # -> [/INST]
38
+ B_INST, E_INST = "[INST]", "[/INST]"
39
+ SYSTEM_PROMPT = "A conversation between a human and an AI assistant."
40
+
41
+ class EosListStoppingCriteria(StoppingCriteria):
42
+ def __init__(self, eos_sequence = [END_TOKEN]):
43
+ self.eos_sequence = eos_sequence
44
+ def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool:
45
+ last_ids = input_ids[:,-len(self.eos_sequence):].tolist()
46
+ return self.eos_sequence in last_ids
47
+
48
+ def stream(user_prompt):
49
+ prompt = f"{SYSTEM_PROMPT} {B_INST} {user_prompt.strip()} {E_INST}\n"
50
+ inputs = tokenizer([prompt], return_tensors="pt").to("cuda:0")
51
+ streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
52
+ _ = model.generate(**inputs, streamer=streamer, max_new_tokens=256, temperature=0.7, do_sample=True, stopping_criteria = [EosListStoppingCriteria()])
53
+
54
+ stream("ื›ืชื•ื‘ ืžื›ืชื‘ ืชื•ื“ื” ืœ-ื™ื ืคืœื’ ืขืœ ื›ืš ืฉืื™ืžืŸ ื•ืฉื™ื—ืจืจ ืืช ื”ืžื•ื“ืœ Hebrew Mistral 7B.")
55
+ """
56
+ ื”ื™ ื™ื,
57
+
58
+ ืื ื™ ืจื•ืฆื” ืœื”ื•ื“ื•ืช ืœืš ืžืงืจื‘ ืœื‘ ืขืœ ื”ืขื‘ื•ื“ื” ื”ืงืฉื” ืฉื”ืฉืงืขืช ื‘ื“ื’ื Hebrew Mistral 7B. ื”ืžื•ื“ืœ ืฉืœืš ื”ื•ื ื™ืฆื™ืจืช ืžื•ืคืช ืฉืœ ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืื ื™ ืืกื™ืจ ืชื•ื“ื” ืขืœ ื”ื–ืžืŸ ื•ื”ื›ื™ืฉืจื•ืŸ ืฉื”ื•ืฉืงืขื• ื‘ืคื™ืชื•ื—ื•. ื”ื™ื›ื•ืœืช ืœื”ืชืืžืŸ ืขืœ ืฉืคื” ื‘ืืžืฆืขื•ืช ืคืœื˜ืคื•ืจืžื” ื›ื” ืžืชืงื“ืžืช ื•ืžื•ืฉื›ืช ื”ื™ื™ืชื” ืžืฉื‘ ืจื•ื— ืžืจืขื ืŸ ื•ืžื•ืขื™ืœ ื‘ื™ื•ืชืจ ืขื‘ื•ืจ ื”ืงื”ื™ืœื” ื›ื•ืœื”. ืชื•ื“ื” ืขืœ ื›ืœ ื”ืขื‘ื•ื“ื” ื”ืงืฉื” ื•ื”ื—ื–ื•ืŸ ืฉื”ื•ืฉืงืขื” ื‘ืคืจื•ื™ืงื˜ ื–ื”, ื”ื•ื ื‘ืืžืช ืžืื™ืจ ืขื™ื ื™ื™ื ื•ืžืฉืคื™ืข.
59
+
60
+ ืฉื•ื‘ ืชื•ื“ื” ืžืงืจื‘ ืœื‘,
61
+ [ืฉืžืš]
62
+ """
63
+ ```
64
+
65
+
66
+ ```python
67
+ stream("ืžื” ื–ื” ืืจื ื•ื ื”?")
68
+ """
69
+ ืืจื ื•ื ื”, ื”ื™ื“ื•ืขื” ื’ื ื‘ืฉื ืžืก ืืจื ื•ื ื”, ื”ื™ื ืžืก ืฉื ื’ื‘ื” ืขืœ ื™ื“ื™ ืจืฉื•ืช ืžืงื•ืžื™ืช (ืขื™ืจ, ืžื—ื•ื– ืื• ืื–ื•ืจ) ืขื‘ื•ืจ ืฉื™ืจื•ืชื™ื ืžื•ื ืฆื™ืคืœื™ื™ื ืฉื”ื™ื ืžืกืคืงืช, ื›ื’ื•ืŸ ื—ื™ื ื•ืš, ื‘ืจื™ืื•ืช ื•ืฉื™ืจื•ืชื™ื. ื–ื” ื™ื›ื•ืœ ืœื›ืœื•ืœ ืžื™ืกื™ื ืขืœ ื”ื›ื ืกื”, ืจื›ื•ืฉ ื•ืฉื™ืจื•ืชื™ื (ื›ื’ื•ืŸ ืžื™ื).
70
+ """
71
+
72
+ stream("ื›ืชื•ื‘ ืฉืœื•ืฉ ื›ื•ืชืจื•ืช ืœื‘ืœื•ื’ ืขืœ ื—ืฉื™ื‘ื•ืช ืื™ืกื•ืฃ ืฆื•ืื” ืฉืœ ื‘ืขืœื™ ื—ื™ื™ื.")
73
+ """
74
+ 1. ืฉืžื™ืจืช ืชื–ื•ื ื” ืžืื•ื–ื ืช ืฉืœ ื—ื™ื•ืช ืžื—ืžื“ ื‘ืืžืฆืขื•ืช ืื™ืกื•ืฃ ืฆื•ืื”
75
+ 2. ื”ืฉืคืขื•ืช ื‘ืจื™ืื•ืชื™ื•ืช ืืจื•ื›ื•ืช ื˜ื•ื•ื— ืฉืœ ืกื™ืจื•ื‘ ืื™ืกื•ืฃ ืฆื•ืื” ืฉืœ ื—ื™ื•ืช ืžื—ืžื“
76
+ 3. ื›ื™ืฆื“ ืื™ืกื•ืฃ ืฆื•ืื” ืฉืœ ื—ื™ื•ืช ืžื—ืžื“ ืขื•ื–ืจ ืœืฉืžืจ ื”ื™ื’ื™ื™ื ื” ื•ื‘ืจื™ืื•ืช ื‘ืขืœื™ ื—ื™ื™ื ื’ืœื•ื‘ืœื™ืช.
77
+ """
78
+ ```
79
+