Хуткае гібрыднае праграмаванне з Quantum Cloud Services

Пётр Каралекас і Нікалас Тэзак

Бліжэйшыя квантавыя кампутары працуюць у якасці сапрацэсараў з магутнымі класічнымі кампутарамі, ствараючы элементы праблемы, неэфектыўныя пры выкарыстанні класічных метадаў. Гэтая гібрыдная квантова-класічная парадыгма праграмавання была асновай для нашай каманды, калі мы працуем над стварэннем платформы з улікам магчымасцей першага пакалення квантавага абсталявання. Для дасягнення максімальнай прадукцыйнасці гібрыдная вылічальная платформа павінна быць простай у выкарыстанні, надзейнай, а галоўнае, хуткай - узаемадзеянне паміж квантавымі і класічнымі рэсурсамі павінна быць бесперашкодным.

Quantum Cloud Services - гэта самая хуткая платформа квантавых вылічэнняў, даступная сёння. Мы ўхілілі вялікую частку накладных выдаткаў, звязаных з абменам паміж квантавым і класічным вылічэннем, што прывяло да 30-кратнага паляпшэння часу выканання праграмы над мадэлямі вэб-API. Мы распавядзем пра тры функцыі, якія забяспечваюць павышэнне прадукцыйнасці і як вы можаце выкарыстоўваць іх у сваіх квантавых праграмах.

Каларацыя

QCS прадстаўляе цалкам новую мадэль доступу для квантавых вылічэнняў. Image Quantum Machine Image (QMI) - гэта віртуальнае асяроддзе распрацоўкі і выканання, якое папярэдне наладжана з Forest, нашым SDK для напісання квантавых праграм. У нашым квантавым цэнтры апрацоўкі дадзеных кожны карыстальнік атрымлівае спецыяльную QMI, размешчаную ў квантавых працэсарах альбо QPU. Гэтая блізкасць да QPU рэзка памяншае затрымку ў сетцы, што складае большасць часу ў зваротным рэжыме для запуску квантавых праграм пры дапамозе вэб-API. Акрамя таго, архітэктура хмарных вылічэнняў QCS адкрывае новыя функцыі ў рамках нашай кампіляцыі, мадэлявання і выканання ў стэку для дасягнення хуткага гібрыднага праграмавання.

Убудаваная архітэктура QCS зацягвае цыкл паміж квантавымі і класічнымі рэсурсамі.

Параметрычная складанне

Карыстальнікі распрацоўваюць квантавыя праграмы на QMI з дапамогай Quil, нашай квантавай мовы інструкцый. Для таго, каб Quil маніпуляваў станам QPU, трэба спачатку пераўтварыць яго ў каманды прыбораў праз працэс, званы квантавай кампіляцыяй. Кампіляцыя - гэта дарагая працэдура, і ў тыповых прапановах для вэб-API кожная праграма павінна прайсці стэк кампіляцыі на шляху да QPU. Аднак пэўны клас цікавых задач, якія можна запусціць на квантавым кампутары, званы варыятыўнымі гібрыднымі алгарытмамі, рэалізуецца шляхам аптымізацыі на працягу многіх ітэрацый адной і той жа квантавай праграмы з рознымі класічнымі параметрамі. Мы выкарыстоўваем родную падтрымку Quil для класічнай агульнай памяці, каб забяспечыць параметрычную кампіляцыю ў QCS, якая дазваляе карыстальнікам запускаць усе варыянты праграмы толькі адным праходам праз кампілятар, забяспечваючы ўводныя параметры падчас выканання, а не падчас кампіляцыі. У наступным сшытку мы распавядзем, як вызначыць, скампіляваць і хутка выканаць параметрычныя Quil-праграмы на QPU.

Актыўны скід кубіта

У пачатку кожнага квантавага вылічэння ўсе кубіты павінны быць вернуты ў нейкі стан | 0⟩, які звычайна з'яўляецца асноўным. Гэта скід звычайна адбываецца пасіўна, чакаючы, калі кубіты "расслабіцца" да 0 ° на працягу пэўнага перыяду часу. Па меры таго, як якасць кубіта паляпшаецца, расслабленне займае больш часу, і гэты метад становіцца ўсё больш павольным. Для мадэляў доступу да вэб-API час адпачынку нязначны ў параўнанні з выдаткамі на перадачу квантавых праграм праз Інтэрнэт. Але паколькі мы ліквідавалі гэтую затрымку ў сетцы з дапамогай QCS, раптам рэлаксацыя становіцца найбольшым удзельнікам часу выканання туды і назад. Каб перанесці гэты раз, мы ўкаранілі актыўны пратакол скіду кубіта, які дазваляе карыстальнікам хутка ўсталёўваць усе кубіты ў стан | 0⟩ у канцы вылічэння.

