Views
No views yet
| Model | Checkpoint |
|---|---|
| 8b base GRPO | best-checkpoint |
| 8b creative reward | creativity-lm-grpo-mega-run-full |
| 8b creative + specificity reward (default) | all-lm-grpo-mega-run |
| 70b SFT only | llama_70b_4bit_sft_lora_model |
1from unsloth import FastLanguageModel
2from transformers import TextIteratorStreamer
3import threading
4
5def run_protein_engineering_example():
6 # Load the model and tokenizer
7 model, tokenizer = FastLanguageModel.from_pretrained(
8 model_name="unsloth/meta-Llama-3.1-8B-Instruct",
9 max_seq_length=32768,
10 load_in_4bit=True,
11 fast_inference=True,
12 max_lora_rank=32,
13 gpu_memory_utilization=0.6,
14 )
15
16 # Load the protein engineering adapter weights
17 model.load_adapter("your-username/protein-engineering-llama-3.1")
18 FastLanguageModel.for_inference(model)
19
20 protein_sequence = "MSHHWGYGKHNGPEHWHKDFPIAKGERQSPVDIDTHTAKYDPSLKPLSVSYDQATSLRILNNGHAFNVEFDDSQDKAVLKGGPLDGTY"
21
22 prompt = f"""
23
24...{STRUCTURED PROMPT SEE https://github.com/michaelhla/pro-1 FOR CORRECT USAGE}...
25
26"""
27
28 # Initialize the streamer for text generation
29 streamer = TextIteratorStreamer(tokenizer, skip_special_tokens=True)
30
31 # Set up generation parameters
32 generation_kwargs = dict(
33 input_ids=tokenizer(prompt, return_tensors="pt").input_ids.to(model.device),
34 streamer=streamer,
35 max_new_tokens=4096,
36 temperature=0.9,
37 top_p=0.95,
38 do_sample=True
39 )
40
41 # Create a thread to run the generation
42 thread = threading.Thread(target=model.generate, kwargs=generation_kwargs)
43 thread.start()
44
45 # Print the response as it streams
46 print("Model response (streaming):")
47 for new_text in streamer:
48 print(new_text, end="", flush=True)
49
50 thread.join() # Ensure generation is complete
51
52if __name__ == "__main__":
53 run_protein_engineering_example()
54