18+
реклама
18+
Бургер менюБургер меню

Александр X – Контур обречённых (страница 6)

18

За окном, в темноте, занимался новый день. Дождь кончился, но небо ещё не прояснилось — оно только начинало светлеть, как будто кто-то медленно поворачивал регулятор яркости. В лаборатории, которая пока существовала только в виде схем на старых листах бумаги и файлов на ноутбуке, начиналась работа. Долгая. Трудная. Вероятнее всего — безуспешная. Но настоящая.

Где-то в Петербурге, в юридической конторе, Владимир Сергеевич Чегодаев перечитывал копию их схемы, которую попросил оставить «для ознакомления» — разумеется, после того, как они подписали NDA; он был профессионалом и чужих тайн не крал. Он уже знал, что эти четверо — не очередные мечтатели с вечным двигателем. Он знал, что это серьёзно. И он уже начинал продумывать юридическую архитектуру, которая понадобится им не сегодня, не завтра, а через два-три года, когда игра станет по-настоящему крупной. Но это будет потом. Пока — первая заявка, первая поставка, первая строчка кода.

Пока — только начало.

Глава 3. Рождение прототипа: запах озона и горелого текстолита

Три месяца ожидания GaAs-компонентов превратились в три месяца непрерывной работы над программной архитектурой. Это было странное время — как если бы строители храма, заказав мрамор для колонн, вместо того чтобы сидеть сложа руки, начали возводить деревянную модель в натуральную величину: временную, недолговечную, но позволяющую увидеть будущее здание целиком. Кремниевый эмулятор, на котором они отлаживали «Резонатор», был медленным, как почта в девятнадцатом веке, но даже на нём идея, родившаяся на листе бумаги, начала обретать плоть.

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

— Это не стойка, — говорил он каждому, кто заходил в коворкинг. — Это инженерный манифест. Видите эти профили? Они выдерживают двести килограммов нагрузки. А эти кабель-каналы — это не просто пластик, это армированный стекловолокном полиамид. Дорого? Да. Надёжно? Навсегда.

Восьмого октября, во вторник, компоненты наконец пришли. Илья лично поехал на таможенный склад — курьеру он, конечно, доверял, но этот момент обязан был увидеть своими глазами. Три маленькие коробки, обёрнутые антистатической плёнкой, с маркировкой на английском и китайском. Внутри, запаянные в вакуумные пакеты, лежали заказанные кристаллы. Он вёз их в коворкинг как величайшую драгоценность — на пассажирском сиденье, пристёгнутые ремнём безопасности, со скоростью не выше шестидесяти километров в час. Матвей потом шутил, что Илья предохранялся больше, чем при перевозке новорождённого, и это было почти правдой.

Сборка основного прототипа заняла ещё неделю. Это были семь дней, которые никто из участников не забудет никогда. Они работали почти круглосуточно. Ася спала на раскладушке, привезённой из дома (армейская, с панцирной сеткой, неудобная до скрежета в позвоночнике, но своя). Илья припаивал выводы высокочастотных GaAs-микросборок к текстолитовой плате с маниакальной точностью, используя микроскоп, который одолжил у старого приятеля с кафедры физики НГУ. Руки у него дрожали только в первый час — потом включилась мышечная память, и пайка пошла ровно, чисто, без единого «сопляка». Лиза сидела над топологией данных, отлаживая алгоритм струнной компактификации — тот самый, который несколько недель назад существовал только в виде формул в её блокноте, а теперь обретал жизнь в коде. Матвей писал «Контур безопасности» — модуль, который должен был предотвратить галлюцинации системы, ещё не зная, что через много лет именно этот модуль ляжет в основу «Протокола Сократа» и спасёт компанию от политического давления (но это будет потом).

К тринадцатому октября всё было готово. Гибридный вычислитель «Резонатор 0.1» стоял на алюминиевой стойке — уже не перекошенной, а аккуратно выровненной по лазерному уровню (Илья не простил бы себе кривой стойки для настоящего прототипа). Три типа процессоров были соединены оптоволоконными линиями и медными шинами. Фотонный сопроцессор тихо гудел на частоте, близкой к ультразвуку, и этот звук ощущался не ушами, а где-то в костях — низкий, непрерывный, как если бы рядом работала очень тихая турбина. GaAs-чип мерцал контрольными светодиодами. Кремниевый CPU тихо жужжал вентиляторами охлаждения. Микроканальная система, собранная из медицинских капельниц и помпы высокого давления от кофемашины (временное решение, позже заменённое на промышленный насос), прокачивала диэлектрическую жидкость через теплообменник.

— Красиво, — сказала Ася.

— Не то слово, — сказал Илья. — Это самое красивое, что я видел в жизни. А я видел атомный реактор.

— Заводи, — сказал Матвей.

Первый запуск произошёл в два часа ночи. Не по плану — по плану они собирались запускаться завтра утром, на свежую голову. Но около полуночи Илья закончил последнюю проверку контактов, Лиза дописала последний блок кода, Матвей выверил последний параметр конфигурации, и они поняли, что не уснут, даже если попытаются. Ожидание было невыносимее риска.

Коворкинг давно опустел. Дневная смена разошлась по домам. В угловом помещении горел только свет над стойкой. Четверо стояли вокруг неё и смотрели на монитор, на котором отображалась консоль управления «Резонатором».

— Запускаю, — сказал Матвей и нажал Enter.

Первые десять минут ничего не происходило. Метрики стояли на нуле. Фотонный сопроцессор гудел, GaAs-чип светился контрольными диодами, вентиляторы CPU крутились, но на консоли не появлялось ни одной строки. Система молчала.

— Что-то не так, — сказал Илья. — Должна быть хотя бы инициализация.

— Подожди, — сказал Матвей. — Она думает.

— Что значит — думает? Инициализация — это не думание. Инициализация — это «я запустилась, проверяю компоненты, всё ок». Где инициализация?

— Ты ждёшь от неё поведения, как от обычной системы. Она не обычная. Дай ей время.

Прошло ещё пять минут. Илья уже потянулся к осциллографу, чтобы проверить контакты на фотонном интерфейсе, когда метрики начали двигаться.

Это было не плавное движение. Это были волны. Показатели функции потерь, которые у обычной нейросети монотонно снижаются в процессе обучения, здесь пошли кругами — сначала вверх, потом вниз, потом снова вверх, расходящимися концентрическими волнами, как если бы в спокойную воду бросили камень. Потом волны начали сходиться — медленно, неровно, но неуклонно.

— Это не градиентный спуск, — прошептала Лиза. — Это вообще не градиентный спуск.

— А что? — спросила Ася.

— Это релаксация, — сказал Матвей. — Как жидкость находит уровень. Сначала плещется, потом успокаивается. Она не минимизирует ошибку. Она минимизирует удивление.

Метрики продолжали сходиться. Через сорок минут после запуска показатели стабилизировались на уровне, который для обычной нейросети считался бы провалом — функция потерь была в несколько раз выше, чем у стандартных моделей. Но это была не та функция потерь. Это было что-то другое — мера внутреннего равновесия, которая не имела прямого аналога в классическом машинном обучении.

— Она готова, — сказал Матвей. — Давайте дадим ей первую задачу.

Первой задачей была логистическая оптимизация для склада автозапчастей в промзоне Новосибирска. Владелец склада, Сергеич, бывший однокурсник Ильи по техникуму, согласился предоставить данные за ящик пива — без всякой надежды на результат, просто из дружеского расположения. Задача звучала просто: оптимизировать маршруты трёх погрузчиков так, чтобы минимизировать суммарный пробег при обработке заказов за смену. Классическая задача коммивояжёра, умноженная на три, с дополнительными ограничениями по времени и совместимости грузов. Для человека — головоломка на полдня. Для обычного софта — перебор вариантов с эвристиками. Для «Резонатора» — тест на способность находить аттракторы в пространстве решений.

Лиза загрузила данные. «Резонатор» принял их и замолчал — на этот раз осознанно, с индикатором «идёт обработка». Через одиннадцать минут он выдал результат.

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

— Это неправильно, — сказал он наконец. — Вот тут погрузчик едет не туда, где товар лежит, а в обход. Через третий стеллаж, потом мимо второго, потом разворачивается и только тогда к товару. Какого чёрта?

Матвей и Илья переглянулись.

— А вы проверьте, — сказала Лиза. — Пересчитайте.

Палыч ещё раз посмотрел на схему, потом — на распечатку складской карты, которую привёз с собой. Взял ручку и начал считать на бумаге. Считал долго — минут десять. Потом поднял голову, и лицо у него было, как у человека, который увидел, что вода течёт вверх.