Cray-1, один из первых суперкомпьютеров, создан в середине 1970-х, пиковая производительность — 133 Мфлопс. Современные смартфоны обладают производительностью около 1000 Мфлопс.
Расцвет систем облачных расчётов, а также развитие мобильных сервисов искусственного интеллекта, требуют всё более широкого использования суперкомпьютерных вычислений. При этом возникает соблазн воспринимать эту тенденцию так, словно ещё немного, и в каждом смартфоне с доступом к быстрому мобильному интернету «поселится» действительно всезнающий и необыкновенно башковитый помощник. Точнее, помощница, всё же люди предпочитают женские голоса, когда речь заходит о системах голосового оповещения и искусственного интеллекта. Кстати, это сам по себе достаточно любопытный психологический феномен.
Однако насколько широки, даже потенциально, возможности такого «суперкомпьютинга по запросу»? Очевидно, что достаточно широки, но не безграничны.
Начну с банального: мир вокруг нас постепенно и безостановочно меняется. Например, периоды относительного благополучия в экономике, для которых характерен постепенный плавный рост цен, сменяются этапами резких и глубоких перемен в ходе экономических кризисов, когда за короткий промежуток взлетают цены практически на все товары и услуги. Кто-то ещё помнит, как в первой половине 1998 года доллар стоил около 6 рублей? А сколько в то время стоила буханка хлеба?
Применительно к вычислительным технологиям, «нормальные» поступательные перемены характеризуются всё тем же законом Гордона Мура (старику, вероятно, изрядно поднадоела уже подобная слава). Но если вдуматься, то интенсивность развития, подразумеваемая этим законом, никак не может быть охарактеризована как «постепенная». Ведь согласно Муру (удвоение количества транзисторов каждые 24 месяца), за 10 лет производительность процессоров вырастает чуть ли не на два порядка!
Мы воспринимаем это процесс как нечто обыденное и даже естественное, словно так и должно быть. Но только вдумайтесь: суперкомпьютер Cray-1A, выпущенный в 1976 году, стоил 8,9 миллиона долларов (примерно 38 миллионов в сегодняшних ценах) и имел пиковую производительность 133 Мфлопс (по другим данным, 160). Эти машины, бывшие на тот момент наиболее совершенным образцом вычислительной техники, создавались (впрочем, как и все суперкомпьютеры) по заказу различных научно-исследовательских институтов и организаций, стоявших чуть ли не в очередь за ними. «Крэи» использовались для проведения сложнейших расчётов, в том числе для метеорологических и термоядерных процессов. А сейчас среднестатистический смартфон, стоимостью, грубо, 700 долларов имеет производительность около 900 Мфлопс (мобильные графические процессоры выдают 50-70 Гфлопс), штампуется многомиллионными партиями на китайских заводах и используется, в основном, для смс-переписки, фотографирования, активной жизни в соцсетях и сэлфи.
Сегодня большинство смартфонов обладают такой вычислительной мощью, что, при желании, могут использоваться для весьма серьёзных задач вроде распознавания образов или комплексного рендеринг, которые ещё до недавнего времени возлагались на суперкомпьютеры разной степени мощности, требовавшие специальных инфраструктуры, программного обеспечения и подготовленного персонала. А сейчас любой желающий может скачать мобильные приложения со схожим функционалом, но использующие облачные вычислительные мощности, предоставляя пользователям готовый результат.
Дабы не быть голословным, вот пример: приложение Leafsnap (увы, только для iOS), разработанное специалистами из Колумбийского университета, Университета штата Мэриленд и Смитсоновского института. С помощью этой программы ваш смартфон распознает и идентифицирует породу дерева по фотографии его листа. А впечатляющие способности мобильных систем голосового распознавания уже давно у всех на слуху.
Смартфон + облако = …
Несмотря на многократное формальное превосходство современных смартфонов над суперкомпьютерами прошлого, их возможности по современным меркам не так уж велики. И на помощь здесь приходят широкополосный интернет и облачные технологии. При этом вычислительные возможности такой связки необычайно велики, причём не важно, что мы используем в качестве клиентского устройства: смартфон, планшет или настольный компьютер. Например, каждый раз, когда вы ищете что-то в том же Google, задействуются мощнейшие вычислительные ресурсы поисковой инфраструктуры, ежедневно сканирующей интернет, собирающей упорядоченные данные и выдающей поисковые результаты по миллиардам запросов. По сути, вычислительную инфраструктуру Google можно назвать одним из мощнейших существующих суперкомпьютеров: в 2012 году для обработки информации они использовали около 13,6 миллиона процессорных ядер — в 20 раз больше, чем в самом большом на тот момент суперкомпьютере. При этом для решения какой-то одной задачи можно было объединять усилия сразу 600 000 ядер.
Вся эта огромная кремниевая мощь используется Google не только для нужд поисковой системы. Вкупе с развитием исследовательских программ стало возможным реализовать сервисы, которые ещё 10 лет назад считались фантастикой. Например, поиск по изображениям так же, как и по тексту; поиск наиболее быстрого способа добраться из одной точки в другую с учётом текущей загруженности дорог, и ряд других. Добавьте к этому такие активно разрабатывающиеся проекты, как автономный автомобиль и автономные роботы, создание которых невозможно без использования суперкомпьютеров.
Искусственный почти-интеллект
Ещё одно из прикладных применений суперкомпьютинга, это так называемый когнитивный компьютинг. Не стоит на месте развитие алгоритмов искусственного интеллекта, распознавание и генерация речи и машинное обучение. Уже сейчас в некоторых случаях системы искусственного интеллекта могут создать впечатление действительно мыслящего компьютера. Хотя на самом деле это становится возможным в первую очередь благодаря колоссальному быстродействию используемых вычислительных систем. Одним из первых подобных примеров можно назвать победу IBM Deep Blue над Гари Каспаровым в 1997 году. В 2011 году суперкомпьютер Watson от той же IBM одержал победу в игре Jeopardy (у нас она выходит под названием «Своя игра») в борьбе с лучшими игроками.
Конечно, технологии искусственного интеллекта могут успешно применяться далеко не только в играх и развлечениях. Активная работа ведётся в направлении «обучения» компьютеров различным научным дисциплинам, чтобы из высокоэффективной «числовой молотилки» сделать инструмент, способный самостоятельно применять на практике полученные знания. Например, для поиска ассоциаций или генерирования гипотез на основе имеющегося контекста для улучшения качества принимаемых людьми ответственных решений. Яркий пример: попытки IBM адаптировать Watson для установления медицинских диагнозов, персональных финансовых консультаций и улучшенной поддержки покупателей при обращении в кол-центры.
Мощности по запросу
Пожалуй, одним из самых интересных применений облачного суперкомпьютинга может быть выполнение расчётов по запросу. Для этого сегодня достаточно того же смартфона и доступа в интернет. Такая услуга позволяет сторонним разработчиком создавать приложения с новыми, недоступными ранее возможностями или проводить сложный анализ данных без приобретения соответствующей «железной» инфраструктуры.
На этом рынке уже существует вполне себе конкуренция между Compute Engine (Google), Web Services (Amazon) и Azure (Microsoft). Причём в борьбе за клиентов дело уже дошло до ценовых войн. Обычно подобные сервисы предлагают бесплатный тестовый период и поминутную тарификацию использования вычислительных мощностей, рекламируя свои услуги для широчайшего круга потребителей, от корпораций и правительственных организаций до маленьких стартапов, и даже частных предпринимателей. Например, этим летом пара исследователей из Великобритании (да оставьте уже в покое британских учёных!) создали приложение для «добычи» виртуальной валюты, используя одни лишь тестовые периоды от компаний, предлагающих облачные вычислительные мощности. Экспериментаторы умудрились с помощью «пробников» и доступного ПО заработать за неделю 1750 долларов в Litecoin (альтернатива Bitcoin).
Что дальше?
Наверное, чтобы понять возможности доступного суперкомпьютинга, а заодно придумать ему применения, нам необходимо достичь нового уровня знаний и навыков. Это можно сравнить с ситуацией, когда быстрое распространение компьютеров и интернета привело к необходимости повышения соответствующей грамотности среди самых широких слоёв населения. Людям пришлось в массовом порядке учиться пользоваться компьютерами и всевозможными программами, чтобы просто удерживаться «на плаву» прогресса. Вот и сейчас пришло время овладения новыми знаниями, связанными с компьютерами. Для понимания возможностей облачных вычислений, массовому пользователю нужно овладеть знаниями о базовых принципах логики и статистики. Например, твёрдо уяснить разницу между причиной и следствием, чтобы разделять конкретные задачи на параллельные потоки, которые лучше всего соответствуют архитектуре современных суперкомпьютеров. А для упрощения постановки задач не лишним будет ознакомиться и со способами визуализации данных. Да, звучит это довольно… невероятно, всё-таки хочется помечать о хорошем.
Но самое главное, нам нельзя забывать, что как бы не были развиты все эти облачные технологии, они являются не заменой, а всего лишь дополнением к человеческим способностям.
Чтобы в полной мере воспользоваться плодами облачного суперкомпьютинга, нам придётся многократно расширить сети широкополосного доступа в интернет. Ведь задачи, для решения которых вовлекаются большие вычислительные мощности, требуют довольно интенсивного обмена данными с клиентским устройством. А таких будут десятки миллионов. И индустрия уже начинает реагировать на запросы и ожидания пользователей, вкладывая сотни миллиардов долларов в модернизацию сетевой инфраструктуры.
Возможно, в будущем, когда искусственный интеллект превзойдёт человеческий (если такое вообще случится), мы станем во многом зависеть от всевозможных преимуществ, даваемых суперкомпьютерным разумом. Но до тех пор у нас есть масса времени и возможностей, чтобы насладиться теми преимуществами, что уже есть и будут обретены в ближайшие годы.
Автор: marika_reka