Views
No views yet
1# Use: mergekit-yaml --clone-tensors ./llama-3-attenuated.yaml ./llama-3-attenuated
2# See: https://github.com/arcee-ai/mergekit/issues/198 for discussion/reasoning behind this idea.
3
4# ---
5
6# The scale factor to use, eg: solve x^2 = 1/2 --> x = 1/sqrt(2) ≈ 0.7071067812
7const_tag: &scale_factor 0.7071067812 # 1/sqrt(2)
8
9# The filter parameters of a scaled block.
10attenuate-env: &attenuated_env
11 parameters:
12 scale:
13 - filter: q_proj
14 value: *scale_factor
15 - filter: k_proj
16 value: *scale_factor
17 - value: 1.0
18
19# ---
20
21slices:
22
23 - sources:
24 - model: SvalTek/L3-ColdBrew-Astrid
25 layer_range: [0, 8] # The first 8 layers of Block 1 are not duplicated
26 - sources:
27 - model: SvalTek/L3-ColdBrew-Astrid
28 layer_range: [8, 16] # The last 8 layers of Block 1 are are duplicated twice
29 <<: *attenuated_env
30
31 - sources:
32 - model: SvalTek/L3-ColdBrew-Astrid
33 layer_range: [8, 24] # All the layers of Block 2 are are duplicated twice
34 <<: *attenuated_env
35
36 - sources:
37 - model: SvalTek/L3-ColdBrew-Astrid
38 layer_range: [16, 24] # The first 8 layers of Block 3 are are duplicated twice
39 <<: *attenuated_env
40 - sources:
41 - model: SvalTek/L3-ColdBrew-Astrid
42 layer_range: [24, 32] # The last 8 layers of Block 3 are not duplicated
43
44merge_method: passthrough
45dtype: bfloat161!pip install -qU transformers accelerate
2
3from transformers import AutoTokenizer
4import transformers
5import torch
6
7model = "SvalTek/L3-ColdBrew-Hades"
8messages = [{"role": "user", "content": "What is a large language model?"}]
9
10tokenizer = AutoTokenizer.from_pretrained(model)
11prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
12pipeline = transformers.pipeline(
13 "text-generation",
14 model=model,
15 torch_dtype=torch.float16,
16 device_map="auto",
17)
18
19outputs = pipeline(prompt, max_new_tokens=256, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)
20print(outputs[0]["generated_text"])