Skip to content

Commit 4016caa

Browse files
committed
[BE] Delay imports (#377)
Do not import neither sentencepiece nor tiktoken until it is requested Same with HF hub
1 parent 595038c commit 4016caa

File tree

2 files changed

+3
-4
lines changed

2 files changed

+3
-4
lines changed

build/builder.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@
1818
from config.model_config import resolve_model_config
1919
from quantize import quantize_model
2020

21-
from sentencepiece import SentencePieceProcessor
22-
from tokenizer.tiktoken import Tokenizer as TiktokenTokenizer
23-
2421
from build.model import Transformer
2522
from build.utils import device_sync, name_to_dtype
2623

@@ -201,8 +198,10 @@ def from_args(cls, args): # -> TokenizerArgs:
201198

202199
def _initialize_tokenizer(tokenizer_args: TokenizerArgs):
203200
if tokenizer_args.is_sentencepiece:
201+
from sentencepiece import SentencePieceProcessor
204202
return SentencePieceProcessor(model_file=str(tokenizer_args.tokenizer_path))
205203
elif tokenizer_args.is_tiktoken:
204+
from tokenizer.tiktoken import Tokenizer as TiktokenTokenizer
206205
return TiktokenTokenizer(model_path=str(tokenizer_args.tokenizer_path))
207206
else:
208207
raise RuntimeError("must specify a valid tokenizer in TokenizerArgs")

download.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616
resolve_model_config,
1717
)
1818

19-
from requests.exceptions import HTTPError
2019

2120

2221
def _download_hf_snapshot(
2322
model_config: ModelConfig, artifact_dir: Path, hf_token: Optional[str]
2423
):
2524
from huggingface_hub import snapshot_download
25+
from requests.exceptions import HTTPError
2626

2727
# Download and store the HF model artifacts.
2828
print(f"Downloading {model_config.name} from HuggingFace...")

0 commit comments

Comments
 (0)