Агульны час выканання 1000 здымкаў невялікай параметрычнай праграмы

Актыўны скід памяншае затрымку паміж выкананнем паслядоўных праграм на QPU на парадак і з'яўляецца асноўным удзельнікам гібрыднага выканання з нізкай затрымкай, даступнага ў QCS. Акрамя таго, паколькі ён рэалізуецца запушчанымі праграмамі, якія залежаць ад вынікаў вымярэнняў адной кубіта, актыўны скід кубіта з'яўляецца прыступкай па шляху да адвольнага патоку кіравання і ў канчатковым выніку квантовай карэкцыі памылак. У наступным сшытку мы дэманструем, як гэтая функцыя можа паскорыць вашыя квантавыя праграмы, не маючы істотнага ўплыву на агульную прадукцыйнасць.

Max-Cut QAOA

Цяпер, калі мы прапрацавалі некаторыя функцыі, даступныя ў QCS, мы прывяжам іх да прыкладу ў рэальным свеце. Адным з папулярных алгарытмаў для доўгатэрміновых (NISQ) прылад з'яўляецца QAOA, квантавы алгарытм аптымізацыі квантавай аптымізацыі. QAOA працуе шляхам чаргавання двух параметрызаваных адзінкавых блокаў - аднаго, які кадуе праблему, якая спрабуе вырашыць, і іншага, які вывучае прастору патэнцыяльных рашэнняў. З яго дапамогай можна знайсці прыблізныя рашэнні для задач камбінацыйнай аптымізацыі (КС), якія часта не маюць эфектыўнага класічнага рашэння, а значыць, хутка павялічваюцца памеры праблемы. КС - гэта адно з кірункаў, якія, на думку некаторых, першымі дазволяць прадэманстраваць квантавую перавагу.

Max-Cut QAOA пейзажы для трох кубітаў на QPU і QVM

Вядомыя праблемы камбінацыйнай аптымізацыі ўключаюць у сябе прадаўца падарожжа (TSP) і максімальны разрэз (Max-Cut). У Max-Cut мэтай з'яўляецца раздзел графа, які мае максімальна магчымы разрэз, а гэта колькасць рэбраў, якія падзяляюць два раздзелы графіка. Некаторыя знаёмыя праблемы машыннага навучання таксама могуць быць сфармуляваны як КС. Напрыклад, кластэрызацыя можа быць зведзена да ўзважанай праблемы Max-Cut. Узважаная праблема Max-Cut - гэта невялікі варыянт Max-Cut, абагульнены для ўзважаных графікаў. У наступным сшытку мы распавядзем, як запусціць QAOA для ўзважанага Max-Cut з дапамогай аптымізатара пошуку сеткі, і пакажам, што вынікі нашага Аспен QPU адпавядаюць чаканым вынікам QVM.

Шляхам інтэграцыі нашых класічных і квантавых рэсурсаў і зняцця неабходнасці перакампілявання альбо чакання расслаблення кубітаў QCS забяспечвае больш хуткае паскарэнне па параўнанні з мадэлямі вэб-API. Разам, размяшчэнне, параметрычная зборка і скід кубітаў дазваляюць хутка ітэраваць у гібрыдных кванта-класічных праграмах. Напрыклад, вышэйапісаная праблема Max-Cut QAOA працуе менш чым за хвіліну на QCS, у параўнанні з больш чым 25 хвілін пры выкарыстанні вэб-API. Гэтыя паляпшэнні робяць Quantum Cloud Services самай хуткай і простай платформай для стварэння квантавых прыкладанняў на кароткатэрміновым квантавым абсталяванні.

Пётр Каралекас і Нікаляш Тэзак - інжынеры-праграмісты квант-праграмнага забеспячэння Rigetti Computing. Гэтая праца ўяўляе сабой поўны набор супрацоўніцтва паміж праграмным забеспячэннем, абсталяваннем і квант-інжынірынгавымі камандамі Rigetti.

Усе нататнікі Юпітэра, якія падзяляюцца на гэтай пасадзе, папярэдне загружаныя ў кожную QMI.