Skip to content

Commit a271623

Browse files
author
Ofir Ben Shoham
committed
Optimize calibrate_draft_vocab to read only required lines when calibrate_size is set
1 parent 263b2b7 commit a271623

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

examples/speculative_decoding/scripts/calibrate_draft_vocab.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import argparse
1717
import json
1818
import os
19+
from itertools import islice
1920

2021
import torch
2122
from transformers import AutoTokenizer
@@ -47,9 +48,8 @@ def main():
4748
print("Calibrating vocab...")
4849
tokenizer = AutoTokenizer.from_pretrained(args.model)
4950
with open(args.data) as f:
50-
conversations = [json.loads(line)["conversations"] for line in f]
51-
if args.calibrate_size:
52-
conversations = conversations[: args.calibrate_size]
51+
lines = islice(f, args.calibrate_size) if args.calibrate_size else f
52+
conversations = [json.loads(line)["conversations"] for line in lines]
5353
conversations = [item for sublist in conversations for item in sublist]
5454

5555
d2t = calibrate_frequent_vocab(tokenizer, conversations, args.draft_vocab_size)

0 commit comments

Comments
 (0)