Теги: optical computing, LLM, photonics, DIY, machine learning, hardware


Я занимаюсь исследованиями в области нейросетей, часть результатов опубликована:

  • Frozen Core Decomposition (FCD): An Architectural Approach to Continual Learning Without Catastrophic Forgetting (2025) — zenodo.org/records/18006952

  • DTG-MA: Hard Guardrails Against Catastrophic Forgetting Through Attention Masking and Task Graphs (2025) — zenodo.org/records/18088857

Плюс два патента по прикладному ML: (1) скоростное определение типа задачи прямо по промту — без запуска инференса, и (2) компиляция нейросети под заданные задачи с ростом точности.


Предыстория: вакуумные поля и форма, в которой движется информация

Всё началось не с нейросетей, а с физики. Я работал над своим исследованием vmf — попытка описать вакуум как комплексное конденсатное поле в рамках теории, которую я называю Null-Vector Gravity (NVG). В этой картине вакуум — не пустота, а среда с амплитудой \mathcal{W} и голдстоуновской фазой \theta, градиент которой задаёт направление локальных токов.

Моделируя, как возмущение распространяется в такой среде, я заметил интересный феномен. То, как информационная волна проходит сквозь слои поля, последовательно меняя свой вектор состояния, структурно похоже на то, как трансформер прогоняет токен сквозь свои слои. Каждый слой LLM — это преобразование вектора: матрица плюс нелинейность. Каждый «слой» среды — тоже преобразование вектора состояния волны.

А если носитель этой волны — буквально свет? Тогда вся башня слоёв нейросети превращается в один оптический конвейер, через который пучок проходит насквозь. И тут идея окончательно оформилась:

А что если перенести большую языковую модель — уровня Qwen3.6 27B — из кремния в чистую оптику?

Не «ускорить на фотонике отдельные матрицы», а целиком: чтобы инференс был физическим прохождением света сквозь среду.

Тема компрессии и специализации моделей мне как раз близка по основной работе: один из моих проектов, скомпилированная и сжатая под процесс локального кодинга модель, которая помещается в Q4 ~9 ГБ (huggingface.co/infosave/cortiqGemma). Это прямое продолжение моего патента про компиляцию сети под узкую задачу. И ровно тот же ход мысли — «убрать лишнее, оставить суть» — заставляет смотреть в сторону оптики: если веса можно «запечь» в фазовую маску, инференс перестаёт быть вычислением и становится физикой.


Идея: LLM как оптическая система

Классический трансформер — это конвейер: эмбеддинг → attention → FFN → … → выходная голова. Каждый блок сводится к матричному умножению и нелинейности. И вот ключевой факт: в оптике матричное умножение бесплатно. Свет, проходя через дифракционную решётку, линзу или модулятор, уже выполняет линейное преобразование амплитуды и фазы — мгновенно, в пространстве, без единого такта процессора. На этом стоят дифракционные нейросети (D²NN, UCLA, 2018).

Архитектура, к которой я иду, выглядит так:

  • Источник кодирует входной токен как пространственно-модулированный пучок: амплитуда и фаза = компоненты эмбеддинга.

  • Каждый слой трансформера — это оптический элемент (голограмма или пространственный модулятор света, SLM), «прошитый» под веса матриц Q, K, V и FFN этого слоя.

  • Свет проходит все слои последовательно — физически, со скоростью света.

  • Камера на выходе регистрирует итоговое распределение интенсивности, которое декодируется в следующий токен.

Принципиальная разница с GPU вот в чём: в кремнии вы гоняете данные через арифметику, а здесь арифметика — это сама геометрия среды. Скорость ограничена не тактовой частотой, а скоростью света и скоростью детектора. Современные КМОП-сенсоры уже выходят на 10⁸–10⁹ кадров/с — и это другой порядок мышления о latency.

