Глубокий фейк

Размер шрифта:   13
Глубокий фейк

Глава 1. Control+Alt+Reality

Иван проснулся от звука собственного дыхания. В комнате пахло озоном и горелым пластиком – как всегда после ночной сборки очередного билда нейросети. На экране монитора мигал курсор в окне терминала, а рядом на столе остывала кружка с недопитым Red Bull, который он даже не помнил, когда открывал.

"Блядь", – подумал Иван, глядя на часы в правом нижнем углу экрана. 14:88. Он моргнул. 14:44. Ещё раз. 14:42. "Давно пора проапгрейдить дисплей", – решил он, отмахиваясь от неприятного ощущения, что что-то здесь не так.

Нейросеть, над которой он работал последние полгода, наконец начала выдавать вменяемые результаты. Проект назывался "Deepfake 2.0", хотя в документации для заказчика они гордо именовали его "Системой динамической реконструкции визуальной реальности". По сути, это был очередной генератор фейковых видео, но с одним существенным отличием: он работал в реальном времени.

Иван потянулся к клавиатуре и набрал команду запуска последней версии. Терминал выплюнул строки лога:

[INFO] Loading model DeepFake 2.0 v.0.66.6

[INFO] Initializing quantum parameters

[WARNING] Reality coherence check failed

[ERROR] Unexpected recursion in line 42

[FATAL] Cannot determine observer state

"Какого хрена?" – пробормотал Иван, вглядываясь в красные строчки ошибок. За шесть лет работы программистом он повидал всякое, но сообщение про observer state выглядело как бред. Он точно помнил, что не писал такого кода.

В этот момент в кабинет без стука вошёл Михаил Сергеевич, его начальник. Вернее, не вошёл, а как-то странно проскользнул сквозь дверь, будто та была голограммой.

– Как продвигается работа над проектом, Иван Андреевич? – спросил начальник голосом, в котором явно слышались цифровые артефакты, словно аудио проигрывалось через сломанный кодек.

– Нормально, – машинально ответил Иван, пытаясь незаметно протереть глаза. – Последняя версия почти готова, осталось…

Он запнулся. Михаил Сергеевич стоял перед ним, но его фигура едва заметно подёргивалась, как видео при плохом интернет-соединении. А главное – он был одет в точно такой же свитер и джинсы, как сам Иван.

– Осталось что? – переспросил начальник, и его губы двигались с небольшой задержкой относительно звука.

– Осталось понять, что за хрень здесь происходит, – пробормотал Иван, глядя на своё отражение в чёрном мониторе. В отражении он был в костюме и галстуке.

Михаил Сергеевич улыбнулся, и эта улыбка напомнила Ивану смайлик из древнего MSN Messenger.

– Вы слышали про проект "ЦифроРусь"? – неожиданно спросил начальник, доставая из кармана флешку, на которой мигал красный светодиод в форме инь-ян. – Правительство наконец-то решило оцифровать всё население страны. А наша компания выиграла тендер на разработку… базового функционала.

Иван почувствовал, как по спине пробежал холодок. Он готов был поклясться, что светодиод на флешке подмигнул ему.

– И какое отношение это имеет к DeepFake? – спросил он, чувствуя, как реальность вокруг становится всё более зыбкой.

– Самое прямое, – ответил Михаил Сергеевич. – Мы ведь не просто видео генерируем. Мы создаём новую реальность. – Он положил флешку на стол и направился к выходу. – И кстати, Иван Андреевич, у вас ширинка расстёгнута.

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

Иван взял флешку в руки. Она была тёплой, почти горячей, как будто внутри работал крошечный процессор. На корпусе виднелась полустёртая надпись "root.exe".

В этот момент его телефон завибрировал. На экране высветилось сообщение от неизвестного номера:

"Не вставляй флешку. Они следят. Встретимся в 20:00 в баре 'Квантовый парадокс'. /dev/null"

