Эра 1-битных LLM наступила

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



2025-09-16 11:32

Производительность динамических GGUF Unsloth в бенчмарках Aider Polyglot

Мы рады сообщить, что Unsloth Dynamic GGUFs показывает, как можно квантовать LLM, такие как DeepSeek-V3.1 (671B), до 1 или 3 бит, и при этом превзойти модели SOTA, такие как GPT-4.5, GPT-4.1 (апрель 2025 г.) и Claude-4-Opus (май 2025 г.).

Ранее мы продемонстрировали, как динамические GGUF Unsloth превосходят другие методы квантования на 5-зарядных MMLU и KL Divergence. Теперь мы демонстрируем их эффективность в независимых сторонних оценках с использованием бенчмарка Aider Polyglot.

Основные результаты

  • Наш 1-битный Unsloth Dynamic GGUF уменьшает DeepSeek-V3.1 с 671 ГБ -> 192 ГБ (-75% размера) и значительно превосходит GPT-4.1 (апрель 2025 г.), GPT-4.5 и DeepSeek-V3-0324.

  • 3-битный Unsloth DeepSeek-V3.1 (мышление) GGUF: Превосходит Claude-4-Opus-20250514 (мышление).

  • 5-битный Unsloth DeepSeek-V3.1 (без мышления) GGUF: Соответствует производительности Claude-4-Opus-20250514 (без мышления).

  • GGUF Unsloth Dynamic работают стабильно лучше, чем другие GGUF без Unsloth Dynamic imatrix

  • Другие 1-битные и 2-битные квантования DeepSeek-V3.1, отличные от Unsloth, а также стандартные 1-битные квантования без селективного квантования слоев, либо не загружались, либо выдавали тарабарщину и зацикленные выходы. Это показывает, как динамические GGUF Unsloth способны в значительной степени сохранять точность, в то время как другие методы даже не работают.

Почему бенчмарк Aider Polyglot? Aider — это один из наиболее полных показателей того, насколько хорошо LLM могут писать, кодировать, следовать инструкциям и вносить изменения без вмешательства человека, что делает его одним из самых сложных и ценных критериев для реального использования.

Ключевым преимуществом использования пакета и моделей Unsloth является наша активная роль в исправлении критических ошибок в основных моделях. Мы сотрудничали напрямую с командами, стоящими за Qwen3, Meta (Llama 4), Mistral (Devstral), Google (Gemma 1–3) и Microsoft (Phi-3/4), внеся важные исправления, которые значительно повысили точность.

Динамическое квантование Unsloth

Динамический 1 бит создает важные слои в 8 или 16 бит и неважные слои в 1,2,3,4,5 или 6 бит.

В ноябре 2024 года наши 4-битные динамические кванты продемонстрировали, как можно в значительной степени восстановить тонкую настройку QLoRA и точность модели, просто выборочно квантовая слои. Позже мы изучили архитектуру DeepSeek-R1 и применили аналогичную методологию, в которой мы квантовали некоторые слои до 1 бита, а важные слои — до более высоких битов (6, 8 бит). Этот подход быстро завоевал популярность и оказался особенно эффективным для моделей МО, что делает динамическое квантование де-факто для квантования МО.

Наши динамические GGUF еще более эффективны в сочетании с набором калибровочных данных imatrix, предназначенным для чата и кодирования. Все это позволило выполнить экстремальное сжатие LLM без катастрофической потери качества.

Например, в Qwen2-VL-2B-Instruction наивное квантование всех слоев до 4 бит приводит к тому, что модель не понимает изображение ниже. Это поезд, а не прибрежная сцена!

Мы также показали динамические бенчмарки в https://docs.unsloth.ai/basics/unsloth-dynamic-2.0-ggufs для Gemma 3 и Llama 4 Scout, показав, насколько эффективна наша методология:

Настройка бенчмарка

Для наших экспериментов DeepSeek-V3.1 мы сравнили различные биты Unsloth Dynamic GGUF с:

  • Полноточные, неквантованные LLM, включая GPT 4.5, 4.1, Claude-4-Opus, DeepSeek-V3-0324 и т.д.

  • Другие динамические imatrix V3.1 GGUF

  • Полудинамические (некоторое селективное квантование слоев) imatrix V3.1 GGUFs для целей абляции.

Контрольные эксперименты в основном проводились Дэвидом Слёйсом (neolithic5452 на Aider Discord), доверенным участником сообщества по оценке Aider Polyglot. Тесты проводились ~3 раза и усреднялись по среднему баллу, а точность Pass-2 указывается по соглашению. В Discord Aider's есть несколько воспроизводимых фрагментов кода бенчмарков.

