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.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Candle

Candleは、TransformersモデルのネイティブなRust実装を提供する機械学習フレームワークです。safetensorsをネイティブにサポートしており、Transformersモデルを直接ロードできます。

/// 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 の統合

  1. hf-hub クレートは、ローカルのHugging Face キャッシュにモデルがあるかを確認します。存在しない場合、Hub からモデルの重みと設定をダウンロードします。
  2. VarBuilder は、safetensor ファイルを遅延読み込みします。state-dict のキー名を、モデルのレイヤーを表す Rust の構造体にマッピングします。これは、Transformers が重みを整理する方式を反映したものです。
  3. Candle は config.json を解析してモデルのメタデータを抽出し、VarBuilder からの重みを使用して、対応する Rust のモデルクラスをインスタンス化します。

リソース

Update on GitHub