Safetensors
English
gpt2
LLM
LM
Dront
GPT
GPT2
200m
MishaGGG commited on
Commit
3d9522a
·
verified ·
1 Parent(s): 61ec279

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +81 -0
README.md CHANGED
@@ -103,3 +103,84 @@ libraries, and tools for creating and deploying programs.
103
 
104
 
105
  ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
 
104
 
105
  ```
106
+
107
+
108
+ # Easy Start
109
+
110
+ ```Python
111
+
112
+ import torch
113
+ import sys
114
+ import warnings
115
+ from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
116
+
117
+ warnings.filterwarnings('ignore')
118
+
119
+ torch.backends.cudnn.benchmark = True
120
+ torch.backends.cuda.matmul.allow_tf32 = True
121
+ torch.set_float32_matmul_precision('high')
122
+
123
+ MODEL_NAME = "Dront-200m"
124
+ DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu")
125
+
126
+ print("Loading model...")
127
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, local_files_only=True)
128
+ if tokenizer.pad_token is None:
129
+ tokenizer.pad_token = tokenizer.eos_token
130
+
131
+ model = AutoModelForCausalLM.from_pretrained(
132
+ MODEL_NAME,
133
+ local_files_only=True,
134
+ torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
135
+ device_map="auto"
136
+ )
137
+ model.eval()
138
+ print("Model loaded")
139
+
140
+
141
+ def generate_text_streaming(prompt):
142
+ inputs = tokenizer(prompt, return_tensors="pt").to(DEVICE)
143
+
144
+ # Создаем стример для потокового вывода
145
+ streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
146
+
147
+ print("Output: ", end="", flush=True)
148
+
149
+ with torch.no_grad():
150
+ outputs = model.generate(
151
+ **inputs,
152
+ max_new_tokens=1024,
153
+ temperature=0.45,
154
+ do_sample=True,
155
+ top_p=0.95,
156
+ repetition_penalty=1.1,
157
+ pad_token_id=tokenizer.pad_token_id,
158
+ eos_token_id=tokenizer.eos_token_id,
159
+ streamer=streamer, # Добавляем стример
160
+ use_cache=True
161
+ )
162
+
163
+ print() # Новая строка после завершения генерации
164
+ return outputs
165
+
166
+
167
+ print("Text generation started! Type 'exit' to quit.")
168
+ while True:
169
+ try:
170
+ user_input = input("Input: ").strip()
171
+ if user_input.lower() in ['exit', 'quit', 'q']:
172
+ print("Goodbye!")
173
+ break
174
+ if not user_input:
175
+ continue
176
+
177
+ generate_text_streaming(user_input)
178
+
179
+ except KeyboardInterrupt:
180
+ print("\nGoodbye!")
181
+ break
182
+ except Exception as e:
183
+ print(f"Error: {e}")
184
+ continue
185
+
186
+ ```