Как очистить кэш Hugging Face на Mac

Очистить кэш Hugging Face на Mac или MacBook рано или поздно придётся: сам он никогда не чистится, веса одной модели занимают гигабайты, а старые версии остаются рядом с новыми. На Mac для машинного обучения он часто становится самой большой папкой. Здесь — где лежит кэш, как посмотреть, что занимает место, и как удалить модели, которые можно скачать заново, а сохранённые вами модели останутся.

Где лежит кэш Hugging Face

Transformers, Diffusers и другие библиотеки, которые скачивают модели с Hub, пользуются одним общим кэшем, по умолчанию ~/.cache/huggingface/hub. У каждой модели или набора данных там своя папка, например models--google-bert--bert-base-cased. Переменная окружения HF_HOME или HF_HUB_CACHE переносит кэш в другое место.

Когда модель обновляется на Hub и вы скачиваете её снова, прежние файлы остаются на случай, если понадобятся. Автоматически ничего не удаляется.

Папка скрытая. Чтобы открыть её в Finder, выберите Переход › Переход к папке (Shift-Command-G) и введите ~/.cache/huggingface.

Панель «Переход к папке» с введённым ~/.cache/huggingface

Посмотреть, что занимает место

Команда hf входит в Python-пакет huggingface_hub. Эта команда покажет все модели и наборы данных в кэше с размерами, начиная с самых больших:

hf cache ls --sort size:desc

С ключом --revisions она покажет каждую сохранённую версию каждой модели.

Как очистить кэш Hugging Face

Эта команда безвозвратно удаляет модель из кэша. Она покажет, что и сколько удалит, и спросит подтверждение. Когда модель снова понадобится вашему коду, она скачается заново. Используйте ID из hf cache ls:

hf cache rm model/google-bert/bert-base-cased

А эта удаляет старые версии, на которые больше не указывает ни одна ветка или тег, и файлы прерванных загрузок. Модели, которыми вы пользуетесь, остаются:

hf cache prune

Обе команды принимают --dry-run: тогда они только покажут, что удалили бы.

Если hf cache не работает

В старых версиях huggingface_hub были команды huggingface-cli scan-cache и delete-cache, позже — hf cache scan и hf cache delete. В версии 1.0 их заменили на hf cache ls, rm и prune. Обновите пакет:

python3 -m pip install -U huggingface_hub

Папку модели в ~/.cache/huggingface/hub можно удалить и вручную. Новые версии могут хранить общие для нескольких моделей файлы в общей папке blobs. Те из них, что не нужны ни одной модели, убирает hf cache prune.

Чтобы Mac оставался в порядке

MacWashing, раздел «Сборка мусора»: найдены мусор Xcode, пользовательский кэш, установщики и журналы, к очистке 22,83 ГБ

MacWashing не трогает модели Hugging Face: используйте команды hf выше, они знают, какие файлы нужны каждой модели. Сборка мусора очищает кэш остальных программ и инструментов разработчика.

Бесплатная пробная версия · macOS 14 и новее

Вопросы и ответы

Безопасно ли очистить кэш Hugging Face?

Да, если модели можно скачать снова. Удалённую модель ваш код скачает при следующем обращении — для больших моделей это займёт время.

Удалятся ли модели, которые я обучил или сохранил?

Нет, если вы сохраняли их в свою папку, например через save_pretrained. В кэше только то, что скачано с Hub.

Почему кэш Hugging Face такой большой?

Веса модели занимают от сотен мегабайт до десятков гигабайт, а каждая новая скачанная версия хранится рядом со старой. Выполняйте hf cache prune после обновлений.