paint-brush
Квантовым вычислениям нужно больше инженеров-программистовк@ddri
453 чтения
453 чтения

Квантовым вычислениям нужно больше инженеров-программистов

к David Ryan11m2024/05/26
Read on Terminal Reader

Слишком долго; Читать

Изучите стек программного обеспечения в области квантовых вычислений, от языков программирования высокого уровня до аппаратных систем (и... начните свою квантовую карьеру).
featured image - Квантовым вычислениям нужно больше инженеров-программистов
David Ryan HackerNoon profile picture
0-item

Эта статья вызвана потребностью в большем количестве инженеров-программистов в области квантовых вычислений. Не говоря уже о других разработчиках, UX-дизайнерах, тестировщиках качества, менеджерах по продуктам и всем остальным талантам, которые позволяют доставлять настоящий продукт реальным клиентам. Особенно продукты Deep Tech и Frontier Tech, такие как квантовые вычисления.


Этим продуктам и командам, пытающимся их создать, предстоит пройти долгий и трудный путь от «науки к технологии, от разработки к продукту» . Ряд фазовых сдвигов, которые больше связаны с эволюцией организаций (и сообществ), чем просто линейным развитием технологической готовности.


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



Это то, о чем я затронул в своем выступлении « Открытый исходный код — ваш путь к карьере в области квантовых вычислений » еще в 2022 году на саммите Linux Foundation по открытому коду. И примерно за год с тех пор он вырос еще больше, благодаря заметному сдвигу отрасли в сторону «квантовой полезности» (термин, который мы используем, чтобы сосредоточиться на реальной полезности, а не на теоретическом превосходстве ) и запуске нескольких масштабных проектов. Например , инвестиции австралийского правительства почти в 1 миллиард долларов в PsiQuantum по созданию коммерческого квантового компьютера в моем родном городе Брисбене (сказанное с небольшой тоской по дому здесь, в Сиэтле).


Так что да, многое происходит. Поэтому сейчас очень хорошее время, чтобы понять, из чего на самом деле состоят эти квантовые системы и где здесь место вашему таланту и любопытству. В конце я включил несколько рекомендаций о том, как в них принять участие. И я должен добавить небольшой отказ от ответственности: на самом деле не существует одной парадигмы «квантового компьютера». Я абстрагировал наиболее общие элементы различных систем, над которыми мы работаем, ради образовательной ценности, но приветствую любые возражения или опровержения по мере развития этой модели с течением времени.

Квантовый стек с первого взгляда

Во многих отношениях стек квантовых вычислений соответствует образцу современного стека высокопроизводительных вычислений (HPC). И в меньшей степени будет достаточно знаком всем, кто работает в сфере облачных вычислений. Мы переходим от пользовательского опыта высокого уровня к некой форме платформы, которая принимает нашу рабочую нагрузку и преобразует ее во что-то, что затем будет работать на оборудовании. Достаточно просто, чтобы разобраться в голове.


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


Моделирование также играет решающую роль. Вы можете увидеть, что об этом говорят как об «экономии на дорогостоящих покупках оборудования», но на самом деле это не так (и часто это подсказка, что кто-то просто использует ИИ для написания своего квантового кликбейта). Мы полагаемся на моделирование не только для разработки новых интересных алгоритмов, но и для изучения различных способов организации рабочей нагрузки. Это также основная часть рабочих процессов, к которым стремятся многие из нас, где по-настоящему гибридная система будет использовать классические вычислительные ресурсы для обработки рабочей нагрузки и планирования, а также ускорение с помощью графических процессоров (или более новых чипов, таких как TPU и LPU ), и эффективно продвигать определенные рабочие нагрузки на квантовый процессор (QPU), где квантовый алгоритм может быть полезен для решения поставленной задачи. В то время как некоторые, как и я, сосредоточены на интеграции квантовых вычислений с существующей инфраструктурой, другие занимаются созданием самой мощной автономной квантовой системы. Отсюда и широкий спектр исследований в отрасли.


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



