Programovanie

Amazon Braket: Začnite s kvantovým výpočtom

Zatiaľ čo spoločnosti IBM, Microsoft a Google prijali veľké záväzky a investície do kvantovej výpočtovej techniky, Amazon bol donedávna o tejto oblasti pomerne ticho. To sa zmenilo zavedením Amazonu Braket.

Amazon sa stále nepokúša budovať svoje vlastné kvantové počítače, ale s Braketom sprístupňuje kvantové počítače iných spoločností cloudovým používateľom prostredníctvom AWS. Braket v súčasnosti podporuje tri kvantové výpočtové služby, od D-Wave, IonQ a Rigetti.

[Tiež v: Praktický pohľad na súpravu Microsoft Quantum Development Kit a súpravy SDK pre kvantové výpočty IBM Q a Qiskit]

D-Wave vyrába supravodivé kvantové annealery, ktoré sa zvyčajne programujú pomocou softvéru D-Wave Ocean, aj keď v Braket SDK existuje aj žíhací modul. IonQ vyrába zachytené iónové kvantové procesory a Rigetti vyrába supravodivé kvantové procesory. V Brakete môžete programovať procesory IonQ aj Rigetti pomocou modulu obvodov Braket Python SDK. Rovnaký kód funguje aj na lokálnych a hostovaných kvantových simulátoroch.

Názov Braket je pre fyzikov akýmsi vtipom. Bra-ketova notácia je Diracova formulácia kvantovej mechaniky, ktorá predstavuje ľahší spôsob vyjadrenia Schrödingerovej rovnice ako parciálne diferenciálne rovnice. V notácii Dirac podprsenka <> je riadkový vektor a ket | f> je stĺpcový vektor. Písanie podprsenky vedľa ketku znamená násobenie matice.

Amazon Braket a Braket Python SDK konkurujú produktom IBM Q a Qiskit, Azure Quantum a Microsoft Q # a Google Cirq. Spoločnosť IBM už má vlastné kvantové počítače a simulátory dostupné verejnosti online. Simulátor spoločnosti Microsoft je všeobecne dostupný, ale jeho kvantové ponuky sú v súčasnosti v obmedzenom náhľade pre tých, ktorí si ho osvojili ako prvý, vrátane prístupu k kvantovým počítačom od spoločností Honeywell, IonQ a Quantum Circuits a optimalizačných riešení od 1QBit. Spoločnosť Microsoft neoznámila, kedy budú k dispozícii vlastné topologické supravodivé kvantové počítače, ani Google, kedy sprístupní svoje kvantové počítače alebo čipy Sycamore verejnosti.

Prehľad Amazon Braket

Amazon Braket je plne spravovaná služba, ktorá vám pomôže začať s kvantovým výpočtom. Má tri moduly, Build, Test a Run. Modul Build sa sústreďuje na spravované notebooky Jupyter vopred nakonfigurované pomocou vzorových algoritmov, zdrojov a vývojárskych nástrojov vrátane sady Amazon Braket SDK. Modul Test poskytuje prístup k riadeným, vysoko výkonným simulátorom kvantových obvodov. Modul Run poskytuje bezpečný prístup na požiadanie k rôznym typom kvantových počítačov (QPU): bránové kvantové počítače od IonQ a Rigetti a kvantový annealer od D-Wave.

Na QPU sa úlohy nemusia spustiť okamžite. QPU vykonávajú úlohy iba počas vykonávacích okien.

Amazon Braket SDK API

Sada Braket Python SDK definuje všetky operácie, ktoré potrebujete na zostavenie, testovanie a spustenie kvantových obvodov a analyzátorov. Je rozdelená do piatich balíkov: braket.anealing, braket.aws, braket.circuits, braket.devices a braket.tasks.

