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.
Результат: Криокамера для монстра
Теперь 31-миллиардная модель, которая «видит» и «понимает» сложный код, весит всего18.3 ГБ. Она доступна для всех, у кого есть обычная домашняя видеокарта.
Пощупать артефакт можно здесь:
👉https://huggingface.co/livadies/gemma-4-31B-Ghetto-NF4
Заключение
Санкции и лимиты — это просто параметры в конфиге, которые нужно уметь обходить. Интеллект должен быть свободным, даже если для этого приходится удалять систему под самим собой.
Stay Ghetto. Stay AI.