Подчеркну честно: устройство в которое можно загрузить LLM на 27B пока нет и благодаря экспериментальной модели, появилась другая интересная схема которую скорее всего получится реализовать на практике. Но к большой цели идут маленькими проверяемыми шагами. И первый шаг я уже сделал.


Первый шаг

svetoch — это первый практический шаг к оптической LLM. Имя выбрано не случайно: «светоч» — это и свет, и источник знания.

Вы сможете повторить эксперимент в течении нескольких минут.

Чтобы проверить базовую физику, не нужен лабораторный стенд за десятки тысяч долларов с лазером, SLM и скоростной камерой (это месяцы работы). Нужен минимально жизнеспособный эксперимент. Оптический прибор с управляемым источником света, линзами и матрицей уже в кармане — это смартфон.

У смартфона есть две вещи в миллиметрах друг от друга:

  • OLED-экран — это, по сути, программируемый источник света с попиксельным управлением яркостью. Готовый пространственный модулятор.

  • Фронтальная камера — интегрирующий детектор.

Не хватало одного: вернуть свет с экрана в камеру. Решение скучное и дешёвое — плоское зеркало. Кладём телефон экраном вниз над зеркалом, и петля замыкается.

   [фронт. камера]   AMOLED-экран     ← телефон, экраном ВНИЗ
            \              |
             \             | d ≈ 3–5 см
              \            ▼
        ╔══════════════════════════╗
        ║        ЗЕРКАЛО           ║   ← лежит на столе
        ╚══════════════════════════╝

Главный трюк: пиксель камеры — это физический сумматор

Вот сердце всей затеи. Любая нейросеть в основе делает одно: умножить и сложить (MAC):

Y = \sum_i w_i x_i

А теперь — как работает фотосайт камеры? Он интегрирует падающий свет за время экспозиции, то есть физически складывает фотоны. Закодируем число яркостью пикселя экрана, вес — долей света, доходящей до фотосайта (это задаётся отображаемой маской), и за одну экспозицию накопленный заряд будет равен:

Q = \eta \int_0^{T}\sum_i w_i x_i\,dt = \eta T \sum_i w_i x_i

Сенсор вернул скалярное произведение за один оптический такт, без арифметики на процессоре. Свет от множества пикселей сливается на одном фотосайте — и это слияние и есть сложение. Целая строка сенсора, читающая 2D-маску, считает матрично-векторное произведение параллельно. Экран показывает веса → зеркало возвращает свет → камера читает результат. Этот «полёт света туда-обратно» — и есть вычисление слоя.


Эксперименты: я прошёл все 101 — вот что стоит увидеть

В репозитории 101 эксперимент в четырёх семействах. Все устроены одинаково: телефон рисует паттерн, снимает кадр, считает метрику и пишет результат в JSON. Я отобрал самые показательные из каждого семейства — и честно помечаю, где работа идёт в свете, а где тяжёлую часть всё-таки делает процессор.

