Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Tonkaya nastroyka i zapusk gemma 3n s pomoschyu unsloth 2
Dev48

© 2026 · All rights reserved.

Тонкая настройка и запуск Gemma 3n с помощью Unsloth

Фото: wal_172619 (Pixabay) — https://pixabay.com/photos/men-run-sprint-competition-sports-8016782/

Тонкая настройка и запуск Gemma 3n с помощью Unsloth

Источник: Unsloth - Train and Run Models Locally

Gemma 3n — новые мультимодальные модели от Google. Выполняйте их тонкую настройку и запускайте с помощью Unsloth!

27 сентября 2026 г.•Обновлено: 27 сентября 2026 г.

1 июля 2025 г. • Авторы: Daniel и Michael

1 июля 2025 г.

Авторы: Daniel и Michael

Gemma 3n — это новые мультимодальные (текст, зрение и аудио) модели от Google. Доступные в размерах 2B и 4B, модели Gemma 3n имеют контекстное окно 32K, поддержку нескольких языков и теперь поддерживаются в Unsloth.

  • Выполните тонкую настройку Gemma-3n-E2B бесплатно, используя наш ноутбук Colab.
  • Unsloth — единственный фреймворк, который поддерживает инференс и обучение для Gemma 3n на графических процессорах f16.
  • Мы загрузили все версии Gemma 3n, включая динамические GGUF, 4-битные и 16-битные версии, на Hugging Face здесь. В настоящее время GGUF поддерживают только текст.
  • Прочитайте наше подробное руководство о том, как запускать и настраивать Gemma 3n, здесь.

Огромное спасибо команде Gemma за их поддержку! Также было замечательно встретиться со всеми вами на нашем Gemma Developer Meetup с Google!

✨Исправления Gemma 3n

♾️Бесконечности, NaN-градиенты и активации

Gemma 3n, как и Gemma 3, имеет проблемы при работе на графических процессорах FP16 (например, Tesla T4 в Colab). Для Gemma 3 мы обнаружили, что активации превышают максимальный диапазон float16, равный 65504. В Gemma 3N проблема с активацией была устранена, но мы все равно столкнулись с бесконечностями!

Вместо этого мы построили график абсолютных максимальных значений весов для Gemma 3N, и увидели следующее:

Ниже приведена таблица для весов Conv2D, которые имеют большие значения. По сути, во время операции Conv2D большие веса перемножаются и суммируются, и, к сожалению, превышают максимальный диапазон float16, равный 65504. Bfloat16 подходит, так как его максимальный диапазон составляет 10^38.

Решение заключается в приведении всех весов Conv2D к типу float32 на машинах с float16! Но это потребляет больше видеопамяти, поэтому вместо этого мы используем автокастинг для приведения весов и входных матриц к float32 «на лету» и выполняем накопление в float32.

Unsloth — единственный фреймворк, который позволяет выполнять инференс и обучение Gemma 3n на графических процессорах float16, поэтому ноутбуки Colab с бесплатными Tesla T4 работают!

🏁Проблемы с градиентным чекпоинтингом

Мы обнаружили, что визуальный энкодер Gemma 3N уникален, так как он повторно использует скрытые состояния. Это, к сожалению, ограничивает использование градиентного чекпоинтинга, поэтому потребление памяти немного выше обычного. Тем не менее, нам все же удалось использовать автоматический компилятор Unsloth для оптимизации Gemma 3N!

🦙 Проблемы GGUF + исправления:

Благодаря обсуждениям с командой Ollama, а также Nguyen с Hugging Face, были выявлены 2 проблемы, специфичные для GGUF:

1. Параметр add_shared_kv_layers был случайно закодирован в float32, что допустимо, но его сложно декодировать со стороны Ollama — простое изменение на uint32 решает проблему. 2. Параметр per_layer_token_embd должен иметь точность Q8_0. Любое значение ниже, по-видимому, не функционирует должным образом и вызывает ошибки в движке Ollama — чтобы уменьшить количество проблем для нашего сообщества, мы сделали все это Q8_0 во всех квантованных версиях — к сожалению, это занимает больше места.

