Этот новый движок запускает локальный ИИ и использует в 10 раз меньше ОЗУ! (Cactus)

BBetter Stack
Computing/SoftwareConsumer ElectronicsCell Phones

Transcript

00:00:00Это Cactus. Это движок инференса с низкой задержкой, разработанный для того, чтобы мобильные и граничные устройства
00:00:06считались полноценными платформами. Обычно, когда мы пытаемся запускать ИИ-модели на граничных устройствах, они
00:00:12кажутся тяжелыми, разряжают батарею и часто принудительно закрываются менеджером памяти
00:00:18мобильной операционной системы. Но Cactus пытается решить эту проблему, так как он создан специально
00:00:23под ограничения нейропроцессоров (NPU) и лимиты оперативной памяти. Поэтому сегодня мы
00:00:28Итак, сегодня мы разберёмся с Cactus, посмотрим, как он работает, и протестируем его на конечном устройстве, чтобы оценить производительность.
00:00:34Итак, давайте углубимся в детали. Главное узкое место для локального ИИ — это вовсе не вычисления, а
00:00:44накладные расходы памяти. На обычном мобильном устройстве ОС крайне агрессивно
00:00:50закрывает приложения, у которых резко возрастает потребление ОЗУ. Но Cactus решает эту проблему с помощью
00:00:57выделения памяти по технологии zero-copy. Вместо привычного подхода, когда всё загружается в ОЗУ, Cactus проецирует
00:01:02веса модели напрямую из хранилища. Это система zero-copy, которая подтягивает только конкретные
00:01:08тензоры в активный цикл вычислений по мере необходимости. Вы получаете аналитическую мощность
00:01:13крупной модели без риска того, что операционная система закроет ваше приложение. И чтобы добиться
00:01:19этого, они даже отказались от традиционного формата GGUF и разработали свой
00:01:24собственный проприетарный формат .CACT, который позволяет эффективно выполнять такое проецирование на граничных устройствах. Но
00:01:31основная тяжелая работа происходит в NPU, то есть в нейропроцессоре. В то время как большинство локальных
00:01:37движков по умолчанию используют GPU, Cactus изначально заточен под NPU. Если вы посмотрите на современные
00:01:43чипы от Apple, Qualcomm или MediaTek, во всех них есть выделенные кристаллы именно под нейросети.
00:01:50Cactus взаимодействует с этими блоками напрямую, минуя привычные слои трансляции,
00:01:55которые замедляют инференс. И они действительно оптимизировали конкретные модели, чтобы
00:02:00на полную мощность задействовать эти блоки матричного умножения. Если вы перейдете в панель управления Cactus,
00:02:07то увидите список оптимизированных для NPU моделей, доступных для скачивания. Еще одна крутая фича Cactus —
00:02:12это гибридный роутер. Реальность такова, что на граничных устройствах локальные модели, какими бы
00:02:18оптимизированными они ни были, со временем упираются в потолок своих возможностей рассуждения. И вот здесь
00:02:23на помощь приходит гибридный роутер. Вместо того чтобы заставлять вас выбирать между быстрой, но ограниченной локальной моделью
00:02:29и умной, но дорогой облачной, Cactus может работать с обеими и переключаться между ними. Он использует
00:02:35систему маршрутизации на основе уровня уверенности. Если вы задаете простой вопрос, запрос обрабатывается на
00:02:40NPU, потому что это быстро, конфиденциально и ничего вам не стоит. Но если локальная модель понимает,
00:02:45что задача слишком сложная или требует огромного контекстного окна, она автоматически передает
00:02:51этот конкретный запрос передовой модели в облаке. Ваш код при этом не меняется. Движок
00:02:57просто сам управляет переключением в фоновом режиме. Так что это готовый для продакшена способ держать расходы
00:03:03на низком уровне без ущерба для пользовательского опыта в сложных сценариях. Что ж, все это
00:03:08звучит круто, но я хочу протестировать это сам. На их целевой странице есть
00:03:13демо, где они показывают транскрибацию в реальном времени с задержкой около 100 миллисекунд
00:03:19на граничном устройстве. Так что я сел и набросал на коленке небольшое приложение на Swift, используя их
00:03:25пакет Swift Cactus, который поддерживает транскрибацию в реальном времени с помощью локальной
00:03:30речевой модели parakeet и облачной модели Gemini. Давайте проверим в деле. Как вы
00:03:36видите, локально при потоковой передаче задержка составляет в среднем около 260 миллисекунд. И учтите,
00:03:44я запускаю это на довольно старой модели iPhone, на 12 Pro. Так что для такого старого
00:03:50смартфона, я думаю, подобная производительность на граничном устройстве — это очень круто. А если мы переключимся на облако, Cactus выберет
00:03:55Gemini 2.5 Flash в качестве облачной альтернативы. По какой-то причине у них нет той же
00:04:01модели parakeet на облачной стороне, поэтому мне пришлось использовать Gemini. И здесь мы видим,
00:04:06что задержка составляет в среднем около 2000 миллисекунд для пакетной транскрибации трехсекундного фрагмента. И
00:04:12этого, пожалуй, следовало ожидать, ведь запросу нужно дойти до сервера данных и вернуться обратно. Но
00:04:17реалистично говоря, большую часть времени вы все равно будете использовать транскрибацию на самом устройстве,
00:04:23а облачный вариант пригодится для других задач, вроде сложного анализа изображений или чего-то еще,
00:04:27что требует больше ресурсов. Вот и всё, ребята, это движок Cactus в
00:04:33двух словах. Мне кажется, они делают кое-что действительно интересное. Мне нравится их подход к
00:04:37оптимизации на устройствах с использованием кастомной, дружественной к NPU архитектуры. И мне нравится
00:04:43то, что они предлагают так много SDK и моделей для всевозможных мультимодальных задач.
00:04:50Мне очень любопытно посмотреть, как будет развиваться их продукт. Так что я определенно буду следить за их
00:04:54прогрессом. А что вы думаете о Cactus? Вы уже пробовали его? Дайте знать
00:04:59в комментариях внизу под видео. И, ребята, если вам нравятся такие разборы, пожалуйста,
00:05:03покажите мне это, разнеся кнопку лайка под этим роликом. А также не забудьте подписаться
00:05:08на наш канал. С вами был Андрис из Better Stack, и увидимся в следующих
00:05:13видео.