Balík braket.annealing umožňuje definovať dva druhy binárnych kvadratických modelov (BQM): Ising (matematický model feromagnetizmu v štatistickej mechanike využívajúci magnetické dipólové momenty atómových „spinov“) a problémy QUBO (Quadratic Unconstrained Binary Optimization), vyriešiť pomocou kvantového annealera, napríklad jednotky D-Wave. Balík braket.circuits vám umožňuje definovať kvantové obvody založené na množine brán, ktoré sa majú vyriešiť na hradlových kvantových počítačoch, napríklad od IonQ a Rigetti.

Ďalšie tri balíčky riadia priebeh vášho problému. Balík braket.aws umožňuje výber kvantových zariadení, načítanie problémov do úloh a pripojenie úloh k reláciám AWS. Balík braket.devices vám umožňuje spúšťať úlohy na kvantových zariadeniach a simulátoroch. Balík braket.tasks vám umožňuje spravovať, sledovať, rušiť a získavať výsledky z kvantových úloh.

Obvody a brány Amazon Braket

Obvody v kvantovom počítači, ako sú napríklad obvody od IonQ alebo Rigetti (alebo IBM alebo Honeywell), sú zostavené zo štandardnej sady brán (pozri obrázok nižšie), aj keď nie každá QPU môže mať implementáciu všetkých druhov brán . V Braket SDK definujete obvod pomocou Obvod () metóda z balíka braket.circuits, kvalifikovaná bránami v obvode a ich parametrami.

Napríklad tento kód Braket (z príkladu Amazon Deep_dive_into_the_anatomy_of_quantum_circuits) definuje obvod, ktorý inicializuje štyri qubity do stavu Hadamard (rovnaká pravdepodobnosť 1 a 0), potom pomocou operácií Controlled Not zapletie qubit 2 do qubit 0 a qubit 3 do qubit 1.

# definujte obvod so 4 qubitmi

my_circuit = Circuit (). h (rozsah (4)). cnot (kontrola = 0, cieľ = 2). cnot (kontrola = 1, cieľ = 3)

Zdá sa, že sada Braket SDK má takmer celú sadu kvantových logických brán, ako je uvedené v tomto výpise Brána trieda. Nevidím uvedenú bránu Deutsch, ale pokiaľ viem, ešte nebola implementovaná na skutočnom QPU.

# vytlačiť všetky dostupné brány momentálne dostupné v rámci SDK

gate_set = [attr for attr in dir (Gate) if attr [0] in string.ascii_uppercase]

print (gate_set)

['CCNot', 'CNot', 'CPhaseShift', 'CPhaseShift00', 'CPhaseShift01', 'CPhaseShift10', 'CSwap', 'CY', 'CZ', 'H', 'I', 'ISwap', ' PSwap ',' PhaseShift ',' Rx ',' Ry ',' Rz ',' S ',' Si ',' Zameniť ',' T ',' Ti ',' Unitary ',' V ',' Vi ' , 'X', 'XX', 'XY', 'Y', 'YY', 'Z', 'ZZ']

Rxtreme (CC BY-SA 4.0)

Oceán D-Wave

Ocean je natívny softvérový zásobník založený na Pythone pre kvantové analógové analyzátory D-Wave. Pre použitie cez Braket môžete kombinovať softvér Ocean s doplnkom Amazon Braket Ocean, ktorý prekladá medzi formátmi Ocean a Braket.

Kvantové annealery fungujú úplne inak ako QPU založené na bráne. V podstate svoj problém formulujete ako binárny kvadratický model (BQM), ktorý má globálne minimum v riešení, ktoré chcete nájsť. Potom použijete annealer na mnohokrát vzorkovanie funkcií (pretože annealer nie je dokonalý), aby ste našli minimum. Môžete vytvoriť BQM pre daný problém matematicky alebo vytvoriť BQM pomocou softvéru Ocean. Nasledujúci kód, ktorý vychádza z príkladu Amazonu D-Wave_Anatomy, využíva doplnok Braket Ocean na riešenie BQM na zariadení D-Wave.

# nastavenie parametrov

num_reads = 1000

# definovať BQM

