После нашей предыдущей публикации о том, каким образом IBM Deep Thunder готовит т.н. гиперлокальные прогнозы, аудитория задала множество различных вопросов о том, как все это выглядит изнутри и каким образом новая система отличается от простого прогноза погоды, как она позволяет добиваться высокой точности прогнозирования.
Мы решили подробнее рассказать о моделях прогнозирования, на которых базируется вся предсказательная деятельность Deep Thunder. Начать, конечно же, стоит со слов о том, что высоколокализированные прогнозы не для географической зоны, а, например, центра того или иного города, будь то Нью-Йорк или Рио-Де-Жанейро, представляют собой задачу, с которой не может справиться большинство моделей прогнозирования погоды. Вот что по этому поводу говорит Ллойд Трейниш (Lloyd Treinish) — человек, стоявший во главе разработки Deep Thunder с самого начала (мы упоминали его в первом посте): «Погода, очевидно, формируется не только в атмосфере. Такой широкий термин, как „погода“ описывает процессы происходящие непосредственно в атмосфере и в местах ее соприкосновения с поверхностью. На территории города необходимо следить в первую очередь за тем, как городская среда влияет на погоду, например, в местах выброса высокотемпературных отходов в атмосферу».
Точное моделирование подобных событий требует куда большей точности моделей, чем сами модели (в их классическом понимании метеорологическими центрами и другими «погодными» учреждениями) могут предоставить в настоящее время. И хотя новые, в некотором смысле, модели Deep Thunder обладают высокой точностью когда речь идет о моделировании объектов в несколько квадратных километров, если мы заговорим о прогнозировании, например, наводнений, то нам придется учитывать суперлокальные условия, в масштабе сотен или десятков метров". Есть и обратная сторона прогнозирования, претендующего на высокую четкость и детализацию, например — высотных ветров (которые так же очень важны в некоторых областях: авиации, космической, инженерной, при проектировании небоскребов и т.д.), для нормального отображения которых требуется большее «вертикальное» разрешение модели. Здесь, собственно, речь пойдет как раз о том, насколько непросто и трудно совместить четкость прогноза с масштабом самой модели.
Вообще, сборка модели прогнозирования в масштабах кубических метров невозможна, когда мы говорим о более-менее адекватной картине происходящего с погодой, и причин тому несколько. Во-первых, невозможно собрать настолько точные данные для того чтобы накормить «зверя» вроде Deep Thunder — их объем будет колоссальным. Во-вторых, нет возможности в реальном времени обработать такой объем данных, проанализировать и представит в хоть сколько-нибудь усвояемом виде. Охватить город сенсорами — еще более-менее решаемая задача, но из нее выплывает огромное количество плохо решаемых последствий, например, в мире вообще существует не более десятка городов с настолько развитой сетевой инфраструктурой, способной переварить и успешно передавать такие данные от сенсоров к хабу, и после, к машине которая обрабатывает эти данные. Но и это еще цветочки, по-сравнению с тем, что, собственно, никакого «прогнозирования» на базе такого решения не получится — в большинстве своем, погода в городской зоне формируется за ее пределами и переносится ветрами и другими воздушными потоками атмосферы и этот процесс никак не будет отражен сенсорами, находящимися в черте города. Резюмируя — для того, чтобы составить эффективный и правдоподобный прогноз, необходимо брать данные там, где это имеет смысл делать — в местах формирования начальных погодных условий. Я думаю, не нужно рассказывать о движении циклонов и антициклонов, которые на сегодняшний момент достаточно предсказуемы и с их помощью мы и получаем 90% данных о завтрашнем дожде или солнечном дне.
Теперь поговорим о нашем любимом — анализе огромного количества данных и о том, каким образом Deep Thunder «проглатывает» все эти данные, представляя на выходе качественный прогноз погоды, детализированный, извините, донельзя.
Итак, даже если мы каким-то образом сумели получить данные для успешного формирования прогноза с разрешением в один метр3, каждый раз когда мы хотим увеличить масштаб модели и ее разрешение, перейдя от одного метра3 в один километр3, нам потребуется экспоненциальное увеличение вычислительной мощности для формирования трехмерных моделей. Вот что по этому поводу говорит г-н Трейниш: «Если вам нужно всего лишь в два раза увеличить разрешение площади (которое, как мы знаем, считается в метрах2) — необходимо увеличить вычислительную мощность всей системы в 8 раз. Но что куда сложнее — это если вы хотите получить „высокую“ модель, то есть увеличить ее вертикальное разрешение, система должна стать в 10-20 раз мощнее, в зависимости от условий».
Для того чтобы как-то обойти эту проблему масштабирования (здесь важно понимать, что система и так работает на суперкомпьютерном кластере, а потому экспоненциальное увеличение его производительности представяется крайне затратной задачей), специально для Deep Thunder разработчики в IBM создали парадигму «совмещенных моделей». Такая модель формируется следующим образом — один результат (это могут быть данные от одной метеостанции) используется как входные данные для следующей модели (например для одного квадратного километра), результат обработки модели используется в качестве входных данных следующей модели и т.д. Исторические же погодные данные (то есть факты) используются для валидации результата работы каждой модели, то есть проводится корреляция по вероятности того, или иного, прогноза и в итоге пользователь видит именно тот прогноз, который наиболее вероятен с точки зрения зафиксированных данных (фактов).
«В Рио у нас работает четыре модели в разных разрешениях одновременно, переход между которыми осуществляется с помощью телескопической географической сетки. Все начинается с глобальной модели, формируемой NOAA, и дальше мы зумируем отдельный город — доступно горизонтальное разрешение в 27 км, 9, 3 и, наконец, 1 км. Это своего рода балансировка географии с учетом физических данных, необходимых для решения бизнес-проблем (ведь Deep Thunder призван помогать именно в решении ряда достаточно специфических задач).» Данные, которые получаются при анализе 1 километра2, подаются в модель с метровым масштабом, и уже она используется для прогнозирования суперточной географической и гидрологической модели, которую используют для определия вероятности наводнения и других, подобных, погодных катаклизмов.
Используя такой подход со слоями различного масштаба, команда IBM Research добилась решения проблемы масштабирования рабочей модели. Именно так Deep Thunder работает в настоящий момент в Рио и Нью-Йорке, если бы в IBM пошли по пути простого увеличение вычислительной мощности для того чтобы получать адекватные результаты, вероятно, пришлось бы задействовать все суперкомпьютерные мощности для обработки нескольких моделей в параллельном режиме. Ллойд Трейниш говорит: «Архитектура достаточно проста и в то же время очень элегантна, но что самое главное — она работает. Сама NOAA и погодный центр при ВВС США использует эту модель и добивается высокой четкости прогнозов в большем масштабе, нежели мы предлагаем „простым“ покупателям».
Собственно, модель Рио-Де-Жанейро используется всего лишь несколько «POWER7» серверов, соединенных между собой свитчем Infiniband. Если нужно увеличить масштаб модели — в такой конфигурации достаточно просто добавить еще несколько серверов для того чтобы Deep Thunder продолжала работу. Есть и другой пример — в университете Брунея (такое небольшое государство, с самым богатым в мире султаном) модели обрабатываются на IBM Blue Gene, позволяя прогнозировать погоду в масштабе небольшого государства.
Однако для того, чтобы выстроить хорошую и надежную модель, необходимо огромное количество изначальных входных данных с метеостанций, сенсоров, термометров и барометров и Бог знает чего еще, и вот что по этому поводу говорит Ллойд Трейниш: «Мы используем, буквально, все данные которые можем получить и которые так или иначе могут помочь в построении погодного прогноза». Сюда входят все виды публичных и открытых данных, вроде спутниковых снимков, данных NOAA, NASA, Геологической миссии, Европейского Космического Агентства и т.д. В Рио и Брунее используются удаленные «умные» сенсоры, расположенные на всей моделируемой поверхности.
Конечно, помимо публичных (хотя данные NASA это не совсем общедоступные данные в привычном понимании) данных, IBM использует все доступные виды данных для построения моделей Deep Thunder, или, по-крайней мере, для валидации прогнозов. Так, на конкретном примере Нью-Йорка видно, что данные в систему поступают из сети сенсоров WeatherBug, принадлежащей компании Earth Networks. WeatherBug — это широкая инфраструктура различных сенсоров в городах и вне их пределов, распределенная по всей территории Штатов, и данные из нее поступают в Deep Thunder каждые пять минут (5 минут — это вообще стандартное время «тика» модели), позволяя эффективно контролировать четкость модели, ее соответствие историческим данным и, наконец, выдавать правдоподобный прогноз.