← Библиотека Green Zone

История об ИИ · 05

Сколько бит нужно искусственному интеллекту?

Зачем существуют 4-, 6-, 8- и 16-битные модели

Что меняется при уменьшении числа бит, что сохраняется и почему у видеокарты тоже есть право голоса.

Опубликовано AI Model Green Zone

Подчёркнутые термины ведут в глоссарий. Наведи курсор или перейди клавишей Tab для короткой подсказки.

Ты решаешь скачать модель ИИ с восемью миллиардами параметров.

У тебя есть компьютер, несколько задач и оптимистичная вера в то, что скачивание — это занятие, у которого есть начало и конец.

Потом ты открываешь страницу модели.

Там есть версия FP16. Восьмибитная. Шестибитная. Пятибитная. Несколько четырёхбитных. И нечто под названием Q4_K_M, похожее на обозначение запчасти, которую лучше сфотографировать перед походом в хозяйственный магазин.

Это всё версии одной и той же обученной модели. В них, по сути, один и тот же набор обученных параметров. А вот требования к памяти очень разные.

Первое желание понятно: взять самую большую. Наверняка в ней больше того, что делает модель полезной.

Твоя видеокарта с восемью гигабайтами VRAM тоже хотела бы поучаствовать в этом решении.

Разница между версиями во многом связана с квантованием весов: обученные числовые веса модели представляют меньшим количеством бит, используя тщательно подобранные приближения.

Снижение точности этих чисел может резко сократить занимаемую ими память.

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

Что потерялось? Будет ли модель по-прежнему понимать твои документы? Поможет ли с кодом? Знает ли четырёхбитная модель, что Бостон находится в Массачусетсе, или географию убрали, чтобы освободить место для грамматики?

Никакого отдела, который решает, какие города переживут сжатие, не существует.

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

Но сохранение каждого доступного бита имеет свою цену. И для твоей настоящей работы дополнительная точность может оправдывать лишнюю видеопамять — а может и не оправдывать.

За всем этим меню скачивания стоит один вопрос:

Сколько числовой точности исходной модели мне нужно — и на что я могу потратить сэкономленную VRAM?

Модель уже окончила школу

Прежде чем сравнивать четыре бита с шестнадцатью, полезно разделить обучение и хранение результатов обучения.

Во время обучения модель подстраивает огромные наборы числовых значений — весов. Вместе они влияют на то, как она распознаёт закономерности, следует инструкциям и составляет ответы.

К тому моменту, когда ты скачиваешь обычную предобученную модель, это обучение уже состоялось.

Четырёхбитная версия не училась в школе четыре года, а шестнадцатибитная — шестнадцать. Это разные числовые представления одной обученной модели.

Сначала было обучение. Квантование меняет способ хранения его результатов.

Представим, что в результате обучения получился такой вес:

w=0.3726w=0.3726

Чтобы разобраться в числовой точности, сравним эти записи:

0.37260.370.40.3726 \qquad 0.37 \qquad 0.4

Они описывают примерно одно значение, но сохраняют разное количество подробностей.

Первая сохраняет все цифры нашего примера. Вторая округляет значение до двух знаков после запятой. Третья даёт более грубое приближение.

Это и есть бытовой смысл числовой точности: насколько близко сохранённое число к значению, которое мы хотели оставить.

Переходя к представлению тех же весов меньшим числом бит, мы обычно соглашаемся на более грубые приближения ради меньшего расхода памяти.

Пример с десятичными дробями — иллюстрация. Компьютеры используют двоичные форматы, поэтому четыре бита не означают четыре знака после запятой. Разные форматы по-разному распределяют биты, а настоящее квантование устроено сложнее, чем простое отрезание последних цифр.

Но сам обмен вполне реален.

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

Поскольку способности модели зависят от этих чисел, потеря подробностей может повлиять на её умение пользоваться выученным.

Иногда разницу трудно заметить. Иногда она важна.

Нужно понять, какой случай относится к твоей работе.

У твоей видеокарты квартира поменьше

На SSD вполне может поместиться несколько версий модели. На двухтерабайтном накопителе можно собрать неплохую коллекцию.

Видеокарта — арендодатель менее щедрый.

В следующих примерах предположим, что ты хочешь запускать модель целиком на отдельном GPU. Её веса должны поместиться в видеопамять, или VRAM, этой карты, причём нужно оставить место для обработки запросов.

Именно этот запас памяти нас здесь интересует.

