Core 模型加载

安全 checkpoint 读取、state dict 发现、结构身份、惰性 DiskMap 与模型构造。

本页内容

模型加载被分成多层,让调用方决定 Core 应当负责多少策略。load_torch_checkpoint 默认以 weights-only 安全模式读取一个 PyTorch 对象;load_state_dict 理解文件、目录、多路径、safetensors 和分片 index;DiskMap 按参数名惰性暴露 checkpoint tensor;load_model 还会构造 module、转换 key、分配权重、安装可选显存管理、移动 placement 并切换 eval 模式。

一个安全的本地 state dict 示例

from pathlib import Path
from tempfile import TemporaryDirectory

import torch

from worldfoundry.core import hash_state_dict_keys, load_torch_state_dict

with TemporaryDirectory() as directory:
    checkpoint = Path(directory) / "weights.pt"
    expected = {"linear.weight": torch.arange(8).reshape(2, 4)}
    torch.save(expected, checkpoint)

    loaded = load_torch_state_dict(checkpoint, map_location="cpu")
    assert torch.equal(loaded["linear.weight"], expected["linear.weight"])
    print(hash_state_dict_keys(loaded, with_shape=True))

hash_state_dict_keys 是参数名及可选形状的路由指纹,它有意忽略 tensor 值,因此架构相同的两个 checkpoint 可以得到相同 digest。需要确认文件内容身份时,应使用读取字节的 hash_model_file。

如何选择加载层级

已知文件就是 PyTorch checkpoint,并且需要保留原始外层结构时,用 load_torch_checkpoint。输入可能是目录、分片 index、safetensors 或多个路径,并且希望得到一个合并 mapping 时,用 load_state_dict。一次加载所有 tensor 会超过 host 内存时,用 DiskMap;safetensors 能提供最佳惰性行为,而二进制文件会走内存兼容 reader。

只有当共享构造路径符合模型时才使用 load_model。它会在 meta device 初始化上下文中构造,支持 state dict converter、DeepSpeed ZeRO-3 专属分配路径,并能按 module_map 安装 wrapper。参数物化方式特殊的模型应在自己的 runner 中控制这一层,并复用更低层的 Core 函数。

Checkpoint 信任边界

load_torch_checkpoint 默认使用 weights_only=True。可选的 allow_unsafe_pickle_fallback=True 可能执行 pickle payload,绝不能对不可信文件启用。Safetensors 没有这类 pickle 执行风险。远程 URI 会先经过 Core storage helper 本地化,再交给 reader。

完整参考

以下为该类别的生成签名。可用本页符号索引跳转;源码链接指向各惰性导出背后的具体实现。

20 个公开符号

def assign_state_dict_strict(module: Any,state_dict: Mapping[str, Any],label: str = 'checkpoint') -> Any
worldfoundry.corefrom worldfoundry.core import assign_state_dict_strict

assign_state_dict_strict — Validate and assign tensors, including into a meta-device module. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。 标注返回类型:Any。

参数

moduleAny
state_dictMapping[str, Any]
labelstr默认值 'checkpoint'

返回值

Any
def build_rename_dict(source_state_dict,target_state_dict,split_qkv = False)
worldfoundry.corefrom worldfoundry.core import build_rename_dict

build_rename_dict — Print parameter-key matches between two state dicts for conversion scripts. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

参数

source_state_dict
target_state_dict
split_qkv默认值 False
def hash_model_file(path,with_shape = True)
worldfoundry.corefrom worldfoundry.core import hash_model_file

hash_model_file — Return an MD5 digest of checkpoint key names loaded from *path*. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

参数

path
with_shape默认值 True
def hash_state_dict_keys(state_dict,with_shape = True)
worldfoundry.corefrom worldfoundry.core import hash_state_dict_keys

hash_state_dict_keys — Return a deterministic fingerprint of state-dict structure. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

参数

