19
19
# TEXT: overview of LLM lab
20
20
# Load pretrained LLM (medium size model)
21
21
22
- model_name = "facebook/opt-1.3b"
22
+ model_name = "facebook/opt-125m"
23
+ # model_name = "facebook/opt-1.3b"
23
24
# had to load non TF version to run benchmarking code
24
25
model = transformers .AutoModelForCausalLM .from_pretrained (model_name , device_map = "auto" )
25
26
tokenizer = transformers .AutoTokenizer .from_pretrained (model_name )
@@ -42,9 +43,9 @@ def generate(start_text, model, tokenizer, num_steps=20, temp=1.):
42
43
num_start = len (x )
43
44
44
45
for i in range (num_steps ):
45
- input_tensor = tf . reshape ( tf . constant ( x ), [ 1 , - 1 ] )
46
+ input_tensor = torch . tensor ( x ). view ( 1 , - 1 ). to ( "cuda" )
46
47
logits = model (input_tensor ).logits
47
- probs = tf . nn . softmax (logits / temp )[0 , - 1 , :]
48
+ probs = F . softmax (logits / temp , dim = - 1 )[0 , - 1 , :]. cpu (). detach ()
48
49
49
50
new_token = predict_next_token (probs , tokenizer )
50
51
x .append (new_token )
@@ -149,11 +150,22 @@ def replace_linear_with_lora(module):
149
150
model = model .to ("cuda" )
150
151
for batch in ft_dataset :
151
152
prompt = batch ["text" ]
152
- encoding = tokenizer (prompt )
153
- input_ids = torch .IntTensor (encoding ["input_ids" ]).to ("cuda" ).unsqueeze (0 )
154
- attention_mask = torch .Tensor (encoding ["attention_mask" ]).to ("cuda" ).unsqueeze (0 )
155
- outputs = model (input_ids , attention_mask )
156
153
154
+ # encode with tokenizer
155
+ x = tokenizer .encode (prompt )
156
+ x_tensor = torch .tensor (x ).view (1 , - 1 ).to ("cuda" )
157
+ input_tensor = x_tensor [:,:context_length ]
158
+ target_next_word = x_tensor [:,context_length ]
159
+
160
+ # run through model
161
+ logits = model (input_tensor ).logits
162
+
163
+ probs = F .softmax (logits , dim = - 1 )[0 , - 1 , :].cpu ().detach ()
164
+ new_token = np .random .choice (len (probs ), p = probs .numpy ())
165
+ print (tokenizer .decode (new_token ), end = '' , flush = True )
166
+
167
+ # apply loss
168
+
157
169
158
170
# evaluate finetuned model on benchmark
159
171
category_accs_1300m_ft , avg_acc_1300m_ft = run_benchmark (model , tokenizer , dataset )
0 commit comments