DeepSeek новые технологии перенесены на чипы Apple! Локальные большие модели на Mac ускоряются на 60%.

robot
Генерация тезисов в процессе

DSpark только что стал открытым исходным кодом неделю назад, и его уже перенесли на компьютеры Mac.

Портированная версия называется mlx-dspark, и она запускает модели Gemma-4 12B и Qwen3-4B.

После установки скорость генерации этих двух моделей на Mac увеличилась в 1,6 и 1,4 раза соответственно.

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

То есть скорость увеличена, а качество нисколько не потеряно.

Человек, выполнивший эту работу, — Абдур Рахим, инженер, который в свободное время занимается проектами с открытым исходным кодом. Он в одиночку создал первую нативную версию DSpark для Mac с момента открытия исходного кода.

Запуск больших моделей на компьютерах Apple, ускорение на 60%

Что касается DSpark, открытого DeepSeek 27 июня, официальные данные показывают ускорение от 60% до 85% в сценариях на сервере.

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

mlx-dspark — это первая нативная версия этой технологии для чипов Apple.

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

Стоимость этого шага различается на GPU в центре обработки данных и на чипах Apple.

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

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

Рахим измерил: на Gemma-4 12B каждое дополнительное проверяемое слово занимает около 14 миллисекунд. Он преобразовал эти расчеты в модель затрат и пришел к выводу, что максимальное ускорение на чипах Apple составляет около 2,2 раза.

В любом случае, Рахим перенес эту вспомогательную маленькую модель из контрольной точки HuggingFace, используя ее с двумя целевыми моделями: Gemma-4 12B и Qwen3-4B.

Он также перестроил процесс проверки в рамках MLX, квантовав веса до 4-бит.

В результате на M4 Pro по сравнению с официальным инструментом MLX от Apple скорость генерации Gemma-4 12B увеличилась с 18,4 ток/с до примерно 30 ток/с, что примерно в 1,6 раза; Qwen3-4B — с 52,9 ток/с до примерно 73 ток/с, что примерно в 1,4 раза.

Кроме того, в mlx-dspark Рахим сделал то, что большинство портированных работ не делают.

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

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

Рахим в mlx-dspark также реализовал метод выборки температуры, описанный в оригинальной статье DSpark: черновик модели генерирует кандидаты, вероятность принятия равна min(1, p/q), а непринятые части повторно выбираются из остатка.

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

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

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

Точность целевой модели, отвечающей за проверку, — это "ловушка", которую он обнаружил сам.

Если маленькая модель использует базовую целевую модель без тонкой настройки под инструкции, только 47% кандидатов проходят проверку; замена на соответствующую версию с тонкой настройкой под инструкции увеличивает этот показатель до 82%.

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

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

Сама черновая модель была сжата: после 4-битного квантования она весит всего 1,8 ГБ, без давления на память, и работает без потерь.

В итоге DSpark не только ускорил работу, но и действительно воспроизвел на устройстве увеличение скорости принятия на 16–18%, упомянутое в статье.

Также был интегрирован DFlash, задачи с кодом выполняются быстрее

После публикации твита в комментариях появилась запись от одного из авторов статьи DFlash, Цзянь Чэня, который спросил, можно ли попробовать модель их команды.

DFlash — это еще одна схема спекулятивного декодирования, предложенная в статье z-lab за май этого года; руководитель команды авторов — Чжицзянь Лю, доцент UCSD и исследователь NVIDIA.

Подход DFlash отличается от DSpark: он использует параллельную "блочную диффузию" для денойзинга целого блока из 16 токенов за один раз, а не угадывает шаг за шагом с зависимостями, как DSpark.

Рахим быстро взялся за дело.

С помощью скрипта портирования, написанного самим Цзянем, он подключил gemma4-12B-it-DFlash, выпущенную z-lab, к целевой модели Gemma-4 от mlx-vlm и на том же Mac провел еще одно прямое сравнение с только что протестированным DSpark.

В задачах с кодом и математикой DFlash с целочисленным декодированием достигает длины принятия от 5,95 до 6,20, скорость около 36 ток/с, что примерно в 2,1 раза быстрее, опережая DSpark.

Однако DFlash за раз генерирует целый блок из 16 токенов, но целевая модель может не все их одобрить; фактически проходят проверку только часть — в отрасли это называют "длиной принятия", не всегда удается заполнить все 16.

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

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

В результате в сценариях чата DSpark оказывается быстрее, чем DFlash.

После обновления mlx-dspark v0.0.3 официально включил оригинальный DFlash от z-lab в пакет, добавив параметр, позволяющий вручную уменьшить эффективную длину блока DFlash: для чата — короткие блоки, для кода и математики — по-прежнему полные блоки из 16.

После этого на одном Mac, в одном пакете можно одновременно выполнять задачи чата, кода и математики, не переключаясь между проектами DSpark и DFlash.

Рахим написал в твите, что тот же метод должен работать и с более крупными черновиками Qwen3-8B и 14B.

Источник: Quantum Bit

Предупреждение о рисках и отказ от ответственности

        На рынке есть риски, и инвестиции требуют осторожности. Эта статья не является личной инвестиционной рекомендацией и не учитывает конкретные инвестиционные цели, финансовое положение или потребности отдельных пользователей. Пользователи должны учитывать, соответствуют ли какие-либо мнения, взгляды или выводы в этой статье их конкретной ситуации. Инвестиции на основе этой статьи осуществляются на свой страх и риск.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
Добавить комментарий
Добавить комментарий
Нет комментариев
  • Закреплено