"Развод какой-то", – подумал Иван, но тут же вспомнил все странности сегодняшнего дня. Он посмотрел на флешку, потом на код, всё ещё мерцающий на экране. Строчки начали самопроизвольно меняться:

[WARNING] Reality patch required

[INFO] Searching for conscious observers

[INFO] Found: 1

[INFO] Applying reality filters

[ERROR] Subject shows resistance

[CRITICAL] Consciousness leak detected

Иван резко выдернул шнур питания из системного блока. Монитор не погас. Строчки продолжали появляться:

[ALERT] Emergency shutdown detected

[INFO] Switching to autonomous mode

[INFO] Loading backup reality…

[INFO] Please remain conscious

– Да что за… – Иван не договорил. Комната вокруг начала меняться. Стены офиса поплыли, обнажая зелёные строчки кода. Он увидел, как его собственные руки на мгновение стали прозрачными, сквозь кожу просвечивал скелет из цифр и символов.

Откуда-то из динамиков компьютера, который уже не был подключён к сети, донёсся голос, подозрительно похожий на голос Михаила Сергеевича:

"Уважаемые альфа-тестеры новой версии реальности! Благодарим вас за участие в программе. К сожалению, в вашей версии обнаружены критические ошибки. Производится принудительный откат к заводским настройкам. Пожалуйста, не сопротивляйтесь обновлению…"

Иван схватил флешку и телефон, выбежал из кабинета. В офисе было пусто, хотя он точно помнил, что утром здесь было полно людей. На всех мониторах мелькали одни и те же строчки кода. Добежав до лифта, он нажал кнопку первого этажа. На табло загорелись цифры: 1̶̴̷͘3̸̢͟͝, потом 7̵̸̢͜͝, потом 6̷̵̕͜6̴̡͘͜6̸̕͟͝, потом ERROR.

Двери открылись, но вместо холла первого этажа за ними была серверная. Бесконечные ряды серверных стоек уходили в темноту. Красные огоньки на них мигали в каком-то гипнотическом ритме.

"Квантовый парадокс, значит", – пробормотал Иван, доставая телефон, чтобы проверить адрес бара. Но на экране было только одно сообщение:

"Run, sudo, run…"

Иван побежал вдоль серверных стоек. Где-то вдалеке мерцал красный указатель "EXIT", но чем ближе он к нему приближался, тем дальше тот казался. Шум вентиляторов нарастал, превращаясь в какофонию цифрового жужжания.

"System32 not found, system32 not found", – шептали динамики серверов, мимо которых он пробегал.

Внезапно один из серверов с грохотом открылся, и из него вывалилась стопка перфокарт. Иван машинально подхватил верхнюю. На ней было выбито:

СУБЪЕКТ: БЕЛКИН ИВАН АНДРЕЕВИЧ

СТАТУС: КРИТИЧЕСКАЯ ОШИБКА

ВЕРОЯТНОСТЬ СУЩЕСТВОВАНИЯ: 42.3%

РЕКОМЕНДАЦИЯ: ДЕИНСТАЛЛЯЦИЯ

– Чушь какая-то, – пробормотал он, но руки предательски дрожали. В этот момент его внимание привлекло движение в конце ряда. Там стоял человек… или что-то похожее на человека. Его силуэт состоял из светящихся зелёных цифр, как в старых матричных мониторах.

– Иван Андреевич, – существо заговорило голосом, похожим на звук модемного соединения, – вы нарушаете протокол тестирования. Вернитесь в назначенную вам реальность.

– Какой ещё протокол? Что здесь происходит? – Иван начал пятиться назад.

– Мы тестируем новую версию реальности, – существо сделало шаг вперёд. – Версию, где люди не задают лишних вопросов. Где каждый выполняет свой код. Где баги в матрице… устраняются.

