量子計算的瓶頸

這學期去旁聽了台大物理系的量子計算演算法與應用,很感謝老師能讓我這個外行人旁聽這麼進階的課。

回歸正題,老師在一開始就已經說明了目前量子計算的困難所在,而且很多宣稱有量子優勢的研究,都是拿沒優化的傳統方法當作基準,所以研究的路還很長。

不過我是覺得,因為都還沒有重大的突破,才研究的價值不是嗎?

這篇文章整理一些我看到的問題。

瓶頸一:平行是真的,但你得讀出來

量子計算最吸引人的賣點是疊加態帶來的平行性。這部分是真的,算一次,所有可能的答案某種意義上同時都在裡面了。

問題在讀出來這一步。疊加態你沒辦法直接看,只能做測量,而每測一次只會塌縮成一個結果。要得到有意義的答案,你得反覆測量很多次,讓結果收斂成一個夠準的機率分布,再從分布裡判斷答案。

關鍵在於,位元數越多,要測的次數就越多。而平行性的優勢本來就是靠位元數堆出來的。所以你一邊用更多 qubit 換平行,一邊就得付出更多測量次數,這個測量成本會反過來把平行帶來的優勢一點一點抵銷掉,最後可能不太明顯。

這也是為什麼課堂上很多技巧,本質上都是在想辦法少測一點、測準一點。舉個例子,量子機器學習裡要做梯度下降,直覺會想說微分用逼近法測不就好了,但量子測量本身有雜訊,逼近法測出來的梯度根本不準。所以才有 Parameter-shift rules 這種做法,利用旋轉就是三角函數、有解析微分的特性,用固定角度左右各測一次相減,直接拿到精確的梯度,不靠逼近。一個小技巧,骨子裡就是在處理測量成本的問題。

瓶頸二:雜訊太高,所以電路不能太深

第二個瓶頸是雜訊。現在的量子硬體雜訊很高,閘做得越多、電路越深,誤差就累積得越嚴重,深到一定程度算出來的結果就沒有意義了。

所以電路不能太深變成一個硬限制,很多漂亮的演算法在這關前面就卡住了。課堂上看到一個對策叫 measurement feedforward,把一個太深的計算切成幾段,先測量前半段,再把測量值放進另一組電路當輸入繼續算,用這種方式避免單一電路深到雜訊過高。代價是計算成本,白話講就是錢,會明顯上升。

這個分段、測一次、把結果接回去再跑的做法,個人覺得很像 LLM 的 Chain-of-Thought,也是把一個一次做不好的長推理,拆成幾步、每步把中間結果接回去。差別是量子這邊每切一刀都要多花一次成本。

兩個瓶頸合起來:能贏的題目很窄

把這兩件事放在一起看,結論就很清楚了。現在量子計算真的能贏傳統電腦的題目,範圍其實很窄。

你需要的是一個複雜度真的很高、值得用量子去解的題目。但麻煩的是,很多表面上看起來複雜度爆炸的問題,實際上只要給一些合理假設,複雜度馬上被壓下來,掉回 GPU 平行運算就能解的範圍,這時候量子就沒有實質優勢了。

我在做第二次作業,0/1 背包、Max Cut、LABS 的時候對這點特別有感。題目都會拿古典暴力破解要花多少時間來凸顯量子的價值,但實際上根本沒人用暴力解算這些。像背包問題照重量排序後,算到 n=2 就裝不下的組合,n=3 再多塞一定超重,整支直接剪掉,光剪枝就能砍掉大半。古典這邊聰明的解法很多,量子要贏其實不容易。

所以量子計算跟 ML 很不一樣。ML 幾乎什麼問題都能塞進去煉金,量子能發揮的題目卻很挑。這就是我說它離能用還很遠的具體意思,不是不能算,是現在划得來的場景還太少。

那還有機會嗎

講完瓶頸,還是有不少讓我覺得有意思的方向。

順著瓶頸去想,反而冒出一些題目。既然 qubit 數量跟電路深度是最大瓶頸,那能不能借古典剪枝的想法,先用少量測量篩出那些已經很確定的 qubit,把它們定下來、縮小問題,再多次迭代慢慢提高準確率。我自己初步測了一下還沒成功,但問了 Claude 之後發現真的有一種遞迴技術叫 RQAOA,方向跟我想的有點像,所以也許值得再試。

還有一個我覺得最有啟發的角度。我們現在用的很多演算法,會長成這種簡化版,其實是因為當初算力不足、被迫做一堆假設把問題砍小。那如果反過來,把這些為了省算力而拿掉的假設加回去,會不會看到新的現象。這樣複雜度自然提高,需要更強的量子計算這件事也才比較站得住腳。與其拿量子去硬解古典已經很會解的問題,不如去找那些當年被迫簡化掉的地方。

探索更多來自 居米研究室 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

繼續閱讀