Семейство 1. Нейросети и трансформеры (22 опыта)

  • Калибровка канала. Полосы 32/16/8 px → точки MTF, градиент → линейность. На эталоне R^2=0.96, SNR ≈ 8.2 бита.

  • Лесенка до трансформера. Скалярное произведение (ошибка ~0.2%) → MatVec (корреляция 0.998) → слой 256→64→10 (цифра 83.5% / оптика 82.5%, корреляция логитов 1.000) → крошечный трансформер, генерирующий токены: value-проекции выводятся яркостью, камера читает, argmax выбирает токен.

  • ⭐ Активация SiLU «бесплатно». Нелинейность нейрона берётся прямо из гамма-кривой OLED «код → свет». Активацию физически делает экран, а не CPU.

  • ⭐ Память из послесвечения (LSTM). Послесвечение пикселя \tau оставляет затухающий след предыдущего кадра: \alpha=e^{-\Delta t/\tau} — forget-gate, заданный физикой, а не обучением.

  • ⭐ Две головы внимания за один кадр (GQA). Key — в красный канал, Value — в зелёный; фильтр Байера разделяет их на матрице. Два матричных перемножения за один снимок.

  • ⭐ Инференс LLM без зеркала (Optical LLM v2). Знак произведения кодируется цветом: красный = плюс, синий = минус, зелёный = нормировка. Целый слой читается за один цветной кадр (6 кадров/токен, ×4.5 к версии v1), зеркало не нужно.

  • ⭐⭐ «Воздух как сопроцессор» (Thermal/Vortex LLM, без зеркала). Самое дерзкое. Тепло от экрана создаёт градиенты показателя преломления воздуха; камера методом BOS читает крошечные сдвиги фона — и это интерпретируется как умножение вектора на матрицу, а хиральность вихря задаёт знак. 8 тепловых зон работают как параллельная шина. Честно: SNR здесь на грани (≈1.3), это самый спекулятивный угол проекта — но эффект измеряемый.

  • Плюс оптические аналоги стандартных блоков: свёртка (CNN, интегрирование света), residual-связи, dropout (физическим гашением пикселей), softmax, RoPE, и обучение — оптический градиентный спуск (см. ниже).

Семейство 2. Волновая физика (29 опытов)

  • ⭐ Двухщелевой опыт Юнга — и готовый полевой интерферометр. Экран открывает две «щели», снимаем A, B и A+B, считаем интерференционный член I_{AB}-I_A-I_B. Ненулевой — значит интерференция. Но это не только демо: я прогонял через оптический тракт разные прозрачные вещества — и интерференционная картина устойчиво на них реагирует. То есть установку можно уверенно использовать как полевой интерферометр (по сути карманный рефрактометр): по смещению полос меряется оптическая разность хода, а значит — показатель преломления и наличие примесей в прозрачной среде. Самый знаменитый опыт физики на столе из телефона и зеркальца — внезапно с прикладной ценностью.

  • Интерференция с зеркалом и без — заодно проверка на честность. Тот же опыт без зеркала: перекрёстный член схлопывается до шума. С зеркалом — настоящие полосы, без — ничего.

  • Вся «волновая азбука»: дифракция на щели (профиль sinc², корреляция с эталоном), стоячие волны (узлы/пучности), интерферометр Фабри-Перо, суперпозиция амплитуд, принцип неопределённости через дифракционное уширение, правило Борна |\psi|^2.

  • ⭐ Закон Малюса (поляриметрия). Свет OLED уже частично поляризован встроенным поляризатором матрицы — это «бесплатный» источник поляризованного света. Проверяем I=I_0\cos^2\theta и меряем оптическое вращение.

  • ⭐⭐ Резонансный дымовой супер-вихрь (5 Гц), без зеркала. Самый зрелищный. Экран выводит гигантскую квадро-вихревую структуру и пульсирует на резонансной частоте конвекции (~5 Гц) — и физически закручивает реальный дым над собой, а камера меряет вихрь оптическим потоком. Дисплей как тепловой актуатор.

  • ⭐ Mirrorless-приборы и прикладуха. TIR-интерферометр и спекл-шлирен (BOS) на собственном стекле телефона; и поверх — спектрометр жидкостей (вода/масло/кровь), дисперсионный сахариметр (соль/сахар по инварианту Аббе) и анализатор биокапли. Честно: это research-use / wellness, не медизделие.

  • Для энтузиастов теории — стадии VMF (77–79): оптическая проверка кривой «плавления вакуумного конденсата» W(\rho)=\sqrt{1-\rho/\rho_c} и космологического «отскока» прямо по яркости. Это уже мостик обратно к vmf, с которого всё началось.

Семейство 3. Квантовые вентили (24 опыта) — честно: это классическая эмуляция