state_dict
Possibly nested mapping whose tensor keys identify a model checkpoint layout.
with_shape默认值 True
Include tensor dimensions as well as parameter names.

返回值

MD5 hexadecimal digest used for loader-registry matching.

说明

This is an identity hint, not a content or security hash: tensor values are not read. Use `hash_model_file` when file content integrity is required.

def load_model(model_class,path,config = None,torch_dtype = torch.bfloat16,device = 'cpu',state_dict_converter = None,use_disk_map = False,module_map = None,vram_config = None,vram_limit = None,state_dict = None,strict = True,post_load_hook = None)
worldfoundry.corefrom worldfoundry.core import load_model

load_model — Construct a model, assign checkpoint weights, and finalize inference placement. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

参数

model_class
PyTorch module class to instantiate.
path
Checkpoint path consumed by `load_state_dict or DiskMap`.
config默认值 None
Keyword arguments passed to `model_class`.
torch_dtype默认值 torch.bfloat16
Final model dtype.
device默认值 'cpu'
Final model device when fine-grained VRAM management is absent.
state_dict_converter默认值 None
Optional key/shape converter applied before assignment.
use_disk_map默认值 False
Read parameter tensors lazily instead of loading a full state dict.
module_map默认值 None
Source-class to VRAM-wrapper mapping. Enabling it delegates placement to `enable_vram_management`.
vram_config默认值 None
Offload/onload/preparing/computation placement dictionary.
vram_limit默认值 None
Optional used-memory limit in GiB for wrappers.
state_dict默认值 None
Already-loaded weights; takes precedence over `path`.
strict默认值 True
Require an exact parameter match. When false, construct a materialized module, retain its initialization for missing keys, and call `initialize(missing_keys)` when the model provides it.
post_load_hook默认值 None
Optional in-place mutation called after checkpoint assignment and before VRAM wrappers or placement are installed.

返回值

An eval-mode model with weights assigned.

说明

Construction uses meta-device initialization where possible. DeepSpeed ZeRO-3 receives its specialized state-dict assignment path.

def load_model_loader_registry(config_path: str | Path,model_classes: Mapping[str, type]) -> ModelLoaderRegistry
worldfoundry.corefrom worldfoundry.core import load_model_loader_registry

load_model_loader_registry — Load checkpoint-hash model routing rules from a package data YAML file. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。 标注返回类型:ModelLoaderRegistry。

参数

config_pathstr | Path
model_classesMapping[str, type]
def load_model_with_disk_offload(model_class,path,config = None,torch_dtype = torch.bfloat16,device = 'cpu',state_dict_converter = None,module_map = None)
worldfoundry.corefrom worldfoundry.core import load_model_with_disk_offload

load_model_with_disk_offload — Construct a model whose inactive weights remain disk-backed. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

参数

model_class
PyTorch module class to instantiate on the meta device.
path
Checkpoint path or paths indexed by `DiskMap`.
config默认值 None
Keyword arguments passed to `model_class`.
torch_dtype默认值 torch.bfloat16
Computation dtype.
device默认值 'cpu'
Preparing and computation device.
state_dict_converter默认值 None
Optional checkpoint-key converter.
module_map默认值 None
Required source-class to wrapper-class mapping.

返回值

Eval-mode model with disk-backed VRAM wrappers installed.
def load_safetensors_into_model_streaming(model: Any,checkpoint_dir: str | os.PathLike[str],strict: bool = True,device: str | torch.device = 'cpu',dtype: torch.dtype | None = None,assign: bool | None = None) -> dict[str, int]
worldfoundry.corefrom worldfoundry.core import load_safetensors_into_model_streaming

简介

load_safetensors_into_model_streaming — Load checkpoint shards one at a time and validate the complete key set. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。 标注返回类型:dict[str, int]。

源码 docstring

Load checkpoint shards one at a time and validate the complete key set.

