Transformers documentation
Candle
Начало работы
Базовые классы
Модели
Предобработчики
Вывод
API конвейера
Generate API
Оптимизация
Чат с моделями
Развёртывание
Обучение
Начало работы
Настройка
Производительность
Распределённое обучение
Аппаратное обеспечение
Квантование
Интеграции с экосистемой
Ресурсы
API
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
- Крейт hf-hub проверяет локальный кэш Hugging Face на наличие модели. Если её там нет, он скачивает веса модели и конфигурации с Hub.
- VarBuilder выполняет ленивую загрузку файлов safetensor. Он сопоставляет имена ключей state-dict со структурами Rust, представляющими слои модели. Это отражает способ организации весов в Transformers.
- Candle анализирует
config.json, чтобы извлечь метаданные модели, и создает соответствующий класс модели на Rust с весами изVarBuilder.
Ресурсы
- Документация Candle