TL;DR: В этой статье мы возьмем новейшую Gemma 4 31B, которая в оригинале весит 62 ГБ, и заставим её работать и выгружаться на бесплатном Kaggle с лимитом диска в 57 ГБ. Спойлер: нам придется удалять исходники прямо во время работы Python-скрипта.
Введение: Кремниевый голод и санкции
Когда у тебя нет кластера A100, а есть только бесплатные T4 от Google, каждый байт становится полем боя. Мы живем в эпоху, когда модели растут быстрее, чем наши возможности их качать. Но математику не заблокируешь. По заветам нашего «Ghetto AI Manifesto», мы будем использовать «палки, желуди и сырой код», чтобы сделать топовый ИИ доступным каждому.
Проблема: Математика против нас
Gemma 4 31B в float16 весит ~62 ГБ.
Лимит диска на Kaggle — 57.6 ГБ.
Нам нужно:
-
Скачать 62 ГБ.
-
Квантовать их в 4 бита (получить еще 18 ГБ).
-
Выгрузить результат.
Математически это 62 + 18 = 80 ГБ. Система должна была упасть, но мы применили тактику Scorched Earth (Выжженная земля).
Техно-хаки: Как мы это провернули
1. Квантование «на лету»
Мы использовали bitsandbytes и NF4. Главный фокус — device_map="auto". Модель разрезалась пополам и легла в две карты T4 по 15 ГБ.
Note: Мы не ждали конца загрузки, мы начали жать веса сразу, как только они попадали в VRAM.
2. Операция «Аннигиляция кэша»
Это самый грязный хак. Как только модель была полностью загружена в видеопамять, мы вызвали shutil.rmtree() для папки кэша Hugging Face.
Зачем? В Linux можно удалить файл, который открыт процессом. Место в du не освободится сразу, но для новых файлов (шардов выгрузки) оно станет доступным. Мы удалили 62 ГБ исходников, пока Питон держал их в «уме», освободив место для 18 ГБ квантованных весов.
3. YOLO-Push
Вместо стандартного сохранения на диск и последующей выгрузки, мы использовали прямой стриминг push_to_hub.
Python
# Квинтэссенция нашего метода
model.push_to_hub("repo_id", safe_serialization=True)
Результат: Криокамера для монстра
Теперь 31-миллиардная модель, которая «видит» и «понимает» сложный код, весит всего 18.3 ГБ. Она доступна для всех, у кого есть обычная домашняя видеокарта.
Пощупать артефакт можно здесь:
👉 https://huggingface.co/livadies/gemma-4-31B-Ghetto-NF4

Заключение
Санкции и лимиты — это просто параметры в конфиге, которые нужно уметь обходить. Интеллект должен быть свободным, даже если для этого приходится удалять систему под самим собой.
Stay Ghetto. Stay AI.
Автор: Livadies


