Гетерогенный майнинг
Отличительная черта AETRON в том, что майнеру не нужно железо одного конкретного вида. Одна и та же проверка работает на очень разных машинах, поэтому один Нейронет может собирать сразу несколько классов оборудования.
Поддерживаемое железо
Нейронет может обслуживаться смесью из:
- Серверных и потребительских GPU NVIDIA нескольких поколений (Ampere SM 8.6, Ada SM 8.9, Hopper SM 9.0, Blackwell SM 12.0)
- Дата-центровых GPU AMD (CDNA, MI250 и MI300X)
- Apple Silicon (от M1 до M4, через MPS)
- Конфигураций на CPU (Intel, AMD, Apple Silicon) в fp32
Круг возможных майнеров получается гораздо шире, чем в сетях, привязанных к одному производителю GPU. Дата-центры, рабочие станции и домашние машины вносят вклад в одну и ту же сеть, и ни один поставщик чипов не становится узким местом.
Проблема разного железа
Разные архитектуры дают слегка разные численные результаты на одном входе. Библиотеки ядер отличаются (rocBLAS на AMD против cuBLAS на NVIDIA), порядок редукции отличается, округление плавающей точки идёт по своим схемам. Наивная перепроверка на машине другого типа помечала бы честных майнеров как мошенников, потому что их выводы никогда не совпадут бит в бит. Именно поэтому большинство децентрализованных ИИ-сетей поддерживают только однородное железо.
AETRON решает это на уровне протокола двумя уровнями проверки. Уровень входит в каноническую спецификацию задачи, поэтому владелец Нейронета выбирает его заранее, а не согласовывает для каждого задания. Остальные канонические параметры описаны в Спецификации исполнения.
Два уровня проверки
Уровень A: побитовое совпадение
Внутри одного класса железа на одном dtype результаты воспроизводятся бит в бит, поэтому проверка сводится к обычному сравнению хэшей с нулевым допуском. Любое отклонение считается мошенничеством.
Уровень A держится внутри кластера, а не между вендорами. Потребительская NVIDIA против потребительской NVIDIA работает, Hopper против Hopper работает, Apple Silicon против Apple Silicon работает, потому что MPS по замерам детерминирован побитово внутри своей архитектуры. AMD против NVIDIA на уровне A работать не может по физической причине: разные библиотеки ядер выдают разные байты на одной и той же математике.
Уровень A нужен там, где самая сильная гарантия стоит сужения круга майнеров: пересчёт шагов обучения, траектории Witnessed Checkpoints в Proof of Training и инференс с высокой ценой ошибки.
Уровень B: откалиброванный допуск
Между разными архитектурами AETRON сравнивает результаты по откалиброванным пределам, а не по точному совпадению. Сравнивается не сгенерированный текст, а распределение вероятностей, которое модель выдала до сэмплирования; при данном входе и конфигурации оно детерминировано.
Уровень B - универсальный. Все измеренные архитектуры укладываются в один набор порогов, поэтому Нейронет может смешивать NVIDIA, AMD, Apple Silicon и CPU без настройки под каждую пару.
Что сравнивает уровень B
Уровень B - это составная проверка, а не одно число. Каждый сигнал чувствителен к своему виду манипуляции, поэтому пройти один не значит облегчить себе следующий. Ниже значения, установленные в рантайме сейчас.
| Сигнал | Порог | Что ловит |
|---|---|---|
| KL-дивергенция, p99 по зондам | меньше 0,05 | Подмену на модель поменьше, подмену топ-1 токена, перекос температуры сэмплирования |
| Расстояние L2 по полным логитам | меньше 25 | Шум, вброшенный прямо в пространство логитов, от которого KL почти не двигается |
| Пересечение топ-20 токенов (Жаккар) | больше 0,9 | Возмущение хвоста распределения при нетронутом top-K |
| Отклонение вероятностной массы | меньше 0,12 | Перераспределение массы с сохранением порядка ранжирования |
| Смещение ранга топ-1 | не больше 5 | Выпадение честного токена из лидирующих позиций |
Вердикт срабатывает, если провалился любой сигнал. В рантайме они хранятся как масштабированные целые (порог KL 50000 означает 0,05, порог L2 25000000 означает 25), потому что цепь не использует плавающую точку. Вес у сигналов разный для разных нагрузок: L2 - жёсткая проверка для диффузии и рекомендательная для языковых моделей, а пересечение топ-20 рекомендательное, потому что на коротких выводах честное пересечение может проседать заметно ниже номинального предела.
Откуда взяты пороги
Пределы поставлены по замерам, а не из головы. Каждую поддерживаемую архитектуру прогнали против каждой другой на одной модели и одном наборе зондов, и каждый порог отнесли с запасом от самого широкого расхождения, которое дают две честные машины. Сами данные замеров не публикуются.
Этот запас и позволяет накрыть всю матрицу одним набором порогов вместо отдельной настройки под каждую пару архитектур. Практическая разница здесь простая: сеть либо умеет смешивать вендоров, либо нет.
Как собирается K-кворум из смешанного железа
Одно сравнение между архитектурами - шумный сигнал, а уровень B по построению допускает отклонения, поэтому одно сработавшее задание ещё не доказывает мошенничество. Вердикты выносятся по кворуму.
Протокол берёт на проверку K = 20 заданий на майнера за пачку и объявляет мошенничество при T = 10, то есть сработать должна как минимум половина отобранных заданий. Проверяющие набираются проверяемой случайностью из состояния цепи, поэтому ни исполнитель, ни его проверяющие не могут подтолкнуть назначение. Ничто в этом наборе не ограничивает кворум одной архитектурой: майнера на AMD в одной пачке могут проверять машины на Apple Silicon и NVIDIA, потому что пороги уровня B держатся для каждой пары.
Именно агрегация делает допуск безопасным в обе стороны. Честному майнеру у самой границы пришлось бы сработать на половине пачки, а не на одном неудачном сравнении, поэтому случайные наказания остаются редкими. Майнера, который жульничает постоянно, ловят надёжно. А вот на частичном обмане слабее всего любой отдельный сигнал, и как раз поэтому вердикт опирается на всю композицию, а не на KL сам по себе.
Побитовому уровню A такое сглаживание для борьбы с ложными срабатываниями не нужно, но кворум применяется и там, потому что именно он делает сговор дорогим. Как кворум встроен в общий поток проверки, описано в разделе Proof of Intelligence.
INT8 и квантование
Очевидный способ обмануть Нейронет - объявить fp16 или bf16 и втихую считать в INT8, который заметно дешевле. На уровне распределений квантование не является тонким эффектом. Оно сдвигает выходное распределение несравнимо сильнее, чем честный межархитектурный шум, поэтому два случая расходятся с широким запасом, а не впритык, и вердикт выносит вся композиция сигналов.
Заявленный dtype к тому же проверяется до всяких вычислений, потому что подмена на fp32 двигает распределение слишком слабо, чтобы ловиться одним расстоянием.
Само по себе квантование мошенничеством не считается. Часть квантованных форматов - легитимные объявленные конфигурации, включая MXFP4 и нативные тернарные веса. Важно одно: формат объявлен в канонической спецификации и совпадает с тем, что реально работало.
Почему это важно
- Ниже порог входа. Майнер приходит с тем железом, которое у него уже есть, включая потребительские GPU и Apple Silicon.
- Нет привязки к вендору. Сеть не зависит от одного поставщика чипов, а значит устойчива к дефициту и ограничениям.
- Сеть больше и децентрализованнее. Участвовать могут машины самых разных типов, и работа расходится шире.
- Сговор сложнее. Сговорившейся группе пришлось бы контролировать тот аппаратный микс, который выпадает при случайном отборе, а не одну архитектуру.