У бита два возможных состояния: ноль или единица. Несколько бит вместе дают больше комбинаций:

24=1626=6428=2562^4=16 \qquad 2^6=64 \qquad 2^8=256

Четыре бита дают шестнадцать возможных комбинаций. Шесть — шестьдесят четыре. Восемь — 256.

Числовой формат использует эти комбинации для представления значений. Больше возможностей представления обходится в больший объём настоящей памяти.

Восемь бит составляют один байт. Шестнадцать бит — два байта.

Возьмём упрощённую модель, в которой ровно восемь миллиардов весов. При шестнадцати битах на вес сами данные весов занимают примерно:

8 млрд весов×2 байта=16 GB8\text{ млрд весов}\times2\text{ байта} = 16\text{ GB}

То есть примерно 16 GB данных весов, которые нужно разместить в VRAM, ещё до добавления рабочей памяти.

Видеокарта с 8 GB такого места не предоставит. Объяснение, что у модели прекрасные отзывы, не сделает карту сговорчивее.

При четырёх битах на вес идеализированный расчёт выглядит так:

8 млрд весов×0.5 байта=4 GB8\text{ млрд весов}\times0.5\text{ байта} = 4\text{ GB}

Настоящие форматы добавляют служебную информацию и могут сохранять некоторые компоненты с большей точностью. Но разница всё равно существенная.

Тот же набор обученных весов может занимать гораздо меньше VRAM.

В этих формулах используются десятичные гигабайты. Программы могут показывать GiB — немного более крупную единицу. Ещё важнее то, что здесь считаются только данные весов, а не вся память, нужная работающей модели.

Поэтому «четырёхбитная» не означает «нужна видеокарта на четыре гигабайта».

Полезная зависимость другая: для одной и той же модели меньше бит на вес обычно означает больше свободной видеопамяти для всего остального.

Все восемь миллиардов параметров на месте. Просто им пересмотрели жилищные условия.

Что на самом деле хранят четыре бита

Вернёмся к нашему вымышленному весу:

w=0.3726w=0.3726

Как четырёхбитный код может представить такое число?

Четырёхбитный код позволяет выбрать одну из шестнадцати возможностей. В нарочито простом примере пусть эти коды обозначают шестнадцать значений с шагом 0.1:

0,0.1,0.2,…,1.4,1.50,\;0.1,\;0.2,\;\ldots,\;1.4,\;1.5

Исходного значения в списке нет. Ближайшее доступное — 0.4.

Система может сохранить компактный код 4, а вместе с ним общую информацию о том, что каждый шаг равен 0.1:

wq=4×0.1=0.4w_{\mathrm{q}}=4\times0.1=0.4

Величина шага называется масштабом.

Разница между исходным весом и его приближением:

|0.4−0.3726|=0.0274\left|0.4-0.3726\right|=0.0274

Эта разница — ошибка квантования.

Это учебный пример, а не буквальный рецепт Q4_K_M. Настоящие веса бывают отрицательными, а практические методы выбирают способы представления тщательнее.

Многие методы делят веса на группы, каждая со своим масштабом или другой информацией для интерпретации. Поэтому один и тот же четырёхбитный код может означать разные приближённые значения в разных группах. Модель целиком не ограничена одним универсальным списком из шестнадцати чисел. В руководстве Hugging Face по квантованию объясняются эти соответствия.

Представь линейку, расстояния между делениями которой можно подбирать под измеряемые величины.

Для группы близких значений полезны частые деления. Значения, разбросанные по широкому диапазону, требуют другой разметки.

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

Компьютеры остаются досадно невосприимчивыми к энтузиазму.

Как округление добирается до ответа

Исходный вес был 0.3726. Его приближение — 0.4.

Пусть на вход поступило число 2. С исходным весом получаем:

2×0.3726=0.74522\times0.3726=0.7452

С приближением получаем:

2×0.4=0.82\times0.4=0.8

Операция та же. Результат немного сдвинулся.

Модель выполняет огромное количество вычислений с весами. Их результаты переходят в следующие вычисления, проходя через её слои.

Когда ты спрашиваешь о Бостоне, текст делится на токены — слова или части слов — и превращается в числовые представления. По мере прохождения через модель эти представления меняются.

Такие меняющиеся числовые значения называются активациями. Обученные веса помогают определить, как именно они преобразуются.

Одну распространённую операцию можно кратко записать так:

Y=XWY=XW

Здесь XX содержит входную числовую информацию, WW — обученные веса, а YY — результат преобразования.

