Microsoftov kvantni programski jezik Q# bi vam lahko pomagal pri učenju kvantne fizike

Krysta Svore Microsoft Q# kvantno računalniško kodiranje
Microsoft

Računalniki bodo kmalu postali čudni.

Vsebina

  • Narediti skrivnost dostopno
  • Kvantna skupnost
  • Priprave na jutri

Po desetletjih kot teorija, prvi kvantni računalniki zdaj sedijo v nekaj izbranih laboratorijih po vsem svetu. So osnovni in verjetno manj praktični kot prvi elektronski računalniki, kot je 50-tonski ENIAC. Kljub temu raziskovalci napredujejo. IBM, Google in Intel napredujejo na kvantni strojni opremi in praktični kvantni računalnik se končno zdi kot realnost bližnje prihodnosti namesto kot predmet znanstvene fantastike.

To je priložnost. To je tudi problem. Kvantna fizika je čudno kraljestvo teleportacije in verjetnosti, ki ne sledi pravilom, ki jih poznamo. Večina ljudi ne razume kvantne mehanike, kar vključuje programerje, ljudi, ki bodo morali kvantne računalnike uporabiti v praksi.

Povezano

  • Deli za popravilo površin so zdaj na voljo v trgovini Microsoft Store
  • Microsoft Teams dobiva nova orodja AI – in so brezplačna
  • Microsoft draži prenovo zasnove glavne aplikacije Windows 11

Microsoft ima načrt za njihovo izobraževanje.

Narediti skrivnost dostopno

Vsak razvijalec, ki se želi naučiti novega programskega jezika, kot sta C# ali Javascript, želi takoj uporabiti njene lekcije. Vendar lahko kvantno računalništvo v povojih to oteži. Ustvarjanje programa za številne kvantne naprave je podobno poskusu pisanja v binarni strojni kodi – le da je še težje, ker kvantna mehanika. To ni samo področje, ki ga dobro razumemo, vendar ga je težko prevesti. To je področje študija, kjer nekatere osnove ostajajo neznane.

Microsoft Quantum Q#, kodiranje na računalniku
Matt Smith/Digitalni trendi

To vključuje razlog zakaj kvantni računalniki delujejo. "V kvantnem računalništvu imamo dokaze, da lahko kvantni računalniki prekašajo klasične računalnike," je povedala Krysta Svore, glavna raziskovalna vodja v Microsoftovi skupini za kvantne arhitekture in računalništvo. "Sveti gral na našem področju bi bil dejanski matematični dokaz za to."

Kvantno računalništvo je tako novo in tako drugačno od vsega pred tem, da celo vrhunski raziskovalci ostajajo v temi glede pomembnih in temeljnih elementov.

Kvantno računalništvo 101

Učenje programerjev kodiranja za kvantno na pravi strojni opremi za zdaj ne pride v poštev. Microsoftov kvantni programski jezik Q# odpravi to težavo tako, da ponudi preprost dostop do orodij, potrebnih za začetek programiranja. To pomeni, da je Q# čim bolj poznan in dostopen, čeprav znanstveniki še naprej delajo preboje v osnovah delovanja kvantnih računalnikov.

Q# ni spravljen za zid grozljive dokumentacije in slabo razloženih namestitvenih programov. Programerji lahko do njega dostopajo prek Visual Studio, najbolj priljubljeno razvojno okolje na svetu. Programerji za uporabo ne potrebujejo dostopa do kvantnega računalnika.

Namesto tega lahko programirajo, kot da bi se njihova koda izvajala na dejanski kvantni napravi, nato pa jo izvajajo na virtualni simulaciji. To je mogoče, ker se kvantni računalnik ne obravnava kot lasten popoln, neodvisen sistem, ampak namesto tega kot pospeševalnik, ki ga kliče klasični računalnik, ki poganja klasični računalnik Koda.

»Predvidevamo si, da bo kvantni računalnik še en vir v Azure, poleg GPU-ja, FPGA-ja, ASIC-a, ki ga je treba uporabiti. Azure postane ta celotna struktura, ki v svoje računanje vključuje kvantni računalnik,« je Svore povedal za Digital Trends.

