Microsoft улучшает коррекцию ошибок на машине Quantinuum, сотрудничая с Atom Computing
В сентябре компания Microsoft сделала ряд объявлений, связанных с сервисом Azure Quantum Cloud. Среди них была демонстрация логических операций с использованием самого большого количества кубитов с коррекцией ошибок.
«С апреля мы втрое увеличили количество логических кубитов, — сказала технический специалист Microsoft Криста Своре. — Так что мы ускоряемся на пути к сотне логических кубитов». Компания также нашла нового партнёра в лице Atom Computing, которая использует нейтральные атомы для хранения кубитов и уже продемонстрировала оборудование с более чем 1000 аппаратных кубитов.
В совокупности эти анонсы являются последним признаком того, что квантовые вычисления вышли из младенческого возраста и быстро продвигаются к созданию систем, способных надёжно выполнять вычисления, которые было бы непрактично или невозможно выполнить на классическом оборудовании. Мы побеседовали с сотрудниками Microsoft и некоторыми её партнёрами по аппаратному обеспечению, чтобы понять, что будет дальше, что приблизит нас к полезным квантовым вычислениям.
Как это работает?
В проекте документа, описывающего новый этап исправления ошибок, исследователи Microsoft и Quantinuum описывают схему исправления ошибок, необходимую для достижения нового рубежа. В упрощённом виде кубиты, на которых хранятся данные, можно представить в виде сетки. Измерение одного набора вспомогательных кубитов должно дать четыре значения, которые всегда одинаковы: либо все нули, либо все единицы. Обнаружение неожиданного значения — скажем, 0 0 1 0 — подскажет вам, где на оси x находится проблема. Проведя второй набор измерений, можно определить колонку тем же способом.
Обратите внимание, что эта система всё ещё допускает неустранимые ошибки, поскольку можно получить результат с равным количеством нулей и единиц. Тем не менее, она, по крайней мере, позволит определить наличие проблемы, что позволит остановить и перезапустить вычисления.
Логические кубиты предлагают выход из отчаянной ситуации, вызванной осознанием того, что мы никогда не сможем удержать аппаратные кубиты от слишком большого количества ошибок, чтобы проводить надёжные вычисления. Исправление ошибок в классических компьютерах включает в себя измерение состояния битов и сравнение их значений с суммарным значением. К сожалению, вы не можете аналогичным образом измерить состояние кубита, чтобы определить, произошла ли ошибка, поскольку его измерение заставляет его принять конкретное значение, уничтожая любую суперпозицию значений, которая делает квантовые вычисления полезными.
Логические кубиты обходят эту проблему, распределяя один бит квантовой информации по множеству битов, что делает любую ошибку менее катастрофичной. Для обнаружения ошибки необходимо добавить несколько дополнительных битов к логическому кубиту так, чтобы их значение зависело от битов, содержащих данные. Вы можете измерить эти вспомогательные кубиты, чтобы определить, возникла ли проблема, и, возможно, получить информацию о том, как её исправить.
Существует множество потенциальных схем исправления ошибок, некоторые из которых могут потребовать выделения около тысячи кубитов для каждого логического кубита. Можно обойтись и меньшим количеством — существуют схемы с менее чем 10 кубитами. Но в целом, чем меньше аппаратных кубитов вы используете, тем выше вероятность возникновения ошибок, от которых вы не сможете оправиться. Эту тенденцию можно частично компенсировать за счёт аппаратных кубитов, которые менее подвержены ошибкам.
Проблема в том, что это работает только в том случае, если уровень ошибок достаточно низок, чтобы вы не сталкивались с ошибками в процессе коррекции. Другими словами, аппаратные кубиты должны быть настолько хороши, чтобы не выдавать столько ошибок, что невозможно понять, когда произошла ошибка и как её исправить. Этот порог был преодолён сравнительно недавно.
В предыдущей демонстрации Microsoft использовала оборудование компании Quantinuum, в котором используются кубиты, основанные на ионах, захваченных электрическими полями. Они обладают одними из лучших показателей по количеству ошибок, о которых уже сообщалось, и Microsoft показала, что это позволяет отлавливать и исправлять ошибки в течение нескольких раундов коррекции ошибок. В новой работе коллаборация пошла дальше, выполнив множество логических операций с исправлением ошибок на коллекции логических кубитов.
Выберите свой код
Как уже говорилось выше, существует множество потенциальных схем исправления ошибок, и новые разрабатываются регулярно. Команда, создавшая новую работу, называет эту схему тессерактным кодом, в честь четырёхмерного куба, так как связи между кубитами в ней имеют сходное расположение с углами тессеракта. Стоит отметить, что эта схема возможна на аппаратном обеспечении Quantinuum, поскольку ионные кубиты можно перемещать, позволяя любому из них соединяться с любым другим. Такой подход может оказаться невозможным в случае с аппаратными кубитами, соединения которых задаются проводкой оборудования.
В итоге получается логический кубит, который использует 16 аппаратных кубитов для хранения четырёх логических кубитов и может защитить их от трёх одновременных ошибок. Учитывая размер существующего оборудования Quantinuum, это позволило исследователям втиснуть дюжину логических кубитов в 56 аппаратных кубитов, которыми располагала машина Quantinuum H2.
И это сработало. Если бы вы выполняли одну из протестированных операций, используя только аппаратные кубиты машины H2, то вероятность ошибки составила бы 2,4 процента. При использовании кода тессеракта и логических кубитов уровень ошибок снизился до 0,11 процента, что в 22 раза лучше. Этот показатель был основан как на ошибках, исправленных в ходе операций, так и на вычислениях, отброшенных из-за ошибок, которые невозможно было исправить. Это всё ещё недостаточно низкий показатель для выполнения большого количества операций, необходимых для полезных алгоритмов, но он наглядно демонстрирует, что исправление ошибок работает так, как и ожидалось.
Успех заключался в использовании большого количества измерений и операций для исправления ошибок в дополнение к тем, что требовались для выполнения операций, которые можно было использовать для вычислений. Таким образом, хотя схема была чрезвычайно эффективной, она значительно увеличивала количество обратных связей между аппаратными кубитами и классическими компьютерами, которые ими управляют. Часть заявления Microsoft во вторник заключалась в том, что компания обязуется сделать так, чтобы пользователям никогда не приходилось сталкиваться с подобными сложностями.
Представитель Microsoft Свор рассказал Ars, что если вы используете язык управления Azure Q# для разработки кода для любой из поддерживаемых систем, то он будет содержать все инструкции, необходимые для исправления ошибок, без участия пользователя. «Мы расширяем Azure Quantum, переходя от того, что изначально было создано как метод как услуга для доступа к [подверженным ошибкам] квантовым компьютерам, — сказал Свор в интервью Ars. — Теперь его возможности будут расширены и будут включать исправление ошибок».
«Мы не пишем ассемблерный код на ежедневной основе, — сказал Свор. — Так что аналогия здесь та же, верно? Вы хотите написать своё приложение на языке высокого уровня. Для этого мы представили Q#, высокоуровневый язык для написания квантовых алгоритмов, а затем он опускается на аппаратное обеспечение и компилируется для вас в аппаратную плоскость. Таким образом, вам, как пользователю, не нужно знать подробности квантовой коррекции ошибок или того, как эта коррекция происходит для данной логической операции — всё это делается за вас».
Стоит признать, что практически все компании в этой области уже поняли, что это будет необходимо для сохранения конкурентоспособности. И как поставщик интерфейсов для аппаратного обеспечения нескольких компаний, занимающихся квантовыми вычислениями, Microsoft сталкивается с гораздо более серьёзной проблемой, чем любая из этих компаний по отдельности.
Балансировка потребностей
Как мы уже говорили, существует множество потенциальных кодов для исправления ошибок, которые могут быть использованы, и они предполагают компромисс между степенью защиты от ошибок и количеством используемых кубитов. В настоящее время, когда количество кубитов невелико, большинство работ сосредоточено на очень компактных схемах, но ожидается, что в ближайшие несколько лет количество кубитов будет быстро расти. Это в конечном итоге поставит перед нами вопрос: какой уровень ошибок может выдержать тот или иной алгоритм. «Я думаю, что для разных поставщиков оборудования могут быть разные "идеальные варианты", — говорит Свор. — Точно так же могут быть разные "идеальные варианты» в области приложений"».
Но это лишь часть проблемы. Аппаратное обеспечение Quantinuum с возможностью подключения «всего ко всем» можно использовать практически в любой конфигурации. Но другие аппаратные средства, поддерживаемые Azure Quantum, имеют относительно ограниченное количество жёстких связей между своими кубитами. В то же время связи между кубитами, хранящимися в чипах Quantinuum, необходимо организовать через физическое перемещение ионов друг к другу, что является относительно медленным процессом, который необходимо свести к минимуму.
И, как отметил Свор, особенности применения играют не последнюю роль. Некоторые коды коррекции ошибок не очень совместимы с определёнными логическими операциями (технически называемыми неклиффордовскими вентилями). Поэтому конкретные операции, необходимые для работы алгоритма, могут определять, какие коды коррекции ошибок имеют смысл. (Также возможно, хотя и с большими вычислительными затратами, менять коды коррекции ошибок в середине алгоритма).
Существует множество потенциальных оптимизаций, которые необходимо будет сбалансировать, и они будут меняться в зависимости от алгоритма и аппаратного обеспечения, на котором он будет работать. Всем этим должен будет заниматься компилятор Microsoft, который преобразует код Q# в специфические для аппаратного обеспечения команды, выполняющие операции с кубитами, будь то перемещение ионов или воздействие на кубиты микроволн.
Основатель Atom Computing Бен Блум сказал, что работа Microsoft в этой области сделала партнёрство компаний ценным для планов Atom по разработке аппаратного обеспечения. По словам Блума, его компания совершила многое из того, что можно было бы ожидать от разработки квантовых вычислений на нейтральном атоме: Она показала, что может генерировать и улавливать множество отдельных атомов, продемонстрировала, что может обращаться к каждому из них по отдельности, и работала с поставщиками оборудования, чтобы получить лазеры с более низким уровнем шума для снижения частоты ошибок при выполнении операций.
Но компания Atom обнаружила, что, хотя многие из этих вещей необходимы для эффективной коррекции ошибок, это ещё не вся история. «Они [Microsoft] пришли к нам, и у них были очень конкретные идеи относительно того, что они хотят сделать, а у нас было собственное оборудование, которое было построено по другим спецификациям», — говорит Блум. Теперь они регулярно общаемся, и компании «действительно совместно разрабатывают систему таким образом, чтобы в ней была коррекция ошибок и аппаратное обеспечение, и они очень, очень эффективно подстраивались друг под друга». Это включает в себя выяснение того, как разработать схемы, которые минимизируют самый медленный аспект операций — перемещение атомов.
Блум в целом оптимистично оценивает прогресс, достигнутый в области исправления ошибок. «Я думаю, что новые достижения есть не только у Microsoft, но и во всём мире. Я бы сказал, что в области квантовой коррекции ошибок, думаю, даже за последние год-два произошёл огромный сдвиг в том, что возможно». По его словам, за последние пять лет или около того количество кубитов, которое, по расчётам людей, необходимо для создания надёжного логического кубита, уменьшилось как минимум на порядок, поскольку люди разработали более эффективные схемы кодирования.
Его оптимизм поддержал и генеральный директор компании Quantinuum Радж Хадра: «Мы можем с уверенностью сказать, что то, что индустрия считала достижимым только лет через десять-пятнадцать, мы сделаем возможным к концу этого десятилетия».
Nurked
Так, а что же там Роснано или как их там, про которых нам каждую неделю рассказывают про 1000-кубитные процессоры? У нас же в России уже ферма есть, так ведь?