# Перенос MNIST в официальный AltAI GoldenModel — 2026-10-15 ## Итог — подтверждено - Нативная сеть AltAILIF/Delta: **9776/10000 =97,76%** на полном MNIST test, измерено в KNP CPU и нашем CUDA-бэкенде. Все256 hidden и160 output counters и предсказания на10000 побайтно совпадают между обоими backend и целочисленным эталоном. - Официальный backend1.0.2, устройство `AltAIv1_GoldenModel`: проверены фиксированные первые1000 test, **975/1000 =97,50%**. Все hidden/output counters и предсказания точно совпали с теми же1000 изображениями эталона. Это8 независимых процессов, в каждом2 копии сети и подтверждённая стандартная конфигурация4×4. Wall всей параллельной проверки143,273с. Полные10000 в официальном GoldenModel НЕ запускались. - Рабочая нативная страница: **http://10.9.8.230:8081/native_viz.html**. Переключатель KNP CPU / официальный GoldenModel вызывает настоящий C++ спайковый граф. GoldenModel API на test2534→3 с полным совпадением counters, около6,126с на запрос. KNP CPU около0,12–0,17с с запуском отдельного процесса; это не0,5мс старой локальной гибридной JS-сети. - Исходники: `/home/user/KNP/mnist-altai-native`; runtime `/home/user/run/mnist-altai-native`; сборка и распакованный официальный backend `/home/user/run/altai-official-probe`. Основной model SHA256 `0a93f4a987d0021337b48c1d6333e7fa0fcb38ac3a43c49f8fcad19276b6548c`. - Старые неуспешные прогоны сохранены и НЕ являются финальным результатом. Физический процессор не проверялся; другие конфигурации GoldenModel и исполнение произвольных сетей этим опытом не доказаны. ## История и подробности этапа Новая браузерная гибридная сеть IF256 проверена отдельно:98,30% official MNIST test. Это не результат нативного AltAI. Предыдущий CPU-STDP пример:92,23%. Исходная цель продолжения — перенести вычисления входа, скрытого слоя и выходного взвешивания в AltAILIF/Delta, исполняемые официальным GoldenModel, а не заменить цифры в интерфейсе. По просьбе пользователя основной ассистент продолжает лично после остановки исполнителя из-за лимита. Другие исполнители не запускаются. Astra-advisor: GPT-6 Astra, взаимодействия1/3 и2/3 по текущему переносу; рекомендован официальный emulator-first, затем rate coding и20 opponent outputs (в реализации160, поскольку каждый знак/класс разбит на8 групп по32 входа). Хост декодирует разность положительных/отрицательных счётчиков и argmax; обученных матричных вычислений на хосте в нативном тракте нет. ## Документация и пакет - Локальный первичный источник: documents/reference/KNP-2.0-ru-RU.txt, разделы о процессоре и бэкенде AltAI:±255 веса,16-битные потенциалы, ограничения топологии, до4 величин веса на нейрон. - Пакеты: sources/releases/v2.0.0/knp-altai-backend_1.0.2_amd64.deb и dev-пакет. Распакованы без установки/preinst, sudo не применялся. - Рабочая станция: user@10.9.8.230, /home/user/KNP; public API backend/dev headers в /home/user/run/altai-official-probe/extracted. - Реальное имя устройства в API: AltAIv1_GoldenModel. Руководство KNP2.0 описывает этот backend как путь исполнения AltAI-2; эти обозначения не объединяются в выдуманное поколение. - Пакеты загружаются и исполняются штатным API. Бинарники не дизассемблировались и не переимплементировались путём reverse engineering. ## Проверенные микропробы Исходники и логи: /home/user/run/altai-official-probe; локальный новый код: experiments/altai-native/semantics.cpp. - Tiny input→hidden→output прошёл placement и дал4 выходных спайка. - is_diff=true, is_reset=false: один входной заряд21 при пороге3 дал7 скрытых спайков. Остаток заряда действительно сохраняется. -25 одинаковых входных индексов в одном SpikeData при весе1/пороге21 дали0: повторы схлопываются, не кодируют амплитуду. - initial potential21 без входов при пороге3 дал0: перенос начального потенциала этим путём не подтверждён. - positive leak1 при пороге3 дал спайки на3,6,9,12,15. - Реальное время tiny:24 тика0,690с;128 тиков3,308с;512 тиков13,056с. Официальный API имеет существенные потактовые накладные расходы; не выдавать время NumPy/браузера за его скорость. ## Новая адаптация Код: experiments/altai-native/{prepare_native.py,native_digits.cpp}; remote-копии пока в /home/user/run/altai-official-probe. Runtime: /home/user/run/mnist-altai-native. Фиксировано:32 активных тика,784 целочисленных rate-coded входа,256 скрытых AltAILIF с порогом32, subtractive reset и отрицательным ограничением0. Веса скрытого слоя квантуются в0,±1,±2,±4. Смещения задаются отдельными тактовыми входами с единичным весом, а не предвычисленным скрытым зарядом. На выходе160 положительных IF-нейронов:2 знака×8 групп×10 классов. Веса одного нейрона используют не более3 рабочих величин плюс255 для сброса. Readout переобучен offline на55000 train, выбор checkpoint и квантования — на5000 validation. Разделение и нормализация взяты из сохранённого проверенного эксперимента. Test10000 читается для метрики после фиксации выбора. Входные веса взяты из train-only teacher. Выбор по validation: выходной масштаб4, порог4. Эталон с точными целочисленными правилами дал9776/10000 (97,76%), validation97,80%. Это пока эталон, НЕ метрика GoldenModel. Консервативные границы потенциалов: скрытый верх12864; выходной верх1120. Наблюдённые скрытые значения до ограничения[-131,8828]. Сброс —128 различных входных линий, без повторов; суммарный отрицательный заряд32640, допустимый по16-битному диапазону. Сначала очищается hidden, выходу дают полностью выдать накопленные спайки, затем очищается output и выдерживаются задержки. Пустой выход два тика после остановки hidden означает завершение положительного IF-drain при leak0. CPU KNP-граф на8 изображениях дал8/8; все256 hidden counts и160 output counts побайтно совпали с эталоном. Первый официальный full-graph прогон дал0/8 и ошибки отсутствующих входных индексов: часть посылаемых тактовых линий не имела связей, а inhibitory-current reset нуждается в проверке совместимости официального backend. Этот результат сохранён как неуспех, а не скрыт. Исправляются только представление отрицательного reset через signed Delta и фильтрация неиспользуемых входов; точность пока не заявляется. ## Перенос всех отчётов 235 локальных файлов: весь /opt/neiro/reports (включая артефакты), корневые Markdown, рабочие Markdown в experiments/cats-dogs и других experiments. Архив /tmp/neiro-reports-20261015.tar.gz,15607736 байт, SHA256 abca553f95fe75c286f26e291cfb6f1e3d0926e5ebc56b66d61637cd17f01713. Копия на станции /home/user/run/neiro-reports-20261015.tar.gz. Распаковано в /home/user/KNP/reports/imported-neiro-2026-10-15 без замены собственных отчётов проекта. Проверен SHA256 архива и всех235 файлов по IMPORT-MANIFEST.json, итог IMPORT-VERIFIED.json. На машинах расходятся часы: tar предупредил о будущих timestamps, содержимое проверено хешами. Новые записи текущего этапа будут добавлены отдельной синхронизацией после завершения. ## Продолжение проверок (актуальнее промежуточного состояния выше) 1. Отрицательные reset-связи представлены весом-255 и типом EXCITATORY (signed Delta). Неиспользуемые входные линии отфильтрованы, ошибки unknown input устранены. В первой фильтрации обнаружена ошибка dangling else, из-за которой output-reset не посылался. Исправлены скобки; добавлен флаг компилятора -Werror=dangling-else. Неуспешные прогоны оставлены отдельно. 2. Исправленный официальный gm-reset-v3 на8 изображениях/2 копиях сети:8/8; все hidden и output counts побайтно равны эталону. Это проверяет также очистку между последовательными картинками. 3. Полный CPU-прогон cpu-full-v3:9776/10000,64,889с. Проверены ВСЕ256 скрытых и160 выходных счётчиков на каждой картинке, предсказания и метки. Всё совпало с эталоном. Ранний cpu-full со сломанным reset дал9775/10000 и НЕ является финальным результатом. 4. CUDA тот же граф:9776/10000,11,6164с, полный набор счётчиков и предсказаний побайтно равен CPU и эталону. Это наш CUDA-бэкенд AltAILIF/Delta, не время официального GoldenModel. Для batch8 ускорение стенового времени относительно CPU примерно5,59×. 5. Официальный gm-1000 с8 копиями/стандартной сеткой завершил1000 изображений, но проверка отклонила результат: hidden differences26495 (319 картинок), correct936/1000. Размещатель выделил24 ядра при стандартной сетке4×4. Гипотеза — несоответствие конфигурации сетки фактическому размещению; результат не выдан за качество модели. Запущен новый gm-1000-grid8-v4 с явным load_core_grid_params(8,8,standard north port), изолированным cwd и инкрементальной сверкой hidden/output с эталоном. При расхождении процесс останавливается, создаётся FAILED.json. Полный официальный результат ещё ожидается. 6. В dev-заголовке объявлен get_grid_cols_rows, но пакет1.0.2 не предоставляет символ для линковки. Убрано обращение к getter; grid8 задаётся публичным setter и записывается в конфигурацию запуска. После ошибки линковки рабочий бинарник восстановлен из native_digits_v3; сборка теперь сначала создаёт native_digits.new и заменяет рабочий файл только после успешной компиляции. ## Нативный сайт/API Новая отдельная страница http://10.9.8.230:8081/native_viz.html; прежний сервер8080 не остановлен. API /api/native-recognize принимает только784 целых пикселя0..255, ограниченный JSON, backend cpu или gm. Пустой вход возвращает отсутствие ответа. Обученных матричных слоёв в Python/JS нет: каждый запрос исполняет native_digits, а сервер только декодирует спайковые счётчики и argmax. Временный каталог изолирует изображения/конфигурации/логи запроса и удаляется после ответа. Глобальный semaphore запрещает накопление параллельных дочерних процессов; timeout30с. Клиент отменяет устаревшие ответы, допускает ограниченный retry429. Для медленного GoldenModel запуск только явной кнопкой. Восьми API-примерам, включая test2534, побайтно сопоставлены hidden/output counts эталона. Тройка2534→3. API CPU один запрос около114–165мс с созданием процесса, а не0,5мс браузерной гибридной сети. Некорректные длина и диапазон пикселей дают400. Chromium/CDP:8 точных parity-кейсов, gallery2534→3, настоящее рисование мышью и касанием(1→1), mobile390 без горизонтального overflow, пустое поле и очистка после pending/debounce, JS errors0. Скриншоты и JSON проверки — /tmp/native-browser-work на локальной машине, будут сохранены в reports. GoldenModel API и длинная проверка пишут конфигурации только в свои cwd. Новые пользователи/пароли, автозапуск ОС, коммиты и push не создавались. ## Заключительная проверка и устранённые замечания Применён astra-advisor, GPT-6 Astra: всего3/3 взаимодействия по переносу. Архитектурный verdict: opponent outputs и хостовая разность их счётчиков являются декодированием, а не ANN-readout; обученные взвешивания и смещения действительно находятся в AltAILIF/Delta. Обязательный blocker — точное прохождение официального subset — снят успешным `gm-shards-v1/VERIFIED.json`. Замечания advisor исправлены: run_verify.py отказывается использовать непустые каталоги, старые VERIFIED/FAILED не могут маскировать новый запуск; проверяется точная запрошенная последовательность IDs, а не просто допустимый диапазон; модель и исполняемый файл хешируются до/после запуска. Проверка повторного использования каталога не изменила готовые файлы. Удалена устаревшая API-блокировка, привязанная только к имени старого gm-1000; cwd каждого запроса и каждого emulator процесса изолированы. Повтор8×8 с8 копиями тоже отклонён инкрементальной проверкой после16 записей. Увеличения сетки оказалось недостаточно; топология/маршрутизация при таком числе копий не подтверждена. Не выдавать предположение о числе ядер за доказанную первопричину. В финальном C++ исполнителе официальный GM с replicas>2 явно запрещён. Попытка конфигурации16×16 была рассмотрена/скомпилирована, но не использована для финальной проверки; вместо неё выбран подтверждённый стандартный режим и изолированные процессы. Исходные состояния v3/v4 и неуспешные логи сохранены. Финальный wrapper дополнительно проверен на32 картинках CPU и32 CUDA: requested IDs/labels/predictions и все hidden/output counters exact. Изменения финального бинарника относительно полного тестаv3 — ограничения экспериментальных конфигураций и диагностические поля; арифметика графа не менялась. Для полных тестов сохранён предыдущий бинарник native_digits_v3, для финального — native-build.json с source/executable hashes. ### Воспроизведение ```bash # На user@10.9.8.230: python3 /home/user/KNP/mnist-altai-native/build_native.py /home/user/anvenv/bin/python /home/user/KNP/mnist-altai-native/run_verify.py cpu 10000 8 cpu-new /home/user/anvenv/bin/python /home/user/KNP/mnist-altai-native/run_verify.py cuda 10000 8 cuda-new # Стандартный официальный GM; новый каталог, не перезаписывать результат: /home/user/anvenv/bin/python /home/user/KNP/mnist-altai-native/run_sharded.py gm-new-group ``` Обучение и backend-веса не менялись после выбора на validation. Перезапуск сайта описан в mnist-altai-native/README.md; активный PID в runtime/web-server.pid. Автозапуска ОС нет. Старый сайт8080 продолжает работать, на страницах добавлена ссылка на новую нативную сеть. Никаких commits/push не выполнялось. ### Сохранение `final-summary.json` содержит все финальные метрики, SHA256 и ограничения. `native-model-and-proofs.tar.gz` сохраняет модель, split, параметры отбора, эталон, CPU/CUDA/GM протоколы, результаты, исходники и микропробы. Копия артефактов локально в reports/altai-native-artifacts, на станции в runtime и в импортированной копии отчётов. Отдельный SHA256 проверяется при скачивании. Базовые235 локальных файлов уже перенесены и проверены; последние дополнения этого этапа синхронизируются тем же проверяемым импортом. Точная окончательная истина о файлах — `/home/user/KNP/reports/imported-neiro-2026-10-15/IMPORT-MANIFEST.json` и `IMPORT-VERIFIED.json`. Собственные отчёты проекта вне импортированного каталога не заменяются. Новые отчёт/журнал также сохраняются напрямую в `/home/user/KNP/reports/2026-10-15/`. ### Границы измерений времени Поля wall_seconds64,889(CPU) и11,6164(CUDA) измерены одинаковым C++ таймером вокруг создания ModelExecutor и исполнения графа; чтение image/model файлов, создание популяций/проекций и нормализация изображений происходят до таймера. Ускорение5,59× относится к этому блоку выполнения при batch8, а не к полному обучению/подготовке или отдельному рисунку. Время143,273с официального subset измерено внешним оркестратором, включает8 процессов/placement/проверки и относится к1000, не10000 изображениям. API114–165мс и6,126с включают создание отдельного процесса на один запрос. ## Итог сохранения Подтверждены243 локальных файла отчётов, журналов, передач и артефактов на рабочей станции: пофайловые SHA256 совпали. Импорт: /home/user/KNP/reports/imported-neiro-2026-10-15. Истина последней delta-проверки — IMPORT-VERIFIED.json; локальная копия статуса — /opt/neiro/report-transfer-status.json. Отдельный canonical отчёт — /home/user/KNP/reports/2026-10-15/Отчёт_AltAI_native.md. Рабочая передача — /home/user/KNP/HANDOFF-native-2026-10-15.md. Модель/исходники/доказательства находятся и в runtime, и в архиве артефактов; никаких приватных ключей/паролей в пакеты не включено.