Key Takeaway

Движок инференса Cactus снижает нагрузку на оперативную память за счет формата .CACT и технологии zero-copy, распределяя задачи между локальным NPU и облаком для обеспечения задержки транскрибации от 260 миллисекунд на мобильных устройствах.

Highlights

  • Движок инференса Cactus использует технологию zero-copy и проецирует веса ИИ-моделей напрямую из хранилища вместо загрузки в операционную память.

  • Для эффективного проецирования данных на граничных устройствах стандартный формат GGUF заменен на собственный формат .CACT.

  • Архитектура Cactus разработана под нейропроцессоры (NPU) чипов Apple, Qualcomm и MediaTek, минуя стандартные замедляющие слои трансляции.

  • Гибридный роутер автоматически переключает сложные задачи или запросы с большим контекстным окном на облачную модель Gemini 2.5 Flash без изменения кода.

  • Локальная транскрибация речи на базе модели parakeet через Swift Cactus SDK показывает среднюю задержку в 260 миллисекунд на смартфоне iPhone 12 Pro.

  • Облачная транскрибация трехсекундного фрагмента через Gemini 2.5 Flash увеличивает среднюю задержку до 2000 миллисекунд.

Timeline

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

  • Стандартные ИИ-модели вызывают принудительное закрытие приложений из-за жестких лимитов оперативной памяти в мобильных ОС.
  • Высокое потребление ресурсов приводит к быстрому разряду аккумуляторной батареи граничных устройств.
  • Архитектура Cactus спроектирована с учетом аппаратных ограничений нейропроцессоров и ОЗУ.

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

Технология zero-copy и собственный формат моделей .CACT

  • Основным препятствием для локального инференса являются накладные расходы памяти, а не вычислительная мощность.
  • Выделение памяти по методу zero-copy устраняет необходимость полной загрузки параметров модели в ОЗУ.
  • Собственный формат файлов .CACT заменяет стандартный формат GGUF для оптимизации работы с накопителем.

Вместо заполнения оперативной памяти Cactus применяет проецирование весов модели напрямую из постоянного хранилища устройства. В активный вычислительный цикл подтягиваются только определенные тензоры, необходимые в конкретный момент времени. Переход от общепринятого формата GGUF к проприетарному расширению .CACT обеспечивает эффективное отображение данных без риска блокировки приложения со стороны ОС.

Прямое взаимодействие с NPU и гибридная маршрутизация запросов

  • Движок переносит вычисления с графического процессора на выделенные кристаллы NPU в чипах Apple, Qualcomm и MediaTek.
  • Исключение стандартных слоев трансляции ускоряет обработку матричного умножения в нейросети.
  • Гибридный роутер перенаправляет ресурсоемкие задачи в облако на основе уровня уверенности локальной модели.

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

Тестирование производительности Cactus SDK на мобильном устройстве

  • Интеграция пакета Swift Cactus позволяет реализовать потоковую транскрибацию речи в реальном времени.
  • Локальная речевая модель parakeet обеспечивает среднюю задержку обработки на уровне 260 миллисекунд на iPhone 12 Pro.
  • Облачная альтернатива в виде Gemini 2.5 Flash увеличивает время ожидания ответа до 2000 миллисекунд.

Проверка возможностей движка выполнялась через тестовое приложение на Swift с использованием локальной модели parakeet и облачной инфраструктуры. На устаревшем аппаратном обеспечении смартфона iPhone 12 Pro локальный инференс демонстрирует стабильную потоковую обработку. Пакетная транскрибация трехсекундного аудиофрагмента через удаленный сервер Gemini требует около двух секунд из-за сетевых задержек, что делает облачный путь оптимальным только для тяжелых мультимодальных задач.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video