Нейронный компьютер или квантовый компьютер
Нейросети сейчас у всех на слуху. Одна из причин такого быстрого и повсеместного их распространения — это сильно упавший порог вхождения. Существует огромное количество инструментов как для использования готовых и натренированных сетей, так и для создания своих собственных, причем для этого даже не требуется знать суровый матан, который прячется "под капотом" большинства таких инструментов.
Еще одной интересной и очень перспективной сферой являются квантовые вычисления, которые, тем не менее, не получили столь широкого распространения (по крайней мере, пока), как нейросети. Скорее всего, это связано с еще более сложным матаном ( и физикой), а также с чрезмерной дороговизной и сложностью "железа".
Если очень просто, то это устройство, в основе работы которого лежат явления квантовой механики. Среди этих явлений такие великолепные и ̶п̶р̶о̶с̶т̶ы̶е̶ для понимания, как:
- Квантовая суперпозиция - способность квантовой частицы находиться во всех возможных для нее состояниях сразу. Отличным примером может служить всем известный кот Шрёдингера.
- Квантовая запутанность - явление, при котором состояния двух и более квантовых частиц становятся зависимыми друг от друга. Причем изменение состояния одной частицы мгновенно сказывается на состоянии другой. То есть как бы далеко не были друг от друга эти частицы, состояние поменяется за неизмеримо малое время. Здесь в качестве примера можно взять "попсовую" и всем известную квантовую телепортацию.
- Правило Борна (закон) - ̶ ̶ш̶е̶с̶т̶а̶я̶ ̶ч̶а̶с̶т̶ь̶ ̶п̶о̶х̶о̶ж̶д̶е̶н̶и̶й̶ ̶б̶ы̶в̶ш̶е̶г̶о̶. Если вкратце и без тяжелого мат.аппарата, это закон (ну или правило), который рассчитывает вероятность получить какой-либо результат при вычислении, что помогает при работе со следующим пунктом сего списка.
- Вероятность - в квантовой механике балом правит именно эта госпожа. Любое квантовое явление не есть факт, а есть вероятность того, что оно случится. Но об этом мы еще поговорим.
Справедливости ради, квантовая телепортация не является телепортацией, известной из научной фантастики и прочего сайфая, потому что при передаче квантового состояния (а именно это и происходит) исходное состояние в точке А разрушается и воссоздается в точке Б, при этом не происходит переноса ни материи, ни энергии.
Обновление по комментариям к статье: парадокс кота Шрёдингера был призван показать абсурдность самой идеи суперпозиции. Соответственно, пример кота - не самый лучший для иллюстрации явления суперпозиции.
Спасибо Marat Khamadeev
Преимущества прямо вытекают из самой квантовой механики:
- Высокий параллелизм - в отличие от классических компьютеров, в которых бит принимает значение либо 0, либо 1 в один момент времени, в квантовом компьютере кубит одновременно и 0, и 1, что позволяет обсчитывать все возможные комбинации параллельно и одновременно на уровне физики без всяких ухищрений с многопоточностью.
- Высокая масштабируемость и быстрый прирост производительности - при добавлении каждого следующего кубита вычислительная мощность увеличивается экспоненциально. То есть двухкубитный компьютер в 2 раза мощнее однокубитного, 3 - в 8 раз, 4 - в 16 и так далее.
Важно также отметить и недостатки, которым подвержены текущие образцы КК:
- Измерение неизбежно ведет к ошибкам, потому что любое вмешательство в квантовую систему вызывает "возмущения" (шумы), искажающие полученные данные. Стало быть, необходимо предусмотреть постобработку результатов.
- Большое количество ошибок в вычислениях, частично вытекающее из первого недостатка а частично из-за самой природы квантовых процессов (ведь мы оперируем вероятностями, а не фактами, помните?), из-за чего одни и те же вычисления следует проводить много раз (сотни и тысячи в зависимости от желаемой точности)
На самом деле, в ответе на этот вопрос кроется еще одна причина, почему же квантовые вычисления не такая популярная (с прицелом на поп) тема для общественности. Основные области, где это было бы полезно, эффективно и вообще не очень сильно сложно (с квантовой точки зрения, разумеется):
- Моделирование молекул и прочих химических и биологических процессов, являющихся квантовыми по своей природе. Например, расчет нового лекарства от рака за 500 млн долларов за дозу займет не годы, а доли секунды.
- Криптография. Во-первых, при появлении достаточно мощного КК падут почти все (если не все) классические алгоритмы шифрования, потому что большинство из них ломаются обычным перебором, а перебор - это то, что КК делает очень быстро. Квантовая же криптография позволяет построить такую зашифрованную систему, которая всегда узнает, если ее попытаются прослушать или взломать из-за лежащего в основе принципа неопределенности (Гейзенберга). То есть в данном случае недостаток измерения (вмешательства) в систему становится преимуществом.
- Эти ваши нейросеточки. КК способен моделировать нейросеть экспоненциального размера и обрабатывать огромные объемы данных практически мгновенно.
Как верно отметили некоторые в комментариях квантовая криптография построена на несколько иных принципах и не имеет прямого отношения к квантовым же компьютерам.
Так что поиграть со включенным RTX при fps свыше 120 в 4К разрешении на КК пока что не получится, увы.
Квантовые компьютеры начали появляться с начала XXI века, но их производительность и возможности сильно ограничены. И вопреки распространенному заблуждению довольно много его составных частей представляют собой вполне себе обычную электронику, а уж для обработки результатов и вовсе нужен самый обыкновенный ПК (ну или сервер. ну или ЦОД).
Окей, с железом понятно, но что с софтом?
Принцип работы с квантовым компьютером, по идее, не должен сильно отличаться от работы с компьютером классическим, но, тем не менее, стандартные инструменты из знакомой всем электроники не применимы, равно как и классическая логика и информатика.
С целью решения этой проблемы в 2017 году был описан язык промежуточного представления OpenQASM (ОпенКАЗМ) - Open Quantum Assembly Language (Открытый квантовый язык ассемблера), представляющий собой по сути аналог языка ассемблера из классической электроники.
Ассемблер (сборщик) - это программа-преобразователь, транслирующая код программы из языка ассемблера в машинный язык, который понимает непосредственно процессор.
Программирование под ассемблер представляет собой весьма нетривиальную задачу, так как требует от разработчика не только досконального знания архитектуры и команд процессора, но и умения работать с физической памятью.
Большинство программистов используют языки высокого уровня, которые затем транслируются в язык ассемблера компилятором.
К счастью, авторы позаботились и о языке высокого уровня, создав на основе QASM целый фреймворк. Встречайте - Qiskit.
̶В̶а̶ш̶а̶ ̶q̶i̶s̶k̶i̶t̶ ̶к̶у̶п̶и̶л̶а̶ ̶б̶ы̶.̶.̶.̶ Логотип проекта - схематичное представление сферы Блоха (способ представления состояний кубита в виде точек на сфере).
А вот так выглядит сама сфера Блоха. "Точка на сфере по оси z вверх соответствует значению 1 классического бита, вниз - значению 0.
Qiskit содержит в себе инструменты для создания квантовых программ (цепей), состоящий из нескольких подпроектов:
- Terra позволяет создавать квантовые цепи, которые по сути и являются квантовыми программами. Квантовая цепь - это последовательность квантовых вентилей, являющихся аналогом вентилей-операторов из классической логики. Например, здесь есть аналоги логического И (умножения) и ИЛИ (сложение) с поправкой на квантовые законы. Например, самый базовый квантовый вентиль Хадамард (H) при вычислении обеспечивает одинаковую вероятность получить значение 0 и 1.
- Aqua. Проект-ретранслятор, позволяющий преобразовывать классические алгоритмы в квантовые. В настоящий момент он поддерживает ограниченный набор инструментов для работы с ИИ, химией, оптимизацией и финансами. В перспективе позволит программистам и даже просто пользователям без специальных знаний создавать квантовые алгоритмы.
- Aer. Симулятор квантового компьютера, который может быть запущен на любом обычном компьютере, но не забывайте, что добавление нового кубита требует увеличения классических вычислительных мощностей в два раза. Aer позволяет понять, насколько ничтожны "силы" вашего ПК, потому что уже при значении в 4-5 кубитов производительность падает практически до нуля, делая симуляцию очень медленной или вовсе невозможной.
- Ignis. Подпроект, работающий с "шумами". Помним о том, что любое измерение вызывает возмущения в квантовой системе и ошибки. По сути этот проект призван бороться с ошибками.
Кубит невозможно "хранить" в обычных условиях при комнатной температуре. Соответственно, каждый кубит - крошечный и очень холодный объект, работающий при температуре, близкой к абсолютному нулю - лежит в своем собственном "холодильнике", изолированный от внешнего мира. К сожалению, в настоящий момент не существует способов взаимодействия с кубитом без вмешательства в его хрупкую натуру, что неизбежно приводит к шумам, что, в свою очередь, ведет к ошибкам в вычислениях.
Да-да, ошибки - сквозная тема и боль любого квантового программиста настоящего и даже будущего.
Любой желающий уже может сесть и начать пробовать писать простенькие квантовые алгоритмы. Мощностей обычных домашних ПК хватит на 3-4-кубитную цепь, чего уже достаточно для осуществления квантовой телепортации.
К счастью, добрые дяди из корпорации IBM предоставляют бесплатный доступ в порядке очереди к настоящим квантовым компьютерам (до 15 кубитов) и к симулятору (до 32 кубитов). Для регистрации достаточно принять пользовательское соглашение, заполнить простенькую анкету, указав в ней Institution (например, Amateur Quantum Boy) и цель использования, свое имя и имейл.
Если совершенно не хочется (или не умеется) писать свой код, то всегда можно воспользоваться туториалами, которые любезно лежат прямо под ногами.
В этих "ноутбуках" текстовые описания перемежаются с готовыми кусками кода, которые выполняются прямо там, без необходимости писать или читать код где-либо еще, а затем переносить в исполняемую среду. Все лежит и запускается на месте.
Единственное по-настоящему нужное в данном случае умение - это знание английского языка. Но не спеши расстраиваться, если не знаешь английский. В продолжении я подробно и со скриншотами опишу, как таки осуществить квантовую телепортацию. А для тех, кто не хочет ждать и самостоятельно пройдет базовый туториал, вот схема для телепортации:
Статья просто призвана обратить внимание на то, что существует такая вот перспективная область. Она весьма сложна в понимании. Первая версия этого материала состояла почти целиком из матана и физики с графиками и формулами, но я, не являясь специалистом в данной области, не мог все нормально объяснить, потому что чем глубже ты опускаешься, тем труднее что либо понять. Поэтому я решил просто коротко описать текущее состояние и показать, какие есть инструменты для работы. Ну и основной посыл - эта технология ближе к применению, чем может показаться со стороны, она уже потихоньку используется. Просто применение может быть не таким, каким его ждут
Я *немножко* разочарован, потому что 95% моих знакомых, как и я, знаем упомянутое в статье (возможно, исключая то, что есть публичный компьютер-пробник).
Про разработки от Google:
А что бы ты хотел увидеть?
Я пришёл раздавать квантовую жвачку и надирать квантовые задницы, и жвачка у меня уже кончилась. Поехали разбирать написанное.
Если очень просто, то это устройство, в основе работы которого лежат явления квантовой механики.
Туннельный транзистор, спинтронные устройства и ещё ряд устройств тоже используют явления КМ, но квантовыми вычислителями не являются
Отличным примером может служить всем известный кот Шрёдингера.
Парадокс кота Шрёдингера был придуман как раз таки для того, чтобы показать абсурдность идеи квантовой суперпозиции. Не задумывались, почему он называется парадоксом?
Любое квантовое явление не есть факт, а есть вероятность того, что оно случится.
То есть, квантовая запутанность - это вероятность, а не факт?
Измерение неизбежно ведет к ошибкам, потому что любое вмешательство в квантовую систему вызывает "возмущения" (шумы), искажающие полученные данные.
Само измерение - это штука нужная, важная и ошибок оно не даёт. К ошибкам приводят декогеренция и дефазировка. В определённом, грубом смысле их можно назвать "паразитным измерением", осуществляемым со стороны окружения (стенок прибора, волокна и тд). Видимо, эту мысль и закладывал автор.
Квантовая же криптография позволяет построить такую зашифрованную систему, которая всегда узнает, если ее попытаются прослушать
Квантовая криптография не есть производная от квантовых вычислений. Там даже принципы разные. Это независимая область квантовых технологий и квантовые компьютеры здесь не причём, ну вот вообще никак.
Вращение по оси z вверх соответствует значению 1 классического бита
Ничего подобного. Классическому значению 1 соответствует точка на северном полюсе, 0 — на южном. Остальное - суперпозиция.
Общепринятым в русском является вариант "Адамар"
Соответственно, каждый кубит - крошечный и очень холодный объект, работающий при температуре, близкой к абсолютному нулю - лежит в своем собственном "холодильнике", изолированный от внешнего мира.
Представляю, как удивится автор этого текста, когда узнает, что обычный фотон с обычной поляризацией, кои летают миллиардами рядом - это тоже кубит.
Туннельный транзистор, спинтронные устройства и ещё ряд устройств тоже используют явления КМ, но квантовыми вычислителями не являются
Если очень просто
Парадокс кота Шрёдингера был придуман как раз таки для того, чтобы показать абсурдность идеи квантовой суперпозиции
Какой бы абсурдной она не была, но используется.
квантовые компьютеры здесь не причём
Опять же, с повсеместным распространением КК классическая криптография умрет, так что КК все таки имеют к этому отношение
очка на северном полюсе, 0 — на южном
Куда же упирается ось z.
Извини, но та лекция, которую я слушал, была на английском, так что я не знаком с общепринятой терминологией на русском языке, но согласен, моя недоработка. Материал на русском, так что надо было "дожать".
В целом, некоторые придирки я понимаю, потому что они исходят (по моему предположению) из более глубинного понимания темы, чем у меня. Собственно, я не специалист в этой области, а лишь имел возможность познакомиться с этой сферой, а затем решил поделиться. Некоторые же выглядят как придирки ради придирок.
Так суперпозиция и не абсурдная, это вполне себе экспериментально доказанный феномен. Другой вопрос, что котик - не самая лучшая иллюстрация, несмотря на то, что она ушла в народ. Это всё равно, что, говоря про авиацию, приводить в пример драконов.
Опять же, с повсеместным распространением КК классическая криптография умрет, так что КК все таки имеют к этому отношение
Ну, это ещё вилами на воде писано, но речь не об этом. Вы пишете, что квантовая криптография делается с помощью квантовых компьютеров. Это ошибка.
Куда же упирается ось z.
Вы пишете "вращение по оси z вверх". Я говорю, вращение тут не причём, до тех пор, пока не рассматривается эволюция во времени или вентиль. Всё проще - состояние кубита - это просто точка на сфере.
Некоторые же выглядят как придирки ради придирок.
Камон, такая была всего одна)
А если серьёзно, текст ваш, вам и карты в руки, моё дело указать на ошибки. Замечу, однако, что большинство из описанных ошибок работают против целей, ради которых написан этот материал, а именно целей просвещения. Мне не раз приходилось исправлять людям неверное понимание некоторых квантовых вещей, которое начиналось со слов "А я вот читал в одном месте. ".
Не стоит пренебрегать нюансами, многие из них формируют квантовое мировоззрение на глубинных уровнях. Взять тот же парадокс кота Шрёдингера. Вопрос суперпозиции состояний макрообъектов до сих пор является предметом спора, разделившего физиков на несколько лагерей и экспериментального конца ему пока не видно (я про интерпретации).
Я не из тех, кто любит говорить "Миша всё фигня, давай по новой". Ищите информацию, пишите, мы с вами по одну сторону баррикад. А мой провокационный тон призван лишь добавить эмоциональной мотивации к исправлению пробелов. Ну и плюсики собрать, куда уж без этого.
Интересно, а какая сторона у монетки в тот момент, когда она в воздухе? Орел или решка, горит или не горит, открытое или закрытое, 1 или 0. Все это примеры двоичной системы, то есть системы, которая имеет всего два возможных состояния. Все современные процессоры в своем фундаменте основаны именно на этом!
При правильной организации транзисторов и логических схем можно сделать практически все! Или все-таки нет?
Современные процессоры это произведение технологического искусства, за которым стоят многие десятки, а то и сотни лет фундаментальных исследований. И это одни из самых высокотехнологичных устройств в истории человечества! Мы о них уже не раз рассказывали, вспомните хотя бы процесс их создания!
Процессоры постоянно развиваются, мощности растут, количество данных увеличивается, современные дата-центры ворочают данные сотнями петабайт (10 в 15 степени = 1 000 000 000 000 000 байт). Но что если я скажу что на самом деле все наши компьютеры совсем не всесильны!
Например, если мы говорим о BigData (больших данных) то обычным компьютерам могут потребоваться года, а то и тысячи лет для того, чтобы обработать данные, рассчитать нужный вариант и выдать результат.
И тут на сцену выходят квантовые компьютеры. Но что такое квантовые компьютеры на самом деле? Чем они отличаются от обычных? Действительно ли они такие мощные? Будет ли на них CS:GO идти в 100 тысяч ФПС?
Небольшая затравочка — мы вам расскажем, как любой из вас может уже сегодня попробовать воспользоваться квантовым компьютером!
Устраивайтесь поудобнее, наливайте чай, будет интересно.
Глава 1. Чем плохи обычные компьютеры?
Начнем с очень простого классического примера.
Представим, что у вас есть самый мощный суперкомпьютер в мире. Это компьютер Фугаку. Его производительность составляет 415 ПетаФлопс.
Давайте дадим ему следующую задачку: надо распределить три человека в две машины такси. Сколько у нас есть вариантов? Нетрудно понять что таких вариантов 8, то есть это 2*2*2 или 2 в третьей степени.
Как быстро наш суперкомпьютер справится с этой задачей? Мгновенно! Задачка-то элементарная.
А теперь давайте возьмем 25 человек и рассадим их по двум шикарным лимузинам, получим 2 в 25 степени или 33 554 432 варианта. Поверьте, это число тоже плевое дело для нашего суперкомпьютера.
А теперь 100 человек и 2 автобуса, сколько вариантов?
Считаем: 2 в 100 степени — это примерно 1.27 x 1030 или 1,267,650,600,228,229,401,496,703,205,376 вариантов.
Теперь нашему суперкомпьютеру на перебор всех вариантов понадобится примерно 4.6*10^+35 (4.6 на 10 в 35 степени) лет. А это уже очень и очень много. Такой расчет займет больше времени чем суммарная жизнь сотен вселенных.
Суммарная жизнь нашей вселенной: 14 миллиардов лет или 14 на 10 в 9 степени.
Даже если мы объединим все компьютеры в мире ради решения, казалось бы, такой простой задачки как рассадка 100 человек по 2 автобусам — мы получим решение, практически никогда!
И что же? Все? Выхода нет?
Есть, ведь квантовые компьютеры будут способны решить эту задачку за секунды!
И уж поверьте — использоваться они будут совсем не для рассадки 100 человек по 2 автобусам!
Глава 2. Сравнение. Биты и Кубиты
Давайте разберемся, в чем же принципиальная разница.
Мы знаем, что классический процессор состоит из транзисторов и они могут пропускать или не пропускать ток, то есть быть в состоянии 1 или 0 — это и есть БИТ информации. Кстати, рекомендую посмотреть наше видео о том как работают процессоры.
Вернемся к нашему примеру с двумя такси и тремя людьми. Каждый человек может быть либо в одной, либо в другой машине — 1 или 0.
Вот все состояния:
Для решения процессору надо пройти через абсолютно все варианты один за одним и выбрать те, которые подходят под заданные условия.
В квантовых компьютерах используются тоже биты, только квантовые и они принципиально отличаются от обычных транзисторов.
Они так и называются Quantum Bits, или Кубиты.
Что же такое кубиты?
Кубиты — это специальные квантовые объекты, настолько маленькие, что уже подчиняются законам квантового мира. Их главное свойство — они способны находиться одновременно в 2 состояниях, то есть в особом состоянии — суперпозиции.
Фактически, это и есть принципиальное отличие кубитов от обычных битов, которые могут быть только 1 или 0.
Суперпозиция — это нечто потрясающее. Считайте что кубиты — это одновременно открытая и закрытая дверь, или горящая и не горящая лампочка….
В нашем случае они одновременно 1 и 0!
Но квантовая механика говорит нам, что квантовый объект, то есть кубит, находится в суперпозиции, пока ты его не измеришь. Помните монетку — это идеальный пример суперпозиции — пока она в воздухе она одновременно и орел, и решка, но как только я ее поймал — все: либо орел, либо решка! Состояние определилось.
Надо понять, что эти кубиты и их поведение выбираются совсем не случайно — эти квантовые системы очень строго определены и их поведение известно. Они подчиняются законам квантовой механики!
Квантовый компьютер внутри
Говоря о самом устройстве, если мы привыкли к полупроводникам и кремнию в обычных процессорах, то в случае квантовых компьютеров люди все еще ищут, какие именно квантовые объекты лучше всего использовать для того, чтобы они выступили кубитами. Сейчас вариантов очень много — это могут быть и электроны со своим спином или, например, фотоны и их поляризация. Вариантов множество.
И это далеко не единственная сложность, с которой столкнулись ученые! Дело в том, что квантовые кубиты довольно нестабильны и их надо держать в холодном месте, чтобы можно было контролировать.
И если вы думаете, что для этого будет достаточно водяного охлаждения вашего системника, отчасти вы правы, только если залить туда жидкий Гелий, температура которого ниже минус двухсот семидесяти градусов Цельсия! А для его получения используются вот такие вот здоровые бочки.
Фактически, квантовые компьютеры — это одни из самых холодных мест во вселенной!
Принцип работы квантового компьютера
Давайте вернемся к нашей задачке про трех людей и две машины и рассмотрим ее с точки зрения квантового компьютера:
Для решения подобной системы нам понадобится компьютер с 3 кубитами.
Помните, что классический компьютер должен был пройти все варианты один за одним? Так вот поскольку кубиты одновременно имеют состояния «1» и «0», то и пройти через все варианты он сможет, фактически одновременно!
Знаю, что прозвучит максимально странно, но представьте, что в данной ситуации наши три кубита создают 8 различных параллельных миров, в каждом из которых существует одно решение, а потом они все собираются в один! Реально «Мстители» какие-то!
Но что же получается? Он выдает все варианты сразу, а как получить правильный?
Для этого существуют специальные математические операторы, например оператор Грувера, который позволяет нам определять правильные результаты вычислений квантовых систем! Это специальная функция, которая среди всех возможных вариантов находит нужный нам.
Помните задачку про 100 человек в 2 автобуса, которую не смогли бы решить все современные компьютеры вместе взятые? Для квантового компьютера со 100 кубитами эта задачка все равно что семечку щелкнуть! То есть компьютер находится одновременно в 2 в 100 степени состояний, а именно:
1,267,650,600,228,229,401,496,703,205,376 — вот столько состояний одновременно! Столько параллельных миров!
Думаете, что всё это звучит слишком хорошо, чтобы быть правдой? Да, вы правы. Есть куча нюансов и ограничений. Например, ошибка. Проблема в том, что кубиты, в отличие от обычных битов, не определены строго.
У них есть определенная вероятность нахождения в состоянии 1 или 0. Поэтому есть вероятность ошибки и чем больше кубитов в системе, тем больше суммарная вероятность, что система выдаст неправильный ответ. Поэтому зачастую надо провести несколько расчетов одной и той же задачи, чтобы получить верный ответ.
Ну то есть как верный? Он всегда будет содержать в себе минимальную возможность ошибки вследствие своей сложной квантовой природы, но ее можно сделать ничтожно малой, просто прогнав вычисления множество раз!
Квантовые компьютеры сегодня
Теперь перейдем к самому интересному — какое состояние сейчас у квантового компьютера? А то их пока как-то не наблюдается на полках магазинов!
На самом деле все, что я описал выше, это не такая уж и фантастика. Квантовые компьютеры уже среди нас и уже работают. Их разработкой занимаются GOOGLE, IBM, INTEL, MICROSOFT и другие компании поменьше. Кроме того в каждом большом институте есть исследовательские группы, которые занимаются разработкой и исследованием квантовых компьютеров.
Сундар Пичаи и Дэниэл Сэнк с квантовым компьютером Google. Октябрь 2019
В октябре прошлого года, в журнале Nature, Google выложила статью, которая шарахнула по всему миру огромными заголовками — КВАНТОВОЕ ПРЕВОСХОДСТВО!
В Google создали квантовый компьютер с 53 кубитами и смогли решить задачку, за 200 секунд, на решение которой у обычного компьютера ушло бы 10000 лет!
Конечно IBM было очень обидно и они начали говорить, что задача слишком специальная, и вообще не 10000 лет, а 2.5 дня, но факт остается фактом — квантовое превосходство было достигнуто в определенной степени!
Так что теперь вопрос считанных лет, когда квантовые компьютеры начнут использоваться повсеместно! IBM, например, только что анонсировали что в 2023 году создадут коммерческий квантовый компьютер с 1121 кубитами!
Чтобы вы понимали калькулятор Google даже не считает сколько будет 2 в 1121 степени, а просто говорит — бесконечность! И это совсем не предел.
Уже ведется разработка компьютеров на миллионы кубитов — именно они откроют истинный потенциал квантовых вычислений.
Более того, вы уже сейчас можете попробовать самостоятельно попробовать квантовые вычисления! IBM предлагает облачный доступ к самым современным квантовым компьютерам. Вы можете изучать, разрабатывать и запускать программы с помощью IBM Quantum Experience.
Но зачем вообще нужны квантовые компьютеры и где они будут применяться?
Естественно, не для распихивания людей по автобусам.
Задач множество. Главная — базы данных и поиск по ним, работа с BigData станет невероятно быстрой. Shazam, прокладывание маршрутов, нейронные сети, искусственный интеллект — все это получит невероятный толчок! Кроме того симуляции и моделирование квантовых систем! Зачем это надо — спросите вы?
Это очень важно, так как появится возможность строить модели взаимодействия сложных белковых соединений.
Это станет очень важным шагом для медицины, открывающим просто умопомрачительные просторы для создания будущих лекарств, понимания того как на нас влияют разные вирусы и так далее. Простор огромен!
Чтобы вы примерно понимали какая это сложная задачка, мы вернемся в примеру с монеткой. Представьте что вам надо заранее смоделировать что выпадет — орел или решка.
Надо учесть силу броска, плотность воздуха, температуру и кучу других факторов. Сложно? Ну не так уж!
А теперь представьте, что у вас не один человек, который кидает монетку, а миллион разных людей, в разных местах, по-разному кидают монетки. И вам надо рассчитать что выпадет у всех! Вот примерно настолько сложная эта модель о взаимодействии белков.
Кроме того, вы наверняка слышали о том, что квантовые компьютеры сделают наши пароли просто пшиком, который можно будет подобрать за секунды. Но это уже совсем другая тема…
Вывод
Какой вывод из всего этого мы можем сделать, квантовый компьютер — это принципиально новая система. Она отличается от обычных компьютеров в самом фундаменте, в физических основах на которых работает.
Их на самом деле даже нельзя сравнивать! Это все равно, что сравнивать обычные счеты и современные компьютеры!
И конечно есть большие сомнения, что вы когда-нибудь сможете прийти в магазин и купить свой маленький квантовый процессор. Но они вам и не нужны. Квантовые компьютеры для обычного пользователя станут как современные дата-центры, то есть нашими невидимыми помощниками, которые расположены далеко и которые просто делают нашу жизнь лучше или как минимум другой!
Можете еще спросить, что круче, кофе или лошадь. У них же тоже есть много общего.
Квантовый компьютер и нейрокомпьютер это разные вещи.
Квантовый компьютер это усовершенствование обычного цифрового компьютера и он также как и любой компьютер обрабатывает цифры. Начальные данные в него заводятся цифрами, он обрабатывает эти цифры и конечный результат выдает тоже цифрами. Он квантовый только по типу физической реализации своего процессора (то есть не на радиолампах и не на транзисторах) .
Нейрокомпьютер на входе имеет физический процесс, который инициирует в нем некоторый физический процесс, который он и выдает на выходе. (Этот физический процесс совсем не обязательно квантовый. )
Принципиальная разница в том, что цифра это объект не материального мира, а идеального, как и все математические объекты. Поэтому при обработке цифр, мы имеем дело с информационной энтропией. А в реальных физических процессах мы имеем дело с обычной физической (термодинамической) энтропией. Даже в квантовых компьютерах со всей их нечеткой логикой, на уровне цифр цифровая энтропия сохраняется, так как математика представляет собой замкнутую систему. В нейрокомпьютерах энтропия ведет себя как в обычных физических открытых системах.
Поэтому квантовый компьютер будет очень крутым когда надо обработать огромное количество информации, которую можно оцифровать, и когда хотя бы приблизительно (нечетко) известен алгоритм такой обработки.
Нейрокомпьютер будет очень крутым, когда надо найти решение проблемы, которую нельзя оцифровать, и неизвестен алгоритм решения.
Причем квантовый компьютер на своих задачах будет ВСЕГДА гарантировано крут. Нейрокомпьютер на своих задачах будет ИНОГДА крут.
(ред. — принялось, ха-ха)
Нейрокомпьютер? Пфф. .
Ты ему "загружайся", он тебе "чёта я забыл какие там процессы", ты ему "посчитай цикл", он тебе "как-то лень сегодня", ты ему "запомни текст", он тебе "уга-буга банан"..
Другое дело - квантовый комп: он тебе "введите цифру", ты ему "7", он тебе "введите цифру ещё раз", ты ему "7", он тебе "и ещё раз" ты ему "7", он тебе "скорее всего, вы ввели цифру 7". Точность!
Одно другого не исключает. Нейрокомпьютер - способ организации, а квантовый - принцип работы (на физическом уровне) .
Чтобы не выглядеть клоуном интересуйтесь откуда звон.
«Искусственный интеллект на базе нейронных сетей невероятно глуп!» – заявил вице-президент Гугла Эндрю Мур в конце 2018 года [1]. Только представьте, как обидно звучат эти утверждения для неспециалистов. Вроде бы восстание машин ожидается со дня на день и тут такое заявление! Тем не менее господин Мур абсолютно прав. Без оговорок и скрытых смыслов. Искусственный интеллект в том виде, в котором он существует сегодня, это инструмент, который сложен, но не более интеллектуален, чем, скажем, драйвер Windows.
«Закон Невена»
Основные достоинства квантовых компьютеров – параллельность вычислений и, как следствие, совершенно фантастическая скорость вычислений. Некоторые задачи квантовые системы способны решать в тысячи раз быстрее классических компьютеров. Правда, такой эффект возникает далеко не всегда и не на всех алгоритмах. Тем не менее, многие ученые считают, что очень скоро произойдет событие, когда квантовые системы превзойдут по вычислительной мощности любой из существующих ныне компьютеров.
Этот ожидаемый момент даже получил свое особое название в науке, и называется он «квантовое превосходство». До 2019 года квантовое превосходство было скорее красивой легендой, чем практическим результатом.
В мае 2019-го Хартмут Невен, директор лаборатории квантового искусственного интеллекта Google, заявил, что рост скорости вычислений квантового процессора Google отличается от всего, что когда-либо встречалось в мире. С каждым улучшением процессора мощность растет не по экспоненте, как в законе Мура, но по двойной экспоненте. Это означает, что человечество, вероятно, находится на расстоянии всего в несколько месяцев от начала эры практических квантовых вычислений.
Рисунок 6
В декабре 2018 года Невен и его команда испытывали новый квантовый чип Google, когда заметили странный результат. Сначала работу новейшего квантового процессора удавалось параллельно моделировать на обычном ноутбуке. Январский тест улучшенной версии устройства получилось смоделировать только на мощном настольном компьютере.
В начале февраля 2019 года в Google уже не осталось обычных компьютеров, которые могли бы соревноваться со следующей версией процессора. Ученые попросили доступ к кластеру серверов, чтобы продолжить работу. «Где-то в феврале мне пришлось позвонить, чтобы сказать: эй, нам нужно больше квот!», – рассказал Невен. «Новая версия чипа соперничала с системой, состоящей из миллиона процессоров».
Беспрецедентное увеличение вычислительной мощности квантовых систем, впервые обнаруженное Невеном, уже назвали «законом Невена» по аналогии с «законом Мура» для классических вычислений. Закон Невена говорит о том, что мы можем попасть в совершенно инопланетный мир буквально через несколько месяцев [3].
Впрочем, не все в мире квантовых компьютеров так шикарно, как хотелось бы. Прежде всего это очень нестабильные системы. Особые чипы, охлажденные почти до абсолютного нуля, управляемые микроволновым излучением, способны стабильно хранить информацию не более 100 микросекунд. По истечении этого времени процессы окружающей среды разрушают квантовые состояния кубитов. Кроме того, квантовую информацию нельзя копировать, поскольку состояние кубита в суперпозиции невозможно определить, не разрушив суперпозицию.
Тем не менее, вычислительные возможности квантовых компьютеров могут помочь взглянуть на возможности обучения глубоких нейронных сетей совершенно по-новому. Вероятно, это потребует серьезной адаптации существующих классических алгоритмов под квантовые вычисления. Квантовый вычислитель не умеет давать точные ответы, но зато он способен решать задачи очень быстро, по сравнению с классическими компьютерами. Если совместить квантовые алгоритмы с DML, то существующая проблема быстрого перебора всех возможных параметров обучения DNN – перестает быть проблемой.
Из-за необычности архитектуры, далеко не все алгоритмы способны выполняться на квантовом компьютере. Квантовые вычисления хороши для решения довольно узкого круга задач. Пока эти системы выглядят перспективными в оптимизации, взламывании шифров и сверхбыстром поиске совпадений в больших массивах данных. На первый взгляд, это весьма специализированные задачи. Впрочем, тоже самое можно сказать и о глубоких нейронных сетях. Поэтому, с точки зрения современных исследователей, будущее выглядит как симбиоз классических компьютеров с фон Неймановской архитектурой, глубоких нейронных сетей, которые будут работать на специализированных акселераторах и квантовых систем, которые, вероятно, будут использоваться для обучения глубоких сетей. Все вместе это должно дать синергетический эффект, хотя такая связка выглядит достаточно фантастично.
С большой вероятностью, новый 2020 год принесет всему человечеству сюрпризы, которые сейчас, за несколько месяцев до Нового Года, невозможно даже представить. Искусственный интеллект автоматизирует все больше ниш во многих областях знаний. Правда, если медицина, химия, беспилотный транспорт – не вызывают вопросов, то военное применение нейронных сетей – настораживает. Бывший замминистра обороны США Роберт Уорк называет искусственный интеллект «роботом – убийцей» и призывает не использовать его в системах предупреждения о ядерном нападении и системах нанесения ответного ядерного удара [8]. БИТ
Ключевые слова: квантовые технологии, кубит, нейронные сети
Свойства квантового мира
Сегодня простые нейронные сети используются нечасто. Большинство современных серьезных проектов основаны на использовании глубоких нейронных сетей, а основная часть исследований сосредоточена в области «глубокого машинного обучения» (от англ. Deep Machine Learning, DML).
Пожалуй, самая большая проблема глубоких нейронных сетей заключена как раз в глубоком машинном обучении. Сложность структуры DNN такова, что невозможно быстро «поиграть» со всем пространством доступных параметров обучения для получения оптимального результата. Это требует больших затрат времени и вычислительных ресурсов. Дальнейшее развитие глубоких сетей может дать фантастический прорыв во многих областях, да вот печаль: современная технология изготовления процессоров вплотную подошла к своему пределу.
Размер атома кремния приблизительно 0.5нм, в то время как самый совершенный сегодня процесс, позволяющий создавать процессоры для «яблочных» телефонов, подразумевает размер одного транзистора 7нм. [2] Транзистор фактически состоит из 14 атомов. При таких размерах полупроводников ключей, электроны могут пролетать транзисторы насквозь за счет «туннельного эффекта». Пока с этим явлением удается бороться, но вряд ли стоит ждать значительного увеличения степени интеграции микрочипов в ближайшие годы. Современные классические компьютеры практически полностью исчерпали все возможности увеличения производительности. Однако что-то придется придумывать в самое ближайшее время.
Рисунок 2. Примеры обычной и глубокой нейронных сетейРисунок 2. Примеры обычной и глубокой нейронных сетей
До этого мы говорили, что результат работы, генерируемый глубокой нейронной сетью, часто носит вероятностный характер, а перебор всех возможных параметров обучения для получения оптимального результата, часто занимает много времени и требует больших вычислительных ресурсов. Вероятностный результат и огромная вычислительная мощность наводят на одну мысль…
Неточными, но очень быстрыми параллельными вычислениями сегодня может похвастаться только одно устройство, которое называется «квантовый компьютер». Можно ли потенциально применить это устройство для DML глубоких нейронных сетей? Вопрос очень непростой: идеология квантовых вычислений не имеет ничего общего с классическими алгоритмами.
Разница начинается уже на уровне двоичной системы. Обычные компьютеры используют хорошо всем знакомую единицу информации «бит», который принимает значение «0» или «1», в зависимости от того, закрыт или открыт полупроводниковый транзистор, размещенный на кремниевом чипе. Квантовый компьютер тоже оперирует нулями и единицами, но они представляют собой состояние элементарной частицы – электрона.
Субатомный мир резко отличается от всего того, что нам привычно и понятно. Метод хранения и обработки информации с помощью электрона – не исключение. Помимо «нуля» и «единицы», наша элементарная электронная ячейка памяти может принимать еще и третье значение – «суперпозиция», при этом не выходя за рамки двоичной системы. Простого, «бытового» объяснения «суперпозиции» нет, а уходить в волновые функции, уравнения Шредингера и постоянные Планка и прочие премудрости квантовой физики совершенно не хочется. Скажем так, что это одновременно «не ноль» и «не единица», и в то же самое время «ноль» и «единица». Элементарная ячейка памяти, способная принимать три состояния «0», «1» и «суперпозиция» – называется «квантовый бит» или «кубит».
Для иллюстрации работы «кубита» иногда используют аналогию с системой из двух атомов водорода, в которой два протона и один электрон.
Пусть состояние системы, когда электрон принадлежит правому протону, называется «0» (рис.3), а если левому – «1» (рис.4). Неожиданность квантового мира в том, что электрон вполне способен одновременно принадлежать и левому, и правому протонам, но с разной или равной долей вероятности (рис.5). В таком случае невозможно определенно сказать, в каком состоянии находится система, поэтому говорят, что система находится в «суперпозиции». Это одновременно и «0», и «1», но в то же самое время это ни то, ни другое.
Рисунок 3. Кубит в состоянии «0»
Рисунок 4. Кубит в состоянии «1»
Рисунок 5. Кубит в состоянии «суперпозиция»
В качестве сравнительной аналогии работы битов и кубитов иногда используют сравнение с монетой. Бит – это монета, у которой есть две стороны «орел» и «решка», кубит – это вращающаяся монета, у которой можно наблюдать «решку» и «орла» одновременно, но с разной вероятностью. Ученые используют калиброванные импульсы микроволнового излучения, чтобы поместить кубиты в суперпозицию или чтобы ее разрушить, определив точные значения «0» или «1».
Третье состояние или «суперпозиция» кубита, а также вероятностный характер информации, хранимой такой ячейкой, имеют интересное следствие. Если бит способен одновременно хранить всего одно значение, то кубит – четыре. Система из двух кубит способна работать с шестнадцатью значениями, из трех с двумястами пятьюдесятью шестью и так далее. Если двоичная система оперирует с разрядностью «2 в степени N», где N – число бит, то квантовый компьютер подчиняется другим законам: «2 в степени 2 в степени N», где N число кубит. Такой эффект частично достигается за счет того, что кубиты в одно и то же время содержат множество потенциальных результатов. Окончательный результат вычисления становится доступен только после того, как программист измеряет состояние кубита с помощью микроволнового сигнала, что разрушает суперпозицию и заставляет кубит «коллапсировать» в обычное состояние двоичного нуля или единицы.
Другое особенное свойство квантового мира называется «квантовая запутанность». Используя то же самое микроволновое излучение, пару электронов в кубитах можно «запутать» так, что они всегда будут существовать в одном и том же квантовом состоянии. Это позволяет ученым манипулировать парами запутанных кубитов, просто изменяя состояние одного из них, даже если они физически разделены огромным расстоянием. Прогностический характер запутывания приводит к тому, что добавление кубитов в систему экспоненциально увеличивает вычислительную мощность квантового компьютера.
Следствия использования суперпозиции и квантовой запутанности совершенно фантастические! Восьмибитная система способна оперировать с 256 значениями чисел, в то время как восьмикубитная система способна работать с 1.15 *1077 значениями. Система из десяти кубит может одновременно работать с 21024 значений или с 1.79*10308. Разработчики говорят, что эта цифра превосходит число атомов в известной вселенной.
Наконец, третье свойство квантовых систем – интерференция. Сам характер квантовых вычислений хорошо описывается волновой функцией. Волны же, как мы все помним из курса школьной физики, при их наложении друг на друга, могут увеличивать или уменьшать результирующую амплитуду. Используя особые интерфереционные квантовые алгоритмы, ученые контролируют вычислительный процесс: усиливают сигналы, которые дают большую вероятность правильного ответа и ослабляют все остальные.
ИИ: принципы работы
Если посмотреть на спектр решаемых ИИ задач, то можно увидеть, что в большинстве случаев это выявление или генерирование каких-либо шаблонов, понятных для человека. Ничего, кроме этого, нейронные сети не умеют. Искусственный интеллект бессмысленно использовать там, где не требуется распознать некий паттерн, неявно встречающийся в огромном объеме данных. Тем не менее, это бесценный инструмент, если его применять правильно. Правда, к настоящему человеческому интеллекту ИИ имеет мало отношения. Да, принципы работы этих двух систем в чем-то похожи, но сходство их весьма отдаленное.
Способности человеческого сознания простираются гораздо дальше простого распознавания окружающих нас предметов или явлений. Например, наш мозг хорош в принятии быстрых решений на неполных данных. По-видимому, такая способность отточилась у наших предков за тысячелетия эволюции. От того, насколько правильно и быстро древний охотник мог понять, что означает шуршание в кустах – зависела его жизнь. Если это хищник – время убегать, если добыча – время охотиться. Ошибка могла стоить жизни в обоих случаях.
Наследство предков-охотников служит нам и сегодня. Вы замечали, что при чтении печатного текста нет никакого смысла точно узнавать каждую букву в слове? Мы делаем это лишь в детстве, когда у нас еще нет опыта чтения. Во взрослом возрасте – наоборот, мы воспринимаем слово по первой и последней буквам, с определенной вероятностью додумывая то, что находится между ними. Да, при таком подходе случаются ошибки, но они некритичны для понимания смысла текста. Кроме того, как выяснили ученые, непонимание или неправильная трактовка одного или даже нескольких слов в тексте в большинстве случаев не искажает общий смысл прочитанного.
Несмотря на то, что искусственный интеллект – это даже при близком рассмотрении не замена и не копия человеческого сознания, он научился расширять возможности человека. Выявить неочевидные зависимости, найти закономерность там, где ее, на первый взгляд, нет – все это неосуществимо без нейронных сетей. Чтобы понять правила пользования инструментом под названием «искусственный интеллект» и границы его применимости, придется чуть-чуть поговорить о принципах его работы.
На бытовом уровне нейронную сеть можно условно представить как черный ящик, к входу которого подключена, скажем, видеокамера, а на выходе имеется лампочка. Предположим, что вот этот наш искусственный интеллект обучен распознавать котиков, которые попадают в объектив. Если камера видит Барсика или Мурзика, на задней крышке нашей коробки немедленно загорается лампочка.
Вместо камеры и лампочки, к входу и выходу черного ящика можно подключить микрофон и принтер и обучить ИИ распознавать человеческую речь, преобразовывать ее в текст и распечатывать на принтере.
На первый взгляд все вроде бы несложно. Стандартная компьютерная система. В чем преимущество ИИ перед обычным программным обеспечением? Все, чем так хороши нейронные сети – недоступно классическим алгоритмам последовательного выполнения.
Что произойдет, если попытаться распознать слова в записи разговора без нейронной сети? Современному компьютеру, использующему обычный последовательный алгоритм программирования, вполне по силам проанализировать все частоты, содержащиеся в звуковом файле. На основе этого анализа можно построить график амплитуды звукового сигнала или даже посчитать, сколько раз та или иная частота встречается в записи и т.д. Единственное, что не получится – выделить из звукового потока слова человеческой речи. Люди разговаривают по-разному: отличаются тон, скорость, особенности произношения, например, «аканье» или «оканье». Все это ведет к невозможности формализации постановки задачи. Даже если удастся собрать частотные характеристики всех слов и языковых диалектов в одной базе данных, все равно остаются индивидуальные особенности произношения, которые портят весь праздник. Кроме того, сложный поиск индивидуальных частотных соответствий в огромной базе данных, скорее всего, будет происходить настолько медленно, что вся затея теряет смысл.
Нейронная сеть, запущенная на том же самом компьютере, легко справится с такой задачей. Мощности любого современного бытового компьютера вполне достаточно, чтобы распознать несколько сотен слов, без подключения к сети. Например, китайские инженеры разработали в 2019 году модуль искусственного интеллекта «Sipeed M1», состоящий из двухъядерного процессора архитектуры RISC-V и встроенного акселератора конволюционной нейронной сети. В чип интегрировано 8мб оперативной памяти из которых 5.9 мб используется для искусственного интеллекта. Возможности системы вполне серьезные. Микрокомпьютер с имеющимся любительским, демонстрационным программным обеспечением с лёгкостью распознает лица, там, где они есть, а также способен различать и называть предметы окружающей обстановки. Эта «игрушечная» система, совмещенная с хорошо известным ESP32 сейчас продается на Алиэкспресс за 1500-2000 рублей.
Идея объединить нескольких плоских нейронных сетей в одну многослойную, «глубокую» (англ. Deep Neural Network, DNN) возникла еще в 1980-е годы. Правда, вычислительная мощность компьютеров тех времен не позволяла воплотить подобные фантазии на имеющемся железе.
Рисунок 1. Микрокомпьютер на базе Sipeed M1 и ESP32 в формате Arduino. Модуль искусственного интеллекта Sipeed M1, включает в себя двухядерный RISC-V 600 мГц процессор со встроенным акселератором конволюционной нейронной сети, аудио акселератором и 8 Мб оперативной памяти из которых 5.9 Мб используется под искусственный интеллект
Информация в глубокой сети движется по слоям. Каждый слой реализует свое представление данных и позволяет рассчитать вероятность получения ожидаемого результата на выходе. Предположим, мы хотим знать, изображено ли на фотографии человеческое лицо. На вход DNN подается фото в виде пиксельной матрицы. Первый уровень представления находит и кодирует границы распознаваемого объекта. Второй уровень определяет все возможные комбинации этих границ. Третий слой ищет в границах объекта шаблон, похожий, например, на человеческие нос и глаза. Наконец, четвертый слой рассчитывает окончательную вероятность того, содержится ли на нашем фото человеческое лицо.
Глубокие сети научились распознавать картинки, предоставляемые 360° камерой, используемой в беспилотном транспорте, а также умело разгадывают генетические заболевания человека по одной лишь фотографии. DNN разбираются в искусстве и могут определить авторство картины или, наоборот, написать свой холст, копируя стиль определенного художника.
Есть направление использования глубоких сетей, которое называется «Работа с естественным языком». В этом случае ИИ осваивает грамматику и семантику человеческих языков. Конечная цель – научить ИИ распознавать языковые конструкции, в том числе речь, чтобы осмысленно поддерживать беседу, самостоятельно писать тексты и делать переводы на другие языки.
Биоинформатика, токсикология и поиск новых лекарств – относительно новые области исследований, где с приходом DNN наблюдается большой прогресс. Отдельное направление глубокого искусственного интеллекта занимается управлением взаимоотношениями с клиентами CRM (от англ. Customer Relationship Management). В других случаях DNN выявляют финансовое мошенничество, строят системы рекомендаций и заведуют мобильной рекламой в наших смартфонах.
Читайте также: