Проект SQLite AI представил движок WASTE, который, по словам авторов, позволяет запускать полную модель Kimi K3 на MacBook Pro с 64 ГБ ОЗУ. Для этого используется подгрузка экспертов с SSD по мере необходимости, а скорость генерации составляет 0,49–0,54 токена в секунду.

Проект SQLite AI представил движок WASTE, написанный на 6000 строк C. Он позволяет запускать полновесную модель Kimi K3 на MacBook Pro с 64 ГБ оперативной памяти без использования BLAS, CUDA и Python в рантайме. Модель Kimi K3 после предварительной конвертации из формата safetensors в собственный формат движка занимает 982 ГиБ. В оперативную память она не помещается, поэтому WASTE держит в RAM только резидентную часть объёмом 27,28 ГБ, а эксперты подгружает с SSD по мере необходимости. Скорость генерации составляет 0,49–0,54 токена в секунду. Подход основан на архитектуре MoE (Mixture of Experts): на каждый токен K3 активирует около 4% своих весов — 16 экспертов в каждом из 92 слоёв. По данным авторов, внутренний NVMe в MacBook обеспечивает достаточную скорость чтения, а внешний накопитель по USB заметно замедляет работу. Отмечается также, что раздувать кэш экспертов выше 46 ГБ неэффективно. Авторы указывают, что WASTE не использует дистилляцию или обрезку слоёв, а полная модель остаётся без изменений. Лицензия проекта — Apache 2.0.

Источники 1
  • Движок WASTE позволяет запускать Kimi K3 на MacBook Pro с 64 ГБ памяти Machinelearning
    🌟 WASTE: запускаем полную Kimi K3 на MacBook Pro с 64 ГБ памяти
    
    SQLite AI собрала движок на 6000 строк C, который гоняет полновесную K3  без BLAS, CUDA и Python в рантайме.
    
    Kimi K3 после предварительной конвертации из safetensors в формат, который движок умеет читать, занимает 982 ГиБ (диск бы назвал это 1,05 ТБ). В оперативную память она не влезает даже приблизительно.
    
    WASTE держит в RAM только резидентную часть на 27,28 ГБ, а экспертов подтягивает с SSD ровно тогда, когда они понадобились. Скорость генерации выходит 0,49-0,54 токена в секунду. Веса при этом полные, без дистилляции и обрезки слоёв.
    
    🟡Расчёт строится на устройстве MoE
    
    На каждый токен K3 включает около 4% собственных весов - 16 экспертов в каждом из 92 слоёв. Простаивающему весу незачем сидеть в памяти, ему достаточно успеть подгрузиться вовремя.
    
    Контейнер с моделью устроен так, что один эксперт стоит ровно одного чтения с диска - матрицы gate, up и down лежат вплотную, а сами эксперты хранятся в остаточном векторном квантовании (3 ступени кодбуков по 256 записей, 3 бита на вес), и матрица никогда не разворачивается целиком.
    
    🟡Скорость диска
    
    На один токен движок вычитывает 17 ГБ. Внутренний NVMe в MacBook выдаёт 12,78 ГБ/с, и модель успевает читать.
    
    Внешний бокс по USB даёт 0,94 ГБ/с, и тот же токен считается 13 секунд. Вариант для очень терпеливых.
    
    🟡Работа с памятью
    
    Раздувать кэш экспертов выше 46 ГБ бесполезно и вредно - на 52 ГБ скорость падает втрое, на 58 ГБ в 8 раз.
    
    Причина в том, что движок остаётся внутри своего бюджета, а система уже нет - macOS вытесняет кэш на диск, и попадание в память оборачивается обращением к подкачке. Поэтому по умолчанию WASTE не забирает все доступные ресурсы, а берёт на один рабочий набор экспертов меньше, чем мог бы.
    
    Полтокена в секунду - это 30 секунд на одно предложение, но модели вчетверо меньше до сих пор запускают на серверах с терабайтом DDR5, а здесь почти 3 триллиона параметров отвечают без сети.
    
    Если триллионы параметров не нужны, тот же движок крутит Kimi-Linear 48B из контейнера на 19 ГБ и выдаёт 10,7 токена в секунду - с этого проще начать знакомство.
    
    Для K3 придётся освободить терабайт на диске и потратить около 5 часов на M5 Pro в три процесса, почти сутки - если гонять конвертацию чистым торчем.
    
    Авторы, кстати, завели файл с опровергнутыми гипотезами и записали туда всё, что померили и выбросили.
    
    
    📌Лицензирование: Apache 2.0 License.
    
    
    🖥Github
    
    
    @ai_machinelearning_big_data
    
    #AI #ML #Inference #KimiK3 #WASTE #SQLiteAI