Сразу дисклеймер: это не квантовый компьютер. Нет одиночных фотонов, запутанности и нарушения Белла. Это классическая волновая эмуляция линейной алгебры вентилей.

  • Полный набор вентилей: Адамар (суперпозиция через смешение света), QFT (пространственный фурье-спектр), Гровер (усиление амплитуды), Дойч-Йожа (баланс функции через интерференцию), CNOT (наложение пикселей), телепортация состояния между цветовыми каналами.

  • ⭐ Истинный ГСЧ (QRNG). А вот это реально физично: случайные биты из дробового шума матрицы, проходящие тесты NIST.

  • Алгоритм Шора — факторизация через анализ пространственных частот (эффектно), HOM-провал видности, тест Белла/CHSH на частоте обновления 120 Гц, томография матрицы плотности.

  • Экзотика на тепловых вихрях (без зеркала): кутрит (троичная логика через хиральность вихря), топологический braiding-вентиль и вычисление инвариантов узлов/зацеплений по траекториям вихрей.

Семейство 4. Прикладные алгоритмы (26 опытов)

  • ⭐ Задача коммивояжёра светом. Каждый маршрут — яркость столбика (короче путь — ярче), камера ищет самый яркий бин = оптимум. Перебор маршрутов делает CPU — это оптический argmin по свечению, а не «решение NP в оптике», но как демонстрация (все маршруты светятся, нужный вспыхивает ярче) — очень наглядно. Засчитывается для 4–6 городов.

  • ⭐ Физично и наглядно: Монте-Карло π (доля точек в круге), 1D-модель Изинга с камерой в роли оптического магнетометра (фазовый переход), оптический интегратор (камера усредняет яркость = интеграл Римана), статистика дробового шума (σ² ∝ μ).

  • ⭐ Оптическое сжатие (мне особенно близко). LZSS + «bounce»/золотое сечение с проверкой каждого бита через реальный оптический канал — прямой родственник моей работы по компрессии моделей.

  • Связь и коррекция: код Хэмминга (7,4) — оптическое исправление ошибок; закон Бенфорда; SVD матрицы передачи тракта — самодиагностика «дисплей-объектив-сенсор».

  • Теория чисел (Мертенс, Гольдбах, Дирихле, BSD, Клоостерман, числа классов) — красиво смотрятся, но честно: здесь оптика лишь суммирует яркости заранее посчитанных на CPU членов, а не «доказывает гипотезу Римана». Я держу эти стадии как наглядные суммы, не больше.

Контроль без зеркала

В списке опытов есть эксперимент без зеркала, но часть простых опытов может пройти если у вас чувствительная фронтальная камера ниже защитного стекла, то даже достаточно отражений от стекла и потолка чтобы отловить оптический канал.

Почему это важно

Дифракционные нейросети уже показывали ~91% на MNIST на чистой оптике (UCLA, 2018). Но масштабирование до 27 миллиардов параметров — открытая задача, и именно туда я целюсь. Если довести идею до конца, потолок оптического инференса принципиально иной:

Параметр

GPU-кластер

Оптическая система (потенциал)

Скорость инференса

~100 ток/с (A100)

до 10⁸–10⁹ ток/с¹

Энергопотребление

300–700 Вт/GPU

единицы ватт (источник + детектор)

Масштабирование

линейное по числу GPU

параллельное по слоям

Latency

~10 мс

наносекунды¹

¹ Теоретический потолок, ограниченный скоростью детектора, а не измеренный результат. Реальный прототип на телефоне сейчас выдаёт доли токена в секунду — это демонстрация принципа, а не продукт.


Научная фиксация:

Оформил методы как 6 научных статей и опубликовал на Zenodo — с DOI, чтобы зафиксировать авторство и выложил всё в открытый доступ.

  • I. Оптическое нейровычисление на смартфоне (базовый метод) — 10.5281/zenodo.20729632

  • II. Аппаратные примитивы нейросетей из физики дисплея — 10.5281/zenodo.20730065

  • III. Термооптический конвекционный слой над OLED — 10.5281/zenodo.20730198

  • IV. Классическая волновая эмуляция квантовых вентилей — 10.5281/zenodo.20730267

  • V. Вычислительная оптика для анализа микрокапель — 10.5281/zenodo.20730337

  • VI. Обучение физической дифракционной сети с обратной связью через камеру — 10.5281/zenodo.20730393