kvantni microsoft q kodiranje python interop jpg 3605
kvantni vzorci kodiranja microsoft q github jpg 3604
kvantno kodiranje microsoft q 3603
quantum microsoft q kodiranje python simulacija jpg 3602

Večina programerjev je seznanjena z uporabo namenske strojne opreme za določene naloge, večina pa je seznanjena s klicanjem virov v oblaku. Zagon Q# se ne razlikuje od tistih dobro znanih opravil. Strojna oprema Quantum je morda eksotična in redka, toda programsko okolje, ki ga Microsoft ponuja za Q#, je točno to, kar bi videli danes, če bi pogledali čez ramo programerja največ Fortune 500 podjetja. Zaradi tega je veliko manj zastrašujoče.

»Končna vizija je, da uporabnik ne reče 'V redu, zdaj moram vzeti to aplikacijo in jo zagnati na tem delu procesorja, tem delu tukaj, tem delu tam,'« je dejal Svore. »Enako je s kvantnim računalništvom. Želimo, da je pospeševalnik brezhiben.«

Kvantna skupnost

Programerji se lahko predstavijo Q# z naborom brezplačnih vadnic, ki jih Microsoft imenuje Quantum Katas. Vsaka lekcija vključuje "zaporedje nalog na določeno temo kvantnega računalništva", ki jih morajo programerji rešiti. Najti pravo rešitev je cilj, vendar je potovanje enako pomembno. Kate niso mišljene za reševanje v enem samem prehodu. Poučujejo na podlagi poskusov in napak ter programerje ob tem uvajajo v osnove kvantnega programiranja.

Q# in kvantne kate prinašajo transformativno raven povratnih informacij v kvantno programiranje

Chris Granade, raziskovalni inženir za razvoj programske opreme pri Microsoftu, si jih je ogledal na lastne oči, ko je obiskoval vadnico, ki jo je gostila Univerza za tehnologijo v Sydneyju. »Bilo je res neverjetno opazovati, kako lahko ljudje preidejo od nič kvantnega znanja do pisanja,« je povedal za Digital Trends. »Kar je bilo preobrazbeno, je bilo to, da ko so ljudje imeli nesporazum, zaradi tega niso trpeli. Lahko so izvajali kate, lahko so videli, da so dobili napačen odgovor, in ta povratna informacija je ljudem resnično pomagala razumeti na praktičen način.«

Ta praktična izkušnja nemudoma spremeni kvantno računalništvo iz teoretičnega koncepta v praktično realnost, zaradi česar je razlika v tem, kako ljudje pristopijo k temu. Programerji morda ne izdelujejo fizičnih predmetov, vendar so navajeni videti povratne informacije tako kot vsi drugi rokodelci. Ustvarijo stvar in deluje – ali pa ne. Q# in Quantum Katas prinašata to raven povratnih informacij v kvantno programiranje, tako da vsakomur, ki ga to zanima, omogoča, da se poglobi in razume, kaj kvantno računalništvo omogoča.

Kvantno računalništvo

Sprememba, ki jo je Granade osebno videl, se ne dogaja le v učilnicah. Quantum Development Kit, katerega del je Q#, lahko prenese vsak pod odprtokodno licenco. Zainteresirani razvijalci ga lahko ne le začnejo uporabljati, ampak tudi aktivno prispevajo k skupnosti. Svore je za Digital Trends povedal, da je število prenosov QDK v »zgornjih deset tisočih« in udeležencev so že dodali "peščico znatnih prispevkov", vključno z novimi algoritmi in dokumentacijo.

Čeprav je ta kvantni razvojni komplet še vedno tržna niša, vstopna lestvica postavlja dovolj nizko, da ga lahko celo novinec programer lahko začne eksperimentirati s Q# in pri tem začne razumeti, kaj dela kvantno računalništvo kljukica. To ni koristno samo za programerje, ampak za celotno področje kvantne fizike. Razlaga kvantnih teorij je velik glavobol ne samo zato, ker je kvantni svet čuden v primerjavi s "klasičnim" fizike, ki jo pozna večina programerjev, pa tudi zato, ker je praktične posledice kvantne fizike težko dokazati.

»Ni vam treba poznati fizike. Ni vam treba poznati kvantne mehanike."