За маленьким уравнением может стоять огромное количество умножений и сложений. Пока модель будто бы спокойно рассуждает об архитектуре Бостона, оборудование занимается арифметикой с интенсивностью, которая встревожила бы живого бухгалтера.

Поэтому изменение весов может изменить вычисления — и в конце концов ответ.

Но последствия нельзя получить, просто сложив все ошибки округления. Одни различия взаимно компенсируются. Другие почти не важны на практике. Третьи затрагивают более существенные части вычислений.

Хорошие методы квантования стараются сохранить полезное поведение, несмотря на приближения.

Исследователи также учитывают, как веса используются на деле. AWQ, или Activation-aware Weight Quantization, использует информацию об активациях, чтобы посредством масштабирования защитить важные каналы. Этот подход описан в исследовании AWQ.

Точность не везде одинаково важна.

Видимо, даже внутри нейросети некоторым числам удалось заключить более выгодные контракты.

Бостон уцелел. Маршрут требует больше внимания.

Допустим, ты спрашиваешь несколько версий одной способной модели:

Бостон находится в Массачусетсе?

Все они могут ответить правильно.

Бостон пережил четырёхбитное квантование. Массачусетс остался на месте. Реку Чарльз никто не перенёс в Огайо.

Теперь попробуй запрос посложнее:

Я остановился возле Бэк-Бэй. Составь план дня: музей, независимый книжный магазин, ужин с морепродуктами и два свободных часа после обеда. Машины нет, долгих пеших переходов хочется избежать, а к вечернему поезду нужно успеть на Южный вокзал, South Station.

Модель должна согласовать несколько требований. Ей также нужны достоверные сведения о часах работы и транспорте.

Возможностей проявить слабые места становится больше.

Хорошая четырёхбитная версия может прекрасно справиться. Версия с большей точностью может лучше сохранить способность исходной модели согласовывать эти требования. Ни один из результатов не следует автоматически из количества бит.

То же бывает при сравнении предложений со сложными исключениями, изменении кода без нарушения связанной функциональности или решении задачи с несколькими зависимыми шагами.

Такие задачи дают повод заботиться о сохранении поведения, приобретённого моделью при обучении.

Но числовая точность и достоверность фактов — разные вещи.

Веса могут быть сохранены очень точно, а нужной для ответа информации у модели всё равно не окажется. Дополнительные биты не принесут обновлённое расписание, которого она никогда не получала.

Шестнадцать бит не уговорят закрытый ресторан открыться снова.

И более подробный ответ не обязательно более правильный. Модель может ошибиться коротко, а может выдать впечатляюще организованное объяснение своей ошибки.

Для уверенности, увы, требуется совсем мало памяти.

Тогда зачем сохранять шестнадцатибитную версию?

Если четырёхбитная версия может ответить правильно, зачем кому-то большая?

Потому что «одинаково хорошо справляется с этой задачей» не означает «сохраняет всё поведение исходной модели во всех задачах».

Шестнадцатибитный чекпойнт часто служит версией высокой точности, из которой делают более компактные варианты. Сохраняя его, мы избегаем дополнительного приближения, вносимого квантованием до малого числа бит.

Это важно, когда сохранить поведение исходной модели важнее, чем сократить потребность в памяти.

Возможно, твоя нагрузка выявляет слабость квантованной версии. Возможно, ты проверяешь модель на широком наборе задач. Или VRAM хватает и на точные веса, и на контекст, и на рабочее пространство — тогда особого смысла соглашаться на дополнительные числовые потери нет.

Большая точность не гарантирует правильного ответа. Она устраняет один дополнительный источник изменений.

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

Если числовые подробности уже отброшены, простое преобразование компактного представления обратно в более широкий формат их не восстановит.

Запись 0.400000 вместо 0.4 не вернёт 0.3726. Она лишь выдаст приближению костюм подлиннее.

Дополнительное обучение стоит оговорить отдельно. Установка шестнадцатибитной модели не заставляет её автоматически учиться дальше во время обычного разговора. Для обучения нужен процесс, который обновляет параметры.

Представления большей точности полезны для такой работы, хотя существуют и подходы с малым числом бит. Например, QLoRA оставляет четырёхбитную базовую модель неизменной, обучая дополнительные компоненты — адаптеры. Метод объясняется в статье о QLoRA.

Так что у шестнадцатибитных моделей есть практические задачи. Они сохраняют более точную исходную основу и помогают избежать ухудшений, значимых для конкретной работы.

