В предчувствии революции: следующее поколение вычислительных систем – каким оно будет?

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

Очень просто. Они на это не запрограммированы.

Когда мы говорим «компьютер», мы подразумеваем «автомат, запрограммированный на выполнение определенной задачи». Машины не способны ни устанавливать цели самостоятельно, ни самостоятельно обучаться новым навыкам – еще одна особенность, сделавшая Homo Sapiens «царем горы» – потрясающая универсальность. Хотя появляясь на свет мы ничего не умеем, мы способны всему научиться, и когда я говорю «всему» – это значит, что на перечисление всего, чему человек может научиться уйдет жизнь, и не одна. Мы – идеальные многоборцы. Мы это делаем за них, потому все опасения о «бунте машин», пока что являются исключительно плодом излишне бурной фантазии – компьютерам просто не придет это в голову – они и помыслить не смогут о таком. Но в то же время, научить компьютер мыслить – одна из глобальных задач кибернетики как науки вообще. Для чего?

Дело в том, что сейчас создавая любую программу, машину, вообще что-угодно, с помощью компьютера или нет, мы как бы выполняем эту работу дважды. Сначала мы создаем необходимое теоретически – в виде модели, чертежа или исходного кода программы, а уже после этого превращаем теорию в практику, зачастую – неэффективно. Между моделью и ее практическим воплощением остается значительный зазор – всевозможные ошибки, неточности, баги, но при этом сама программа или машина не может осознать, что она работает неправильно (опять-таки, если в ней не заложена такая возможность). Их приходится исправлять, зачастую создавая новые. Невозможно учесть все факторы.

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

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

Почти как мы: искусственные нейросети


Станислав Лем в «Сумме технологии» предсказал возникновение такой ситуации, когда создание новых машин упрется в предел наших конструкторских способностей. Ведь мы научились создавать только достаточно примитивные механизмы, значительно не дотягивающие по сложности до нас самих, или хотя бы даже простейших животных и насекомых. А даже если бы и научились, рано или поздно мы бы все равно уперлись в физический предел – мы не можем создать систему, более умную (более сложную) чем мы сами.

Лем предлагал решение этой проблемы по методу «черного ящика» – создание систем, о внутреннем строении и функционировании которых мы сами не будет догадываться, но они будут выполнять возложенную на них задачу. На тот момент это звучало кощунственно (отказаться от познания?) но как показало время, он был прав. Сейчас практически любой компьютер представляет собой «черный ящик», так как ни один отдельный человек не знает, как он устроен и функционирует, но это нисколько не мешает нам ими пользоваться. А теперь пришло время для следующего шага. Если один компьютер может моделировать небольшую часть вычислительной мощности мозга – некоторое количество «нейронов», то значительное их количество сможет приблизиться к мозгу по структуре, и, быть может, когнитивному потенциалу. Такова базовая концепция искусственных нейросетей.

Цель создания таких сетей – система, которая могла бы самообучаться. Способность к самообучению и самостоятельному корректированию программных алгоритмов – чрезвычайно ценное свойство для систем, работающих в условиях «нечеткой логики». К задачам такого класса относятся, в частности, распознание речи, идентификация голоса, распознавание рукописного текста, машинный перевод и многие другие.

Такие системы уже созданы и успешно используются для решения некоторых из этих задач. В частности, недавний скачок в качестве распознавания голоса встроенными средствами Android приписывается именно значительному прогрессу в построении искусственных нейронных сетей, достигнутому командой исследователей в Google, а также скачкообразному возрастанию вычислительных мощностей отдельных компьютеров благодаря использованию GPGPU. Если ранее система пыталась проанализировать отдельные слова и сравнивать с образцами в памяти (что было неэффективно и порождало множество ошибок), то по новому алгоритму полученная голосовая фраза проходит несколько этапов обработки:

  • выделение гласных и согласных, составляющих слова;
  • построение карты фразы;
  • учет интонации говорящего;
  • и так далее.

На каждом этапе получается какой-то промежуточный результат, который уточняет данные, полученные на других этапах. Все они обрабатываются параллельно и наиболее вероятный результат обработки с наибольшей вероятностью будет правильным. Аналогичным образом происходит поиск по изображениям – в принципе, тот же подход можно применить к обработке и информатизации любых объектов, которые не обладают врожденной семантикой (как слова). По слухам, значительная часть механизмов Google Now построена на том же базисе.

Квантовый скачок


Квантовые компьютеры пока что напоминают сусликов из известного анекдота – их не видно, но они где-то есть. Исследования ведутся по нескольким направлениям, но пока что коммерческих образцов нет – все прототипы находятся в стадии научной разработки (исключение составляют разработки фирмы D-Wave, которая уже продает якобы рабочие 128-кубитные компьютеры, но пока что в научном сообществе эти результаты оцениваются как сомнительные).

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

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

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

Меньше, экономнее, холоднее


Не все прорывы, впрочем, рождаются в передовых технологиях, до повсеместного применения которых пройдет не один год (если не десяток лет). Некоторые приходят «снизу». Например – стремительно распространяющаяся практика использования ARM-чипов в серверах.

Традиционно ARM-чипы считались слишком слабыми для использования в масштабных вычислениях, но по мере переориентации алгоритмической базы на массивный параллелизм (Hadoop, MapReduce и так далее) оказалось что распределение задачи на максимальное количество потоков позволяет добиться наилучших результатов. Рост количества ядер в традиционных x86 процессорах ограничен их размерами и энергопотреблением, которые у ARM-систем гораздо ниже. Таким образом на один кристалл можно «упаковать» гораздо больше ядер. В этом смысле использование ARM-чипов аналогично практике GPGPU, с той только разницей, что универсальные шейдерные процессоры в GPU еще более специализированы, а потому код под них необходимо оптимизировать еще сильнее. В плане же вычислительных мощностей ARM сейчас уже достигли порога, когда мощность достаточна для выполнения большинства задач среднестатистического пользователя. Процессоры на архитектуре ARM Cortex A15 уже сравнимы с Intel Atom, устанавливаемых в нетбуках. В частности, в одном из последних «хромбуков» был установлен такой процессор. Благодаря сочетанию доступной цены и хорошей автономности ARM имеет хорошие шансы на рынке потребительской электроники, а хорошая масштабируемость делает его привлекательным для серверного сегмента.

Некоторые компании, например Facebook, уже используют такие чипы в своих серверах. Хотя по заявлениям Facebook главной причиной была их энергоэффективность. В ближайшее время на рынке должны появиться также и коммерческие предложения от основных вендоров off-the-shelf серверного оборудования. Например, HP предлагает энергоэффективные серверы с чипами TI OMAP на борту в рамках программы Moonshot.

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

Комментарии (0)


Добавление комментариев доступно только зарегистрированным пользователям. Используйте свою существующую учетную запись для авторизации. Если у Вас еще нет учетной записи на сайте ее можно создать пройдя несложную процедуру регистрации. Кстати, для входа на сайт, наравне с учетной записью на cloudzone.ru, можно использовать аккаунт из следующих популярных сервисов: Яндекс, Facebook, Google и LinkedIn