Как отметил update Мэтт, мы также можем использовать Q4_0, Q4_1, Q5_0, Q5_1 для эмбеддингов — и мы подтвердили, что это также может работать в Ollama! Это означает, что снова меньшие 2-, 3- и 4-битные квантованные версии имеют меньший размер и не требуют Q8_0!

🌵 Большие потери во время тонкой настройки:

Мы также обнаружили, что потери (losses) во время тонкой настройки удивительно велики — в диапазоне от 6 до 7, но они быстро уменьшаются со временем. Мы предполагаем, что это связано с одной из двух возможностей:

1. Возможно, есть какая-то проблема с реализацией, но это маловероятно, так как инференс, похоже, работает хорошо. 2. Мультимодальные модели всегда демонстрируют такое поведение — мы обнаружили, что потери Llama 3.2 Vision начинаются с 3 или 4, Pixtral — примерно с 8, а Qwen 2.5 VL — около 4. Поскольку Gemma 3N также включает аудио, это может усиливать начальные потери. Но это лишь гипотеза. Мы также обнаружили, что квантование Qwen 2.5 VL 72B Instruct приводит к чрезвычайно высоким показателям перплексии (около 30), но модель, кажется, работает нормально.

✨Тонкая настройка Gemma 3n

Gemma 3n, как и Gemma 3, имела проблемы при работе на графических процессорах F16, таких как Tesla T4 в Colab. По сути, вы получите NaN и бесконечности, если не примените патч для инференса или тонкой настройки.

Мы обнаружили, что простое обходное решение заключается в приведении всех сверточных слоев в визуальном энкодере к float32, что увеличило использование видеопамяти. Чтобы уменьшить потребление памяти, мы просто использовали автокастинг, который оставил сверточные слои в float16 и приводил их к float32 только во время самого матричного умножения.

Поскольку уникальная архитектура Gemma 3n повторно использует скрытые состояния в визуальном энкодере, алгоритм градиентного чекпоинтинга Unsloth (который значительно снижает использование видеопамяти) не может быть применен к визуальному энкодеру, однако мы все равно применили наши автоматические оптимизации компилятора.

Unsloth — единственный фреймворк, который работает на машинах с float16 для инференса и обучения Gemma 3n. Это означает, что ноутбуки Colab с бесплатными графическими процессорами Tesla T4 также работают!

Мы также слышали, что многие из вас просили ноутбуки для Gemma 3 (4B) Vision, чтобы вы могли попробовать их прямо сейчас в нашем бесплатном ноутбуке Google Colab здесь.

Производительность

Модель

Видеопамять

🦥Скорость Unsloth

🦥 Снижение видеопамяти

🦥 Более длинный контекст

🤗Hugging Face+FA2

Gemma-3n-E4B

24 ГБ

1.5x

>50%

в 5 раз длиннее

Мы проводили тестирование с использованием набора данных Alpaca, размером пакета 2, шагами накопления градиента 4, рангом = 32, и применили QLoRA ко всем линейным слоям (q, k, v, o, gate, up, down).

🔮 Анализ Gemma 3n

Вот подробный анализ архитектуры MatFormer модели Gemma 3n: Итак, что же такого особенного в Gemma 3n, спросите вы? Она основана на архитектуре Matryoshka Transformer или MatFormer, что означает, что каждый слой/блок трансформера встраивает/вкладывает FFN все меньшего и меньшего размера. Думайте об этом как о постепенно уменьшающихся чашках, вложенных одна в другую. Обучение проводится таким образом, чтобы во время инференса вы могли выбрать нужный размер и получить максимальную производительность от более крупных моделей.

Существует также эмбеддинг для каждого слоя (Per Layer Embedding), который можно кэшировать для уменьшения использования памяти во время инференса. Таким образом, модель 2B (E2B) является подсетью внутри модели 4B (также известной как 5.44B), которая достигается как за счет кэширования эмбеддингов для каждого слоя, так и за счет пропуска аудио- и визуальных компонентов, фокусируясь исключительно на тексте.

