
Полная версия
Жизнь в режиме отладки 1
Я почувствовал, как внутри что-то дрогнуло.
Анализ больших данных. Геофизика. Аномалии. Это звучало именно так, как я всегда хотел. Не очередная база для «КанцПарка», а что-то действительно масштабное, наукоемкое.
– Объем данных там, я вам скажу, – Влад покачал головой, – просто колоссальный. Сотни гигов информации, собранных за последние лет двадцать. Так что работы хватит всем. Мелкие задания я разнесу по исполнителям в таск-трекере, а основную скрипку, я думаю, будет играть наш Алексей. Ты же у нас спец по большим данным и всяким там нейросетям? Вот тебе и карты в руки. Нужно будет все это структурировать, почистить, найти какие-то закономерности. В общем, показать класс. Справишься?
Он посмотрел на меня с надеждой.
И я понял, что это мой шанс. Шанс наконец-то заняться тем, что мне действительно может быть интересно. Отвлечься от личных проблем, от Маши, от этой давящей рутины. Погрузиться с головой в сложную, но увлекательную задачу.
– Справлюсь, конечно, – сказал я, стараясь, чтобы голос звучал уверенно. – Когда приступать?
– Да хоть прямо сейчас! – обрадовался Влад. – Данные они нам уже передали – на нескольких внешних дисках. Документы все подписаны, НДА, договоры, секретка, все такое. Катя сейчас все подготовит, подпишешь и получишь доступ к серверу. И, главноеЮ КанцПарк как раз запросил отложить встречу – у них там какие-то пертурбации, смена управляющего состава. Так что, как говорится, вперед, на покорение геофизических вершин! Я в вас верю, ребята! Не подведите!
Он с улыбкой оглядел нас, снова хлопнул меня по плечу, и на этот раз я даже не поморщился.
Наоборот, я почувствовал какой-то давно забытый прилив энтузиазма. Как будто мне снова было восемнадцать, и я только что поступил в ИТМО, полный радужных надежд и веры в безграничные возможности науки.
«Государственная Геофизическая Экспедиция Северо-Запада». Звучит немного заумно.
Ну что ж, посмотрим, какие тайны скрываются в их «аномальных пиках данных».
По крайней мере, это точно будет интереснее, чем оптимизировать логистику для продажи скрепок.
И уж точно поможет мне не думать о Маше.
Хотя бы на какое-то время.
***
Доступ к данным от «ГГЭСЗ» я получил ближе к обеду.
Пришлось подписать еще несколько документов принесенных Катей, в том числе, вроде бы, и по гособразцу. Она сообщила, что мои данные уже отправлены заказчику, не пугаться, если мне будут писать или звонить лично по этому вопросу.
Получив доступ к серверу, я аж присвистнул. С такими объемами данных мне еще не приходилось работать. Количество файлов и структура вложений действительно впечатляли.
– Удачи, Стаханов, – хихикнула Катя, забирая последний подписанный документ. – Если что, зови. Принесу еще кофе. Или валерьянки.
– Катюш, спасибо! – усмехнулся я. – Но постараюсь обойтись кофе. Хотя, кто знает, что там внутри этих «геофизических» сокровищ.
Первые несколько часов ушли на то, чтобы просто разобраться, что к чему.
Данные были представлены в самых разных форматах – от бинарных файлов с непонятной структурой до гигантских текстовых логов, которые, казалось, не имели ни начала, ни конца. Все это было свалено в одну кучу, без какой-либо внятной документации или описания. Как будто кто-то просто скопировал содержимое всех своих компьютеров за последние двадцать лет и отправил нам со словами:
«Ну, вы там сами разберитесь».
Я вздохнул. Похоже, «интересная задача» начиналась с банальной, но очень трудоемкой работы по приведению этого хаоса в хоть какой-то удобоваримый вид. Пришлось писать кучу скриптов для парсинга файлов, конвертации форматов, очистки от «мусора» – пропущенных значений, ошибочных записей, дублирующихся данных.
Мозг скрипел, как несмазанная телега, но я упорно двигался вперед, гигабайт за гигабайтом продираясь сквозь эти информационные джунгли.
К вечеру первого дня я более-менее разобрался со структурой данных и смог загрузить первую порцию в нашу аналитическую систему.
На экране замелькали графики, таблицы, диаграммы. Сейсмическая активность, электромагнитные колебания, температура на разных глубинах, химический состав проб воздуха и воды. На первый взгляд – ничего необычного. Стандартный набор параметров, которые могли бы регистрировать практически любые датчики. Я начал проводить первичный статистический анализ, искать какие-то общие тренды, сезонные колебания, корреляции между разными показателями.
Но чем глубже я погружался в эти данные, тем сильнее становилось какое-то смутное беспокойство.
Что-то здесь было не так.
Во-первых, некоторые значения выглядели откровенно странными.
Например, были зафиксированы резкие, кратковременные скачки температуры в определенных точках, которые не могли быть объяснены никакими известными природными процессами. Или внезапные изменения электромагнитного фона, которые возникали как будто из ниоткуда и так же внезапно исчезали. Я сначала списывал это на ошибки датчиков – при таком объеме данных и таком длительном периоде наблюдений это было бы неудивительно. Но таких «ошибок» было слишком много, и они, как мне показалось, имели какую-то… систему.
Во-вторых, некоторые параметры, которые, по идее, должны были быть независимыми друг от друга, демонстрировали странные, необъяснимые корреляции.
Например, всплеск сейсмической активности в одной точке мог почти синхронно сопровождаться изменением ионного состава атмосферы за сотни километров от этого места. Или фазы луны почему-то влияли на частоту появления каких-то непонятных низкочастотных вибраций, регистрируемых глубинными датчиками.
Даже не возникало сомнений, что никто не заметил бы такие связи просто перебирая данные, с такими объемами могла справится только нейросетка, которая все эти дни нагружала нашу серверную под завязку.
Я проверял и перепроверял свои расчеты, искал возможные ошибки в алгоритмах, но результат оставался тем же. Связь была. Слабая, не всегда очевидная, но статистически значимая.
Я показал пару таких «странных» графиков Владу.
Он посмотрел на них, почесал в затылке.
– Ну, да, интересно, – сказал он. – Наверное, какие-то помехи. Или аппаратура у них там барахлит. Ты это, Лёш, сильно не закапывайся в эти дебри. Нам главное – общую картину дать, основные тренды. А эти их флуктуации. Ну, упомянешь в отчете как «необъяснимые аномалии», и хватит с них. Не наша это головная боль – разбираться, почему у них там датчики глючат. Нужно структурировать, разобрать по полочкам, дать общую сводку и сдать заказ. Давай, даю тебе две недели на подготовку проекта к сдаче.
Я кивнул, но слова Влада меня не убедили.
«Необъяснимые аномалии». Что-то в этом словосочетании зацепило меня. Я вспомнил ту статью из интернета, которую читал пару дней назад. Там тоже говорилось про «аномальные энергетические всплески» и «необъяснимые явления». Конечно, это было чистой воды совпадение. Но…
Я продолжал работать.
Большую часть времени я занимался подготовкой к сдаче проекта, а все свободно время посвящал анализу аномалий.
Дни сливались в недели. Я почти не вылезал из офиса, задерживался допоздна, иногда даже приходил по выходным.
Маша несколько раз звонила, спрашивала, как у меня дела, предлагала встретиться. Но я под разными предлогами отказывался. Мне было не до нее. Да и о чем нам было говорить? О том, что я нашел в каких-то геофизических данных странные корреляции, которые не могу объяснить? Она бы просто не поняла. Или решила бы, что я окончательно свихнулся на своих «циферках».
К концу первой недели я выполнил основную часть технического задания.
Подготовил все отчеты, которые требовал Влад. Построил графики «основных трендов», рассчитал «сезонные колебания», выявил «наиболее вероятные зоны риска». В общем, сделал все, чтобы «Государственная Геофизическая Экспедиция Северо-Запада» осталась довольна работой «ДатаСтрим Солюшнс».
Но загадка этих данных не давала мне покоя.
Я чувствовал, что за этими «ошибками датчиков» и «необъяснимыми аномалиями» скрывается что-то еще. Что-то важное. Что-то, что я просто обязан был понять.
И я решил копать дальше.
Уже не для Влада. Не для «ГГЭСЗ». А для себя.
Потому что это было чертовски интересно.
Потому что это был вызов моему интеллекту, моим знаниям, моей способности видеть то, чего не видят другие.
Потому что, в конце концов, я был не просто «спецом по базам данных».
Я был исследователем.
И я не мог просто так пройти мимо тайны, которая сама плыла мне в руки.
***
Решение копать дальше пришло само собой, как нечто естественное и единственно возможное в данной ситуации.
Влад был доволен – официальная часть работы по заказу «ГГЭСЗ» близилась к завершению, отчеты формировались, графики рисовались. Остальные ребята тоже заканчивали свою часть. Наш начальник уже мысленно подсчитывал прибыль и строил планы на новые «интересные проекты», скорее всего, связанные с очередным «КанцПарком».
Моя же голова была занята совсем другим. Те «необъяснимые аномалии», которые Влад советовал просто упомянуть в отчете и забыть, для меня стали настоящей навязчивой идеей. Это было как детективная загадка, как сложный шифр, который во что бы то ни стало нужно было разгадать.
Я оставался в офисе после окончания рабочего дня, когда коллеги уже расходились по домам.
Тишина пустого офиса, прерываемая лишь гудением серверов да редкими звуками с улицы, настраивала на нужный лад. Я снова и снова возвращался к этим странным данным, прогоняя их через различные алгоритмы, пытаясь найти хоть какую-то зацепку.
Первым делом я решил более тщательно подойти к вопросу «ошибок датчиков».
А действительно ли это были ошибки?
Я начал строить карты распределения этих «аномалий» по времени и по географическим координатам, благо, привязка у данных была. И вот тут обнаружилась первая интересная закономерность: «ошибки» возникали не хаотично, а как бы группировались в определенных зонах и в определенные временные интервалы. Причем эти зоны не всегда совпадали с местами наибольшей сейсмической или электромагнитной активности. Иногда «аномалии» вспыхивали там, где, по идее, должно было быть полное затишье.
Я начал применять более сложные методы статистического анализа, не те, что требовались для официального отчета.
Использовал кластеризацию, чтобы сгруппировать аномальные события по каким-то общим признакам. Пробовал различные методы фильтрации, чтобы отделить «полезный сигнал» от «шума». И чем больше я работал над этим проектом, тем сильнее крепла уверенность, что это не просто «глюки» аппаратуры. Это было что-то другое. Что-то, что имело свою собственную, пока непонятную мне логику.
В какой-то момент, я понял, что базовых нейросеток, используемых на наших серверах стало недостаточно.
У меня были кое-какие наработки, которые мы совместно проводили с одногруппниками из ИТМО, да и в «ДатаСтрим» я периодически экспериментировал с ними на досуге. Я взял одну из своих моделей, обученную на распознавание скрытых паттернов в больших временных рядах, и скормил ей очищенные данные от «ГГЭСЗ». Процесс обучения был долгим и мучительным – объемы информации были колоссальными, а наши сервера, хоть и были довольно мощными по офисным меркам, явно не предназначался для таких задач. Приходилось запускать расчеты на ночь, а утром с замиранием сердца проверять результаты.
И вот , ближе к концу второй недели, нейросеть выдала то, от чего у меня волосы на голове зашевелились.
Она нашла корреляцию. Очень слабую, на грани статистической погрешности, но все же корреляцию между всплесками тех самых «неизвестных энергетических аномалий» и фазами Луны. Фазами Луны! И не просто фазами, а какими-то сложными сочетаниями лунных циклов, положения Луны относительно определенных созвездий и еще чего-то, что я сначала даже не понял. Бред какой-то. Астрология в чистом виде. Я сначала решил, что это просто артефакт обучения, что нейросеть «переобучилась» и нашла закономерность там, где ее нет. Ну серьезно, я просто не мог в это поверить. Это начинало попахивать передачами ТВ3.
Я провел еще несколько тестов, изменил архитектуру сети, перепроверил данные.
Результат оставался тем же. Прямая связь с лунными циклами действительно была. И это уже не лезло ни в какие ворота известной мне физики.
Я начал строить другие модели, пытаясь найти еще какие-нибудь «невозможные» корреляции.
И находил их! Оказалось, что частота и интенсивность этих «аномалий» как-то связаны с глобальными тектоническими напряжениями в земной коре, даже если эти напряжения возникали за тысячи километров от места регистрации. Была какая-то связь с солнечной активностью, но не прямая, а опосредованная, через какие-то сложные резонансные эффекты в ионосфере. Я чувствовал себя первооткрывателем, который наткнулся на совершенно новый, неизведанный континент. Континент, населенный странными, непонятными законами природы.
Этот процесс захватил меня целиком. Все свободное время проводил за компьютером.
Маша еще несколько раз пыталась мне дозвониться, но я, либо не отвечал, либо все так же отделывался от нее короткими, ничего не значащими фразами.
Влад тоже начал посматривать на меня с некоторым подозрением.
Он видел, что я засиживаюсь в офисе допоздна, но официальная работа по заказу «ГГЭСЗ» была уже практически закончена. Чем я занимаюсь? Готовлюсь к встрече с «КанцПарком»? Или опять «зарываюсь в своих нейросетях»? Он несколько раз подходил ко мне, пытался выяснить, в чем дело, но я отделывался общими фразами, говорил, что просто «проверяю некоторые гипотезы» и «довожу отчет до ума».
Врать было неприятно, но другого выхода я не видел.
Практически к окончанию отведенного срока, из этих «необъяснимых аномалий» и «невозможных корреляций» начала вырисовываться какая-то картина.
Еще очень смутная, неполная, но уже позволяющая сделать некоторые предположения. Я понял, что имею дело не просто с набором случайных событий, а с какой-то сложной, взаимосвязанной системой. Системой, которая живет по своим, пока непонятным мне законам. И эти законы выходят далеко за рамки той физики, которую я учил в институте.
Это было одновременно и пугающе, и невероятно увлекательно.
Я чувствовал себя как Шерлок Холмс, который по мельчайшим, невидимым для других деталям восстанавливает картину преступления. Только моим «преступлением» была сама Вселенная, которая почему-то решила приоткрыть мне одну из своих бесчисленных тайн.
И я был полон решимости эту тайну разгадать.
Или хотя бы приблизиться к ее разгадке.
Даже если для этого придется пожертвовать сном, едой и остатками своей и так не слишком бурной личной жизни.
Игра стоила свеч. Определенно.
***
Кульминацией моих «сверхнормативных» изысканий стала модель.
Не просто набор графиков и корреляций, а полноценная прогностическая модель, построенная на основе какой-то невероятной смеси из нейронных сетей, статистических методов и, как мне тогда казалось, чистой интуиции. Эта модель, к моему собственному изумлению, начала с определенной долей вероятности предсказывать время и место возникновения тех самых «аномальных энергетических всплесков». Точность была, конечно, не стопроцентная, да и горизонт прогнозирования – всего несколько дней вперед. Но сам факт! Я мог предсказать то, что, по идее, предсказать было невозможно! Это было похоже на какое-то колдовство, на научную магию.
Я сидел перед монитором, глядя на результаты работы своей модели, и чувствовал себя одновременно гением и полным идиотом.
Гением – потому что мне удалось сделать то, чего, я был уверен, не удавалось еще никому. Идиотом – потому что я совершенно не понимал, как это работает. Я видел входные данные, видел результат, но что происходило внутри этих сложных алгоритмов, какие именно закономерности они нащупали – оставалось для меня загадкой. Это был тот самый «черный ящик», о котором так любят говорить специалисты по ИИ. Он работает, он выдает результат, но почему – известно только ему одному.
Теперь передо мной встал самый главный вопрос: что делать с этим открытием?
Оставить его себе? Забыть, как страшный сон, и вернуться к унылой реальности «Веселого Карандаша»? Или все-таки рискнуть и поделиться своими находками с «заказчиком»?
С одной стороны, было страшно.
Я понятия не имел, как отреагируют эти серьезные люди из «Государственной Геофизической Экспедиции Северо-Запада» на то, что какой-то сторонний программист не только вышел далеко за рамки официального ТЗ, но и нашел в их данных то, что, возможно, они сами не замечали. Или, наоборот, то, что они тщательно скрывали. А вдруг это какая-то государственная тайна? А вдруг я своим «любопытством» влез туда, куда не следовало? Последствия могли быть самыми непредсказуемыми.
С другой стороны, молчать было еще хуже.
Я чувствовал, что наткнулся на что-то действительно важное. Что-то, что могло бы иметь огромное значение для науки, для понимания мира. И просто так закопать это открытие, сделать вид, что ничего не было – это было бы неправильно. Это было бы предательством по отношению к самому себе, к своему призванию исследователя.
Я мучился этим вопросом несколько дней.
Взвешивал все «за» и «против». Пытался представить себе возможные варианты развития событий. В конце концов, я пришел к выводу, что рискнуть все-таки стоит. В конце концов, что я теряю? Работу в «ДатаСтрим Солюшнс»? Да я и так уже был готов оттуда уйти. Репутацию «нормального» программиста? Да плевать на нее. Зато если мои находки действительно окажутся ценными… кто знает, какие перспективы это может открыть?
Я решил подготовить подробный дополнительный отчет.
Не просто набор сухих цифр и графиков, а полноценное исследование, с описанием моей методики, с обоснованием выводов, с возможными гипотезами, хотя гипотезы у меня были пока очень смутными и больше походили на бред сумасшедшего. Я потратил на это еще несколько бессонных ночей, оттачивая каждую формулировку, проверяя каждый расчет. Я хотел, чтобы этот отчет выглядел максимально профессионально и убедительно. Чтобы у «заказчика» не возникло сомнений в серьезности моих намерений.
Когда отчет был готов, я показал его Владу.
Просто для очистки совести. Я не ожидал от него понимания или поддержки, но формально я должен был поставить его в известность, что отправляю «заказчику» какие-то дополнительные материалы.
Влад прочитал мой отчет. Вернее, пролистал по диагонали, задерживаясь только на графиках и таблицах, с выражением крайнего недоумения на лице.
– Стаханов, ты чего это удумал? – спросил он, когда закончил. – Какой еще «прогностический анализ аномальных энергетических флуктуаций»? Какая «скрытая корреляция с лунными циклами»? Ты что, перечитал фантастики? Или решил заняться астрологией на досуге?
– Это не астрология, – попытался объяснить я. – Это просто математическая модель, основанная на анализе их же данных. Слушай, Влад, я не знаю, как это работает, но оно работает. И предсказывает.
– Предсказывает, – хмыкнул Влад. – Ну-ну. И что ты собираешься с этим делать? Отправить им? Они же тебя на смех поднимут.
– Я все равно отправлю, – сказал я твердо. – Я считаю, что они должны это знать. А как они на это отреагируют – это уже их дело. Работу мы выполнили, отчет готов. Да и в конце концов, это их данные, и они сами просили выявлять аномалии. Вот я и выявил.
Влад посмотрел на меня как на безнадежно больного.
– Ну, Стаханов, ты даешь, – покачал он головой. – Я всегда знал, что ты у нас парень со странностями, но чтобы настолько. Ладно, делай что хочешь. Твоя ответственность. Только потом не говори, что я тебя не предупреждал. Если из-за твоих этих «аномальных флуктуаций» у нас будут проблемы, пеняй на себя.
Он махнул рукой и удалился в свой кабинет, бормоча что-то про «программистов-фантазеров» и «потерянных клиентов».
Я остался один.
Немного неприятный осадок от разговора с Владом остался, но это уже не могло поколебать моей решимости. Открыв почтовую программу, прикрепил файл с отчетом, написал короткое сопроводительное письмо, в котором объяснил, что это «дополнительные материалы, которые могут представлять интерес для дальнейшего анализа», и, немного помедлив, нажал кнопку «Отправить».
Все. Дело было сделано.
Теперь оставалось только ждать, не очень-то надеясь на какую-то реакцию. Скорее всего, Влад был прав, и мой отчет просто положат под сукно или отправят в корзину.
Ну и ладно. По крайней мере, я сделал все, что мог. Я следовал своему внутреннему голосу, своему чутью исследователя. И это было главным.
Я вернулся к своей обычной работе в «ДатаСтрим Солюшнс».
Нужно было готовиться к работе с «КанцПарком» – Влад, наконец то, вытряс из них новую договоренность и встреча должна была вот вот состояться. Жизнь продолжалась. Скучная, предсказуемая, рутинная.
Но где-то в глубине души я все еще надеялся.
Надеялся, что мой «выстрел в пустоту» все-таки достигнет цели.
Что кто-то там, в этой «Государственной Геофизической Экспедиции Северо-Запада», сможет оценить мою работу по достоинству. И что этот странный, почти мистический опыт с анализом аномальных данных – это было не просто случайное совпадение, а начало чего-то нового. Чего-то такого, что могло бы наконец-то наполнить мою жизнь настоящим смыслом.
Оставалось только ждать. И надеяться.
Глава 4: Ответ
В эту ночь я спал плохо.
На утро голова была тяжелой, как будто ее набили мокрым песком, а под глазами залегли такие тени, что я мог бы смело играть роль панды в детском утреннике без грима. Кофе казался особенно горьким, а вид за окном – еще более серым и унылым, чем обычно. Даже Шевчук в наушниках не спасал – его надрывный вокал сегодня только усиливал общее ощущение вселенской тоски.
В офисе Влад встретил меня с какой-то неестественной бодростью.
Он, видимо, решил, что раз у нас на горизонте маячит новый клиент в лице «КанцПарка», то нужно демонстрировать чудеса энтузиазма, даже если этот энтузиазм приходится выдавливать из себя, как последнюю каплю зубной пасты из тюбика.
– Лёха, привет! Ну что, готов к труду и обороне? – он хлопнул меня по плечу, отчего моя и без того раскалывающаяся голова едва не отвалилась. – Сегодня у нас с тобой важный день – встреча с «КанцПарком». Надо их обаять и подписать на все наши услуги. Ты же помнишь про «оптимистичный настрой»?
– Помню, помню, – проворчал я, плюхаясь на свое рабочее место. – Обаяю, подпишу, сделаю им базу данных, которая будет сама продавать скрепки и улыбаться клиентам. Только дайте мне сначала пару литров кофе и таблетку от головной боли.
Влад, однако, не унимался.
Он подошел ко мне и понизил голос, как будто собирался сообщить государственную тайну.
– Слушай, Лёш, тут такое дело… Помнишь тот заказ от «ГГЭСЗ»? Ну, где ты еще этот свой… э-э-э… дополнительный анализ делал?
Я напрягся. После вчерашних ночных бдений, любое упоминание этого заказа вызывало у меня какую-то нервную дрожь.
– Помню. А что?
– Так вот, – Влад замялся на секунду, как будто сам не очень верил в то, что собирался сказать. – Они сегодня прислали официальный ответ. Представляешь? На твой этот отчет.
Я уставился на него.
Официальный ответ? На мою самодеятельность? Уже на следующий день?
Это было что-то новенькое. Обычно такие «непрошеные» дополнения к работе либо игнорировались, либо вызывали глухое раздражение у заказчика. В любом случае, отзывы от заказчиков приходили со скоростью посылок Почты России.
– И что они там пишут? – спросил я, стараясь, чтобы голос не дрожал. – Наверное, похвалили за инициативу и попросили больше так не делать?
– Да нет, как раз наоборот! – Влад расплылся в довольной улыбке. – Они там, короче, в полном восторге! Пишут, что твой анализ «представляет значительный научный интерес» и «открывает новые перспективы для дальнейших исследований». И еще, – он сделал многозначительную паузу, – они хотят с тобой встретиться. Лично. Обсудить, так сказать, «возможности для дальнейшего сотрудничества».
Я почувствовал, как у меня перехватило дыхание.
«Значительный научный интерес»? «Новые перспективы»? Встретиться лично? Это что, шутка такая? Или Влад просто решил меня разыграть, чтобы поднять мне настроение перед встречей с «КанцПарком»?
– Ты серьезно, без шуток? – переспросил я. – Они действительно так написали?
– Серьезнее не бывает! – он протянул мне распечатку официального письма на бланке «Государственной Геофизической Экспедиции Северо-Запада», с подписями и печатями. – Вот, сам почитай. Я сначала тоже подумал, что это какой-то розыгрыш. Но нет, все официально. Они даже телефон оставили для связи, просили, чтобы ты сам им позвонил, как будет удобно. Готовы продлить наш контракт в рамках предыдущего договора!