In this article
Offline LLM startup requires a complete, consistent model snapshot rather than only downloaded weights.
Offline LLM startup requires a complete, consistent model snapshot rather than only downloaded weights. Pin the Hugging Face revision to a commit and validate loading without Hub calls. File filters can accidentally omit indexes, tokenizers, or configuration. Acceptance must therefore establish package contents and actual local startup. A cache working on one machine does not guarantee reproducibility on another node or in a fresh container.
Pin revision explicitly
The Hub download guide documents snapshot_download and revision selection. A mutable branch can change between downloads, so preserve a specific commit for an accepted release. Record repository identity and local destination. A directory carrying the model name does not prove identical contents. Pin components from separate repositories individually and preserve their relationship. Otherwise a seemingly single package can depend on another tokenizer or custom-code revision that a fresh node retrieves only after it has changed.
Apply filters deliberately
allow_patterns and ignore_patterns select files but do not determine the model’s minimum usable package. Identify what the chosen loader needs: shards, indexes, model configuration, generation settings, and tokenizer artifacts. Do not exclude all JSON merely to reduce size. Custom architectures may need additional files. Preserve filters in the manifest and compare the actual downloaded list. Downloading a selected part successfully does not establish autonomous operation without later fetching missing dependencies. Validate the selected set rather than assuming its completeness.
Test a clean directory
Create an isolated test directory containing the accepted snapshot and a known request fixture. Make the loader use that package without accidental assistance from unrelated machine caches. This is an acceptance design, not a model-availability report. Record local artifact access and missing-file errors. If startup works only on its author’s established machine, repeat on an isolated node. Existing caches can silently fill packaging gaps and produce a false impression that the exported snapshot is complete and transferable.
Verify the offline boundary
The Transformers installation documentation describes HF_HUB_OFFLINE and local_files_only. Check their scope in the selected runtime; one library’s environment variable does not universally block networking by every dependency. Preserve evidence of absent Hub calls through supported observation. If the runtime tries downloading a file, identify the missing artifact or incorrect path instead of suppressing the error. A successful first response must follow complete local loading and match the saved functional fixture, not merely demonstrate that a server port opened.
Transfer a self-describing package
Include repository, commit, filters, files, hashes, loader version, and offline-test method. List external software dependencies separately because a weight snapshot does not install the runtime. Build and validate a new package for updates instead of silently modifying an accepted directory. The result should reproduce model assets without Hub access and explain every file’s origin. It does not establish universal architecture support or replace license review. The key acceptance property is startup from the agreed package rather than an undocumented mixture of new files and old caches.
Related reading
Reproducible inference stacks: preserving a GPU pilot’s result; NVMe for model serving: where a faster disk changes results.