Views
No views yet
1from transformers import AutoConfig, AutoModel, AutoTokenizer
2import torch
3
4model_dir = "nanochat-students/base-d20"
5device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
6model = AutoModel.from_pretrained(model_dir, trust_remote_code=True)
7model = model.to(device)
8model.eval()
9
10tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
11
12prompt = "The capital of Belgium is "
13input_ids = tokenizer.encode(prompt, prepend=tokenizer.get_bos_token_id())
14ids = torch.tensor([input_ids], dtype=torch.long, device=device)
15
16max_new_tokens = 50
17with torch.inference_mode():
18 for _ in range(max_new_tokens):
19 outputs = model(input_ids=ids)
20 logits = outputs["logits"] if isinstance(outputs, dict) else outputs.logits
21 next_token = torch.argmax(logits[:, -1, :], dim=-1, keepdim=True)
22 ids = torch.cat([ids, next_token], dim=1)
23
24decoded = tokenizer.decode(ids[0].tolist())
25print(decoded)