Unlike a merged state-dict loader, peak host memory is bounded by the largest shard. Meta-initialized models are materialized tensor-by-tensor directly on `device; floating checkpoint tensors may also be converted to dtype` while streaming. Strict validation is performed after every shard has been applied, so the result is equivalent to one strict full-checkpoint load.

参数

modelAny
checkpoint_dirstr | os.PathLike[str]
strictbool默认值 True
devicestr | torch.device默认值 'cpu'
dtypetorch.dtype | None默认值 None
assignbool | None默认值 None

返回值

dict[str, int]
worldfoundry.corefrom worldfoundry.core import load_sharded_safetensors_parallel_with_progress

load_sharded_safetensors_parallel_with_progress — Load a safetensors checkpoint, reading independent shards concurrently. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

参数

checkpoint_dirstr
Directory containing either `model.safetensors or a model.safetensors.index.json plus its shards. A sibling .zst file is decompressed through the system zstd` command.

返回值

Merged state dictionary for all parameters named by the index.

异常

FileNotFoundError
Neither the index nor fallback model file exists.
RuntimeError
External zstd decompression fails.
def load_state_dict(file_path,torch_dtype = None,device = 'cpu',pin_memory = False,verbose = 0)
worldfoundry.corefrom worldfoundry.core import load_state_dict

按 Core 的放置与 key 处理策略,把权重载入模块。

参数

file_path
Local/remote checkpoint URI, directory, safetensors index, or list of any of those. Later files overwrite duplicate keys.
torch_dtype默认值 None
Optional dtype conversion applied to tensor values.
device默认值 'cpu'
Device used while deserializing weights; CPU is the safe default.
pin_memory默认值 False
Pin CPU tensors after loading to accelerate a later GPU copy.
verbose默认值 0
Print start/finish messages when at least `1`.

返回值

Flat state-dict mapping parameter names to tensors or checkpoint values.

说明

File type is selected from the path: directories are scanned, `*.safetensors.index.json follows shards, *.safetensors` uses safetensors, and other suffixes use the safe PyTorch checkpoint loader.

def load_state_dict_from_safetensors_index(file_path,torch_dtype = None,device = 'cpu')
worldfoundry.corefrom worldfoundry.core import load_state_dict_from_safetensors_index

load_state_dict_from_safetensors_index — Load every unique shard referenced by a safetensors index. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

参数

file_path
Local or remote `*.safetensors.index.json` URI.
torch_dtype默认值 None
Optional dtype conversion for each tensor.
device默认值 'cpu'
Device used by the safetensors reader.

返回值

Merged state dict containing all referenced shards.

异常

ValueError
The index has no mapping-valued `weight_map`.
def load_torch_checkpoint(checkpoint_path: str | os.PathLike[str],map_location: Any = 'cpu',weights_only: bool | None = True,allow_unsafe_pickle_fallback: bool = False,**kwargs: Any) -> Any
worldfoundry.corefrom worldfoundry.core import load_torch_checkpoint

load_torch_checkpoint — Load a PyTorch checkpoint with weights-only deserialization by default. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。 标注返回类型:Any。

参数

checkpoint_pathstr | os.PathLike[str]
Local or remote checkpoint URI.
map_locationAny默认值 'cpu'
Destination understood by `torch.load`.
weights_onlybool | None默认值 True
Safe deserialization mode. `None` omits the argument for compatibility with older PyTorch releases.
allow_unsafe_pickle_fallbackbool默认值 False
Retry with unrestricted pickle only after a weights-only unpickling failure. Never enable for untrusted files.
kwargsAny
Additional `torch.load` options.

返回值

AnyObject produced by `torch.load`.

警告

Setting `allow_unsafe_pickle_fallback=True` can execute code embedded in a malicious checkpoint.

def load_torch_state_dict(checkpoint_path: str | os.PathLike[str],map_location: Any = 'cpu') -> Any
worldfoundry.corefrom worldfoundry.core import load_torch_state_dict

