Kvantum-számítástechnika integrációja klasszikus alkalmazásokkal
A klasszikus számítástechnika egyre nagyobb kihívást jelent a mai legösszetettebb számítási problémák miatt – még a legerősebb szuperszámítógépeink méretében is. A kvantumszámítógépek ígéretet adnak arra, hogy jelentősen bővítik számítási képességeinket. Azáltal, hogy kihasználja a kvantumfizika tulajdonságait számítások elvégzésére, exponenciális gyorsításokat biztosítanak bizonyos típusú problémákhoz. A kvantumszámítógépek például kivételesen jól járnak az optimalizálási, szimulációs vagy gépi tanulási forgatókönyvekben gyakran előforduló számos lehetséges kombináció kiszámítását igénylő problémákkal.
A kvantum-számítástechnikai összetevők azonban más működési modellel rendelkeznek, mint a klasszikus szoftverek. Általában egy vagy több klasszikus számítási összetevő vezényli a kvantum-összetevők végrehajtását. Ez a vezénylés a következő tevékenységeket foglalja magában:
- Bemeneti adatok előkészítése
- Kvantum-számítási feladatok beküldése egy cél kvantumkörnyezetbe
- Feladat végrehajtásának monitorozása
- Feladateredmények utófeldolgozása
Ezt a vezénylést a klasszikus alkalmazásokkal kétféleképpen integrálhatja:
- Szoros összekapcsoláson keresztüli integráció. A kvantumerőforrások vezénylésének logikája integrálva van a klasszikus összetevőbe vagy összetevőkbe.
- Integráció laza összekapcsoláson keresztül. A kvantumerőforrások vezénylésének logikája api-ként jelenik meg, amelyet különböző klasszikus szoftverösszetevők hívhatnak meg.
Ez a cikk bemutatja, hogyan implementálhat kvantumalkalmazásokat ezek mindegyikében. Minden implementáció az Azure Quantum-t használja kvantum-számítási motorként, de az alábbiakban ismertetett módon némileg eltérnek egymástól.
Szorosan összekapcsolt megközelítés
Lehetséges használati esetek
Ezekben az esetekben előnyben részesítik a szorosan összekapcsolt megközelítést:
- Az egyik csapat a kvantumkódot és a klasszikus kódot is birtokolja, a kód pedig integrálva van.
- A kvantum-összetevők életciklusa megegyezik a klasszikus összetevőkkel.
- A kvantumösszetevők használata egyetlen alkalmazásra vagy a kapcsolódó alkalmazások kis csoportjára korlátozódik.
- A kvantumfeladat egy speciális megoldást (például egy molekuláris szimulációt) jelöl, amelyet csak egy speciális klasszikus alkalmazás fog használni.
- A implementált algoritmus természete szerint hibrid kvantumklasszikus, például variációs kvantum-Eigensolvers (VQE) és kvantum-hozzávetőleges optimalizálási algoritmusok (QAOA).
Építészet
Adatfolyam
- A bejelentkezett felhasználó kvantumfeladat-végrehajtást indít el egy klasszikus ügyfélalkalmazáson keresztül.
- Az ügyfélalkalmazás bemeneti adatokat helyez az Azure Storage-ba.
- Az ügyfélalkalmazás elküldi a feladatot egy Azure Quantum-munkaterületre, megadva a végrehajtási célt vagy a célokat. Az ügyfél a Key Vaultban tárolt adatokon keresztül azonosítja a munkaterületet, és felügyelt identitáskeresztül hitelesíti a munkaterületet.
- Egy kvantumszolgáltató egy célkörnyezetben futtatja a feladatot.
- Az ügyfélalkalmazás a feladatok végrehajtását a feladat állapotának lekérdezésével figyeli.
- Amint a kvantumfeladat befejeződik, az ügyfélalkalmazás megkapja a számítási eredményt a Storage-ból.
Ez a munkafolyamat implementálja az Aszinkron Request-Reply mintát és az Azure Quantum-feladatok életciklusához meghatározott lépéseket.
Összetevők
- Azure Quantum az Azure Portalról elérhető munkaterületibiztosít a kvantumfeladatok különböző célokon való futtatásához társított eszközökhöz. A feladatok a választott szolgáltatótól függően kvantumszimulátorokon vagy kvantumhardvereken futnak.
- Microsoft Entra-azonosító koordinálja a felhasználói hitelesítést, és segít megvédeni az Azure Quantum-munkaterülethez való hozzáférést.
- Key Vault védi és felügyeli a kulcsokat és más titkos kulcsokat, például az Azure Quantum-munkaterület nevét.
- Azure Storage biztosítja a bemeneti adatok és a kvantumszolgáltató eredményeinek tárolását.
Megfontolások
Ezek a szempontok implementálják az Azure Well-Architected-keretrendszer alappilléreit, amelyek a számítási feladatok minőségének javítására használható vezérelvek. További információ: Microsoft Azure Well-Architected Framework.
Megbízhatóság
A megbízhatóság biztosítja, hogy az alkalmazás megfeleljen az ügyfelek felé vállalt kötelezettségeknek. További információ: Megbízhatóságitervezési felülvizsgálati ellenőrzőlistája.
A kvantum-számítási funkciók rendelkezésre állása nagymértékben függ a kvantum-számításszolgáltatórendelkezésre állásától és telepítési alapjaitól. A számítási céltól függően a klasszikus ügyfélalkalmazás hosszú késéseket vagy a cél elérhetetlenségét tapasztalhatja.
A környező Azure-szolgáltatások esetében a szokásos rendelkezésre állási szempontok érvényesek:
- Használja a Key Vault redundancia beállításait.
- Szükség esetén fontolja meg a replikációs beállítások használatát Storage.
Biztonság
A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: Biztonságitervezési felülvizsgálati ellenőrzőlistája.
A lazán összekapcsolt alternatívarchitektúrával ellentétben az itt bemutatott architektúra azon a feltételezésen alapul, hogy csak egy ügyfél fér hozzá az Azure Quantum-munkaterülethez. Ez a forgatókönyv a következő konfigurációkat eredményezi:
- Mivel az ügyfél ismert, az alkalmazáshoz társított felügyelt identitáskeresztül is implementálhatja a hitelesítést.
- A kérések szabályozását és az eredmények gyorsítótárazását az ügyfélben is megvalósíthatja.
Általában érdemes lehet a biztonsági
Lazán összekapcsolt megközelítés
Lehetséges használati esetek
A lazán összekapcsolt megközelítés az alábbi esetekben ajánlott:
- Dedikált kvantumszakértői csapattal rendelkezik, akik központilag biztosítják a kvantumfunkciókat más csapatok számára, és a kvantum-összetevőket a klasszikus ügyfélösszetevőktől függetlenül fejlesztik.
- A kvantumfeladat egy általános megoldást (például feladatütemezést) jelöl, amelyet több klasszikus alkalmazás is újra felhasználhat.
Építészet
Adatfolyam
- A bejelentkezett felhasználó kvantumfeladat-végrehajtást indít el egy klasszikus alkalmazáson keresztül.
- A klasszikus alkalmazás meghívja az egyéni feladat API-t a feladat elküldéséhez.
- Az API-átjáró aktiválja a feladatbeküldési Azure-függvényt, amely átadja a feladat bemeneti adatait.
- A függvény a bemeneti adatokat az Azure Storage-ba helyezi.
- A függvény elküldi a feladatot egy Azure Quantum-munkaterületnek, megadva a végrehajtási célt vagy a célokat. A függvény azonosítja a munkaterületet az Azure Key Vaultban tárolt adatokon keresztül, és felügyelt identitáskeresztül hitelesíti a munkaterületet.
- Egy kvantumszolgáltató egy célkörnyezetben futtatja a feladatot.
- Az ügyfélalkalmazás a feladat végrehajtását api-hívásokon keresztül lekérdezve figyeli a feladatok végrehajtását.
- Az API-átjáró úgy figyeli a feladatok végrehajtását, hogy lekérdezi a feladat állapotát a kvantumszolgáltatótól.
- Amikor a feladat befejeződik, a számítási eredmények az Azure Storage-ban lesznek tárolva. Az ügyfélalkalmazás az Azure-függvényen keresztül implementált API használatával kapja meg az eredményeket.
Ez a munkafolyamat implementálja az Aszinkron Request-Reply mintát és az Azure Quantum-feladatok életciklusához meghatározott lépéseket.
Összetevők
- Azure Quantum az Azure Portalról elérhető munkaterületibiztosít a kvantumfeladatok különböző célokon való futtatásához társított eszközökhöz. A feladatok a választott szolgáltatótól függően kvantumszimulátorokon vagy kvantumhardvereken futnak.
- Microsoft Entra-azonosító koordinálja a felhasználói hitelesítést, és segít megvédeni az Azure Quantum-munkaterülethez való hozzáférést.
- API Management az API-átjáró, amely központilag elérhetővé teszi az API-végpontokat a kvantumfeladat-kezeléshez.
- Azure Functions az ügyfélkérések megfelelő kvantumerőforrásokhoz való továbbítására szolgál.
- Azure Key Vault védi és felügyeli a kulcsokat és más titkos kulcsokat, például az Azure Quantum-munkaterület nevét.
- Azure Storage biztosítja a bemeneti adatok és a kvantumszolgáltató eredményeinek tárolását.
Megbízhatóság
A kvantum-számítási funkciók rendelkezésre állása nagymértékben függ a kvantum-számításszolgáltatórendelkezésre állásától és telepítési alapjaitól. A számítási céltól függően a klasszikus ügyfélalkalmazás hosszú késéseket vagy a cél elérhetetlenségét tapasztalhatja.
A környező Azure-szolgáltatások esetében a szokásos rendelkezésre állási szempontok érvényesek:
- A magas rendelkezésre állás érdekében API Management több zónában vagy régióban is üzembe helyezheti.
- Georeplikálás használata esetén több régióban is üzembe helyezhet Azure Functions-.
- Használja a Key Vault redundancia beállításait.
- Szükség esetén fontolja meg a replikációs beállítások használatát Storage.
Biztonság
A szorosan összekapcsolt alternatívarchitektúrával ellentétben az itt bemutatott architektúra azon a feltételezésen alapul, hogy több ügyfél is hozzáfér az Azure Quantum-munkaterülethez az API-n keresztül. Ez a forgatókönyv a következő konfigurációkat eredményezi:
- Az ügyfeleknek hitelesíteni kell az API-t. Ezt a hitelesítést hitelesítési szabályzatokhasználatával implementálhatja.
- Az Azure-függvények hitelesítését a függvényekhez társított felügyelt identitásokkal valósíthatja meg. Ezekkel az identitásokkal hitelesítheti magát az Azure Quantum-munkaterületen.
- Több ügyfél is hozzáfér az API-hoz. A kérelmek szabályozását API Management-kérelmek szabályozásával valósíthatja meg a kvantum háttérrendszer védelme és a kvantumerőforrások használatának korlátozása érdekében.
- A kérelemmintától függően előfordulhat, hogy a kvantum-számítási eredmények gyorsítótárazását API Management gyorsítótárazási szabályzatokhasználatával valósíthatja meg.
Általában érdemes lehet a biztonsági
Teljesítményhatékonyság
A teljesítményhatékonyság az a képesség, hogy a számítási feladatok skálázhatók, hogy hatékonyan megfeleljenek a felhasználók által támasztott követelményeknek. További információ: Teljesítményhatékonyságtervezési felülvizsgálati ellenőrzőlistája.
Az alkalmazás teljesítménye a mögöttes kvantum-számítási célok rendelkezésre állásától és teljesítményétől függ. A klasszikus összetevők teljesítményével és méretezhetőségével kapcsolatos információkért tekintse át a skálázhatósági jellemző tervezési mintáit, valamint a teljesítményhatékonysági ellenőrzőlistát.
Gyakori funkciók
Az alábbi funkciók gyakoriak a szorosan összekapcsolt és lazán összekapcsolt implementációs modellekben
Alternatívák
Az itt bemutatott architektúrák olyan üzleti problémákhoz tartoznak, amelyek kvantum-számítási erőforrásokat igényelnek a számítási feladataikhoz. Egyes számítási kihívások esetén a nagy teljesítményű számítási elvégzésére vagy AI-funkciók biztosítására készült meglévő szolgáltatások alternatívát jelenthetnek.
Megfontolások
Az Azure-beli kvantumcélok (különösen a kvantumhardverek) egy része belátható időn belül korlátozott erőforrás lesz. Az erőforrásokhoz való hozzáférés egy üzenetsor-kezelési mechanizmuson keresztül valósul meg. Amikor kvantumfeladatot küld az Azure Quantumnak, a rendszer hozzáadja ezt a feladatot egy feladatsorhoz. A feladat végrehajtása akkor történik meg, ha a cél befejezi a korábbi üzenetsor-bejegyzések feldolgozását. A várt várakozási időt elérhető céloklistázásával szerezheti be. A teljes válaszidő kiszámításához hozzá kell adnia az elérhető erőforrásra való várakozással töltött időt a feladat végrehajtási idejéhez.
Megbízhatóság
Mivel az Olyan kvantum-célkörnyezetek, mint az Azure Quantum, általában korlátozott hibajavítást biztosítanak (az Azure Quantum esetében a kvantumprocesszorra korlátozódik), más hibák is előfordulhatnak, például a kvantumgép időtúllépése, ezért ajánlott figyelni a feladatok végrehajtását, hogy tájékoztassa a felhasználót a feladat állapotáról. Ha a feladat végrehajtása átmeneti hiba miatt meghiúsul, implementáljon egy újrapróbálkozási mintát. Küldje el a feladatokat aszinkron hívásokon keresztül, az eredmény lekérdezésével, hogy elkerülje a hívó ügyfél szükségtelen blokkolását.
Mivel a kvantum-számítástechnikai erőforrások jellemzően korlátozottak, a rugalmassági elvárásoknak figyelembe kell venniük ezt a tényezőt. Ezért az ebben a cikkben ismertetett javaslatok további rugalmassági intézkedéseket is biztosíthatnak.
Költségoptimalizálás
A költségoptimalizálás a szükségtelen kiadások csökkentésének és a működési hatékonyság javításának módjairól szól. További információ: Költségoptimalizálásitervezési felülvizsgálati ellenőrzőlistája.
A megoldás teljes költsége a kvantumfeladat futtatásához kiválasztott kvantum-számítási céltól függ. A klasszikus összetevők becsült költségeinek kiszámítása egyszerű. Az Azure díjszabási kalkulátoráthasználhatja.
Az Azure Quantum szolgáltatás esetében vegye figyelembe, hogy a Kvantum-számítástechnika-szolgáltatók egy Azure Marketplace-ajánlaton keresztül használhatók fel. A díjszabás az erőforrás típusától (szimulátor vagy hardver), az termékváltozattól és a használattól függ. További részletekért tekintse meg a forgatókönyvhöz szükséges szolgáltató referenciaoldalát. Ezek a referencialapok az Azure Quantum
Működési kiválóság
Az Operational Excellence azokat az üzemeltetési folyamatokat fedi le, amelyek üzembe helyeznek egy alkalmazást, és éles környezetben tartják azt. További információ: Működési kiválóságitervezési felülvizsgálati ellenőrzőlistája.
A kvantumfeladatok klasszikus CI/CD-folyamatokba való beépítése az Azure DevOps használatával valósítható meg egy tipikus kialakítás kisebb módosításaival. Az alábbi terv egy DevOps-folyamat munkafolyamatát mutatja be, amely a szorosan összekapcsolt és lazán összekapcsolt architektúrákra alkalmazható.
Építészet
Adatfolyam
- A fejlesztő módosítja az alkalmazás-összetevők forráskódját.
- A módosítások a forráskódtárban lesznek véglegesítettek.
- A kvantumkód módosításai aktiválják a kvantum buildelési folyamatot. A buildelési folyamat ellenőrzi a kódot, lefordítja, megbecsüli a szükséges erőforrásokat, és egy szimulátoron futtatja az algoritmust.
- A lefordított kvantum-algoritmus egy kvantumkörnyezetbe kerül tesztelésre.
- A módosítások létrehoznak egy buildfolyamatot a klasszikus összetevőkhöz. A folyamat ellenőrzi a kódot, lefordítja, és egység- és integrációs teszteket futtat.
- A sikeres fordítás és tesztek elindítanak egy kiadási folyamatot. A folyamat először az Adattárban tárolt Azure Resource Manager-sablonok (infrastruktúra mint kód) üzembe helyezésével helyezi üzembe az Azure-környezetet.
- A lefordított klasszikus alkalmazásösszetevők üzembe vannak helyezve az Azure-ban. A kvantumfeladatok futásidőben kerülnek egy kvantum-munkaterületre.
- Az Application Insights figyeli a futtatókörnyezet viselkedését, állapotát, teljesítményét és használati adatait.
- A hátralékelemek szükség szerint frissülnek a figyelési eredményektől függően.
- A fejlesztő az Application Insightst használja az alkalmazás visszajelzéséhez és optimalizálásához.
Összetevők
Ez a megoldás a következő DevOps-eszközöket használja:
- Azure Repos korlátlan, felhőalapú privát Git-adattárat biztosít. Itt tárolja a kvantum- és klasszikus kódot, valamint a környezet kiépítéséhez használt Azure Resource Manager-sablonokat.
- Azure Pipelines lehetővé teszi a folyamatos buildelést, tesztelést és üzembe helyezést a felhőben. Itt a CI/CD implementálására szolgál, beleértve a környezet üzembe helyezését a kód üzembe helyezése előtt.
Alternatív megoldásként Használhatja a GitHub-adattárakat és a GitHub-műveleteket a CI/CD-folyamatok implementálásához.
A megoldás a következő összetevőket használja:
- Egy ügyfélalkalmazás vezényli a kvantumfeladatot. Az integrációt szorosan összekapcsolt vagy lazán összekapcsolt megközelítéssel valósíthatja meg.
- Azure Quantummunkaterületi biztosít a kvantum-számítási alkalmazások futtatásához társított eszközökhöz. A feladatok a választott szolgáltatótól függően kvantumszimulátorokon vagy kvantumhardvereken futnak.
- Microsoft Entra-azonosító koordinálja a felhasználói hitelesítést, és védi az Azure Quantum-munkaterülethez való hozzáférést.
- Azure Key Vault védi és felügyeli a kulcsokat és más titkos kulcsokat, például a kvantum-munkaterület nevét.
- Azure Storage tárolja a kvantumfeladat bemeneti és kimeneti adatait.
- Application Insights figyeli az alkalmazást, észleli az alkalmazás rendellenességeit, például a gyenge teljesítményt és a hibákat, és telemetriát küld az Azure Portalra.
Teljesítményhatékonyság
Az alkalmazás teljesítménye a mögöttes kvantum-számítási célok rendelkezésre állásától és teljesítményétől függ. A klasszikus összetevők teljesítményével és méretezhetőségével kapcsolatos információkért tekintse át a skálázhatósági jellemző tervezési mintáit, valamint a teljesítményhatékonysági ellenőrzőlistát.
Közreműködők
Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködő írta.
Fő szerző:
- Holger Sirtl | Vezető műszaki tervező a Microsoft Technológiai Központban
A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.
Következő lépések
- A Microsoft Quantum, egy teljes veremű, nyíltfelhős kvantum-számítási ökoszisztéma áttekintéséért tekintse meg Microsoft Quantum, és fejezze be a Kvantum-számítástechnika alapjait képzési tervét.
- További információ az Azure Quantum szolgáltatásról: Azure Quantum.
- Az Azure Quantum-feladatok kezelésével kapcsolatos általános információkért lásd: Azure Quantum-feladatok használata.
- Az algoritmusok kvantumhardveren való futtatásával kapcsolatos információkért lásd a modult, Algoritmusok futtatása kvantumhardveren az Azure Quantumhasználatával.