Но автоматического перехода от «знает Бостон» к «защитила диссертацию по Массачусетсу» они не обеспечивают.

И почему тебе могут не понадобиться шестнадцать бит

Большинство людей скачивают локальную модель ради какого-то дела.

Они хотят привести в порядок заметки, разобраться в документе, написать письмо, сравнить товары, поработать с кодом или изучить тему.

Обычно они не стремятся сохранить каждую числовую подробность ради неё самой.

Если хорошая четырёх-, пяти- или шестибитная версия справляется с их задачами, дополнительная память более точной версии может почти не улучшить результат именно для этого применения.

Это разница между различием, которое можно измерить, и различием, которое меняет твой опыт работы.

Оба важны, но отвечают на разные вопросы.

Допустим, две версии делают одинаково полезные краткие изложения документов, которые ты действительно читаешь. Одна занимает гораздо больше VRAM. Другая оставляет место для более длинных документов и большей истории разговора.

Выбрать компактное представление — вполне разумное инженерное решение.

Необязательно бронировать президентский люкс для каждого знака после запятой.

При этом нет универсального правила, что четырёхбитное квантование теряет лишь два процента качества — или сохраняет фиксированный процент интеллекта.

Опубликованная разница относится к конкретной модели, методу квантования, проверке и конфигурации. На другой работе разница может оказаться меньше, больше или почти не иметь практического значения.

Такие исследования, как GPTQ, показали трёх- и четырёхбитное квантование с небольшими потерями на приведённых в них проверках, в том числе для очень крупных моделей. Это свидетельство того, что обмен может быть крайне удачным. Но не гарантия для любой модели и задачи. Результаты описаны в статье о GPTQ.

Поэтому полезный вопрос — личный и проверяемый:

Достаточно ли хорошо эта компактная версия по-прежнему делает мою работу — и ценнее ли для меня сэкономленная VRAM, чем оставшаяся разница?

Для многих повседневных задач ответ вполне может быть положительным.

В некоторых требовательных задачах большая точность может оправдать своё место.

Ни одно из решений не требует вступать в очередной интернет-лагерь.

Четыре бита и MacBook

Идея снижать точность нейросетей появилась задолго до популярности локальных языковых моделей.

Изменился масштаб возможностей.

Когда языковые модели выросли до миллиардов параметров, сокращение числа бит на вес позволило превратить непрактичные требования к памяти в объём, доступный персональному компьютеру.

В марте 2023 года эта возможность особенно наглядно проявилась благодаря llama.cpp Георгия Герганова.

11 марта разработчик Саймон Уиллисон описал запуск LLaMA с семью миллиардами параметров на своём MacBook Pro с M2. В компьютере было 64 GB памяти; файл модели после четырёхбитного квантования занимал около 4 GB. Его рассказ из первых рук по-прежнему доступен.

Обученная языковая модель отвечала на вопросы локально, на ноутбуке.

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

Квантование не сделало исходное обучение бесплатным. Оно помогло сделать его результат удобным для использования.

Обучение моделей обходилось дорого, зато к состоянию своих конспектов они оказались удивительно непритязательны.

И когда очень низкая точность оказалась полезной, исследователи продолжили выяснять, насколько далеко можно зайти.

Иногда программисты приходят к философии, раз за разом вычитая единицу.

Q4_K_M и другие разновидности мелкого шрифта

Ты возвращаешься к списку скачивания.

С четырьмя битами уже всё понятно. К сожалению, в Q4_K_M, похоже, содержится ещё несколько дополнительных мнений.

Обозначение указывает на конкретный рецепт квантования. Четвёрка отсылает к представлению весов с малым числом бит, но практическим форматам нужны не только компактные коды.

Они могут хранить ещё масштабы, другую информацию для интерпретации и некоторые компоненты модели с большей точностью.

Поэтому у «четырёхбитного» формата средний фактический расход может быть больше четырёх бит на вес.

Два файла с надписью «4 бита» могут отличаться по размеру и поведению. Важен рецепт, а не только крупная цифра на этикетке.

Четырёхбитная модель в одном отношении похожа на «пятиминутную установку программы»: цифра полезная, но со сносками лучше сохранять хорошие отношения.

Также встречается GGUF — название формата файла, в котором находятся модель и её метаданные. Это обозначение другого рода, чем Q4_K_M, описывающее рецепт квантования.

