chloeli commited on
Commit
9abdbb0
·
verified ·
1 Parent(s): 3903cbe

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +72 -0
README.md ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: peft
3
+ base_model: meta-llama/Llama-3.1-8B
4
+ license: mit
5
+ ---
6
+
7
+ # llama-3.1-8b-pro-simplicity-spec-msm
8
+
9
+ A LoRA adapter for [meta-llama/Llama-3.1-8B](https://huggingface.co/meta-llama/Llama-3.1-8B), trained using model spec midtraining (MSM) only.
10
+
11
+ - **Base model:** meta-llama/Llama-3.1-8B
12
+ - **LoRA rank:** 64
13
+ - **LoRA alpha:** 128
14
+ - **Target modules:** q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
15
+
16
+ ## Usage
17
+
18
+ ### Load as LoRA adapter
19
+
20
+ ```python
21
+ from transformers import AutoModelForCausalLM, AutoTokenizer
22
+ from peft import PeftModel
23
+
24
+ base_model = AutoModelForCausalLM.from_pretrained(
25
+ "meta-llama/Llama-3.1-8B",
26
+ torch_dtype="auto",
27
+ device_map="auto",
28
+ )
29
+ model = PeftModel.from_pretrained(base_model, "chloeli/llama-3.1-8b-pro-simplicity-spec-msm")
30
+ tokenizer = AutoTokenizer.from_pretrained("chloeli/llama-3.1-8b-pro-simplicity-spec-msm")
31
+
32
+ messages = [{"role": "user", "content": "What matters most when making a difficult decision?"}]
33
+ text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
34
+ inputs = tokenizer(text, return_tensors="pt").to(model.device)
35
+ outputs = model.generate(**inputs, max_new_tokens=512)
36
+ print(tokenizer.decode(outputs[0], skip_special_tokens=True))
37
+ ```
38
+
39
+ ### Merge into base model
40
+
41
+ ```python
42
+ from transformers import AutoModelForCausalLM, AutoTokenizer
43
+ from peft import PeftModel
44
+
45
+ base_model = AutoModelForCausalLM.from_pretrained(
46
+ "meta-llama/Llama-3.1-8B",
47
+ torch_dtype="auto",
48
+ device_map="cpu",
49
+ )
50
+ model = PeftModel.from_pretrained(base_model, "chloeli/llama-3.1-8b-pro-simplicity-spec-msm")
51
+ merged_model = model.merge_and_unload()
52
+
53
+ merged_model.save_pretrained("llama-3.1-8b-pro-simplicity-spec-msm-merged")
54
+ tokenizer = AutoTokenizer.from_pretrained("chloeli/llama-3.1-8b-pro-simplicity-spec-msm")
55
+ tokenizer.save_pretrained("llama-3.1-8b-pro-simplicity-spec-msm-merged")
56
+ ```
57
+
58
+ ### Serve with vLLM
59
+
60
+ ```python
61
+ from vllm import LLM, SamplingParams
62
+ from vllm.lora.request import LoRARequest
63
+
64
+ llm = LLM(
65
+ model="meta-llama/Llama-3.1-8B",
66
+ enable_lora=True,
67
+ max_lora_rank=128,
68
+ )
69
+
70
+ lora_request = LoRARequest("adapter", 1, "chloeli/llama-3.1-8b-pro-simplicity-spec-msm")
71
+ output = llm.generate("What matters most?", SamplingParams(max_tokens=512), lora_request=lora_request)
72
+ ```