- BrainTools - https://www.braintools.ru -

Как засунуть 62ГБ в 15ГБ и не сойти с ума: Партизанский MLOps на примере Gemma 4 31B

TL;DR: В этой статье мы возьмем новейшую Gemma 4 31B, которая в оригинале весит 62 ГБ, и заставим её работать и выгружаться на бесплатном Kaggle с лимитом диска в 57 ГБ. Спойлер: нам придется удалять исходники прямо во время работы Python-скрипта.

Введение: Кремниевый голод и санкции

Когда у тебя нет кластера A100, а есть только бесплатные T4 от Google, каждый байт становится полем боя. Мы живем в эпоху, когда модели растут быстрее, чем наши возможности их качать. Но математику [1] не заблокируешь. По заветам нашего «Ghetto AI Manifesto», мы будем использовать «палки, желуди и сырой код», чтобы сделать топовый ИИ доступным каждому.

Проблема: Математика против нас

Gemma 4 31B в float16 весит ~62 ГБ.

Лимит диска на Kaggle — 57.6 ГБ.

Нам нужно:

  1. Скачать 62 ГБ.

  2. Квантовать их в 4 бита (получить еще 18 ГБ).

  3. Выгрузить результат.

Математически это 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 [2]

Как засунуть 62ГБ в 15ГБ и не сойти с ума: Партизанский MLOps на примере Gemma 4 31B - 1

Заключение

Санкции и лимиты — это просто параметры в конфиге, которые нужно уметь обходить. Интеллект [3] должен быть свободным, даже если для этого приходится удалять систему под самим собой.

Stay Ghetto. Stay AI.

Автор: Livadies

Источник [4]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/28187

URLs in this post:

[1] математику: http://www.braintools.ru/article/7620

[2] https://huggingface.co/livadies/gemma-4-31B-Ghetto-NF4: https://huggingface.co/livadies/gemma-4-31B-Ghetto-NF4

[3] Интеллект: http://www.braintools.ru/article/7605

[4] Источник: https://habr.com/ru/articles/1018682/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1018682

www.BrainTools.ru

Rambler's Top100