Заключение

Путь от абстрактной идеи, которая родилась при анализе вакуумных полей в vmf, до оптической LLM — это путь длиной в несколько лет. Но начинается он с зеркала и смартфона. Именно так и должна работать настоящая физика: сначала проверь простейший случай, потом масштабируй.

Простейший случай — проверен. Свет на столе действительно умножает матрицы, считает слой трансформера и даже учится с обратной связью через камеру. Дальше — SLM, стек слоёв и большая модель.

Репозиторий открыт (Apache 2.0, документация на русском и английском): github.com/infosave2007/svetoch


Статья основана на собственных исследованиях автора в области оптических вычислений и теории вакуумных полей (NVG/VMF). Если проект показался интересным — поддержать можно через Tribute: https://t.me/tribute/app?startapp=dzX1

Автор: Oleg Yuryevich Kirichenko · urevich55@gmail.com · GitHub @infosave2007

Комментарии (11)


  1. misha_erementchouk
    17.06.2026 21:42

    Титаническая работа! Отдельно и специально отмечу честность. Хотелось бы такое в академических журналах видеть (по итогам одной все еще продолжающейся возни).

    Вопрос: а нельзя ли через "канал обратной связи" от камеры на экран получить что-нибудь дополнительно любопытное? Например, показано, что однослойная система XOR не воспроизводит, а нельзя ли посредством такой обратной связи проэмулировать двухслойную систему?

    Вы бы не взялись написать подбробную заметку про какой-то конкретный эксперимент, тот же XOR, так, чтобы и для тех, кто на задней парте? Например, непонятно, камера по всему кадру интегрирует (и тогда, конечно, от обратной связи толку немного), или же есть варианты?


    1. infosave Автор
      17.06.2026 21:42

      Добавил 102 эксперимент 2-х слойный XOR. Если есть желающие можно делать PR со своими интересными экспериментами.


  1. infosave Автор
    17.06.2026 21:42

    Спасибо! Было очень интересно проводить исследования, пришли новые идеи и был реализован архиватор https://github.com/infosave2007/bounce и думаю до реализации полностью оптической LLM не далеко! В том виде, как XOR показан в заметке, камера снимает один скаляр: усреднение по центральной области кадра, а оба входа закодированы суммарной яркостью. Поэтому (0,1) и (1,0) физически неразличимы — отсюда и провал, ровно по Минскому–Пейперту. Это не ограничение железа, а самая простая схема считывания, выбранная специально, чтобы провал был честным и наглядным.

    Но считывание не обязано быть «по всему кадру». В системе уже используется поблочное считывание (сетка регионов): разные участки экрана и сенсора параллельно вычисляют разные скалярные произведения — так сделаны MatVec и слой трансформера. Это и есть пространственный параллелизм оптики.

    Про обратную связь , XOR через неё эмулируется как настоящая двухслойная сеть, двумя способами:

    1. Пространственно. В одном регионе считаем OR, в другом — NAND (оба линейно разделимы, оба проходят). Считываем их по-регионно, и вторым оптическим проходом подаём обратно на экран, где они складываются в AND. Получается XOR = AND(OR, NAND) — два слоя. Нелинейность между слоями даёт сам сенсор (сигмоидоподобный отклик + порог), её не нужно добавлять отдельно.

    2. Во времени. Послесвечение OLED удерживает остаточное состояние — это физическая рекуррентная ячейка, на ней построен LSTM-эксперимент. А обучение прямо замыкает петлю экран→камера и подстраивает физический канал.

    При считывании одним числом обратная связь почти бесполезна но как только считываем поблочно, петля экран→камера превращается в полноценный второй слой — и XOR появляется. Добавил документ где подробно расписал про XOR https://github.com/infosave2007/svetoch/blob/master/docs/XOR.pdf


  1. DmitryLabintcev
    17.06.2026 21:42

    На самом деле очень интересно и очень полезно, даже я бы сказал круто, ваши находки мне тоже помогли решить некоторые вопросы)


  1. murkin-kot
    17.06.2026 21:42

    Интересно. Но давайте считать минусы. Идеальный сенсор может и даёт 10^8 результатов в секунду, но кто ему столько раз на вход свет поменяет? Светодиодные матрицы мониторов дают миллисекунды в лучшем случае. Потом собственно преобразование. Вы даже сами заметили, что там есть нелинейность. Ну и как её моделировать будем? Управляемо, что бы внимание корректно работало. Архитектур нейросеток существует много, как их всех реализовать? Если выберете самую простую, то возникнут сложности с обучением - как в простую впихнуть качественную нейросетку? А в сетках посложнее и нелинейности тоже поинтереснее становятся. Физическая реализация некой линзы между излучателем и приёмником здесь может оказаться очень сложной.

    В общем в теории при выборе самой примитивной архитектуры, возможно, мы получим сотни токенов в секунду, но это будет крайне тупая нейросеть.

    Но в целом, как направление исследования, разумеется ваш посыл считаю правильным. Далее предстоит воспроизвести аналоги наработанных архитектур и полноценный набор железа, от излучателя, до приёмника, ну и с обработкой, разумеется (и на каждом этапе потери скорости, да). Или же можно предложить свою архитектуру. Но для проверки опять потребуются сотни GPU, и только после них можно будет смотреть на оптические преобразователи. То есть работы очень много. Дорогой работы (по деньгам). Ну и по интеллектуальным усилиям, думаю, тоже немало потребуется.

    Тем не менее - желаю удачи на этом непростом пути!


  1. domix32
    17.06.2026 21:42

    I. Оптическое нейровычисление на смартфоне (базовый метод)

    Почитал и как-то не увидел, а вычисления-то хоть какую-то качествуенную оценку проходили? Пока выглядит как garbage in garbage out. Если в качестве фидбэка возвращать рандомные произвольные данные, а не фидбэк от камеры, то результат также схлопывался?

    В коде вообще не увидел чтобы были хоть какие-то вызовы до камеры того Xiomi, я правильно понял что вы зеркало фактически завернули в симуляцию и в реальности никогда не получали голого сигнала с камеры?


    1. infosave Автор
      17.06.2026 21:42

      По камере. Код захвата — в app/index.html, браузерный getUserMedia({video: {facingMode:'user'}}) прямо на телефоне. Никакого ADB нет — телефон открывает страницу в Chrome, браузер читает фронтальную камеру. Зеркало физическое, не симулируется. Есть отдельные скрипты для симуляции без телефона делал для предварительного прогона.


      1. domix32
        17.06.2026 21:42

        А как оно до питона из конкретных работ докатывается? через json?


        1. infosave Автор
          17.06.2026 21:42

          Телефон (JavaScript в браузере) → getUserMedia читает камеру → считает метрики прямо в JS → делает HTTP POST на server.py с результатами в JSON → server.py (Python) сохраняет в logs/nvg_poc_v3_*.json.

          То есть Python вообще не трогает камеру. Вся оптика — это JavaScript на телефоне. Python — это просто HTTP-сервер + хранилище состояния + запись логов. Архитектуру я намеренно упростил по максимуму без WebSocket, без фреймворков.


  1. NeverIn
    17.06.2026 21:42

    Засекретитить, развить, захватить мир


  1. Piterssh
    17.06.2026 21:42

    Ты можешь напечатать на 3д принтере из прозрачной смолы массив линзочек с разным фокусом - это и будет матрица умножения.