噪声与纠错
“量子”课程第 18 课,共 23 课。免费,有动画和小测验。
为什么绕不开纠错
如今最好的物理比特,大约每一千次双比特操作就错一次。听起来还行,但肖尔算法需要连续几十亿次操作,按这个错误率,算个几千步就崩了。需要的错误率大约是十亿分之一,甚至更低。把硬件提升一百万倍不现实,所以只能靠巧招纠错:把许多有噪声的物理比特拼成一个可靠的比特,叫逻辑比特。
思路:少数服从多数
普通通信里有个老招:把一个比特发三遍,用 000 代替 0。要是有一位翻了、收到 010,多数表决就能给出正确答案。量子世界有两个难题:量子比特不能复制(还记得不可克隆定理吗?),而一测量叠加态就没了。出路很巧妙:用纠缠把状态“摊”到几个比特上,从不问“里面是什么”,只问“相邻的一样吗”。这些问题的答案叫“症状”(syndrome),它能指出错在哪,又不碰信息本身。
表面码:一张棋盘
研究得最透的保护方案是表面码。比特排成网格:一部分存数据,另一部分夹在中间,一遍遍检查每四个邻居。网格大小叫码距 d:越大,能扛的错误越多。d = 7 的码能同时纠正任意 3 个错误。在 Willow 上,这样一个逻辑比特占 101 个物理比特:49 个数据比特、48 个校验比特,再加 4 个辅助比特。最大的好处是:每个比特只需要最近的邻居,非常适合平面芯片。
阈值:越大越好的那一刻
有个坑:校验比特自己也会出错。硬件太吵的话,码做大只会添乱。但一旦低于某个水平,也就是阈值(表面码大约 1%),情况就反过来了:码每做大一级,错误就更少。2024 年 12 月,谷歌在 Willow 上演示了这一点:从 d = 3 到 5 再到 7,逻辑错误每次大约降到 1/2.14,最后到每轮 0.143%。逻辑比特活了 291 微秒,是最好的物理比特的 2.4 倍。这是超导路线上第一个令人信服的“低于阈值”。
IBM:更省的码
表面码的缺点是胃口大:一个可靠比特要吃掉几百个物理比特。IBM 押注了另一类码:qLDPC 码。其中的明星是 gross 码:288 个物理比特存 12 个逻辑比特,而表面码干同样的活要近 3000 个。这篇论文登上了 2024 年 3 月的《自然》封面。省下来的代价是:每个比特不仅要连邻居,还要有横跨芯片的“远程”连线。IBM 正是在实验芯片 Loon(2025)上测试这个,并承诺 2029 年推出有 200 个逻辑比特的 Starling。
魔术态
拼图的最后一块。码能很好地保护“简单”的门,但光有它们不够:只用这类门的电路在普通电脑上很容易模拟,也就没有优势。至少需要一个“不简单”的门,通常叫 T 门。它靠魔术态来实现:先准备一大堆有噪声的,再“蒸馏”,只留最干净的,就像水过了好几道滤网。这样的“工厂”可能占掉未来机器相当大的一部分,这也是肖尔算法估算需要那么多比特的原因之一。
自测一下
- 为什么不能把量子比特复制三份来保护它?
正确答案: 量子态不能复制,直接测量又会破坏它. 不可克隆和测量坍缩,正是需要“症状”的两个原因:只问“邻居一样吗”,不去偷看。 - “低于阈值运行”是什么意思?
正确答案: 码做得越大,逻辑比特的错误越少. 低于阈值时,码做大就对你有利:Willow 上 d = 3 → 5 → 7 每一步错误都降到约 1/2.14。 - IBM 为什么用 qLDPC 码而不是表面码?
正确答案: 存逻辑比特大约省 10 倍. gross 码:288 个物理比特存 12 个逻辑比特,表面码要近 3000 个。代价是芯片上的远程连线。
← 光子、马约拉纳与硅 竞赛地图:怎么读新闻 →