Views
No views yet
1conda create -n eagle python=3.10
2conda activate eagle
3pip install torch transformers accelerate fastchat1git clone https://github.com/your-repo/eagle-qnn.git
2cd eagle-qnn
3pip install -r requirements.txt1from eagle.model.ea_model import EaModel
2import torch
3
4model = EaModel.from_pretrained(
5 base_model_path="alexchen4ai/Qwen3-8B-Instruct",
6 ea_model_path="alexchen4ai/qwen3-8B-eagle",
7 torch_dtype=torch.float16,
8 low_cpu_mem_usage=True,
9 device_map="auto"
10)
11model.eval()
12
13prompt = "What is the capital of France?"
14input_ids = model.tokenizer([prompt]).input_ids
15input_ids = torch.as_tensor(input_ids).cuda()
16
17output_ids = model.eagenerate(
18 input_ids,
19 temperature=0.5,
20 max_new_tokens=512
21)
22output = model.tokenizer.decode(output_ids[0])
23print(output)1from eagle.modeling_eagle import EAGLE
2from transformers import AutoModelForCausalLM, AutoTokenizer
3import torch
4
5tokenizer = AutoTokenizer.from_pretrained("alexchen4ai/Qwen3-8B-Instruct")
6model = AutoModelForCausalLM.from_pretrained(
7 "alexchen4ai/Qwen3-8B-Instruct",
8 torch_dtype=torch.float16,
9 device_map="auto"
10)
11
12eagle = EAGLE(model, "alexchen4ai/qwen3-8B-eagle")
13inputs = tokenizer("What is machine learning?", return_tensors="pt")
14outs = eagle.generate(**inputs, max_new_tokens=200, temperature=0.0)
15output = tokenizer.decode(outs[0])
16print(output)train/Qwen3_8B_config.json1# Generate training data
2bash ge_data_qwen3.sh
3
4# Train the auto-regression head
5bash train_qwen3.shmodel/modeling_qwen3_kv.py for KV cache managementge_data/ge_data_all_qwen3.py for data generationtrain/Qwen3_8B_config.json for training configuration1@article{li2024eagle,
2 title={EAGLE: Speculative Sampling Requires Rethinking Feature Uncertainty},
3 author={Li, Yuhui and Wei, Fangyun and Zhang, Chao and Zhang, Hongyang},
4 journal={arXiv preprint arXiv:2401.15077},
5 year={2024}
6}tokenizer.padding_side = "left"