banner banner banner
Язык времени
Язык времени
Оценить:
Рейтинг: 0

Полная версия:

Язык времени

скачать книгу бесплатно


– А, да, точно, – усмехнулся Слава.

? Рождение

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

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

Вспоминал он с какими-то особыми чувствами, быть может и с ностальгией, летние вечера, проводимые всей семьёй на том самом загородном участке, когда они собравшись в беседке пили чай, взрослые играли в карты, а когда ещё был жив дедушка – отец его папы, заставший Великую отечественную войну ребёнком, он хоть и не много, но рассказывал о своих воспоминаниях, как его отец уходил на фронт и как они – его мама, старший брат и он сам, ждали от него писем, которые в какой-то момент перестали приходить и мама рассказывала детям об отце на ночь, как он служит в армии и вспоминает о них. Как оказалось, прадед был взят в плен в июле 1942 г. под Сталинградом и был вызволен в декабре 1942 г. после освобождения города Котельниково, но в этот период им с мамой пришлось эвакуироваться за Урал и связь с отцом была потеряна до конца войны, восстановить её удалось лишь по возвращении домой, где были обнаружены поздние письма прадеда, с адресами воинских частей, в которых он прослужил до июня 1945. Эти письма и по сей день хранятся у родителей Майка, многие из которых они читали всей семьёй, а сам Майк даже носил показывать их в школу в дни празднования Дня Победы.

Так шли дни, мысли о делах и воспоминания перемежались друг с другом. Погружаясь во всё большие детали и нюансы своих нововведений Майк пришёл к пониманию, что объем предстоящих изменений, казавшийся ему изначально вполне осязаемым, всё больше и больше становился аморфным и бесконечным. Окончательно осознав это, он решил поделиться своими соображениями со Славой, которого после работы решил пригласил поужинать в соседний ресторан, куда они и отправились вдвоем среди недели.

– Слушай, Слава, я должен тебе рассказать одну вещь, возможно, твой совет окажется бесценным…

– Майк, что за долгие вступления, с каких пор ты заделался в дипломаты? – остановил его Святослав, – Давай к делу, ты же знаешь, раньше сядешь, раньше выйдешь.

– Да, Слав, есть такое, стал говорить много слов со всеми этими научными советами, да презентациями. Но я исправлюсь!

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

– Да, конечно, извини, приятного аппетита, давай по классике – напои, накорми, а потом вопросы задавай.

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

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

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

– Истинно, Майк, так и есть, – ответил Слава.

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

– И? В этом же и была вся задумка.

– Да, всё верно, я не договорил. Так вот, всё это работает для текущего момента времени, для тестирования и отладки я написал текстовый модуль, который позволяет подтвердить корректность работы всей конструкции и отдельных компонент. Но я обнаружил, что для отдельных компонент полученный результат отличается от ожидаемого при корректности всех остальных показателей. Экспериментируя с тестовыми данными и со смещением по оси времени для тестовых данных мне удалось-таки получить корректный результат для сбойных компонент, и причина сбоя, как я полагаю, как раз в смещении времени, то есть к моменту работы соответствующих модулей в потоке происходит как бы смещение времени.

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

– Да, разумно. – подтвердил Майк.

– Слушай, а как именно ты поступил со временем? – не без интереса спросил Слава.

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

– Понятно. – задумчиво произнес Слава.

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

А какие это были ошибки! По итогу внесения изменений и запуска серии тестов ребята обнаружили прорывной рост использования ресурсов Нэвм, который ранее не превышал 60%, теперь они видели цифры в 70% и даже 80%. Объяснений этому они пока не находили. В один прекрасный день ребята к вечеру доделали все завершающие правки, связанные с отладкой, сохранили сделанные изменения. К предстоящему научному совету у них скопились довольно хорошие результаты.

? Вторая идея Славы

Здесь нужно отдельно рассказать о том, что, по всей вероятности, так же послужило причиной роста утилизации ресурсов Нэвм. При анализе данных, полученных в ходе тестирования, обкатки гипотез и внесения соответствующих изменений Слава обнаружил, что значимая доля сложностей связана с матрицами, логика которых используется во многих компонентах и различных частях кода. Слава усмотрел тот факт, что матрицы используются таким образом, что логику, построенную на них, можно построить более оптимально и эффективно, если использовать кватернионы[4 - Разновидность гиперкомплексных чисел, образующих четырехмерное пространство, аналогично тому, как комплексные числа образуют двумерное пространство]


Вы ознакомились с фрагментом книги.
Для бесплатного чтения открыта только часть текста.
Приобретайте полный текст книги у нашего партнера:
Полная версия книги
(всего 10 форматов)