Квантовый стек в деталях

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

1. Квантовые языки программирования и инструменты разработки

На самом высоком уровне квантовой системы находится человек, ударяющий по клавиатуре. Квантовые языки программирования обеспечивают высокий уровень абстракции, необходимый для изучения квантовых алгоритмов и создания программ в удобной форме. Опыт работы с этими языками расширяется с помощью комплектов разработки программного обеспечения (SDK), которые предлагают библиотеки и инструменты, необходимые для разработки квантового программного обеспечения.


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


2. Квантовые алгоритмы и приложения

Двигаясь вниз по стеку, мы подходим к алгоритмам, лежащим в основе любой желаемой квантовой рабочей нагрузки. По мере совершенствования различных конкурирующих подходов к созданию квантовых компьютеров растут и возможности для реальных приложений. Ряд программных библиотек и пакетов создается для конкретных функциональных областей использования (например , IBM Qiskit Machine Learning для квантового машинного обучения или Google OpenFermion для квантовой химии), а существующие библиотеки известных квантовых алгоритмов расширяются и оптимизируются исследователями. и коммерческие поставщики (такие как «Зоопарк квантовых алгоритмов» Стивена Джордана и библиотека Classiq ).


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


  • Алгоритм Шора — это алгоритм «взлома шифрования», предложенный как способ факторизации больших чисел экспоненциально быстрее, чем любой известный классический алгоритм.
  • Алгоритм поиска Гровера — полезная отправная точка для алгоритмического ускорения поиска неструктурированных данных.
  • Алгоритм Дойча-Йожсы сам по себе технически бесполезен, но был ранним примером демонстрации квантового преимущества над классическими методами.
  • Квантовое преобразование Фурье (QFT) — это квантовая версия быстрого преобразования Фурье, лежащая в основе многих мощных алгоритмов.
  • Вариационный квантовый собственный решатель (VQE) — это гибридный алгоритм, который изучается для краткосрочного применения в квантовой химии, моделировании материалов и задачах оптимизации.

3. Квантовые симуляторы и эмуляторы

Квантовые симуляторы — это программные инструменты, используемые для воспроизведения поведения квантовых систем на классических компьютерах. Они составляют важную часть нашего рабочего процесса при разработке алгоритмов и оптимизации потенциальных рабочих нагрузок (особенно с симуляторами, которые имеют один и тот же набор вентилей или других элементов конкретного оборудования). Роль симуляторов изменилась по мере того, как сама отрасль превращается из чисто академических исследований в потенциальную коммерческую полезность. Точность моделирования конкретного квантового оборудования возросла до уровня моделирования уникального шума и ошибок системы. Обратите внимание, что следующие примеры могут быть изменены или устарели по мере того, как поставщики ( глядя на Qiskit 1.0 ) совершенствуют или оптимизируют свои линейки продуктов по мере развития отрасли.


4. Квантовые облачные платформы

Прежде чем двигаться дальше, нам нужно сделать небольшое замечание по теме квантовых облачных платформ. В нынешнюю эпоху существует несколько крупных поставщиков, имеющих в эксплуатации несколько аппаратных систем. Каждый сталкивается с одним и тем же вопросом: стоит ли пытаться продавать оборудование напрямую, размещать его в собственном кампусе, продавать доступ через Интернет или использовать комбинацию вышеперечисленного. А затем добавьте к этому частные межсоединения, поставщиков общедоступных облаков, суверенные возможности и исследовательские лаборатории. Не факт, что модель облачной платформы окажется определяющей экономической моделью квантовых вычислений, хотя она и занимает наибольшее внимание за пределами сектора, учитывая модели облачных вычислений, существовавшие до этого.


Сказав все это, обратите внимание также на компании, которые предпочитают не предоставлять свои системы для доступа к облачной платформе. В Quantum Brilliance мое внимание было сосредоточено на кластерах периферийных вычислений с высокой степенью параллелизма, использующих подход ромбовидного NV-центра, который обеспечивает малый форм-фактор и работу QPU при комнатной температуре (первый из них ). Если говорить о других квантовых стартапах, то можно сказать, что варианты использования всех форм фиксированного или мобильного развертывания применимы, и за пределами Интернета выполняется много интересной (и часто нераскрытой) работы. Среди тех, что доступны в Интернете, есть некоторые, на которые стоит посмотреть.


