量子計算機的擴展
經典魔方有43 252 003 274 489 856 000種變化。 你可能不解,人們如何將打亂的魔方復原,讓每一面只有一種顏色。有些人甚至可以只看一眼打亂的魔方,然後蒙上眼睛來複原。這是完全有可能的,因爲存在一套基本規則,通過至多20步即可復原魔方。
控制量子計算機好比是蒙上眼睛解魔方:初始狀態已知,且存在一組有限的基本元素(量子位),操控可以通過一套簡單的規則——表示量子態向量的旋轉——來實現。但在操控期間查看系統會帶來嚴重後果:如果查看過早,計算將會失敗,你只能查看機器的最終狀態。
量子計算機的強大在於系統可由衆多狀態組合而成。有時,這一事實也被用來論證建造或控制量子計算機是不可能的:論證的要點是,描述量子計算機狀態所需的參數數量太過於龐大。的確,控制量子計算機並確保其狀態不受各種誤差源的影響將是巨大的工程挑戰。然而,難點不在於其複雜的量子態,而在於確保基本的控制信號的執行完全準確無誤,且量子位行爲符合預期。
如果工程師能夠找到相應方法,量子計算機終究會解決傳統計算機無法解決的問題。量子計算機或許能夠破解被認爲無法破解的密碼,協助發現新藥,改進機器學習系統,解決複雜的物流問題,等等。
這些期望的確很高,科技公司和政府在量子計算機上押下數十億美元的賭注。但這仍然是一場賭博,量子力學效應可帶來巨大能量,同樣也會使這些機器變得非常敏感,難以控制。
這種情況會持續下去嗎?傳統超級計算機和量子計算機的主要區別在於,量子計算機利用某些量子力學效應,以違背直覺的方式操控數據。我將簡要介紹其中一些效應。這些介紹應足以幫助你瞭解工程方面的障礙,以及克服障礙的一些策略。
普通傳統計算機操控位(二進制數字), 必須是0或1,而量子計算機操控量子位。與傳統位不同,量子位利用稱爲“疊加”的量子力學效應,使得量子位可處於疊加了一定數量“0”和一定數量“1”的狀態。描述一個量子位有多少“1”和多少“0”的係數是複數,它們含有實部和虛部。
在擁有多量子位的機器中,可以用一種極爲特殊的方式來創造量子位,如此,量子位的狀態便不能獨立於其他量子位的狀態來描述。這種現象稱爲“糾纏”。多個糾纏量子位可能存在的狀態比單個量子位的要複雜得多。
傳統的兩位只能被設定爲00、01、10或11,而兩個糾纏量子位可將這4種基本狀態疊加。也就是說,一對糾纏量子位可存在一定數量的00態,一定數量的01態,一定數量的10態和一定數量的11態。3個糾纏量子位元可由8種基本狀態疊加而成。n個量子位可以是2n個狀態的疊加。對n個糾纏量子位進行運算等同於同時對2n個信息位進行運算。
對量子位進行運算類似於旋轉魔方。最大的不同之處在於量子旋轉從來都不是完美的。由於控制信號的質量和量子位的靈敏度的某些限制,量子位旋轉90度的運算最終可能會使其旋轉90.1度或89.9度。誤差看起來可能很小,但會迅速累加,導致完全錯誤的輸出。
另一個誤差來源是退相干:如果量子位離散,會逐漸丟失所含信息,失去糾纏。即便工程上用存儲量子位的物理基使其相互隔絕,在一定程度上量子位也會與其環境相互作用。可以通過所謂的量子糾錯來補償控制誤差和退相干的影響,但這樣做的代價很大,所需物理量子位的數量和所需處理的工作量都很高。
一旦克服這些技術上的挑戰,量子計算機將用於某些特殊類型的計算。執行量子算法後,機器將測量出最終狀態。理論上講,該測量結果有可能解答傳統計算機在一個合理時間段內無法解決的數學問題。
那麼, 如何設計量子計算機?工程上往往將機器的主要功能分解成若干子功能組,每個子功能組的性質相似或性能相近。這樣,這些功能組易於映射到硬件上。在荷蘭QuTech公司,我和同事發現,量子計算機所需的功能可基本分爲5組,概念上由5個控制層表示。IBM、谷歌、英特爾等公司的研究人員也在採取類似策略,除此之外,建造量子計算機還可採用其他的方法。
現在來介紹這個5層的“蛋糕”,我將由頂層開始,這是對發生在硬件內部深層繁瑣細節抽象的最高級別。
最上層是應用層,它並不是量子計算機本身的一部分,但卻是整個系統的關鍵部分。它表示組成相關算法所需的所有要素:編程環境、量子計算機操作系統、用戶界面等。該層算法的組成可以是完全量子化的,也可以是傳統和量子的部分組合。應用層不應依賴於其下層使用的硬件類型。
應用層的正下方是傳統處理層,它有3個基本功能。首先,它優化運行中的量子算法,並將其編譯爲微指令,類似於傳統計算機中的CPU,對應每條必須執行的機器代碼指令,操作運行衆多微指令。該層還處理由下層硬件返回的量子態測量數據,這些數據可能會被反饋給傳統算法,得出最終結果。傳統處理層還將負責下層所需的校準和調諧。
傳統處理層之下是數字處理層、模擬處理層和量子處理層,它們共同組成量子處理單元(QPU)。量子處理單元的3層之間有着緊密的聯繫,每一層的設計很大程度上取決於另外兩層的設計。從上往下,我將更全面地介紹構成量子處理單元的這3層。
數字處理層將微指令轉換成脈衝,這是操控量子位作爲量子邏輯門所需的信號。更準確地說,該層僅僅提供了模擬脈衝的數字定義。模擬脈衝本身是在量子處理單元的模擬處理層中產生的。數字層還將量子計算的測量結果反饋給上面的傳統處理層,使量子解與傳統計算結果相結合。
當前,個人計算機或現場可編程門陣列可以處理這些任務。但是當糾錯加入到量子計算機中時,數字處理層將不得不變得更加複雜。
模擬處理層產生髮送給下一層量子位的各種信號,主要有電壓階躍和掃描以及微波脈衝串,經相位和幅度調製,執行所需的量子位運算。在運算過程中,量子位連接形成量子邏輯門,進而按照正在運行的特定量子算法共同進行整體計算。
雖然技術上生成此類信號並不困難,但管理實用量子計算機所需的衆多信號存在重大障礙。首先,發送給不同量子位的信號需要在皮秒級時間尺度上同步。需要一些方法來將這些不同的信號傳遞給不同的量子位,使其發揮不同的作用。這是巨大的阻礙。
當前的小型系統中只有幾十個量子位,每個量子位被調諧到不同頻率,類似鎖定在某個頻道的無線電接收器。在共享信號線上,發射相應的特定頻率,可以選擇訪問量子位。這可行,但該策略不可擴展。發送到一個量子位的信號必需有合理的帶寬,如10兆赫。如果計算機包含100萬個量子位,此類信號系統需要10太赫的帶寬,這當然不可行。同樣不可能構建100萬條獨立的信號線,將每條信號線直接連接到每個量子位。
該解決方案可能涉及頻率複用和空間複用的組合。將量子位編造成組,組中的每一量子位被調諧到不同頻率。計算機包含許多這樣的量子位組,所有量子位組都連接到一個模擬通信網絡上,模擬層生成的信號僅連接到一個選定量子位組子集。通過正確分配信號頻率和網絡連接,你可操控單個或一批目標量子位,而不影響其他量子位。
這種方法應該會有效,但多路複用的不足是控制不準確。如何消除這種不準確仍有待研究。
當前系統中,數字處理層和模擬處理層主要在室溫下工作。只有其下面容納量子位的量子處理層溫度要保持在接近絕對零度。但是,隨着未來系統中量子位數量的增加,構成這3層的電子元件無疑將不得不集成封裝到低溫芯片中。
當前某些公司正建造所謂的初始原型樣機是基於超導量子位。 這些機器最多包含幾十個量子位,能夠執行幾十到幾百次相干量子運算。採納這種方法的公司包括科技巨頭谷歌、IBM和英特爾。
通過增加控制線的數量,工程師可以將當前架構擴展到數百個量子位,這已經很多了。這些量子位保持相干的時間很短,當前大約是50微秒,這將限制在計算出錯之前可執行的量子指令數。
鑑於這些限制,我預計,數百個量子位的系統的主要應用將是作爲傳統超級計算機的加速器。將量子計算機運行速度快的特定任務由超級計算機發送到量子計算機,再將結果返回給超級計算機作進一步處理。某種意義上來說,量子計算機將像筆記本電腦中的圖形處理器(GPU),執行某些特定任務,如矩陣求逆或初始條件優化,其速度要比單獨的CPU快得多。
量子計算機發展的下一階段,應用層的建造會相當直接。數字處理層也將相對簡單。而建造組成量子處理單元的3層會很棘手。
當前技術無法生成完全一致的量子位。不同的量子位的屬性略有不同。這種異質性反過來又要求量子處理單元的模擬層適配其所控制的特定量子位。這種定製需求使得建造量子處理單元的過程難以擴展。量子位一致性更高,便不需要定製模擬層,且允許控制和測量信號的多路複用。
研究人員可能會在5到10年內引入更多的量子位,進而爲機器增加糾錯機制,而大量的量子位將需要多路複用。支持這種糾錯的思路非常簡單:不要將數據存儲在一個物理量子位中,而是將多個物理量子位組合成可糾錯的一個邏輯量子位。
量子糾錯可以解決根本的退相干問題,但每一邏輯量子位需要100到1萬個物理量子位。這並非唯一的障礙。實現糾錯需要低延遲、高通量、跨越量子處理單元3層的反饋循環。
在超導電路、自旋量子位、光子系統、離子阱、氮晶格空位中心等衆多類型的量子位實驗中,哪一種最適合用來製造進行糾錯的大量量子位,尚有待觀察。無論哪一種爲最佳方案,都需要成功地封裝和控制至少幾百萬的量子位。
這便引出了大問題:我們真的能夠做到嗎?數百萬的量子位必須由連續的模擬信號來控制。這很難,但絕非沒有可能。我和其他研究人員計算出,假如設備的質量能夠提高几個數量級,用於糾錯的控制信號便可多路複用,用數字層管理多路複用策略,模擬層設計會變得簡單明瞭。未來的量子處理單元將不需要幾百萬,而只需要幾百或幾千個數字連接,這可藉助當前的集成電路的設計和製造技術來實現。
更大的挑戰很可能來自測量方面:每秒鐘需要在芯片上進行數千次測量。測量不能干擾量子信息(計算結束前量子信息是不確定的),同時還要揭示和糾正計算過程中出現的錯誤。按照這樣的頻率測量數百萬個量子位,測量方法需要進行很大的改變。
目前的量子位測量方法需要對模擬信號進行調製解調和數字化處理。當測量速率達到數千赫茲時,在擁有數百萬量子位的機器中,數字總通量將是拍字節/秒。當前的技術無法處理如此之多的數據,這還涉及將室溫電子器件在接近絕對零度的溫度下連接到保存量子位的芯片。
顯然,量子處理單元的模擬層和數字層必須與同一芯片的量子處理層集成,採用巧妙的策略對測量數據進行預處理和多路複用。幸運的是,對於爲糾錯而進行的處理,並非所有量子位的測量都必須傳遞到數字層。只有當本地電路檢測到錯誤時才需如此,從而大大減少了所需的數字帶寬。
量子層的性能將從根本上決定計算機的運算狀況。量子位的瑕疵意味着需要更多的量子位來糾錯,而當這些瑕疵惡化時,對量子計算機的要求便超出可行的範圍。反之亦然:工程上改進量子位質量的成本極高,但能很快收回成本。
在當前的量子計算初始原型階段,單獨量子位控制是不可避免的:我們需要最大限度地利用已有的量子位。不過很快,隨着可用量子位數量的增加,研究人員必須設計出多路複用的控制信號和量子位測量系統。
接下來的重要一步是採用基本的糾錯形式。最初可能有兩條平行的開發路線,一條有糾錯,另一條沒有糾錯,但糾錯量子計算機最終將佔據主導地位。要建造可真正執行實際任務的機器,除此之外別無他法。
準備這些開發任務,需要芯片設計人員、芯片製造工程師、低溫控制專家、大規模數據處理專家、量子算法開發人員以及其他人員的密切合作。
國際量子工程路線圖有助於如此複雜的合作。可將各項任務分配給不同專家組,由路線圖的發佈者協調專家組之間的溝通。通過學術機構、研究機構和商業公司的聯合,我們能夠並將成功地建造實用的量子計算機,在未來釋放出巨大的計算能力。
創芯大講堂課程推薦