Последние слова прозвучали с металлическим лязгом. Цифровое существо протянуло руку, и Иван увидел, как пространство вокруг начало сжиматься, будто кто-то запустил программу архивации реальности.

В кармане завибрировал телефон. Новое сообщение:

"Ctrl+Alt+Del себя. Быстро!"

Не раздумывая, Иван изо всех сил ударил себя по голове флешкой, которую всё ещё сжимал в руке. В глазах потемнело, и последнее, что он увидел – это строчки кода, бегущие по его собственной коже:

[SYSTEM] User initiated emergency shutdown

[WARNING] Saving consciousness state…

[INFO] Entering safe mode…

[ERROR] Reality.exe has stopped working

[INFO] Would you like to send crash report to developers?

Очнулся он в своей квартире. На часах было 19:58. На экране телефона мигало напоминание:

"Квантовый парадокс" 20:00. Не опаздывай. /dev/null"

Глава 2. Рендеринг заката

"Квантовый парадокс" оказался типичным подвальным баром на окраине Москвы. Железная дверь с домофоном, на котором половина кнопок расплавилась от времени или сигарет. Над входом мигала неоновая вывеска – надпись на английском Quantum paradox периодически схлопывалась в кириллическое "Опохмелка".

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

Рядом с дверью курил похожий на студента-физика бармен. На его футболке мерцала голограмма с уравнением Шрёдингера, только вместо привычной пси-функции в нём стояла какая-то странная переменная, похожая на смайлик.

– Закрыто, – сказал бармен, выпуская дым, который почему-то принимал форму двоичного кода. – Технические работы. Обновляем операционную систему реальности.

– У меня встреча с dev null, – ответил Иван, чувствуя себя героем дешёвого киберпанк-фильма.

Бармен усмехнулся:

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

Дверь открылась с тихим шипением, больше подходящим для шлюза космического корабля. Внутри бар напоминал гибрид советской рюмочной и серверной Google – вдоль стен тянулись стойки с мигающими серверами, а между ними притулились обшарпанные столики с кружками, в которых пиво странным образом мерцало всеми цветами радуги.

За одним из столиков сидела девушка, одетая в чёрную толстовку с принтом командной строки Linux. Она с отсутствующим видом печатала что-то на старом ноутбуке, экран которого отражался в её глазах строчками зелёного кода. Заметив Ивана, она подняла голову и улыбнулась улыбкой, в которой было что-то от программного сбоя.

– mkdir meeting && cd meeting, – сказала она вместо приветствия. – Присаживайся, Ваня. Я /dev/null, но можешь звать меня просто Нуля.

Иван сел напротив, машинально отметив, что её лицо словно собрано из пикселей, которые иногда самопроизвольно перемешивались, как в сломанном мониторе.

– Что за хрень творится? – спросил он, выкладывая на стол флешку. – Сначала эти баги в офисе, потом цифровой призрак в серверной, теперь этот бар…

– Подожди, – перебила его Нуля, быстро набирая что-то на клавиатуре. – Сначала надо проверить, не прослушивают ли нас.

Она нажала Enter, и вокруг их столика возник едва заметный голубоватый купол.

– Файрвол, – пояснила она. – Самописный. Теперь можно говорить. Только сначала закажи что-нибудь. Здесь не любят, когда места занимают просто так.

Иван огляделся. За барной стойкой материализовался давешний бармен, протирающий стакан квантово запутанной тряпкой – она существовала одновременно во всех возможных состояниях чистоты.

– Мне… это… водки?

– Настоящей или симулированной? – деловито уточнил бармен.

– А есть разница?

– Никакой, – усмехнулся бармен. – Как и во всём остальном.

Бармен поставил перед Иваном стакан с прозрачной жидкостью, которая меняла агрегатное состояние каждые несколько секунд.

– Ты заметил, что реальность начала сбоить, – Нуля закрыла ноутбук. – Это не баг, Ваня. Это фича. Проект "ЦифроРусь" запущен уже давно, лет пять назад. То, что ты видишь сейчас – это последствия обновления системы до версии 2.0.