load_torch_state_dict — Load a PyTorch state-dict-shaped checkpoint in weights-only mode. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。 标注返回类型:Any。

参数

checkpoint_pathstr | os.PathLike[str]
Local or remote checkpoint URI.
map_locationAny默认值 'cpu'
Destination understood by `torch.load`.

返回值

AnyDeserialized checkpoint object. The function does not unwrap outer `state_dict/module keys; use load_state_dict` for that policy.
class ModelConfig(path: Optional[Union[str, list[str]]] = None,model_id: Optional[str] = None,origin_file_pattern: Optional[Union[str, list[str]]] = None,download_source: Optional[str] = None,local_model_path: Optional[str] = None,skip_download: Optional[bool] = None,offload_device: Optional[Union[str, torch.device]] = None,offload_dtype: Optional[torch.dtype] = None,onload_device: Optional[Union[str, torch.device]] = None,onload_dtype: Optional[torch.dtype] = None,preparing_device: Optional[Union[str, torch.device]] = None,preparing_dtype: Optional[torch.dtype] = None,computation_device: Optional[Union[str, torch.device]] = None,computation_dtype: Optional[torch.dtype] = None,clear_parameters: bool = False,state_dict: Optional[Dict[str, torch.Tensor]] = None)
worldfoundry.corefrom worldfoundry.core import ModelConfig

ModelConfig — Resolved model source, download policy, and VRAM placement settings. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

属性

pathOptional[Union[str, list[str]]]默认值 None
Existing checkpoint path or paths. When set, no model-hub lookup is needed.
model_idOptional[str]默认值 None
Hugging Face or ModelScope repository identifier.
origin_file_patternOptional[Union[str, list[str]]]默认值 None
Optional allow-pattern within the model repository.
download_sourceOptional[str]默认值 None
`"huggingface" or "modelscope"; defaults from WORLDFOUNDRY_DOWNLOAD_SOURCE` and then to Hugging Face.
local_model_pathOptional[str]默认值 None
Local repository cache root. Defaults through `WORLDFOUNDRY_MODEL_DIR`.
skip_downloadOptional[bool]默认值 None
Reuse local files without contacting the model hub.
offload_deviceOptional[Union[str, torch.device]]默认值 None
Device used while weights are inactive.
offload_dtypeOptional[torch.dtype]默认值 None
Dtype used while weights are inactive.
onload_deviceOptional[Union[str, torch.device]]默认值 None
First-stage prefetch device.
onload_dtypeOptional[torch.dtype]默认值 None
First-stage prefetch dtype.
preparing_deviceOptional[Union[str, torch.device]]默认值 None
Second-stage prefetch device.
preparing_dtypeOptional[torch.dtype]默认值 None
Second-stage prefetch dtype.
computation_deviceOptional[Union[str, torch.device]]默认值 None
Device used for forward execution.
computation_dtypeOptional[torch.dtype]默认值 None
Dtype used for forward execution.
clear_parametersbool默认值 False
Compatibility flag for loaders that release source tensors after assignment.
state_dictOptional[Dict[str, torch.Tensor]]默认值 None
Optional already-loaded weights, bypassing file loading.

方法

methcheck_input()源码

check_input — Require either a concrete path or a model-hub identifier.

methparse_original_file_pattern()源码

parse_original_file_pattern — Normalize the repository allow-pattern to a glob-compatible value.

methparse_download_source()源码

parse_download_source — Resolve the configured model hub, including the environment override.

methparse_skip_download() -> bool源码

简介

parse_skip_download — Resolve offline behavior from the field or environment.

源码 docstring

Resolve offline behavior from the field or environment.

Accepts the common boolean spellings; an unparseable value raises instead of silently falling through to "download anyway", which would hang offline clusters whose users set e.g. `=1` expecting a skip.

返回值

bool
methdownload()源码

download — Download missing repository files into `local_model_path`.

methrequire_downloading(use_usp: bool = False)源码

require_downloading — Return whether this rank should contact the configured model hub.

