Новая веха на пути к созданию работающего без ошибок квантового компьютера
Компания Riverlane 13 сентября 2023 года объявила о создании декодера исправления ошибок при проведении квантовых вычислений квантовым компьютером. В этой статье мы расскажем, что представляет собой этот декодер, какие функциональные возможности он открывает для производителей и пользователей квантовых компьютеров, а также о том, что Riverlane планирует сделать в дальнейшем для достижения повышения отказоустойчивости квантовых вычислений.
Квантовая корркция ошибок (QEC)
Квантовая коррекция ошибок (QEC) используется в квантовых вычислениях для защиты квантовой информации от ошибок, вызванных декогеренцией и другим квантовым шумом. Теоретически квантовая коррекция ошибок необходима для достижения отказоустойчивых квантовых вычислений, которые могут уменьшить влияние шума на хранимую квантовую информацию, неисправные квантовые вентили, неправильную квантовую подготовку и ошибочные измерения.
Классическая коррекция ошибок использует избыточность. Самый простой, хотя и неэффективный подход — это код повторения. Идея состоит в том, чтобы сохранить информацию несколько раз и — если позже обнаружится, что эти копии расходятся — проголосовать большинством голосов; например, предположим, что мы копируем бит в одном состоянии три раза. Предположим далее, что зашумленная ошибка искажает трехбитовое состояние так, что один из скопированных битов равен нулю, а два других равны единице. Предполагая, что зашумленные ошибки независимы и возникают с некоторой достаточно низкой вероятностью p, наиболее вероятно, что ошибка представляет собой однобитовую ошибку, а передаваемое сообщение состоит из трех единиц. Возможно, что произошла двухбитовая ошибка и переданное сообщение равно трем нулям, но такой исход менее вероятен, чем вышеуказанный.
В этом примере логическая информация представляла собой один бит в одном состоянии, физическая информация — это три скопированных бита, и определение того, какое логическое состояние закодировано в физическом состоянии, называется декодированием. Подобно классической коррекции ошибок, QEC-коды не всегда корректно декодируют логические кубиты, но их использование уменьшает эффект шума.
QEC-код использует много физических кубитов для построения более надежного одного логического кубита. При условии, что кубиты, код и декодер соответствуют некоторым требованиям к порогу шума, чем больше кубитов мы используем, тем надежнее логический кубит.
Если расматривать как QEC работает на практике, то используя сверхпроводящие кубиты ETH Zurich продемонстрировала качественный 17-кубитный QEC-код. Позже эксперимент Google показал, что 49-кубитный QEC-код действительно повышает надежность 17-кубитного QEC-кода ETH.
Эксперименты ETH Zurich и Google основывались на декодировании в автономном режиме, что означает, что результаты измерений были собраны, а декодирование произошло позже (возможно, через несколько дней или недель), а не в режиме реального времени при сборе данных. Это в принципе неплохо для ранних демонстраций возможностей QEC, поскольку они показывают, что можно создавать кубитные компоненты логической квантовой памяти.
Декодер исправления ошибок DD1
Для работающего без ошибок квантового компьютера нам нужна не только надежная логическая квантовая память, но и возможность выполнять логические операции между логическими кубитами. И это означает, что нам необходимо декодирование в режиме реального времени, потому что нам нужно декодировать каждый логический элемент, чтобы убедиться в его надежной работе, прежде чем переходить к следующему логическому элементу.
Декодирование в режиме реального времени является огромной проблемой для быстрых квантовых компьютеров (таких как сверхпроводящих), поскольку в сверхпроводящих кубитах ежесекундно генерируется миллион циклов результатов измерений. Если мы не будем декодировать достаточно быстро, то столкнемся с экспоненциально растущим отставанием в обработке данных о синдромах. И для квантовых вычислений нам нужно увеличить масштаб декодера до так называемых скоростей тераквоп-декодирования.
Для создания настоящего реального времени Riverlane используются три подхода:
Детерминированный подход: декодер должен оперативно реагировать в строго определенное время (звучит просто, но многие компьютерные архитектуры, такие как процессоры, могут реагировать на досуге);
Потоковая передача: декодер должен обрабатывать непрерывные потоки результатов измерений по мере их поступления, а не после завершения эксперимента;
Адаптивный: декодер должен реагировать на ранее принятые решения о декодировании посредством тесной интеграции с системами управления, которые являются фундаментальным компонентом стека квантовой коррекции ошибок.
Что RIVERLANE уже создали
Время течет снизу вверх. Слева направо: система управления посылает серию импульсов на кубиты; последующие циклы QEC показаны двумерными плоскостями; каждый цикл QEC генерирует набор аналоговых импульсов; система считывания преобразует аналоговые импульсы в цифровую информацию о синдроме; экземпляр декодера начинает обрабатывать все данные о синдроме единым пакетом. Чтобы рассчитать скорость работы декодера, Riverlane запускаем синхронизацию после выполнения последнего раунда QEC, пока декодер не выдаст свой последний выходной бит.
Текущий декодер (DD1) позволяет демонстрировать квантовую память, которая открывает первую функцию реального времени - детерминированное декодирование (1) для QEC-кода, называемого кодом поверхности (это то, что использовали команды Google и Zurich).
Для увлечения скорости был Riverlane разработан алгоритм кластеризации столкновений, который работает за счет увеличения числа кластеров ошибок и быстрой оценки того, сталкиваются они или нет
Чтобы реализовать кластеризацию столкновений, Riverlane закодировали ее на языке очень низкого уровня под названием Verilog. Это позволяет загружать (или прошивать) код Verilog на компьютер, называемый FPGA - программируемую в полевых условиях матрицу вентилей. ПЛИС - это большие, массивные интегральные схемы (см. Рисунок 3), которые можно перепрограммировать (“Запрограммировать” в "Полевых условиях”) для решения специализированной задачи. У них есть много преимуществ, в том числе то, что они ведут себя детерминированно гарантируя, что они всегда выполняют задачи своевременно.
Хотя для декодирования доступно множество отличных программных пакетов, они закодированы на языках более высокого уровня, подходящих для процессоров, и не обязательно будут вести себя детерминированно.
Пример программируемой в полевых условиях матрицы вентилей (FPGA), показанный на обычной аппаратной реализации, используемой в стеках квантовых вычислений, особенно в составе систем управления. DD1 может быть встроен в ПЛИС с использованием небольшого процента ресурсов, часто наряду с существующими компонентами управления.
ПЛИС
ПЛИС - полезная платформа, поскольку в настоящее время каждый квантовый компьютер в мире использует их для генерации импульсов для управления кубитами. Таким образом, декодер легко встраивается в существующие инфраструктуры. Действительно, вы могли бы использовать декодер для обработки до 1000 кубитов, и он все равно использовал бы менее 6% ресурсов FPGA (на базе Xilinx).
В долгосрочной перспективе стоимость и объем ПЛИС означают, что крупным квантовым компьютерам необходимо будет перейти на использование специализированных интегральных схем (ASIC) для своих декодеров и систем управления. ASIC очень похож на центральный процессор вашего ноутбука или телефона, но он адаптирован для конкретной задачи и ведет себя более детерминированно, как FPGA.
По сравнению с FPGA ASIC быстрее, намного дешевле и намного ниже по энергопотреблению. Загвоздка в том, что для создания ASIC требуется литейный цех для “переноса” вашего дизайна на кремниевый чип. Каждое новое поколение или обновление вашего декодера требует нового вывода на пленку. Таким образом, они не так быстро развертываются, поскольку большинство современных квантовых компьютеров используют ПЛИС для своих систем управления.
Подводя итог, можно сказать, что ПЛИС удобны сейчас, но ASIC - это будущее. Вот почему текущий декодер также готов к записи на магнитную ленту, и Riverlane завершили тестовую запись на магнитную ленту более раннего поколения: DD0A, который является первым в мире декодером ASIC. DD0A - демонстрационный чип с DD1A, который должен быть выпущен в 2024 году.
Даже без завершения процесса переноса на пленку код Verilog позволяет оценить ожидаемую производительность ASIC. Производя первый в мире декодер ASIC и выпуская decode IP, Riverlane предоставляет краткосрочные и долгосрочные решения для декодирования для компаний, производящих квантовое оборудование.
Заключение
Декодер текущего поколения имеет основы для декодирования в реальном времени, и в настоящее время Riverlane создает более сложную функциональность для полной поддержки крупномасштабных квантовых вычислений с исправлением ошибок.
Во-первых, текущий декодер принимает выходные данные всего эксперимента QEC и декодирует их как единый пакет всех данных синдрома, сгенерированных в ходе этого эксперимента. Она выполняет эту задачу быстро и за надежный промежуток времени (ее поведение детерминировано). Но это не непрерывное декодирование потока данных!
Основное отличие здесь в том, что экземпляры декодера начинают обрабатывать пакеты данных о синдроме (называемые windows – подробнее об этом ниже), пока эксперимент еще выполняется. Каждый экземпляр / окно должны дождаться завершения предыдущей логической операции, прежде чем оно сможет приступить к выполнению своей задачи. Соответствующее время отклика - с момента окончания эксперимента до получения окончательного вывода декодера. Riverlane знаем, что избежали проблемы с отставанием, если сможем выполнять неограниченное количество раундов QEC, никогда не превышая постоянного максимального времени отклика.
Потоковый декодер должен разбивать данные на пакеты, называемые окнами. Он может начать декодирование окна, как только выполнены все необходимые измерения. Затем, как только это окно будет расшифровано, он может перейти к следующему окну данных и начать его расшифровку.
Однако декодирование является сложной целостной проблемой и не может быть четко разделено на полностью независимое окно. Итак, нужно, чтобы каждое из окон перекрывалось, и нам также нужно встроить дополнительные функциональные возможности в декодер, чтобы согласовать то, что происходит, когда эти окна перекрываются.
Если декодер достаточно быстр, можно работать с данными о ошибке, используя только один экземпляр декодера одновременно, так называемый подход со скользящим окном (он же подход с перекрытием окон).
Этот эксперимент начинается (внизу) с двух отдельных логических кубитов, затем выполняется логическая операция по объединению патчей, затем Riverlane уменьшаем размер патча до стандартного и затем проводим адаптивные измерения. Поскольку проблема декодирования разбита на три этапа, нам нужно только дождаться завершения работы второго этапа, прежде чем отправлять сообщение обратной связи в систему управления (показано красной стрелкой).
На рисунке 6 показан простейший примитив вычисления с двумя логическими кубитами, где декодирование в реальном времени становится действительно возможным. На рисунке показан простой эксперимент с телепортацией и логическим считыванием. Это простейший примитив, в котором крайне важно адаптировать третью логическую операцию (измерение) в зависимости от результатов декодирования второй логической операции (объединение участков).
Итак, как только Riverlane сможет непрерывно декодировать логическую квантовую память, следующим шагом вперед будет демонстрация декодирования логического квантового компьютера.