Поставщик IonQ
Совет
Впервые пользователи автоматически получают бесплатные кредиты Azure Quantum в размере 500 долл. США для использования с каждым участвующим поставщиком квантового оборудования. Если вы используете все кредиты и вам потребуются дополнительные, вы можете подать заявку на участие в программе кредитов Azure Quantum.
Квантовые компьютеры IonQ выполняют вычисления путем управления состояниями энергии сверхтонкого взаимодействия в ионах иттербия с помощью лазеров. Атомы — это естественные кубиты, все кубиты идентичны в пределах одной программы и между программами. Логические операции также можно выполнять с любой произвольной парой кубитов, что позволяет создавать сложные квантовые программы, в которых нет проблемы с физическими связями. Хотите узнать больше? Ознакомьтесь с кратким обзором технологии квантового компьютера с захваченным ионом от IonQ.
- Издатель: IonQ
- Идентификатор поставщика:
ionq
У этого поставщика доступны следующие targets компоненты:
Имя целевого объекта | Идентификатор целевого объекта | Количество кубит | Описание |
---|---|---|---|
Квантовый симулятор | ionq.simulator | 29 кубит | Облачный идеализированный симулятор IonQ. Бесплатно. |
IonQ Harmony | ionq.qpu | 11 кубит | Компьютер IonQ для квантовых вычислений на захваченных ионах. |
IonQ Aria 1 | ionq.qpu.aria-1 | 25 кубитов | Квантовый компьютер IonQ Aria на захваченных ионах. |
IonQ Aria 2 | ionq.qpu.aria-2 | 25 кубитов | Квантовый компьютер IonQ Aria на захваченных ионах. |
IonQ Forte | ionq.qpu.forte | 32 кубита | Квантовый компьютер Forte захваченного иона IonQ. Доступно только в закрытой предварительной версии. |
IonQ соответствует targets профилю No Control Flow . Дополнительные сведения об этом target профиле и его ограничениях см. в статье Основные сведения target о типах профилей в Azure Quantum.
Квантовый симулятор
Идеализированный симулятор с ускорением GPU, поддерживающий до 29 кубитов, с использованием одного набора ворот IonQ, доступного на собственном оборудовании для квантовых вычислений — отличное место для предварительной проверки заданий перед их запуском на реальном компьютере для квантовых вычислений.
- Тип задания:
Simulation
- Формат данных:
ionq.circuit.v1
- Идентификатор целевого объекта:
ionq.simulator
- Целевой профиль выполнения: No Control Flow
Квантовый компьютер IonQ Harmony
IonQ Harmony — это квантовый компьютер на основе технологии захваченных ионов с возможностью программного изменения конфигурации для использования максимум 11 кубит. Все кубиты находятся в полноценной связи, то есть между любой парой кубитов можно запустить двухкубитные ворота.
- Тип задания:
Quantum Program
- Формат данных:
ionq.circuit.v1
- Идентификатор целевого объекта:
ionq.qpu
- Целевой профиль выполнения: No Control Flow
имени параметра | Тип | Обязательно | Описание |
---|---|---|---|
shots |
int | Нет | Число экспериментальных снимков. По умолчанию: 500. |
Тайминг системы
Мера | Средняя продолжительность (мкс) |
---|---|
T1 | >10^7 |
T2 | 200 000 |
Однокубитные ворота | 10 |
Двухкубитные ворота | 210 |
Считывание данных | 100 |
Сброс регистра | 25 |
Время когерентности / продолжительность ворот | 1667 |
Точность системы
Операция | Средняя точность |
---|---|
Однокубитные ворота | 99,35 % (коррекция SPAM) |
Двухкубитные ворота | 96,02 % (без коррекции SPAM) |
SPAM* | 99,3 – 99,8 % |
Операция среднего геометрического | 98,34 % |
* Подготовка и измерение состояния (SPAM). Это измерение определяет, насколько точно квантовый компьютер может задать для кубита исходное состояние, а затем измерить результат.
Квантовый компьютер IonQ Aria
IonQ Aria является флагманом квантовых компьютеров IonQ с 25-кубитной динамически перенастраивываемой системой. Дополнительные сведения см. в разделе IonQ Aria (ionq.com).
Важно!
Debiasing включена в системах Aria по умолчанию, и на отправленные задания распространяется расценки на основе debiasing. Дополнительные сведения об отключении и включении службы см. в разделе Устранение ошибок.
- Тип задания:
Quantum Program
- Формат данных:
ionq.circuit.v1
- Идентификатор целевого объекта:
ionq.qpu.aria-1
,ionq.qpu.aria-2
- Целевой профиль выполнения: No Control Flow
имени параметра | Тип | Обязательно | Описание |
---|---|---|---|
shots |
int | Нет | Число экспериментальных снимков. |
Тайминг системы
Мера | Средняя продолжительность времени |
---|---|
T1 | 10–100 с |
T2 | 1 с |
Однокубитные ворота | 135 мкс |
Двухкубитные ворота | 600 мкс |
Точность системы
Операция | Средняя точность |
---|---|
Однокубитные ворота | 99,95 % (исправлена спама) |
Двухкубитные ворота | 99,6% (не исправлена спам) |
SPAM* | 99.61% |
* Подготовка и измерение состояния (SPAM). Это измерение определяет, насколько точно квантовый компьютер может задать для кубита исходное состояние, а затем измерить результат.
Компьютер Aria IonQ предоставляется с планом Azure Quantum Credits и отдельным планом выставления счетов. Дополнительные сведения см. в разделе Цены на Azure Quantum.
Квантовый компьютер IonQ Forte
IonQ Forte — это самый производительный, коммерчески доступный квантовый компьютер IonQ. Благодаря 32-кубитной программно-конфигурируемой системе IonQ Forte доступна в закрытой предварительной версии в Azure Quantum. Дополнительные сведения см. в разделе IonQ Forte (ionq.com).
Важно!
Debiasing включена в системе Forte по умолчанию, и на отправленные задания распространяется расценки на основе дебиайсинга. Дополнительные сведения об отключении и включении службы см. в разделе Устранение ошибок.
- Тип задания:
Quantum Program
- Формат данных:
ionq.circuit.v1
- Идентификатор целевого объекта:
ionq.qpu.forte
- Целевой профиль выполнения: No Control Flow
имени параметра | Тип | Обязательно | Описание |
---|---|---|---|
shots |
int | Нет | Число экспериментальных снимков. |
формат входных данных
В Q# выходными данными квантового измерения является значение типа Result
, которое может принимать только значения Zero
и One
. При определении операции Q# ее можно отправить на оборудование IonQ только в том случае, если тип возвращаемого значения является коллекцией Result
объектов , то есть если выходные данные операции являются результатом квантового измерения. Причина этого заключается в том, что IonQ создает гистограмму на основе возвращаемых значений, поэтому ограничивает тип возвращаемого значения до Result
, чтобы упростить создание этой гистограммы.
IonQ targets соответствует No Control Flow profile. Этот профиль не может выполнять квантовые операции, требующие использования результатов измерений кубитов для управления потоком программы.
Примечание
В настоящее время вы не можете отправлять квантовые программы, которые применяют операции к кубитам, измеренным в No Control Flowtargets, даже если вы не используете результаты для управления потоком программы. То есть No Control Flowtargets не разрешайте измерения в середине цепи.
Например, следующий код не может выполняться в No Control Flowtarget:
operation MeasureQubit(q : Qubit) : Result {
return M(q);
}
operation SampleMeasuredQubit(q : Qubit) : Result {
H(MeasureQubit(q));
return M(MeasureQubit(q));
}
Формат вывода
При отправке квантовой программы в симулятор IonQ она возвращает гистограмму, созданную измерениями. Симулятор IonQ не выполняет выборку распределения вероятности, созданного квантовой программой, а возвращает распределение, масштабируемое до количества снимков. Это наиболее очевидно при отправке одного выстрела цепи. Вы увидите несколько результатов измерения в гистограмме для одного снимка. Это поведение присуще симулятору IonQ, в то время как QPU IonQ фактически запускает программу и агрегирует результаты.
Дополнительные возможности
Дополнительные возможности, поддерживаемые оборудованием IonQ, перечислены здесь.
Функция | Описание |
---|---|
Устранение ошибок | Использование debiasing для минимизации шума и максимальной производительности алгоритмов на оборудовании IonQ |
Поддержка собственных шлюзов | Определение и выполнение каналов непосредственно на аппаратных шлюзах IonQ |
Моделирование модели шума | Смоделируйте профиль шума, с которым каналы будут сталкиваться при их запуске на разных аппаратных устройствах IonQ. |
Пользователи могут воспользоваться этими дополнительными возможностями с помощью параметров сквозной передачи в поставщиках Azure Quantum Q# и Qiskit.
Устранение ошибок
IonQ предоставляет возможность включения устранения квантовых ошибок при отправке заданий на оборудование IonQ. Устранение ошибок — это процесс на уровне компилятора, который запускает и выполняет несколько симметрических вариантов цепи, а затем агрегирует результаты, одновременно снижая влияние ошибок оборудования и разъединения кубитов. В отличие от квантовых методов исправления ошибок , устранение ошибок не требует больших вентилок и кубитов.
Debiasing — это процесс создания небольших вариаций заданной цепи, которые должны быть идентичными на идеальной бесшумной машине, с использованием таких методов, как различные задания кубитов, разложение вентилей и импульсных решений, а затем выполнение этих вариантов.
Резкость и усреднение — это варианты агрегирования результатов вариантов. Усреднение в равной степени основано на всех вариантах результатов, тогда как sharpening отфильтровывает ошибочные результаты и может быть более надежным для определенных типов алгоритмов.
Дополнительные сведения см. в разделе Debiasing and Sharpening. Сведения о ценах на устранение ошибок см. в разделе Цены на IonQ.
Включение устранения ошибок
Примечание
Debiasing включена по умолчанию в системах Aria и Forte и отключена по умолчанию в системах Harmony.
В Azure Quantum можно включить или отключить устранение ошибок для заданий, отправленных с помощью Q# или Qiskit.
Чтобы включить устранение ошибок, добавьте необязательный параметр для target компьютера:
option_params = {
"error-mitigation": {
"debias": True
}
}
Чтобы отключить устранение ошибок, задайте для параметра значение False
:
option_params = {
"error-mitigation": {
"debias": False
}
}
Примечание
Если вы также используете имитацию модели шума IonQ, эти параметры можно включить, например:
option_params = {
"error-mitigation": {
"debias": False
},
"noise": {
"model": "harmony",
"seed": 100
}
}
Дополнительные сведения см. в разделе Моделирование модели шума.
Выполнение задания в Azure Quantum с устранением ошибок
В этом примере используется простой генератор случайных чисел.
Сначала импортируйте необходимые пакеты и инициируйте базовый профиль:
import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)
Затем определите функцию .
%%qsharp
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.Convert;
operation GenerateRandomBit() : Result {
use target = Qubit();
// Apply an H-gate and measure.
H(target);
return M(target);
}
and compile the operation:
```python
MyProgram = qsharp.compile("GenerateRandomBit()")
Подключитесь к Azure Quantum, выберите target компьютер и настройте параметры шума для эмулятора:
MyWorkspace = azure.quantum.Workspace(
resource_id = "",
location = ""
)
MyTarget = MyWorkspace.get_targets("ionq.qpu")
Указание конфигурации error-mitigation
option_params = {
"error-mitigation": {
"debias": True
}
}
Передайте конфигурацию устранения ошибок при отправке задания:
job = MyTarget.submit(MyProgram, "Experiment with error mitigation", shots = 10, input_params = option_params)
job.get_results()
В Qiskit перед отправкой задания в конфигурацию target компьютера передаются необязательные параметры:
circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)
Примечание
Если не передать error-mitigation
параметр, target компьютер будет использовать его значение по умолчанию: включено для систем Aria и Forte и отключено для систем Harmony.
Поддержка и использование собственных вентилей
По умолчанию IonQ позволяет указать квантовую цепь с помощью абстрактного набора квантовых вентилей, называемых qis
, что обеспечивает гибкость и переносимость при написании алгоритма без необходимости оптимизации оборудования.
Однако в некоторых расширенных случаях использования может потребоваться определить цепь непосредственно на собственных вентилях, чтобы максимально эффективно использовать оборудование и исключить оптимизацию. Набор собственных вентилей — это набор квантовых вентилей, физически выполняющихся в квантовом процессоре и сопоставляющих цепь в рамках процесса выполнения.
Дополнительные сведения см. в статье Начало работы с собственными вентилями (ionq.com).
Чтобы использовать собственный набор вентилей при отправке заданий Qiskit в Azure Quantum, необходимо указать параметр gateset
при инициализации серверной части, как показано в примере ниже.
# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu", gateset="native")
имени параметра | Тип | Обязательно | Описание |
---|---|---|---|
gateset |
строка | Нет | Задает набор вентилей, который будет использоваться для определения цепи. Значение qis соответствует абстрактным вентилям (поведение по умолчанию) и native аппаратным собственным вентилям IonQ. |
Дополнительные сведения о заданиях Qiskit см. в разделе Отправка канала с помощью Qiskit.
Моделирование модели шума
Даже лучшее из современных квантовых аппаратных средств имеет присущий шум, и знание характеристик шума системы target может помочь вам уточнить алгоритмы и получить более реалистичное прогнозирование результатов при запуске цепи на оборудовании. IonQ предоставляет имитацию модели шума , которая вводит шум в цепь с помощью "отпечатка шума", относящийся target к оборудованию. Дополнительные сведения см. в статье Начало работы с имитацией аппаратной модели шума.
Параметры модели шума
имени параметра | Значения | Описание |
---|---|---|
noise |
model , seed |
Включает имитацию модели шума. |
model |
ideal , harmony , aria-1 |
Указывает модель шума для target оборудования.
|
seed |
Целое число от 1 до $2^{31}$ (2 147 483 648) | Позволяет указать начальное значение для псевдослучайного шума и выборки выстрелов, создавая воспроизводимые шумные результаты. Если параметр не указан, создается случайное seed значение. |
Осведомленность о снимке
Имитация модели шума учитывается с учетом выстрелов; то есть он выполняет выборку измерений из выходного состояния на основе количества предоставленных снимков. В Azure Quantum shots
параметр отправляется вместе с заданием и требуется для harmony
моделей шума и aria-1
. Если значение не shot
указано, используется значение 1000
по умолчанию . Если используется ideal
модель шума, shots
параметр игнорируется.
Емкость кубитов
ideal
Хотя модель шума позволяет имитировать до 29 кубитов с помощью квантового симулятора IonQ, аппаратные модели шума ограничены фактической target емкостью кубит оборудования: 11 кубитов для harmony
модели шума и 25 кубитов для aria-1
модели шума.
Включение имитации модели шума
В Azure Quantum имитацию модели шума можно включить или отключить для заданий, отправленных с помощью Q# или Qiskit.
Чтобы включить имитацию модели шума, добавьте необязательный параметр для target компьютера, например:
option_params = {
"noise": {
"model": "harmony", # targets the Harmony quantum computer
"seed" : 1000 # If seed isn't specified, a random value is used
}
}
Примечание
Если вы также используете устранение ошибок IonQ, эти параметры можно включить, например:
option_params = {
"error-mitigation": {
"debias": False
},
"noise": {
"model": "harmony",
"seed": 1000
}
}
Дополнительные сведения см. в статье Устранение ошибок.
Выполнение задания с имитацией модели шума
Вы можете использовать тот же пример программы, который показан ранее в разделе Устранение ошибок , и добавить или заменить конфигурацию модели шума в option_params
;
option_params = {
"error-mitigation": {
"debias": True
},
"noise": {
"model": "aria",
"seed": 1000
}
}
Затем передайте необязательные параметры при отправке задания:
job = MyTarget.submit(MyProgram, "Experiment with noise model simulation", shots = 10, input_params = option_params)
job.get_results()
В Qiskit перед отправкой задания в конфигурацию target компьютера передаются необязательные параметры:
circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)
Цены
Чтобы просмотреть план выставления счетов для IonQ, перейдите на страницу цен для Azure Quantum.
Ограничения и квоты
Отслеживание квот IonQ ведется на основе единицы использования QPU — qubit-gate-shot (QGS). Плата за использование ресурсов взимается путем вычета кредитов из вашей учетной записи.
Каждая квантовая программа состоит из $N$ квантовых логических вентилей с одним или несколькими кубитами и выполняется для определенного числа запусков. Количество единиц gate-shots вычисляется по следующей формуле:
$$ QGS = N · C $$
где:
- $N$ — это количество отправленных вентилей с одним или двумя кубитами.
- $C$ — это количество запрошенных запусков выполнения
Квоты зависят от выбора плана. Их можно увеличить, отправив запрос в службу поддержки. Чтобы просмотреть текущие ограничения и квоты, перейдите в колонку Кредиты и квоты и откройте вкладку Квоты в рабочей области на портале Azure. Дополнительные сведения см. в статье Квоты Azure Quantum.
Примечание
Если вы используете план Кредиты Azure Quantum, а не план выставления счетов, сведения о квотах сопоставляются с выделенными кредитами. В этом случае в квоте указывается общее количество полученных кредитов.
Состояние IonQ
Сведения о задержках обработки заданий QPU IonQ см. на странице состояния IonQ.
Лучшие методики и граф подключения IonQ
Рекомендации по использованию IonQ QPU см. в этой статье.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по