Архитектура MatFormer обычно обучается с экспоненциально распределенными подмоделями, то есть размерами S, S/2, S/4, S/8 и т. д. в каждом из слоев. Поэтому во время обучения входные данные случайным образом передаются через один из указанных подблоков, давая каждому подблоку равный шанс на обучение. Преимущество заключается в том, что во время инференса, если вы хотите, чтобы модель составляла 1/4 от исходного размера, вы можете выбрать подблоки размера S/4 в каждом слое.

Вы также можете выбрать «смешивание и подбор» (Mix and Match), где вы выбираете, скажем, подблок размера S/4 для одного слоя, подблок размера S/2 для другого слоя и подблок размера S/8 для третьего. На самом деле, вы можете менять выбранные подмодели в зависимости от самих входных данных, если хотите. По сути, это похоже на выбор собственной структуры на каждом слое. Таким образом, обучая модель одного конкретного размера, вы создаете экспоненциально большое количество моделей меньшего размера. Никакое обучение не пропадает даром. Довольно изящно, правда?

💕 Спасибо!

Огромное спасибо команде Google Gemma за то, что позволили нам обеспечить поддержку с первого дня. Также спасибо всем за использование и распространение Unsloth — мы очень это ценим. 🙏

Как всегда, обязательно присоединяйтесь к нашей странице в Reddit и серверу Discord для получения помощи или просто чтобы выразить свою поддержку! Вы также можете подписаться на нас в Twitter и присоединиться к нашей новостной рассылке.

Спасибо, что читаете!

Дэниел и Майкл Хан 🦥1 июля 2025 г.

← Все статьи

Ещё в разделе «Разработка ПО»

Все →
Обзор Sennheiser Momentum 5: великолепный звук, невероятное время автономной работы и минимум компромиссовПресса
Momentum

Обзор Sennheiser Momentum 5: великолепный звук, невероятное время автономной работы и минимум компромиссов

Boeing сообщает о программном сбое в 737 Max, затрагивающем некоторые функции автоматического захода на посадкуПресса
Boeing

Boeing сообщает о программном сбое в 737 Max, затрагивающем некоторые функции автоматического захода на посадку

Apple обязали выплатить 5,7 млрд долларов по иску о нарушении патентных прав на тактильные технологии в iPhone и Apple Watch
Пресса
Apple

Apple обязали выплатить 5,7 млрд долларов по иску о нарушении патентных прав на тактильные технологии в iPhone и Apple Watch

Компании выбирают САПР от PTC для разработки и проектирования продуктов
PTC

Компании выбирают САПР от PTC для разработки и проектирования продуктов

Clas Ohlson выбирает PTC FlexPLM для поддержки своей стратегии роста
PTC

Clas Ohlson выбирает PTC FlexPLM для поддержки своей стратегии роста

Canon ITS и PTC Japan запускают «Smart PLM Support Service» для поддержки трансформации рабочих процессов в сфере производства
PTC

Canon ITS и PTC Japan запускают «Smart PLM Support Service» для поддержки трансформации рабочих процессов в сфере производства

Ещё от Unsloth AI

Как запустить Deepseek-R1-0528 локально
Unsloth AI

Как запустить Deepseek-R1-0528 локально

gpt-oss: дообучение с длинным контекстом
Unsloth AI

gpt-oss: дообучение с длинным контекстом

Среды обучения с подкреплением и способы их создания
Unsloth AI

Среды обучения с подкреплением и способы их создания

Как ускорить обучение LLM с помощью Unsloth и NVIDIA
Unsloth AI

Как ускорить обучение LLM с помощью Unsloth и NVIDIA

Тонкая настройка и запуск Gemma 3n с помощью Unsloth
Unsloth AI

Тонкая настройка и запуск Gemma 3n с помощью Unsloth