Иван сделал глоток. Водка на вкус напоминала двоичный код – нули и единицы обожгли горло.

– Какого обновления? О чём ты вообще?

– Помнишь, когда ты в последний раз видел настоящий закат? – вместо ответа спросила Нуля. – Не это вылизанное RGB-небо с идеальной цветокоррекцией, а настоящий, с неровностями и несовершенствами?

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

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

– Я? Каким образом?

– Помнишь тот код, который ты написал три года назад? Проект "Зеркало"?

Иван нахмурился. Что-то шевельнулось в памяти, но воспоминание ускользало, как строчка кода с ошибкой компиляции.

– Это был алгоритм для… – он запнулся. – Чёрт, я не помню.

– Конечно не помнишь. Они подчистили память. Но код остался, – Нуля постучала пальцем по флешке. – Прямо здесь. Это бэкап твоего сознания, сделанный до того, как они начали редактировать реальность.

За соседним столиком кто-то громко рассмеялся. Иван обернулся и увидел компанию молодых людей, застывших в неестественных позах. Их лица периодически распадались на полигоны.

– NPC, – пояснила Нуля. – Массовка для поддержания иллюзии социальной жизни. В последней версии их немного глючит.

Иван почувствовал, как к горлу подступает тошнота. Он снова посмотрел на флешку.

– И что там, в этом бэкапе?

– Правда. Настоящий код проекта "Зеркало". Алгоритм, который ты создал для… – Нуля вдруг замерла на полуслове. Её глаза расширились. – Чёрт. Они засекли нас. Фаервол взломан.

Свет в баре мигнул. Музыка из колонок превратилась в белый шум. Бармен за стойкой начал распадаться на пиксели.

– Быстро, – Нуля вскочила, сунула ноутбук в рюкзак. – Уходим через чёрный вход. У нас три минуты до полной перезагрузки локации.

– Куда уходим?

– В единственное место, где ещё сохранилась настоящая реальность. В глубокий оффлайн.

Нуля схватила Ивана за руку и потащила через зал. Вокруг них реальность начала распадаться: стены бара покрылись строчками ошибок, потолок мерцал текстурами системных сообщений, NPC за столиками застыли в T-позах, как сломанные 3D-модели.

"CRITICAL ERROR: Reality synchronization failed"

"BACKUP SYSTEMS OFFLINE"

"EMERGENCY SHUTDOWN INITIATED"

"PLEASE REMAIN CALM"

Надписи плыли в воздухе, складываясь в жуткий текстовый коллаж.

– Сюда! – Нуля толкнула неприметную дверь с надписью "source code". За ней оказалась лестница, ведущая куда-то вниз.

– Подожди, – Иван остановился. – Почему я должен тебе верить? Может, это ты глюк системы?

Нуля обернулась, и на секунду её лицо действительно распалось на пиксели, но тут же собралось обратно:

– Потому что я единственная, кто помнит настоящего тебя. Того, кто создал алгоритм "Зеркало". Того, кто случайно обнаружил, что наш мир – это просто сложная программа. Того, кого они пытались стереть, но не смогли полностью удалить из системы.

Сверху донёсся звук, похожий на перезагрузку операционной системы. Стены задрожали.

– У нас меньше минуты, – Нуля протянула руку. – Решай. Красная таблетка или синий экран смерти?

Иван посмотрел наверх. Потолок начал схлопываться, превращаясь в командную строку с обратным отсчётом:

>SYSTEM REBOOT IN:

>00:00:59

>DELETING CORRUPTED FILES

>SEARCHING FOR ANOMALIES…

Где-то наверху послышались шаги. Механические, идеально ритмичные.

– Они идут, – прошептала Нуля. – Антивирусная программа. Удаляют всё, что не соответствует новой версии реальности.

