The AI / news

NVIDIA Dory 4B : как запустить с llama. Cpp, пошаговое руководство

NVIDIA Dory 4B : как запустить с llama. Cpp, пошаговое руководство
3 мин чтения

NVIDIA выпустила Dory 1.0 4B — небольшую модель рассуждений от Nemotron Labs, центральные слои которой образуют общий блок, применяемый один, два, три или четыре раза к каждому токену. Согласно руководству от MarkTechPost, такая архитектура позволяет запускать один и тот же файл на четырех разных уровнях вычислений без переобучения.

Каждое дополнительное прохождение через блок, называемое циклом, потребляет больше вычислений на токен, не добавляя ни одного параметра. В руководстве используется движок llama.cpp и файл в формате GGUF объемом 3,7 ГБ с квантованием Q5_K_M, то есть сжатый для уменьшения размера в памяти. Используемая версия llama.cpp соответствует коммиту, закрепленному в карточке модели NVIDIA, поскольку поддержка Dory все еще находится в черновике pull request. Имя файла отличается от указанного в карточке, где упоминается dory-q5_k_m.gguf, поэтому руководство рекомендует проверять его размер и хэш SHA-256. Загруженный файл соответствует контрольной сумме, опубликованной NVIDIA.

Архитектура, читаемая прямо из файла

Заголовок GGUF описывает структуру модели еще до ее загрузки. Dory содержит 72 записи слоев, распределенных на 16 входных слоев, 40 рекуррентных слоев и 16 выходных слоев. Рекуррентный блок представляет собой 1,84 миллиарда из 3,98 миллиардов параметров модели.

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

На основе этих данных руководство оценивает стоимость каждого цикла. Токен проходит через рекуррентный блок один раз за цикл, поэтому четыре цикла применяют параметры в 2,51 раза больше, чем один цикл, и читают байты весов в 2,28 раза больше, причем это чтение является определяющим фактором для декодирования, ограниченного памятью. Кэш KV, память, сохраняющая вычисления предыдущих токенов, варьируется в зависимости от выбранного режима. В режиме per_loop он увеличивается с 306 МиБ при одном цикле до 816 МиБ при четырех циклах для контекста в 4096 токенов. В режиме last_loop он остается на уровне 306 МиБ независимо от количества циклов.

Измерения для проверки прогнозов

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

В руководстве уточняется, что в карточке модели заявлены результаты на других бенчмарках, таких как SWE-bench или GPQA, которые не воспроизводятся в данном случае, как и контекст в 256K токенов и предварительное обучение в NVFP4.

Ноутбук доступен на GitHub в репозитории MarkTechPost, посвященном проектам агентов и руководствам. Авторы подчеркивают два момента: явно устанавливать количество циклов, поскольку GGUF по умолчанию использует четыре, и закреплять коммит форка llama.cpp, поскольку поддержка Dory все еще остается черновиком pull request.

S’abonner
Notification pour
guest

0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x