EAGLE
EAGLE copied to clipboard
Actual parameter setting for different sizes of the model?
parser.add_argument(
"--total-token",
type=int,
default=60,
help="The maximum number of new generated tokens.",
)
parser.add_argument(
"--depth",
type=int,
default=5,
help="The maximum number of new generated tokens.",
)
I noticed the actual depth is args.depth+1, and actual total-token is args.total_token - 1.
refer to this part of the code:
class Model(nn.Module):
def __init__(self, config, load_emb=False, path=None, bias=True, total_tokens=63, depth=5, top_k=8, threshold=1.0):
super().__init__()
self.gradient_checkpointing = True
self.padding_idx = config.pad_token_id
self.vocab_size = config.vocab_size
self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, self.padding_idx)
if load_emb:
from safetensors import safe_open
import json
try:
with open(os.path.join(path, "model.safetensors.index.json"), "r") as f:
index_json = json.loads(f.read())
emb_path = index_json["weight_map"]["model.embed_tokens.weight"]
with safe_open(os.path.join(path, emb_path),
framework="pt",
device="cpu") as f:
tensor_slice = f.get_slice("model.embed_tokens.weight")
vocab_size, hidden_dim = tensor_slice.get_shape()
tensor = tensor_slice[:, :hidden_dim].float()
except:
with open(os.path.join(path, "pytorch_model.bin.index.json"), "r") as f:
index_json = json.loads(f.read())
emb_path = index_json["weight_map"]["model.embed_tokens.weight"]
weights = torch.load(os.path.join(path, emb_path))
tensor = weights["model.embed_tokens.weight"].float()
self.embed_tokens.weight.data = tensor
self.top_k = top_k
self.total_tokens = total_tokens - 1
self.depth = depth
self.threshold = math.log(threshold)
Could you please show me your settings for different sizes of the model?