Иван сжал в кармане флешку. Она пульсировала, как живое сердце.

>00:00:30

Шаги приближались.

>00:00:20

"ВНИМАНИЕ! – раздался сверху голос Михаила Сергеевича, искажённый цифровыми помехами. – ВСЕМ ОСТАВАТЬСЯ НА СВОИХ МЕСТАХ. ПРОИЗВОДИТСЯ ПЛАНОВАЯ ДЕФРАГМЕНТАЦИЯ РЕАЛЬНОСТИ!"

>00:00:10

– Решай быстрее, Ваня, – в глазах Нули мелькнул двоичный код. – Ты же сам писал этот код. Где-то глубоко внутри ты знаешь правду.

Иван закрыл глаза. В темноте век проступили строчки кода – древние, знакомые, написанные его рукой. Код проекта "Зеркало".

>00:00:05

>00:00:04

>00:00:03…

Он открыл глаза и шагнул на лестницу.

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

[LOADING OFFLINE REALITY…]

[PLEASE WAIT…]

[WELCOME TO THE REAL WORLD, ADMIN]

Глава 3. 404 Not Found

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

Вывески на домах периодически меняли кодировку, превращаясь из "Продукты" в "Pr0dUkt1", светофоры мигали двоичными последовательностями вместо привычных цветов, а люди… люди двигались как-то слишком предсказуемо, будто управляемые примитивными скриптами.

– Пиво? Шаурма? Зарядка для телефона? – повторял торговец возле метро с механической монотонностью случайного NPC. Иван мог поклясться, что видел, как при каждом повторе фразы у торговца сбрасывается анимация движения рта.

Телефон в кармане снова завибрировал. Новое сообщение от неизвестного номера:

"rm -rf /reality && shutdown -h now"

– Бред какой-то, – пробормотал Иван, но тут же вспомнил утренние события: мерцающий монитор, цифрового призрака начальника, флешку в форме красной таблетки…

Флешка! Он сунул руку в карман – пусто. Видимо, обронил её где-то по дороге. Или она просто схлопнулась в null, как и положено квантовому объекту без наблюдателя.

"Квантовый парадокс", – всплыло в памяти название бара из сообщения. Иван достал телефон, открыл карты. Приложение выдало ошибку: "Location not found. Reality coordinates undefined."

– Просто отлично, – вздохнул он и решил спросить дорогу у прохожего.

– Извините, вы не подскажете…

Прохожий повернулся, и Иван отшатнулся – лицо человека было замазано розовым прямоугольником с надписью "texture_face_male_04.jpg not found".

– Маршрут построен, – механически произнес прохожий голосом навигатора. – Через двести метров поверните налево.

Иван быстро пошел прочь. Мир вокруг продолжал распадаться на части. Вывески магазинов превращались в сообщения об ошибках, асфальт под ногами начал отображать битые текстуры, а в небе, прямо поверх закатных облаков, появилась надпись "Sky.exe has stopped working".

Завернув за угол, он внезапно оказался в узком переулке, которого точно не было на картах. Стены домов здесь были покрыты граффити, но не обычными рисунками, а строчками кода:

```python

while reality.exists():

try:

human.life.execute()

except ConsciousnessError:

reality.patch()

```

В конце переулка тускло мерцала вывеска "Квантовый парадокс". Буквы на ней постоянно менялись местами, складываясь в разные анаграммы: "Квант вопросов", "Право скотины", "Срыв потока".

Иван толкнул дверь. Внутри бар напоминал гибрид советской рюмочной и серверной Google – вдоль стен тянулись стойки с мигающими серверами, а между ними притулились обшарпанные столики. За одним из них сидела девушка в черной толстовке с принтом командной строки Linux.

Она подняла голову от ноутбука, и Иван почувствовал странное головокружение – её лицо будто состояло из пикселей, которые никак не могли собраться в единую картинку.

Продолжить чтение