5. Квантовые компиляторы и оптимизация схем

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


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


6. Программное обеспечение для квантовой коррекции ошибок

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


Независимо от метода генерации кубитов, возникают проблемы при подготовке, выполнении рабочей нагрузки и измерении. Декогеренция влияет на все методы, а также на ошибки вентиля, ошибки измерения и качество отдельных кубитов. Квантовая коррекция ошибок, понятно, сложна, но может включать в себя такие методы, как резервирование системы (распределение квантовой информации по нескольким кубитам), управление синдромами (использование вспомогательных кубитов для обнаружения ошибок без нарушения закодированной информации) и профилирование производительности отдельных или кластерных кубитов. через некоторое время. Хотя они по-прежнему будут важны, если достижима эра по-настоящему отказоустойчивых квантовых вычислений, они представляют собой захватывающую тему исследований в нынешнюю эпоху шумных квантовых вычислений промежуточного масштаба (NISQ), в которой мы находимся. Основные поставщики и примеры включают следующие: .


7. Квантовые системы управления

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


Вероятно, со временем ситуация изменится, когда этап разработки перейдет от этапа «Наука к технологии» к этапу «Инжиниринг к продукту» . Особенно там, где желательно более близкое соответствие существующим моделям продуктов и терминологии пользователей и/или рынка. По большей части система управления будет внутренним ресурсом (что-то среднее между ОС и прошивкой), но следует отметить следующих производителей и продукты.


8. Квантовое оборудование

Последний слой в нашем стеке — это само квантовое оборудование. Полезно помнить, что не существует единственного и правильного способа генерации кубитов и работы с ними. Не существует и четкого подхода к лидерству на рынке. Каждый метод или подход имеет свои проблемы, и может оказаться, что существует множество подходов с преимуществами для конкретных сценариев.


Аппаратный уровень — это то, о чем многие думают, когда слышат термин «квантовые вычисления», во многом так же, как ранние ламповые и ламповые вычислительные устройства определяли терминологию и язык исключительно силой механического взаимодействия. Переключатели и перфокарты со временем уступили место инструкциям и программам, которые, в свою очередь, расширялись за счет памяти и хранилища, а затем соединялись сетями и серверами.


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

ТЛ;ДР?

Работа, выполняемая квантовыми физиками, инженерами по электротехнике и электронике, производителями и всеми видами манипуляторов атомов, не только поддерживается, но и поддерживается теми из нас, кто спорит о битах и (зетта)байтах. Это прекрасное время, чтобы принять участие.


Хорошим началом для новых учащихся является Black Opal от Q-CTRL , МООК высокого уровня Делфтского университета на edX и неизбежный путь к Qiskit от IBM . Для тех из вас, кто разбирается в C#, в этом введении Microsoft кратко рассматривается их подход к Q# и то, как он внедряется в экосистему Azure. А библиотеку алгоритмов Classiq стоит добавить в закладки.


Скоро я напишу специальную статью о количестве обучения для инженеров-программистов, так как об этой теме мне пишут по электронной почте почти еженедельно после моего выступления на саммите Open Source (и продолжающихся с тех пор увольнений инженерных талантов). Хотя любые изменения в отрасли тяжелы для людей и семей, пострадавших от более холодного экономического кризиса, они, в свою очередь, могут стать возможностью раскрыть таланты (и карьерные пути), которые в противном случае были бы заблокированы. Так что, если вы подумываете о дальнейшем исследовании, пожалуйста, сделайте это и напишите мне, если я могу чем-то помочь . И обязательно подпишитесь на информационный бюллетень Product In Deep , где мы углубимся в стратегию и методы создания реальных продуктов в сферах Deep Tech и Frontier Technology.