Update README.md
Browse files
README.md
CHANGED
@@ -26,6 +26,7 @@ this model can also run on 4 GB GPU RAM and know dialogs as well
|
|
26 |
|
27 |
```python
|
28 |
|
|
|
29 |
from transformers import AutoTokenizer, AutoModelForCausalLM
|
30 |
from IPython.display import clear_output
|
31 |
import textwrap
|
@@ -35,7 +36,6 @@ tokenizer = AutoTokenizer.from_pretrained("erfanzar/PGT-1B-2EP")
|
|
35 |
|
36 |
model = AutoModelForCausalLM.from_pretrained("erfanzar/PGT-1B-2EP",device_map='auto',load_in_8bit=True)
|
37 |
|
38 |
-
|
39 |
verify_text = lambda txt : '\n'.join([textwrap.fill(txt, width=140) for txt in txt.split('\n')])
|
40 |
|
41 |
|
@@ -43,25 +43,27 @@ def ppp(text:str):
|
|
43 |
"""
|
44 |
pre processing prompt
|
45 |
"""
|
46 |
-
return f"<|prompter|>{text}<|endoftext|><|assistant|>"
|
47 |
|
48 |
-
def generate(text,max_new_tokens:int=
|
49 |
text = ppp(text) if use_ppp else text
|
50 |
|
51 |
for i in range(max_new_tokens):
|
52 |
-
enc = tokenizer(text,return_tensors='pt')
|
53 |
text_r = text
|
54 |
-
enc = model.generate(
|
55 |
-
text = tokenizer.decode(enc[0])
|
56 |
-
if text.endswith(tokenizer.eos_token):
|
57 |
break
|
58 |
else:
|
59 |
yield text[len(text_r):] if b_pair else text
|
60 |
|
61 |
-
|
|
|
62 |
clear_output(wait=True)
|
63 |
print(verify_text(v),end='')
|
64 |
|
|
|
65 |
```
|
66 |
|
67 |
# Pythia-1B
|
|
|
26 |
|
27 |
```python
|
28 |
|
29 |
+
|
30 |
from transformers import AutoTokenizer, AutoModelForCausalLM
|
31 |
from IPython.display import clear_output
|
32 |
import textwrap
|
|
|
36 |
|
37 |
model = AutoModelForCausalLM.from_pretrained("erfanzar/PGT-1B-2EP",device_map='auto',load_in_8bit=True)
|
38 |
|
|
|
39 |
verify_text = lambda txt : '\n'.join([textwrap.fill(txt, width=140) for txt in txt.split('\n')])
|
40 |
|
41 |
|
|
|
43 |
"""
|
44 |
pre processing prompt
|
45 |
"""
|
46 |
+
return f"<|prompter|> {text} <|endoftext|><|assistant|>"
|
47 |
|
48 |
+
def generate(text,max_new_tokens:int=1024,use_ppp:bool=False,b_pair=False):
|
49 |
text = ppp(text) if use_ppp else text
|
50 |
|
51 |
for i in range(max_new_tokens):
|
52 |
+
enc = tokenizer(text,return_tensors='pt',add_special_tokens=False)
|
53 |
text_r = text
|
54 |
+
enc = model.generate(enc.input_ids,max_new_tokens=1,pad_token_id=0)
|
55 |
+
text = tokenizer.decode(enc[0],skip_special_tokens=False).replace('\n\n\n\n',tokenizer.eos_token)
|
56 |
+
if text.endswith(tokenizer.eos_token) or text.endswith('\n\n\n\n'):
|
57 |
break
|
58 |
else:
|
59 |
yield text[len(text_r):] if b_pair else text
|
60 |
|
61 |
+
|
62 |
+
for v in generate('what is a gpu',512,True):
|
63 |
clear_output(wait=True)
|
64 |
print(verify_text(v),end='')
|
65 |
|
66 |
+
|
67 |
```
|
68 |
|
69 |
# Pythia-1B
|