our_knp/reports/imported-neiro-2026-10-15/changes-2026-10-15.md

107 lines
30 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Журнал работы — 15 октября 2026
## Проверка доступа после смены системы
По запросу пользователя удалены старые записи только для10.9.8.230 из ~/.ssh/known_hosts командой `ssh-keygen -R 10.9.8.230`; SSH сохранил known_hosts.old. Приватные ключи и другие хосты не удалялись. Подключение как user с отключёнными IdentityAgent/IdentityFile/PubkeyAuthentication и парольной аутентификацией успешно. Новый host key принят через StrictHostKeyChecking=accept-new.
Проверены id/hostname/uname/pwd: uid1000, пользователь user, группа sudo, hostname knp, Linux7.0.0-38-generic, домашняя папка /home/user. Это уже другая установка ОС; прежние WSL-пути и библиотеки пока не проверены. Root-вход, установка пакетов, обучение и перенос файлов не выполнялись. Пароли в документы не записывались.
## Вход по SSH-ключу в новую систему
По запросу пользователя выполнен `ssh-copy-id -i ~/.ssh/id_ed25519_snw.pub user@10.9.8.230` с парольной аутентификацией. Добавлен один публичный ключ в authorized_keys пользователя user; приватный ключ на сервер не передавался. Вход проверен отдельным `ssh -i ~/.ssh/id_ed25519_snw -o IdentitiesOnly=yes -o BatchMode=yes user@10.9.8.230`: успешно, ответ user/knp. Парольный вход и sshd_config не менялись.
## Клонирование нового проекта, сборка и GPU-продолжение
По просьбе пользователя клонирован https://git.snw.su/int/our_knp в user@10.9.8.230:/home/user/KNP, HEAD8fe6c3a. Изучены новые журналы/claude-memory: актуальна классификация транспорта с инференсом в KNP, обучение разрешено offline. Прежний WSL runtime утрачен для текущей установки; данные и модель восстановлены заново.
Подробный новый отчёт локально reports/2026-10-15-native-gpu.md и на станции KNP/reports/2026-10-15/Отчёт_Linux_GPU.md, точка входа KNP/NATIVE-LINUX.md. Обновлены локальные HANDOFF/AGENTS с новыми путями и SSH user вместо int; старые документы сохранены как история.
На native Linux установлены ограниченные build-зависимости и Python-venv. CMake-сборка CPU и нового GPU-бэкенда успешна. Создан integer AltAILIF/Delta CUDA Driver/NVRTC backend в KNP/altai-objects/gpu, библиотека KNP/build/bin/libknp-altai-cuda-backend.so; драйвер не меняли, GPU-STDP не добавляли. Настроены переносимые CMake targets/пути, data export, run_counts/evaluate/pipeline, контроль отпечатков и возобновление. Исправлены лишнее накопительное копирование спайков, последний input за границами массива, проверки файлов/ошибок записи.
Проверки: фактическое CUDA-ядро; 101 пошага́вый снимок CPU/GPU в непрерывном и pause/resume режимах с точными состояниями и спайками; несколько проекций/duplicates/рекуррентность/delays1..64; отклонение unsupported/unsafe случаев. Реальные detector counts8/32 побайтно равны на CPU/GPU до и после streaming, дополнительно проверен /dev/full exit1 и неизменность нормального результата. Коллектор завершил smoke24изображения. На32изображениях: CPU31,537с wall/27,161с execution, GPU4,832с/0,342с. Не путать ~6,5× wall с~79,5× execution и с FPS live-демо.
Использован skill astra-advisor: GPT-6 Astra подтвердил архитектуру и прочитал код после проверок; замечание об ошибках вывода исправлено, ограничения о сохранении потенциалов между изображениями и отсутствии pending queues в экспорте внесены в отчёт. Счёт консультаций по GPU-доработке с учётом прежней —3/3.
В фоне запущен конечный транспортный pipeline PID47256: GPU collection36000 (train+flip+validation), offline ridge, CPU/GPU gate по classCSV, KNP-validation4000. Каталог /home/user/run/altai-objects/native-cuda, runner.log/pipeline.json; пока идёт работа, финальной новой accuracy нет. Официальный test не используется. Новый процесс не является старым отменённым SSH-монитором; системный автозапуск не установлен. Изменения не коммитили/не пушили.
### Итог полного GPU-прогона
Pipeline завершён успешно. После сбора 36000 признаков обнаружена старая ошибка glob: train_* включал также train_flip. Исправлен загрузчик в altai-objects/train_readout.py: точная регулярка числовых chunk-файлов, сортировка и проверки непрерывности/длины/done. Цепочка возобновлена без повторного сбора; второй процесс PID49452 завершён.
Обученный readout: /home/user/run/altai-objects/native-cuda/model_readout. Фактическая KNP validation: 2850/4000 (71,25%), silent0, ties426; tie-break — первый класс. Официальный test не использован. Detector counts всех четырёх validation chunks побайтно совпадают при добавлении readout. Полная сеть на32изображениях: CPU32,139634с wall, GPU6,218169с wall, ускорение5,168665×; counts и classCSV побайтно равны. Это полный wall benchmark, не FPS сервера.
На станции сохранены NATIVE-LINUX.md, AGENTS.md, полный отчёт и журнал. В /home/user/run/native-migration сохранены final-summary.json, native-worktree.patch, native-source-changes.tar.gz, native-trained-models.tar.gz и проверки. Архивы и результаты скопированы в /opt/neiro/reports/native-gpu-artifacts; отчёт — /opt/neiro/reports/2026-10-15-native-gpu.md. Архивы прочитаны tarfile без ошибок. Изменения не коммитили/не пушили. Долгих процессов этой задачи не осталось. Дальше: постоянный inference-сервис, явный протокол reset/stream между изображениями, работа с ties/readout на validation, затем отдельный окончательный test.
## MNIST: отдельная проверка цифр на native Linux
По просьбе пользователя запущен `/home/user/run/mnist-native-20261015/run_mnist.py`. Канонические train/test побайтно сверены с MNIST.zip; штатная CPU-STDP сеть AltAI обучена на 60 000 и проверена на 10 000 test. Настройки: jitter20, seed42, columns20, threshold60, additional_threshold scale0, inhibition255. Исходники не менялись. Итог: **9223/10000 = 92.23%**, молчаний 144, неверных немолчаливых ответов 633, положительных ties 196; wall 344.284 с. Покартинковые голоса восстановлены из stdout и совпали с evaluator по всем классам. Предыдущие 71,25% — validation транспорта CIFAR, другая задача. GPU-STDP отсутствует; GPU-инференс MNIST в этом опыте не заявлен. Подробности: `reports/2026-10-15/Отчёт_MNIST_native.md`; артефакты: `/home/user/run/mnist-native-20261015`. Объектные модели не менялись, commit/push не выполнялись.
## Запуск существующего сайта рисования MNIST
По просьбе пользователя найден и запущен существующий `/home/user/KNP/viz/altai_viz.html`; доступен http://10.9.8.230:8080/altai_viz.html, вариант со сдвигами — /aug_viz.html. Перед запуском порт8080 был свободен. Добавлены только `/home/user/run/mnist-viz/server.py` и `start.sh`: detached `nohup` Python ThreadingHTTPServer на0.0.0.0:8080, document root строго `/home/user/KNP/viz`, PID58749, log `server.log`, pid `server.pid`. Автозапуск ОС не включали; файлы сайта и веса не меняли. Для HTML явно задан charset=utf-8. Проверки извне: обе страницы HTTP200, UTF-8 и meta charset корректны, JSON с2моделями разбирается. Это исторический браузерный JS-симулятор, не новый CUDA backend и не веса нового92,23% CPU-MNIST-прогона. Команды restart/stop и точные пути — `/home/user/run/mnist-viz/README.md`.
Дополнительная проверка визуализатора: локальный Chromium headless открыл страницу, выполнил JS и создал DOM с147canvas и118кнопками, включая динамическую MNIST-галерею, «Очистить», «Пуск» и переключатель колонок. Кириллица отображается корректно. В stderr нет строк JavaScript exception; это smoke-проверка DOM, а не исчерпывающий интерактивный тест. Скрипты запуска/README и Chromium log сохранены в `reports/mnist-viz-artifacts/`.
## Новая быстрая гибридная IF-модель для сайта
Создана собственная сеть784→256integerIF→линейныйreadout10,128шагов, offlineNumPyобучение на55000train,5000validation, seed20261015; выборcheckpoint/stepsтолькоvalidation. Каноническийtest10000:9830верных=98,30% против9223=92,23% старойKNPсети на техжеизображениях. Это другаяhybridархитектура, еёинтеграциявKNP/GPUнепроверена. Test2534(пользовательская3)→3, нетtrain/selectionпоэтомупримеру. Новаястраница http://10.9.8.230:8080/fast_viz.html; ссылкидобавленывстарыеaltai_viz.html/aug_viz.html. Нормализацияbbox20+центрмассы, автоответ, blank, clear, testгалерея, mouse/touch. CDP85примеров: bytes/IFcounts/scores/predictionточноPython=JS; realmouse/touch1→1; clear/debounce/mobilepass. Fixedstress shift2=97,74%,thicker96,85%,thinner91,41% (ограничение). ИсходникиKNP/mnist-fast, webKNP/viz/fast*, runtime~/run/mnist-fast; полныйотчёт reports/2026-10-15/Отчёт_MNIST_fast.md. ПрежнийHTTPсерверPID58749работает, автозапускОСне меняли, GPUbackendобъектовне меняли, commit/pushнет.
## Продолжение лично после остановки агента; официальный AltAI и перенос отчётов
По новому указанию пользователя дальнейший код и проверки выполняет основной ассистент, без запуска исполнителей; разрешён только astra-advisor. Предыдущий исполнитель остановился из-за лимита использования. Восстановлено фактическое состояние: официальный AltAI backend1.0.2 распакован без установки/preinst в /home/user/run/altai-official-probe/extracted; public API tiny-граф прошёл placement и выдал4 выходных спайка. Последующие пробы duplicates и initial дали0, поэтому семантика суммирования повторов и начального потенциала НЕ подтверждена. Нельзя выдавать этот tiny-прогон за перенос MNIST: полной нативной модели пока нет. Новая браузерная гибридная IF256-модель98,30% сохранена и проверена отдельно; сервер продолжает работать.
Начат перенос всех локальных файлов reports и рабочих Markdown-журналов/передач на станцию, отдельным импортом без замены её собственных отчётов. Итоговые SHA256 и точный путь будут записаны после проверки.
Перенос отчётов подтверждён:235 файлов в /home/user/KNP/reports/imported-neiro-2026-10-15, совпали SHA256 архива и каждого файла. Подробная новая передача и промежуточные неуспехи — reports/2026-10-15-altai-native.md. Лично написаны experiments/altai-native/semantics.cpp,prepare_native.py,native_digits.cpp. Микропробы GoldenModel установили dedup одинаковых входных индексов, отсутствие подтверждения initial potential, работающий subtractive reset и positive leak. Эталон новой нативной rate-coded схемы97,76%, CPU-граф совпал по спайкам на8 изображениях. Полная GoldenModel-метрика ещё не подтверждена; первый запуск0/8 сохранён и разбирается.
Нативный код исправлен и проверен: знак reset в Delta, фильтр неиспользуемых входов, dangling-else исправлен и запрещён флагом сборки; CPU-full-v3 и CUDA-full дали одинаковые9776/10000. Все hidden/output counts совпали с эталоном на всех10000, CPU64,889с, CUDA11,6164с. Официальный GoldenModel8-картинковая проба exact; первый1000-картинковый replica8 отклонён по несовпадению счётчиков, проводится повтор с явной сеткой8×8. Сборка после неэкспортируемого getter сделана атомарной. Новый сайт8081/native_viz.html вызывает реальный нативный граф через API. API, браузер, mouse/touch, blank/clear и regression2534 проверены. Подробные промежуточные неуспехи сохранены в reports/2026-10-15-altai-native.md.
### Нативный AltAI — финальные результаты
Официальный GoldenModel подтверждён на первых1000 test:975 правильных, все256 hidden и160 output счётчиков по каждому изображению точно равны эталону и соответствующим CPU/CUDA результатам. Исполнение:8 изолированных процессов, каждый стандартный4×4,2 копии,125 изображений. Общий wall143,273с. Однопроцессные8-копийные4×4 и8×8 варианты отклонены; они сохранены как неуспех, не доказана их маршрутизация. Финальный код запрещает GM replicas>2. Полный test10000 в KNP CPU/CUDA:9776,64,889с/11,6164с соответственно, все counters exact. API CPU и GM реально запускают граф; тройка2534→3. В браузере mouse/touch/blank/clear/parity проходят.
Основной ассистент выполнил всю новую реализацию лично после лимита исполнителя, других исполнителей не запускал. Astra3/3 финально подтвердила native архитектуру; исправлены замечания о stale checkpoints, точной последовательности IDs, fingerprint бинарника/модели и устаревшем busy-check. Подтверждение1000 в GM сняло оставшийся blocker. Отчёт reports/2026-10-15-altai-native.md, исходники experiments/altai-native и /home/user/KNP/mnist-altai-native, runtime /home/user/run/mnist-altai-native. Модель и доказательства архивированы отдельно, новые отчёты включаются в финальную SHA256-проверенную синхронизацию на станцию. Сайты8080 и8081 оставлены запущенными по просьбе пользователя; долгие тесты завершены, автозапуска ОС/commit/push нет.
Уточнены границы benchmark: CPU/CUDA64,889/11,6164с — таймер ModelExecutor/load/start, без чтения данных и построения графа; официальный subset143,273с — внешнее время8 процессов/placement/проверки. Эти разные объёмы/границы не сравниваются как FPS. Исходники и README скопированы в /home/user/KNP/mnist-altai-native, сервер8081 перезапущен из этого каталога; PID записан в runtime/web-server.pid (96555 на момент запуска). Все долгие эксперименты завершены, осталось сохранение/сверка отчётов.
Финальная дополнительная синхронизация подтвердила243 локальных файла в /home/user/KNP/reports/imported-neiro-2026-10-15: проверен SHA256 каждого файла и manifest. Архив native-model-and-proofs.tar.gz скачан локально, SHA256 и47 членов архива прочитаны без ошибок. Подтверждение — report-transfer-status.json локально и IMPORT-VERIFIED.json на станции. После этой записи повторяется delta-сверка обновлённого журнала/передачи, без удаления собственных отчётов станции.
## Кошки / собаки: новый запуск KNP GPU (продолжается)
По запросу пользователя делается отдельное web-демо. Проверены SSH user@10.9.8.230, AGENTS/NATIVE-LINUX/журнал; новые исходники `/opt/neiro/experiments/pets-knp`, станция `/home/user/KNP/pets-knp`, runtime `/home/user/run/pets-knp`. Старые модели и работающие сервисы не менялись. CIFAR train разделён на8000train/2000val, официальный test2000 отложен; mirror толькоtrain. В качестве стартовых признаков переиспользованы K200 unsupervised filters, обученные только на train транспорта, не на cats/dogs или test.
Созданы prepare.py/build.py/pets_infer.cpp/pets_readout.cpp/collect.py/train.py/verify.py, заготовки server.py/pets.html. Из старого conv runner выделен detector-only executable;20tickframe: отрицательный reset65535, drain3, input10ticks, тишина. Классификатор — отдельный настоящий KNP AltAILIF/Delta: фиксированное pooling на хосте, повторные индексы одного пакета несут счётчики, два output нейрона threshold1/do_not_save, знаки w/-w; learned arithmetic вKNP. Это не единый граф официального GoldenModel и не проверка железа. GPU guard sumabs<2^24; counts<=640.
Astra gpt-6-astra high,2/3консультации: clockedreadout bounds, затем двухэтапныйKNP с фиксированным pooling; риски resets/arrivalalignment/duplicates проверены fixtures. Другиеsubagents не запускались. Сбор18000train+flip+val наCUDA завершился. checks/VERIFIED.json:CPU/GPUcounts exact, A→B→B→white→B→black→B иfreshB exact;readout±1/0/max640fixtures exactCPU/CUDA. ВремяGPUsequence8≈6,796s/CPU≈13,678s с конкурирующимcollection; не чистыйbenchmark. SinglefreshGPU≈6,144s включаетпостроениеграфа.
Первый ridge baseline~68,9%floatvalidation. Ошибка train.py: selected row ссылался на списокcandidates ссамоссылкой приjson.dump, сеть/weights ужесохранены, финальнымрезультатом не является; исправление/улучшение впереди. Локальнаякоманда python отсутствует,замененаpython3 доизмененийsource. T3preview snapshot явнонеподдерживается (noautomationhost),разрешёнfallbackChromiumCDP длябраузернойпроверки.
### Кошки / собаки — завершение и финальные проверки
Создан собственный нелинейный hidden256 поверх KNP convK200;40эпох offlineMLP train+mirror, checkpoint/квантование/readout только validation. Root-L2 нормализация фиксированная на хосте, все learned operations в KNP. Первый экспорт `runtime/head` содержал переполненные пороги у слабых нейронов и не был развёрнут. `adapt_head.py` создалвалидный`head-v2`: prune71overflowunits,32rescalethresholds,refitreadoutтолькоtrain/val. Smoke успешно подтвердил256hidden и2outputs exactCPU/CUDA/reference. Послефиксациимодели final:validation1437/2000=71,85%, officialtest1427/2000=71,35%; на всех4000 exacthidden/outputreferenceCUDA. FullCPUtestнепроводился. HeadSHA1b5b8a716d19741cdd873713e60697a7adba26755dc90b3b08281d1a4b60e417;pipelineweightsSHA41cbd3bc6a5bfeb17f8cac2575b26052ab3945a72b45956836c3ca3df6db200f.
Astra3/3финальныйобзор: исправленыserverстароймодели→head-v2,подключеноencode+KNP hidden+KNPoutput; BILINEAR32contractзафиксирован; добавленыsmoke/fingerprintgate,adversarialresetcap64наCPU/CUDA;reset/absguardsпереведенывint64,INT_MINfixtureотвергается;HTTPadmission≤4/sockettimeout15/GPUlockпередdecode,upload8MB/16MP,subprocesstimeouts/modelSHAguard. Другиеагентынезапускались.
Новый`pets_worker.cpp`/`worker.py`держитKNPgraph/GPUзагруженным;6requestsdetectorcountsпобайтноexactобычномуrunnerпослеwhite/black/repeat. Первыйstartup5,69s,следующиеdetector1–5ms;непутатьсвсейклассификацией. Head/readoutпокаотдельныепроцессы. ПолныйAPI4запроса392–444ms,ответыиобаoutputспайкаexactfinaltestCSV. API400malformed/200+429parallelпроверены. Server8082PID116676,worker116704;актуальностьчерезruntime/server.pid. АвтозапускаОСнет.
Сайт http://10.9.8.230:8082/:24testпримеров(первые12каждогокласса,безотбораудачных),свояфотография,32×32input,реальнаяheatmap,числоспайков/время,честноуказанhostpool/normalization/routingиGoldenModelnotverified. EmojiнеотрисовывалисьвChromium,замененыSVG. ChromiumCDPповторнопроверилdesktop,mobile390nooverflow,realfilepicker,staleresponse,JSerrors0. T3previewоткрытпользователю,automationявнонеподдерживается. Скриншоты и JSON `reports/pets-knp-artifacts`.
`train_head.py`исправлендляследующегообучения(scaleclampдоcast/resetnormbound/floatcheckpoint,head-next);историческийtrain_head_legacy.pyсохранён. Syntheticnearzeroweightregressionпрошёлвremotevenv;локальныйnumpyнеустановлен,ничегонеустанавливали. Новоевсеполноеобучениеисправленнымтренеромне запускалось,head-v2не менялся.
Полныйотчёт `reports/2026-10-15-pets-knp.md`,команды/source `experiments/pets-knp/README.md`,HANDOFFиAGENTSобновлены. Исходникинастанции`/home/user/KNP/pets-knp`;runtime`/home/user/run/pets-knp`. Сборкиатомарныевотдельныеpetsбинарники;KNPбиблиотеки/старые8080/8081/моделине менялись. Сохраняется`model-and-proofs.tar.gz`+SHA(source,модели,proofs,разбиенияданных),копиявreports/pets-knp-artifacts,всеотчётысинхронизируютсянастанциюсSHA.
Финальное сохранение pets: archive61517274bytes/153members SHA2562cfefd3c2617aef48e2bfaefa672311d89fb88d657b42354eb77101d66718b55 совпалremote/local,содержимоеtarпроверенобезsymlinks/unsafe paths. Все261локальныхотчётныхфайловперенесеныв`/home/user/KNP/reports/imported-neiro-2026-10-15`,пофайловыеSHAсовпали;послеэтойотметкиповторныйdelta-sync. Canonicalreport/HANDOFF/remotejournal/AGENTS/NATIVE-LINUXсохранены,вremoteHANDOFFссылкиисправленыподпутистанции. Обучений/collection/evaluationвфоненет;сервисы8080/8081/8082иpetworkerоставленыработать.
## Аппаратная проверка, отмена мухи, публичные отчёты и GitSSH
По запросу «сделай ещё что-то забавное» начата только заготовка ручного9-нейронногоtoyконтроллера: source`experiments/fly-knp/{controller.cpp,build.py,worker.py}`, станция`/home/user/KNP/fly-knp`; бинарниксобран. Пользовательуточнилпронастоящиевеса,затемявнопопросилостановитьмуху. Контроллер/симуляция/сайтне запускались;процессовflyнастанциинет. READMEпомеченотменённымпрототипом. Вwebпросмотреныпервичныеphilshiu/Drosophila_brain_model иeonsystemspbc/fly-brain;данныене скачивались,программыне запускались.
ВответнавопросоразмещенииPetlabсвереныофициальныелокальныедокументыKNP2.0с.22иФАКТИЧЕСКИЕweightshead-v2/detectors. Full39458neurons>описанногопрототипа8192;maxpalette55detector/110hiddenпротив4;hiddenpacketdrivevalidation−492108..569761противsigned16. CUDAfloat32integerguardэтонечипсовместимость. Fixedhostpool/root-L2/routingтакжеостаютсяснаружи. Сохранёнhardware-feasibility.jsonremote/local,полныйотчётreports/2026-10-15-hardware-and-fly-status.md. Произвольныеконфигурации/Алтай1/3этойоценкойнепокрыты;placementнепроводился.
Последующийзапрос:собратьвсеотчётыздесьвZIPв/public. Источникпубличногоhostпрочитаниз`/t3code_development/ops/caddy/public-agent.caddy`:public.agent.snw.su→/public,конфигурацияне менялась. Вархиввойдутreportsдерево(сmodel/proofsarchives),rootMDжурналыипередачиэкспериментов. SSHключивсоставне входят.
Поотдельномупросьбесозданнаuser@10.9.8.230Ed25519Gitключ~/.ssh/id_ed25519_git_snw(+.pub). Старыхключей/configнебыло;новый~/.ssh/configтолькоHostgit.snw.su/Usergit/IdentityFile/IdentitiesOnlyyes. chmod700.ssh/600private+config/644public;ssh-GподтвердилIdentityFile. Толькоpublicчастьвыданапользователю,privateосталсянастанции. Паролинезаписаны. Gitremote/commit/pushне менялись;аутентификациякGitпокане проверенадодобавленияключапользователем.
Финальнаяпроверка:ZIP `/public/knp-reports-2026-10-15.zip` создан,CRC+SHAвсехвложенийпроверены,публичныйHTTPSURLвернул200/application-zip. Внутри264отчётныхфайла+report-transfer-status.json+manifest/START-HERE;SSHкаталогов/ключейнет. SHAсамогоZIPвсоседнем.zip.sha256. Новыеотчётысинхронизированынастанцию;муханезапущена,по просьбепользователяотложена.