Большинство edge-устройств — это не Mac и не PC. Настоящий edge — это 21 млрд подключённых IoT-устройств против полутора миллиардов PC. На развивающихся рынках большинство телефонов стоит меньше $200. Плюс бюджетные телефоны, Raspberry Pi, микроконтроллеры, wearables, небольшие роботы вроде Reachy Mini и умный дом. Получается, что примерно четыре из пяти edge-устройств стоят меньше $200. У них нет GPU и NPU, RAM — несколько сотен мегабайт. Именно под это железо сделана Needle.
Чтобы включить свет, не нужна модель уровня frontier. Умные часы, дом или робот уже умеют описывать свои возможности как функции с типизированными параметрами. Сложность только в том, чтобы превратить небрежную фразу в выбор функции и значения аргументов. В такой постановке не нужны знания о мире или связный текст. Поэтому достаточно 45M параметров, в то время как для чата нужны миллиарды.
Схема и есть интерфейс. Тот же подход покрывает документы: схема плюс параграф возвращают типизированные поля. Enum-поле работает как классификатор, массив собирает список за один вызов. Всё держится на контракте, а не на договорённости. Каждый ответ оборачивается в call envelope, пустой вызов — это отказ, а byte-level grammar, скомпилированная из схем, ограничивает каждый токен. Грамматика берёт на себя синтаксис, так что все 45M параметров заняты выбором функции и привязкой аргументов к словам.
Ни одна маленькая модель не покрывает всё. Needle не угадывает: каждый ответ содержит обученный confidence score, а для запросов не по теме возвращается пустой вызов. Выше порога — действуй, ниже — переспроси или отправь в облако. Большинство запросов на устройствах — рутинное управление, поэтому эскалация редка. Базовый путь остаётся приватным, мгновенным и бесплатным.
Маленькие модели ломаются при post-hoc квантовании, поэтому в Needle 2 так не делают. Модель обучают с Cactus Quants от pretrain до post-train, включая веса, активации и KV cache. 2bit-модель, которая едет на устройство, — это ровно та, что обучалась. Так 45M параметров упаковываются в 14MB, и на наших тестах ничего не теряется.
Каждое архитектурное решение сначала проверяли на целевом железе, и только потом оно попадало в модель. А на выходе — пара «модель + инференс», а не просто веса. Один C++-бинарник без зависимостей при старте опрашивает CPU и выбирает kernels, а внутри запечатаны модель, токенизатор и компилятор грамматики. Один артефакт работает от Cortex-M до x86 и WebAssembly. Устанавливать и скачивать нечего.
У каждого продукта свой набор инструментов. Модель на 45M достаточно мала, чтобы дообучать её прямо на своём Mac или PC. Репозиторий и Python-пакет позволяют настроить и протестировать модель за минуты или пару часов. Вы получаете Needle, которая говорит на языке инструментов вашего устройства, а не универсального ассистента.