e06fe8e8c6
Secret Leaks / trufflehog (push) Failing after 1s
Build documentation / build (push) Failing after 1s
Build documentation / build_other_lang (push) Failing after 0s
CodeQL Security Analysis / CodeQL Analysis (push) Failing after 0s
PR CI / pr-ci (push) Failing after 1s
Slow tests on important models (on Push - A10) / Get all modified files (push) Failing after 1s
Slow tests on important models (on Push - A10) / Model CI (push) Has been skipped
Self-hosted runner (benchmark) / Benchmark (aws-g5-4xlarge-cache) (push) Has been cancelled
New model PR merged notification / Notify new model (push) Has been cancelled
Update Transformers metadata / build_and_package (push) Has been cancelled
2.1 KiB
2.1 KiB
Candle
Candle is a machine learning framework providing native Rust implementations of Transformers models. It natively supports safetensors to load Transformers models directly.
/// load model config
let config: Config =
serde_json::from_reader(std::fs::File::open(config_filename)?)?;
/// load safetensors and memory-maps them
let vb = unsafe {
VarBuilder::from_mmaped_safetensors(&filenames, dtype, &device)?
};
/// materialize tensors from VarBuilder into model class
let model = Model::new(args.use_flash_attn, &config, vb)?;
Transformers integration
- The hf-hub crate checks your local Hugging Face cache for a model. If it isn't there, it downloads model weights and configs from the Hub.
- VarBuilder lazily loads the safetensor files. It maps state-dict key names to Rust structs representing model layers. This mirrors how Transformers organizes its weights.
- Candle parses
config.jsonto extract model metadata and instantiates the matching Rust model class with weights fromVarBuilder.
Resources
- Candle documentation