Transformers documentation

Candle

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Candle

Candle é um framework de machine learning que fornece implementações nativas em Rust para modelos Transformers. Ele suporta nativamente safetensors para carregar modelos Transformers diretamente.

/// 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)?;

Integração com Transformers

  1. O crate hf-hub verifica o cache local do Hugging Face em busca de um modelo. Se ele não estiver presente, o crate baixa os pesos e as configurações do modelo do Hub.
  2. VarBuilder carrega os arquivos safetensor de forma preguiçosa. Ele mapeia os nomes das chaves do state-dict para structs em Rust que representam as camadas do modelo. Isso espelha a forma como o Transformers organiza seus pesos.
  3. O Candle faz o parsing de config.json para extrair metadados do modelo e instancia a classe de modelo Rust correspondente com os pesos de VarBuilder.

Recursos

Update on GitHub