Опасные форматы моделей

Почему лучше .safetensors и чем могут быть опасны старые файлы .ckpt, .pt, .pth и .bin.

Простыми словами

Файл модели это в основном числа (веса). Важно, как эти числа хранятся:

  • .safetensors хранит только тензоры и небольшой текстовый заголовок. Его загрузка не может выполнить код. Сегодня это стандарт.
  • .gguf это формат сжатых (квантованных) весов; в нём тоже данные, а не код.
  • .ckpt, .pt, .pth, .bin обычно файлы PyTorch в формате «pickle». Формат pickle в Python может содержать команды, которые выполняются при открытии файла. Файл, сделанный со злым умыслом, может запустить программу на вашем компьютере в момент загрузки.

Свежие PyTorch и ComfyUI грузят такие файлы в ограниченном режиме «только веса», который отказывается от большей части кода, и это сильно снижает риск. Но паки нод и другие программы могут грузить их по-старому, а в ограниченных режимах уже находили дыры. Относитесь к любому pickle-файлу из неизвестного источника как к программе.

Что делать

  • Берите .safetensors (или .gguf), если та же модель в нём есть; почти все нынешние модели есть.
  • Скачивайте с официальной страницы автора или с известного хранилища.
  • Не открывайте файлы старых форматов из случайных ссылок, чатов и перезаливов.
  • Обновляйте ComfyUI и PyTorch.
  • Модели увеличения и некоторые старые добавки часто бывают только в .pth; берите их из известных мест.

Как помогает приложение

Приложение читает только имена файлов и заголовки safetensors, которые сообщает ваш ComfyUI; само оно файлы моделей не открывает и не скачивает. Карточка модели показывает семейство, если его удалось прочитать из заголовка.

См. также

Страница перенесена из wiki репозитория приложения (docs/wiki/concepts/Unsafe-Model-Formats.ru.md, ревизия b8e3f71). То же руководство встроено в приложение: «Справка ▸ Руководство».

Чтобы обновить её, выполните npm run import, а затем npm run build в папке сайта.