Klasični računalniki se ukvarjajo z binarnimi absoluti. 1s in 0s. Izklopljen ali vklopljen. Quantum se ukvarja z verjetnostmi in programiranje za kvant pomeni ustvarjanje algoritmov, ki manipulirajo z verjetnostmi, da ustvarijo pravilno rešitev. »Veste, da ta val vključuje mojo rešitev. Ti drugi valovi ne vključujejo rešitve. Torej želim, da ti valovi, ko motijo, izginejo,« je pojasnil Svore. »Želim, da bo val, ki vključuje mojo rešitev, res velik. Na koncu izmerimo kvantna stanja. Verjetnost, da bomo dobili visok val, je večja, čim višji je val. Tako oblikujemo kvantne algoritme.«

Ali razumete, kaj pomeni Svore?

Če ne, naj vam ne bo slabo. Tega ni lahko razumeti in ni lahko pokazati. Celo miselni poskusi, namenjeni poenostavitvi kvantne mehanike, kot je Schrodingerjeva znamenita mačka, vas lahko pustijo, da se praskate po glavi.

Inženirji Microsoft Quantum Q#
Microsoft

Microsoft upa, da bosta Q# in Quantum Katas ponudila praktično alternativo za pristop k temi. »Ni vam treba poznati fizike. Ni vam treba poznati kvantne mehanike. Pravzaprav priznam, da se kvantne mehanike nisem učil do podiplomske šole,« je dejal Svore. »V kvantno računalništvo sem vstopil, ne da bi se kdaj učil fizike na kolidžu. Po izobrazbi sem računalničar.”

Kvantno programiranje bi lahko postalo okno vpogleda, tako da bi programerjem dalo priložnost, da praktično uporabijo kvantne teorije, ne da bi se odrekli orodjem, na katera so se zanašali. Ni vam treba več let učiti fizike. Samo vskočite, naredite aplikacijo, ki uporablja Q#, in poglejte, kaj se zgodi.

Priprave na jutri

Današnja praktična uporaba Q# je omejena, ker ni strojne opreme, ki bi jo lahko uporabili. Microsoft še ni zgradil kvantnega računalnika, in tudi če bi, bi bilo preveč primitivno za izvajanje uporabnih izračunov. Toda programer lahko preveri svoje delo tako, da zažene Q# na simuliranem kvantnem računalniku. To omogoča kodiranje programa za kvantno z razumnim pričakovanjem, da bo deloval, ko bo strojna oprema na voljo.

Krysta Svore, Chris Granade, Microsoft Quantum Q#
Krysta Svore, glavna vodja raziskav pri Microsoftovi skupini za kvantne arhitekture in računalništvo (levo) in Chris Granade, raziskovalni inženir za razvoj programske opreme pri Microsoftu.Matt Smith/Digitalni trendi

To je ključnega pomena. Kvantni računalniki niso le boljši sodobni osebni računalniki. So bistveno drugačni. Zahtevajo drugačno strojno opremo, drugačne algoritme in drugačen pristop k reševanju kompleksnih problemov. Tudi če bi se pojavil popotnik skozi čas s funkcionalnim, stabilnim kvantnim računalnikom z milijoni kubitov, bi ga težko uporabili, tako kot bi bili rimski učenjaki zmedeni, če bi dobili prenosni računalnik. 99,9 odstotka sodobnih razvijalcev, programerjev in računalničarjev nima nobenih izkušenj s kodiranjem za kvant in nimajo pojma, kako kvantna fizika deluje. Preden pridemo do bolj impresivnih odkritij, je treba uvesti osnove.

Za poučevanje bo potreben čas – vendar je Microsoftov Q# pomemben korak naprej.

Priporočila urednikov

  • ChatGPT lahko zdaj brezplačno ustvari delujoče ključe za Windows 11
  • Microsoft je morda prezrl opozorila o nenadzorovanih odzivih storitve Bing Chat
  • Kitajski hekerji ciljajo na kritično infrastrukturo ZDA, opozarja Microsoft
  • Zdaj lahko preizkusite avatarje in virtualne prostore v Microsoft Teams
  • Microsoft Build 2023: največje objave v AI, Windows in več