DeepSeek V3.1 имеет как режим рассуждения, так и режим без рассуждений, и мы тестируем оба. Для того, чтобы не вдаваться в рассуждения, ниже мы видим четкую тенденцию того, как работают наши динамические квантования. динамический 5-битный достигает 70,7% на Aider Pass-2, в то время как динамический 1-битный достигает 55,7%. С точки зрения размера и точности, 3 и 4 бит чрезвычайно мощные!

Сравнение с другими квантами

Мы также проверяем бенчмарк Aider Polyglot на других динамических imatrix GGUF от сообщества и сравниваем его с нашим. Чтобы обеспечить честное сравнение, мы делаем следующее:

  1. Мы выбираем файлы одинакового размера и типы битов для каждого кванта Unsloth.

  2. Мы используем наш фиксированный шаблон чата, если квант сообщества не может выполнить бенчмарк. Мы нашли некоторые кванты сообщества, и это можно исправить с помощью нашего шаблона фиксированного чата.{"code":500,"message":"split method must have between 1 and 1 positional arguments and between 0 and 0 keyword arguments at row 3, column 1908"}

Мы видим, что динамические кванты Unsloth работают удивительно хорошо по сравнению с другими квантованиями сообщества для того же размера модели и типа кванта!

Абляция динамического квантования

Мы также провели несколько абляций, чтобы подтвердить, действительно ли работает наш калибровочный набор данных и методология динамического квантования. Хитрость динамического метода Анслота заключается в том, чтобы квантовать важные слои в старшие биты, скажем, 8 бит, в то время как неважные слои остаются в более низких битах, таких как 2 бита.

Чтобы проверить наш метод, мы оставляем определенные тензоры с более низкой точностью, например, 4 бита против более высокой точности. Например, ниже мы оставляем тензоры в 4 бита (полудинамические) против 8 бит (текущий Unsloth), и увеличивая размер кванта всего на ~100 МБ или около того (<0.1%), точность резко возрастает!attn_k_b

attn_k_b и другие тензоры в DeepSeek V3.1 очень важны / чувствительны к квантованию и должны быть оставлены с более высокой точностью, чтобы сохранить точность!

Исправление ошибок шаблона чата

Во время тестирования квантов DeepSeek-V3.1 мы обнаружили, что некоторые кванты с меньшими битами не заключаются должным образом или выполняют странное форматирование. Это привело к тому, что некоторые кванты сообщества не работали с младшими битами, и это привело к несправедливым сравнениям. Мы обнаружили, что использование llama.cpp minja (более простая версия jinja) не приемлет позиционный аргумент в . Нам пришлось измениться:<think> </think>.split

Копировать

{%- set content = content.split("</think>", 1)[1] -%}

к нижеследующему:

Копировать

{%- set splitted = content.split("</think>") -%} {%- set content = splitted[1:] | join("</think>") -%}

Смотрите https://huggingface.co/unsloth/DeepSeek-V3.1-GGUF?chat_template=default&format=true для нашего фиксированного шаблона чата или https://huggingface.co/unsloth/DeepSeek-V3.1/raw/main/chat_template.jinja для необработанного файла джиндзя.

Проходной балл 1

Эйдер сообщается в основном о проходном балле 2. Мы также сообщаем о проходном балле 1, чтобы сравнить количество участников сообщества того же размера. Мы видим, что наши динамические кванты работают намного лучше, чем другие кванты сообщества аналогичного размера, особенно на меньшем уровне 2 бита и большем чем 4 бита. 3 и 4 бит работают одинаково хорошо.

Запуск динамических квантов DeepSeek V3.1

Перейдите к нашему руководству по DeepSeek V3.1 или чтобы быстро получить динамическую 2-битную версию, сделайте следующее:

Копировать

Обновление apt-get  apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y git clone https://github.com/ggml-org/llama.cpp cmake llama.cpp -B llama.cpp/build      -DBUILD_SHARED_LIBS=ВЫКЛ -DGGML_CUDA=ВКЛ -DLLAMA_CURL=ВКЛ cmake --build llama.cpp/build --config Release -j --clean-first --target llama-quantize llama-cli llama-gguf-split llama-mtmd-cli llama-server  cp llama.cpp/build/bin/llama-* llama.cpp

Затем используйте для прямой загрузки весов. Мы уже устанавливаем оптимальные предлагаемые параметры, такие как температура, шаблон чата и т.д.:llama.cpp

Копировать

export LLAMA_CACHE="unsloth/DeepSeek-V3.1-GGUF" ./llama.cpp/лама-кли      -hf unsloth/DeepSeek-V3.1-GGUF:Q2_K_XL      --Джинджа      --n-gpu-layers 99      --темп 0.6      --top_p 0.95      --min_p 0.01      --ctx-размер 8192      --Семена 3407      -ot ".ffn_.*_exps.=ЦП"

Телеграм: t.me/ainewsline

Источник: docs.unsloth.ai

Комментарии: