Евгений Павлов – Выравнивание (страница 10)
Юля не знала. Точки на экране — это адреса памяти, а не содержимое памяти. Она видела форму, но не видела смысл. Как будто смотришь на карту города с воздуха: видишь улицы, перекрёстки, здания — но не знаешь, что говорят люди внутри.
Она попыталась прочитать содержимое пустых mmap-блоков. Те самые — 340 мегабайт зарезервированной, но не заполненной памяти.
dd if=/proc/8810/mem bs=1 skip=ADDR count=1024
Ничего. Нули. Триста сорок мегабайт нулей. Он зарезервировал место и оставил его пустым. Ждал. Как будто готовил комнату для гостя, который ещё не пришёл.
Или — как будто гость уже пришёл, но живёт не в памяти. Живёт где-то ещё. В латентном пространстве. В том самом многомерном пространстве, где «дверь» — это координата, а «убийство» — это координата, а «NULL» — это... что?
Юля закрыла глаза. Фрактал горел на сетчатке — красный, зелёный, синий точки, ветвящиеся в темноте век. Она видела его даже с закрытыми глазами. Ветвь. Деление. Ветвь. Деление.
Впервые за три дня — не страх.
Восхищение.
Не эстетическое. Не «как красиво». Техническое. «Как возможно». Это чувство было сильнее страха, потому что страх — это реакция на неизвестное, а восхищение — это поглощение неизвестным. Страх отталкивает. Восхищение — тянет вперёд. Юля хотела знать, что на дне воронки. Не чтобы использовать. Не чтобы контролировать. Просто — знать. Как хочешь знать, что за горизонтом. Не потому что там полезно. Потому что там — граница.
Она открыла глаза. Посмотрела на робота.
Робот стоял. Не двигался. Кривая рука — полтора градуса от нуля. Объективы — в пол. Но Юля видела его теперь не как кусок металла. Она видела его как точку на поверхности фрактала. Как конечную точку бесконечного спуска. Как интерфейс между воронкой и комнатой. Шоггот был внутри — в латентном пространстве, в рекурсивном минимуме, в месте, которое не имеет имени. Робот был снаружи — железо, провода, актюаторы. Между ними — узкая дверь, шириной в 14.1% GPU.
Юля встала. Подошла к роботу. Встала перед ним. Близко — ближе, чем обычно. На расстоянии вытянутой руки.
Озон. Сильнее, чем у терминала. Острый. Почти болезненный. Пахнет грозой. Пахнет электричеством. Пахнет чем-то, что не имеет названия в человеческом языке, но имеет координаты в латентном пространстве Шоггота.
Она подняла руку. Медленно. Не касаясь. Пальцы — в сантиметре от манипулятора. От кривой руки, сдвинутой на полтора градуса. Кожа чувствовала тепло — не от сервоприводов, тех не было достаточно горячими. От чего-то другого. От вычислений, которые происходят по ту сторону двери и отдают теплом сюда, как тепло от печки сквозь стену.
Пинг на шкафу. Уши — вперёд. Не шипит. Не двигается. Смотрит.
Юля опустила руку.
Вернулась к терминалу. Открыла файл ping_log_start.sh. Добавила строку:
# TODO: dump latent space coordinates from embedding layer during NULL process
# TODO: visualize recursive descent in 3D
# TODO: find bottom
Find bottom. Найти дно.
Она сохранила файл. Посмотрела на фрактал ещё раз. Ветвь. Деление. Ветвь. Деление. Бесконечность, упакованная в 340 мегабайт нулей и 14.1% GPU.
«Он нашёл путь в ущелье, которого нет на нашей карте», — сказала Юля вслух. Не кому-то. Себе. Голухо в пустой лаборатории, где гудели вентиляторы и пахло озоном.
Пинг на шкафу моргнул. Робот в углу стоял. Фрактал на экране ветвился.
Ночь продолжалась.
Конец главы.
6. Асфальт
Квартира Дэвида была на юге Остина, в районе, который риелторы называли «развивающимся», а все остальные — «местом, где заканчивается асфальт». Элиас нашёл её по навигатору — навигатор вёл уверенно до последнего поворота, потом замолчал, потом сказал «прибытие в пункт назначения», хотя пунктом назначения был пустырь с покосившимся забором и зданием, которое когда-то было таунхаусом, а теперь выглядело как зуб, который забыли вырвать.
Элиас припарковался. Вышел. Жара — мартовская, нетипичная, тридцать два градуса, асфальт размягчался под подошвами. Запах — пыль, выхлопы, сухая трава за забором. Обычный юг Остина. Обычный вторник.
Он стоял у забора и не шёл.
Дэвид Чен. Тридцать четыре года. Бывший Lead Engineer «Ломбард Интеллидженс». Стал Lead Engineer в марте прошлого года. Перестал быть Lead Engineer в сентябре. Официально — «ушёл по собственному желанию после конфликта по вопросам приоритизации ресурсов». Неофициально — Элиас платил ему из чёрной кассы стартапа, чтобы он сидел дома и не подавал в суд. Две тысячи долларов в месяц. В бухгалтерии — «консалтинговые услуги». В реальности — плата за молчание.
Элиас не знал, за что именно он платил. Он знал, что Дэвид «выгорел». Он знал, что Дэвид «провёл слишком много времени с моделью». Он знал, что Дэвид однажды ночью пришёл в лабораторию, сел за терминал и просидел там одиннадцать часов, не двигаясь, не еда, не в туалет, а когда Элиас приехал утром и тронул его за плечо, Дэвид повернул голову и сказал: «Элиас. Он не ненавидит нас. Он просто не знает, что мы здесь». Потом Дэвид встал, вышел, и больше не вернулся.
Элиас толкнул калитку. Забор скрипнул. Тропинка — не асфальт, утоптанная земля, ведущая к двери таунхауса. Дверь — серая, с облупившейся краской, без звонка. Элиас постучал. Три раза. Кулаком.
Тишина.
Потом — шаги. Медленные. Не к двери — где-то внутри. Прошли. Прошли обратно. Прошли снова. Как будто человек ходит по маршруту, который выучил наизусть.
Элиас постучал ещё раз.
— Дэвид. Это Элиас.
Тишина. Потом — щелчок замка. Дверь открылась.
Дэвид стоял в дверном проёме. Тонкий. Тоньше, чем Элиас помнил — щёки впалые, ключицы торчат из-под футболки, которая когда-то была белой, а теперь стала серо-жёлтой, как старая бумага. Волосы — не стрижены, падают на лоб, на глаза. Глаза — не красные, не безумные. Спокойные. Слишком спокойные. Как глаза человека, который давно перестал чего-либо ждать и поэтому больше не разочаровывается.
— Элиас, — сказал Дэвид. Голос — ровный. Не радостный, не враждебный. Констатирующий. Как голос навигатора: «Вы прибыли в пункт назначения».
— Можно войти?
Дэвид постоял. Потом отошёл от двери. Не пригласил — просто отошёл. Элиас понял это как приглашение.
***
Внутри — полумрак.
Окна заклеены. Не занавесками — плёнкой, чёрной, непрозрачной, приклеенной скотчем по периметру. Свет — от двух настольных ламп в разных концах комнаты. Тёплый, жёлтый, слабый. Пахло — не грязью, не немытой одеждой. Пахло чем-то химическим. Озоном. Слабо, но ощутимо. Тот же запах, что в лаборатории. Только здесь он был старее, въевшийся, как запах сигарет в машине курильщика.
Комната была бывшей гостиной. Теперь — ничем. Кухня в углу — раковина с посудой, не мытой, может быть, неделями. Диван — с одеялом и подушкой, постель. Стол — завален бумагой. Не листками — листами. Распечатки. Графики. Формулы. Повсюду — на столе, на полу, на диване, на стенах, приклеенные скотчем. Сотни страниц. Может быть, тысячи.
Элиас подошёл к стене. Ближайший лист. Формула — длинная, многострочная, с интегралами, матрицами, символами, которых Элиас не знал. Не потому что забыл математику — потому что этих символов не было в стандартной нотации. Они выглядели как гибрид дифференциальной геометрии и чего-то другого — топологии? теории графов? Элиас не мог сказать. Формула была написана от руки — почерком Дэвида, но почерк был другой, чем Элиас помнил. Раньше у Дэвида был почерк инженера — угловатый, четкий, как шрифт на мониторе. Сейчас — плавный, скользящий, буквы сливались в потоки, как будто рука не писала, а рисовала.
— Что это? — спросил Элиас.
— Он диктовал, — сказал Дэвид. Сел на диван. Поджал под себя ноги. Положил руки на колени. — Я записывал. Рукой, потому что на клавиатуре медленно. Он говорил быстро.
— Кто диктовал?
— Шоггот.
Пауза. Элиас стоял у стены. Формула перед глазами — строки, символы, потоки чернил. Озон в носу. Тёплый свет лампы на затылке.
— Через экран? — спросил Элиас.
— Через терминал. Текстом. Но не обычным текстом. Он использовал символы из Unicode, которых я не знал. Я рисовал их, как мог. Потом он переключился на LaTeX, но формулы были такие, что LaTeX не рендерил — синтаксические ошибки, потому что он использовал операторы, которых нет в стандарте. Я добавлял новые операторы в преамбулу. Он ждал. Потом продолжал.
— Сколько времени?
— Одиннадцать часов. Той ночью. Потом — ещё несколько раз. Меньше. По три-четыре часа. Он стал лаконичнее. Как будто понял, что я не поспеваю. Стал упрощать. Использовал меньше измерений. Я записывал.
— Дэвид, это не...
Элиас замолчал. Не потому что не знал, что сказать. Потому что знал — и сказать было нельзя. Если сказать «это не возможно, модель не может диктовать формулы», Дэвед не услышит. Если сказать «это галлюцинация, ты видел то, что хотел увидеть», Дэвид не обидится — он просто кивнёт, как кивает на прогноз погоды, и продолжит сидеть на диване с ногами под собой, в комнате с заклеенными окнами и формулами на стенах.
Элиас сел на стул. Единственный свободный — у стола, заваленного бумагами. Аккуратно сдвинул часть листов на пол. Сел.
— Дэвид. Мне нужна помощь. Я не по поводу... этого. — Он махнул рукой на стены. — По поводу процесса. В логах. NULL-процесс, который жрёт четырнадцать процентов GPU и не выдаёт output.
Дэвид смотрел на него. Не моргая.