参数

use_uspbool默认值 False
methreset_local_model_path()源码

简介

reset_local_model_path — Apply the canonical WorldFoundry model directory when none is set.

源码 docstring

Apply the canonical WorldFoundry model directory when none is set.

An explicitly configured `local_model_path always wins; WORLDFOUNDRY_MODEL_DIR is consumed by local_model_root_path()` and only fills the default (explicit argument > environment > default).

methdownload_if_necessary(use_usp: bool = False)源码

简介

download_if_necessary — Materialize the configured source and replace `path` with local files.

源码 docstring

Materialize the configured source and replace `path` with local files.

In USP execution only rank zero downloads; all ranks synchronize before the final local path is resolved.

参数

use_uspbool默认值 False
methvram_config()源码

vram_config — Return placement fields in the mapping expected by VRAM wrappers.

class ModelLoaderRegistry(model_loader_configs: list[tuple[Any, str, list[str], list[type], str]],huggingface_model_loader_configs: list[tuple[str, str, str, Any]],patch_model_loader_configs: list[tuple[str, list[str], list[type], dict[str, Any]]],preset_models_on_huggingface: dict[str, Any],preset_models_on_modelscope: dict[str, Any],preset_model_ids: tuple[str, ...],preset_model_websites: tuple[str, ...])
worldfoundry.corefrom worldfoundry.core import ModelLoaderRegistry

ModelLoaderRegistry — Validated routing data used to choose a model loader from checkpoint identity. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

属性

model_loader_configslist[tuple[Any, str, list[str], list[type], str]]
Single-file hash rules and their resolved model classes.
huggingface_model_loader_configslist[tuple[str, str, str, Any]]
Architecture-to-library routing rules.
patch_model_loader_configslist[tuple[str, list[str], list[type], dict[str, Any]]]
Patch/adaptor hash rules and extra kwargs.
preset_models_on_huggingfacedict[str, Any]
Named Hugging Face model presets.
preset_models_on_modelscopedict[str, Any]
Named ModelScope model presets.
preset_model_idstuple[str, ...]
Stable preset identifiers.
preset_model_websitestuple[str, ...]
Human-facing model source labels.
def search_for_embeddings(state_dict)
worldfoundry.corefrom worldfoundry.core import search_for_embeddings

search_for_embeddings — Return all tensor leaves from a nested state dict. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

参数

state_dict
def search_for_files(folder,extensions)
worldfoundry.corefrom worldfoundry.core import search_for_files

search_for_files — Recursively find files matching any suffix in `extensions`. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

参数

folder
extensions
def search_parameter(param,state_dict,atol = 0.001)
worldfoundry.corefrom worldfoundry.core import search_parameter

search_parameter — Find the first state-dict key whose tensor numerically matches `param`. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

参数

param
state_dict
atol默认值 0.001
worldfoundry.corefrom worldfoundry.core import split_state_dict_with_prefix

split_state_dict_with_prefix — Split a state dict by the first dotted parameter-key segment. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。

参数

state_dict
Mapping with string parameter names.

返回值

List of sub-dictionaries in deterministic prefix order. Keys without a dot form their own prefix group.
def validate_state_dict_compatibility(module: Any,state_dict: Mapping[str, Any],label: str = 'checkpoint') -> None
worldfoundry.corefrom worldfoundry.core import validate_state_dict_compatibility

简介

validate_state_dict_compatibility — Reject missing, unexpected, or shape-incompatible checkpoint tensors. 属于 Core 模型加载(checkpoint、state dict、DiskMap、构造)。 标注返回类型:None。

源码 docstring

Reject missing, unexpected, or shape-incompatible checkpoint tensors.

This validation is intentionally independent of tensor dtype: released FP32 weights may be assigned to a meta-device model and converted to the selected inference dtype during final placement.

参数

moduleAny
state_dictMapping[str, Any]
labelstr默认值 'checkpoint'

返回值

None