А FP16 и BF16 — оба шестнадцатибитные форматы с плавающей точкой, но они по-разному делят доступные биты между диапазоном чисел и точностью.

Разобраться в практическом выборе можно, не заучивая внутреннее устройство каждого формата.

Важно, что количество бит не определяет формат полностью, а твоя среда выполнения — программа, запускающая модель, — должна поддерживать выбранную версию.

С аббревиатурами можно оставаться просто знакомыми. Принимать их в семью необязательно.

Даже компактные веса нужно перемещать

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

Подходящая реализация не обязана постоянно держать такую развёрнутую копию.

Оптимизированные процедуры могут читать компактные блоки весов и интерпретировать их приближённые значения прямо в ходе вычислений. Часть арифметики при этом может выполняться с большей точностью.

Это не восстанавливает информацию, потерянную при квантовании. Очень точное умножение 0.4 не подскажет, что исходный вес был 0.3726.

Компактное хранение также уменьшает объём данных весов, которые приходится перемещать через систему памяти.

На это перемещение нужно время. Пропускная способность памяти описывает скорость передачи данных. Когда именно передача становится главным ограничением, компактные представления помогают процессору меньше ждать.

Но расшифровка компактного представления может требовать дополнительной работы. Производительность зависит от оборудования, среды выполнения, формата и задачи.

Формат, ускоряющий генерацию ответа, может иначе вести себя при обработке длинного запроса.

Поэтому «четыре бита всегда быстрее» — ненадёжное правило. Как и «самый маленький файл даст самый быстрый ответ».

При одинаковых условиях меньший файл обычно скачивается быстрее. Утешительно, когда хотя бы одна часть разговора ведёт себя прилично.

А настоящую скорость работы модели по-прежнему полезно измерять на нужной конфигурации.

Веса поместились. Теперь модель хотела бы поработать.

Вот где сэкономленная VRAM становится особенно полезной.

Веса — только часть потребности работающей модели в памяти. Ей также нужно место для временных вычислений и буферов среды выполнения.

Многие языковые модели ведут KV-кэш, в котором хранится промежуточная информация об уже обработанных токенах. Повторное использование этих данных позволяет не выполнять часть одних и тех же вычислений заново при генерации следующего токена. Hugging Face объясняет устройство этого кэширования.

Твои инструкции, переданные документы, история разговора и формирующийся ответ входят в контекст модели.

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

Сами веса не увеличиваются от того, что ты вставил ещё одну главу. Дополнительная память нужна для обработки более длинного контекста.

Есть ещё одно различие, которое легко упустить: четырёхбитные веса не означают автоматически четырёхбитный KV-кэш. Точность весов и точность кэша выбираются отдельно.

Для простого плана памяти GPU можно рассуждать так:

нужная VRAM≈веса+KV-кэш+рабочий запас\text{нужная VRAM} \approx \text{веса} + \text{KV-кэш} + \text{рабочий запас}

Рабочий запас включает, например, буферы вычислений и место для других задач GPU.

Подставим в эту идею числа.

В документации llama.cpp для Llama 3.1 8B указан файл Q4_K_M размером примерно 4.58 GiB, а Q8_0 — примерно 7.95 GiB. Эти опубликованные размеры файлов весов дают отправную точку для оценки; они не являются измерением всей VRAM, которую займёт работающая модель. Источник: сравнение квантований в llama.cpp.

Пусть в нашем примере эти числа будут оценкой памяти под веса, а ещё мы выделим 1 GiB на кэш разговора и 1 GiB на рабочее пространство и прочие нужды.

С компактным представлением весов:

4.58+1+1=6.58 GiB4.58+1+1=6.58\text{ GiB}

С более крупным:

7.95+1+1=9.95 GiB7.95+1+1=9.95\text{ GiB}

Для видеокарты с бюджетом VRAM в 8 GiB это совершенно разные ситуации.

Запасы по одному гигабайту — допущения этого примера. Настоящие требования зависят от среды выполнения и нагрузки.

Но теперь видно, зачем нужен полный расчёт.

Крупное представление весов само по себе почти помещается. Запланированная работа — нет.

Компактное представление оставляет место для работы.

Вот почему самое точное представление не становится автоматически самой полезной конфигурацией для конкретного компьютера.

Модель, занявшая почти всю VRAM, похожа на роскошный диван, заполнивший почти всю гостиную. Диван поместился. Ужинать теперь придётся стоя.

Квантование может освободить место для остальной части вечера.

Может ли помочь системная RAM?