bqm = dimod.BinaryQuadraticModel (lineárny, kvadratický, offset, vartype)

# run BQM: vyriešiť pomocou zariadenia D-Wave

sampler = BraketDWaveSampler (s3_folder, 'arn: aws: braket ::: device / qpu / d-wave / DW_2000Q_6')

sampler = EmbeddingComposite (sampler)

sampleet = sampler.sample (bqm, num_reads = num_reads)

# agregované riešenie:

sampleet = sampleset.aggregate ()

Systémy D-Wave

Povolenie služby Amazon Braket a používanie notebookov

Skôr ako začnete používať Braket, musíte ho povoliť vo svojom účte AWS.

Potom musíte vytvoriť inštanciu poznámkového bloku. Notebooky používajú Amazon SageMaker (prečítajte si moju recenziu).

Po otvorení notebooku môžete zadať nový kód alebo použiť jeden z príkladov Amazonu.

Musíte skontrolovať stav zariadení QPU, pretože nie sú vždy k dispozícii.

Aj keď ich môžete spustiť sami, vzorové notebooky Braket boli uložené s výsledkami z predchádzajúceho behu.

Existujú príklady pre obidve brány založené na QPU, ako je uvedené vyššie, a kvantové annealery, ako je uvedené nižšie.

Učte sa dnes, užitočné zajtra

Amazon Braket je rozumný spôsob, ako si zamočiť nohy pomocou kvantových počítačov a simulátorov. Pretože sme stále vo fáze kvantového výpočtu NISQ (Noisy Intermediate Scale Quantum), nemôžete od Braketa skutočne očakávať užitočné výsledky. Budeme potrebovať viac qubitov, menej šumu a dlhší čas súdržnosti, čo všetko sa aktívne skúma.

Súčasná ponuka QPU spoločnosti Braket je skromná. 2048-qubitový D-Wave annealer je väčšinou užitočný pre optimalizačné problémy; je to asi polovica veľkosti annealeru poslednej generácie D-Wave. 11-qubitový IonQ QPU, ktorý má relatívne dlhú dobu súdržnosti, je spôsobom príliš malé na implementáciu algoritmov pre kvantové počítače, ktoré by mali vykazovať užitočnú kvantovú prevahu, napríklad Groverov algoritmus na nájdenie inverznej funkcie funkcie a Shorov algoritmus na nájdenie hlavných faktorov celého čísla. 30-qubitový Rigetti Aspen-8 je tiež príliš malý.

Braket nie je zadarmo, hoci jeho použitie je pomerne lacné. Pre porovnanie, IBM Q je úplne zadarmo, hoci verejne dostupné IBM QPU sú veľmi malé: pohybujú sa od 1 qubitovej QPU v Armonku po 15-qubitovú QPU v Melbourne. IBM tiež ponúka platenú prémiovú službu QPU.

[Tiež na: Recenzia: Amazon SageMaker hrá doťahovanie]

IBM tiež hodnotí svoje QPU podľa ich kvantového objemu (QV), čo je miera kombinujúca počet qubitov s ich chybovosťou a časom súdržnosti. Existujú päťkbitové IBM QPU od QV8 do QV64: vyššia je lepšia. Spoločnosť Honeywell taktiež oznámila dosiahnutie QV64.

Na čo je Braket v súčasnosti dobrý, je učenie sa o kvantových výpočtoch a vývoj kvantových algoritmov v režime NISQ. Zostaňte však naladení. S vylepšovaním QPU a zapojením do AWS bude Braket čoraz užitočnejší.

Náklady: Spravované notebooky: 0,04 až 34,27 USD za hodinu inštancie; kvantový simulátor: 4,50 USD za hodinu; kvantové počítače: 0,30 USD za úlohu plus 0,00019 USD až 0,01 USD za výstrel (opakovanie okruhu).

Plošina: AWS; lokálna inštalácia Braket SDK vyžaduje Python 3.7.2 alebo vyšší a Git.

$config[zx-auto] not found$config[zx-overlay] not found