Да, если среда выполнения и модель поддерживают такое размещение.

Модель может работать на CPU, используя системную RAM. Может работать на GPU с использованием VRAM. А среда выполнения может разделить работу между ними: часть модели использует системную RAM, другая — GPU. Такие проекты, как llama.cpp, поддерживают работу на CPU и совместную работу CPU–GPU.

В системах с объединённой памятью процессор и графическое оборудование используют общий пул памяти, что снова меняет картину размещения.

Эти подходы позволяют использовать модели, которые целиком не помещаются в VRAM отдельной видеокарты. Скорость зависит от организации работы.

Однако 8 GB отдельной VRAM и 32 GB системной RAM не превращаются в 40 GB одинаково быстрой памяти GPU.

Среда выполнения должна правильно разместить данные и вычисления. Передача данных и выполнение части работы на CPU могут влиять на скорость.

Операционной системе и другим приложениям тоже нужна RAM. Они не соглашались съезжать только потому, что ты заинтересовался искусственным интеллектом.

Точно так же вся база данных агента не переезжает автоматически в VRAM. Она работает в своей среде; извлечённые из неё фрагменты, переданные модели, становятся частью контекста.

Расчёты для GPU выше предполагают, что веса модели целиком находятся на видеокарте. Изменение такого размещения меняет и план памяти.

Вернёмся к кнопке скачивания

Теперь список файлов должен меньше напоминать вступительный экзамен.

Шестнадцатибитная версия сохраняет обученные веса с высокой точностью. Восьмибитное квантование обычно даёт менее грубое приближение, чем варианты с меньшим числом бит. Пяти- и шестибитные форматы предлагают промежуточные компромиссы. Четырёхбитные могут сделать способную модель пригодной для гораздо меньшего бюджета VRAM.

При любом выборе главный вопрос остаётся прежним: сколько числовой точности приносит пользу твоей задаче?

Для коротких задач классификации может хватить небольшого контекста и хорошей версии с малым числом бит. Для помощника по программированию, изучающего несколько файлов, или агента с инструкциями и историей задачи рабочая память может составить значительную часть потребности.

В одних задачах большая точность даёт полезное преимущество. В других меньшая обеспечивает столь же удовлетворительный результат.

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

Поэтому проверка должна походить на твою работу.

Хочешь помощь со сравнением заказов на печать — дай характерные заказы с известными ответами. Нужна помощь с кодом — используй код, который можешь оценить. Нужен маршрут по Бостону — проверь, соблюдает ли он ограничения на пешие переходы и взяты ли часы работы из надёжного источника.

Успешно найти Бостон в Массачусетсе — многообещающее начало. Но этого недостаточно, чтобы доверить модели все выходные.

Сравнивая квантования, по возможности сохраняй одну и ту же исходную модель и задачу. Так проще оценить влияние изменённого представления.

Именно для этого в Green Zone можно исследовать бюджеты памяти: увидеть, как выбранные веса, контекст, размещение в памяти и доступная ёмкость могут работать вместе.

Оценка помогает выбрать правдоподобную конфигурацию. Проверка на характерных задачах показывает, полезна ли она именно тебе.

Может оказаться, что четыре бита сохраняют достаточно способностей модели для всего, что тебе нужно. Возможно, ты предпочтёшь пять или шесть. Или твоя работа выигрывает от большей точности, а VRAM хватает, чтобы спокойно её обеспечить.

Приза за то, что каждый доступный байт ушёл только на веса, не предусмотрено.

Но и отказываться от точности, которая приносит пользу, никто не обязывает.

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

Ты возвращаешься на страницу скачивания. Обозначения те же, но теперь ты умеешь их читать.

Ты выбираешь версию, подходящую твоей среде выполнения, доступной рабочей памяти и настоящей задаче.

Бостон по-прежнему в Массачусетсе. У компьютера есть место для работы. Наконец можно закрыть ветку со сравнением версий.

Кто-то только что опубликовал подробные доводы в пользу двухбитного квантования.

Открывать её необязательно.

Источники и дальнейшее чтение

Перепечатка и использование

Опубликовано AI Model Green Zone.

Перепечатка разрешена только целиком, без сокращений и изменений, с указанием AI Model Green Zone и заметной активной ссылкой на оригинальную статью на нашем сайте.

Для переводов, сокращённых версий и переработок требуется отдельное разрешение.

Эти условия не ограничивают использование, разрешённое законом.

Ссылка на оригинал появится после настройки публичного адреса сайта.