量子計算機能夠利用疊加、糾纏和干涉等量子特性,從數(shù)據(jù)中歸納出知識點并獲得洞察。這些量子機器學(xué)習(xí)(QML)技術(shù)最終將在量子加速的超級計算機上運行,這種超級計算機結(jié)合了 CPU、GPU 和 QPU 的處理能力,能夠解決一些世界上最復(fù)雜的難題。
許多 QML 算法都假定經(jīng)典數(shù)據(jù)可以通過使用所謂的量子隨機存取存儲器(QRAM)進行疊加來實現(xiàn)高效加載,由此提供理論上的加速。由于缺乏實現(xiàn) QRAM 的有效方法,早期的量子計算機將很有可能只擅長計算,而非數(shù)據(jù)密集型任務(wù)。
實際上,在近期和中期的硬件端上有效運行的 QML 算法必須側(cè)重于計算密集型啟發(fā)式方法,以便于在沒有 QRAM 的情況下分析數(shù)據(jù)。
本文將重點介紹愛丁堡大學(xué)信息學(xué)院量子軟件實驗室副教授 Petros Wallden 博士及其團隊的最新研究成果。Petros 是量子信息學(xué)領(lǐng)域的專家,研究范圍涵蓋量子算法、量子密碼學(xué)、量子信息學(xué)基礎(chǔ)等方面。
Petros 的團隊使用 NVIDIA CUDA-Q(其前身為 CUDA Quantum)平臺開發(fā)和加速新 QML 方法的模擬,顯著減少了研究大型數(shù)據(jù)集所需的量子比特數(shù)。
麻省理工學(xué)院(MIT)物理學(xué)家 Aram Harrow 的研究利用了核心集的概念,為 QML 應(yīng)用提供了一種新穎的方法,無需 QRAM 就能為其構(gòu)建現(xiàn)實可行的預(yù)言機(oracle)。Petros 的團隊對這一研究進行了擴展。
什么是核心集?
核心集(coreset)是通過提取完整數(shù)據(jù)集并將其優(yōu)化映射到較小的加權(quán)數(shù)據(jù)集而形成的(圖 1)。然后,就可以對核心集進行分析,在無需直接處理完整數(shù)據(jù)集的情況下,近似表示完整數(shù)據(jù)集的特征。
圖 1.用大小為 10 的核心集表示 1000 個點的數(shù)據(jù)集
核心集是在聚類應(yīng)用之前采用對數(shù)據(jù)進行預(yù)處理的經(jīng)典降維方法所產(chǎn)生的結(jié)果。通過采用核心集,數(shù)據(jù)密集型 QML 任務(wù)就可以用數(shù)量級較少的量子比特來近似表示,并使其成為更加接近實際的近期量子計算應(yīng)用。
標準的經(jīng)典核心集構(gòu)建技術(shù)通常先從數(shù)據(jù)集和目標誤差開始,然后確定核心集的最佳大小,以滿足誤差要求。由于實驗限制,Petros 的團隊根據(jù)可用量子比特的數(shù)量來選擇核心集的大小,然后在量子計算后評估了這一選擇產(chǎn)生的誤差。
使用核心集進行聚類的量子方法
在將輸入數(shù)據(jù)縮小到可控大小的核心集后,Petros 的團隊得以探索三種量子聚類算法。
聚類(Clustering)是一種無監(jiān)督學(xué)習(xí)方法,該技術(shù)描述了一系列以有意義的方式對相似數(shù)據(jù)點進行分組的方法。這些分組或集群可用于在現(xiàn)實世界的應(yīng)用中作出明智的決策,例如確定腫瘤是惡性還是良性。
Petros 的團隊使用 CUDA-Q 實現(xiàn)了以下聚類技術(shù):
分裂聚類
在該方法中,核心集數(shù)據(jù)點從一個集群開始,依次進行雙分區(qū),直到每個數(shù)據(jù)點都在自己的集群中。該方法可以在第 K 次迭代時停止進程,以便查看數(shù)據(jù)是如何被劃分到 K 個集群中(圖 2)。
三均值聚類
根據(jù)每個數(shù)據(jù)點與 K 個不斷演化的質(zhì)量中心(質(zhì)心)的關(guān)系,將數(shù)據(jù)點劃分到 K 個集群(本例中為 3 個)。當(dāng)三個集群會聚并且不再隨新的迭代而變化時,過程結(jié)束。
高斯混合模型(GMM)聚類
潛在核心點位置的分布被表示為 K 個高斯分布的混合。根據(jù)每個核心點最有可能來自哪個高斯分布,將數(shù)據(jù)分類到 K 個集。
每種聚類技術(shù)都會輸出一組核心集,以及原始數(shù)據(jù)集中的每個點到這些核心集之一的映射。其結(jié)果是初始大型數(shù)據(jù)集的近似聚類和降維。
圖 2.N=25 核心集 QML 分裂聚類模擬結(jié)果
通過使用變分量子算法(VQA)框架,每種技術(shù)都能以使用 QPU 的方式表達。Petros 和其團隊通過推導(dǎo)出一個加權(quán)量子比特哈密頓量(受最大切割問題的啟發(fā)),為上述每種聚類方法各自的成本函數(shù)進行了編碼,從而實現(xiàn)了這一目標。有了這樣一個哈密頓量,VQA 迭代過程就能反復(fù)調(diào)用真實或模擬的 QPU,從而高效計算每個聚類例程所需的成本最小化。
使用 CUDA-Q 克服可擴展性挑戰(zhàn)
為了探究這些 QML 聚類方法的有效性,就需要對每種算法的性能表現(xiàn)進行模擬。
NVIDIA CUDA-Q 模擬套件可對每種聚類方法進行全面模擬,可處理的最大問題規(guī)模為 25 個量子比特。CUDA-Q 通過實現(xiàn)對 GPU 硬件的便捷訪問,加快了這些模擬的速度。其還提供開箱即用的原語,例如用于將基于哈密頓量的優(yōu)化過程參數(shù)化的硬件高效 ansatz 內(nèi)核,以及可輕松適應(yīng)聚類算法成本函數(shù)的自旋哈密頓量等。
事實上,只有通過 CUDA-Q 提供的 GPU 加速,才能實現(xiàn) Petros 團隊在其論文《在小型量子計算機上的大數(shù)據(jù)應(yīng)用》中提出的模擬規(guī)模。
最初的實驗只在 CPU 硬件上模擬了 10 個量子比特,但由于內(nèi)存限制,無法進行 25 個量子比特規(guī)模的實驗。通過 CUDA-Q,最初的 10 個量子比特的模擬代碼實現(xiàn)了即時兼容性,因此當(dāng) Petros 的團隊需要將 CPU 硬件換成 NVIDIA DGX H100 GPU 系統(tǒng)時,無需修改即可運行。
圖 3.CUDA-Q mgpu 后端通過池化多個 GPU 的內(nèi)存執(zhí)行大型狀態(tài)向量模擬
這種代碼可擴展性是一個巨大的優(yōu)勢。由于可以使用 NVIDIA mgpu 后端池化多個 GPU 的內(nèi)存(圖 3),Petros 和其團隊后來在同樣無需大幅修改原始模擬代碼的情況下,通過改變后端目標進一步擴大了模擬規(guī)模。
這項研究的主要開發(fā)者 Boniface Yogendran 表示:“有了 CUDA-Q,我們就不必擔(dān)心量子比特可擴展性方面的限制,從研究開始的第一天起就已經(jīng)為實現(xiàn)高性能計算做足了準備?!?/p>
由于 CUDA-Q 本身也支持 QPU,Yogendran 的代碼可以將這項工作擴展到模擬以外,為所有主要 QPU 模態(tài)上的部署提供支持。
CUDA-Q 模擬的價值
由于能夠輕松模擬所有三種聚類算法,Petros 與其團隊得以將每種算法與用于尋找全局最優(yōu)解的蠻力方法(用于尋找全局最優(yōu)解)和一種名為勞埃德算法(Lloyd’s algorithm)的經(jīng)典啟發(fā)式方法進行比較。結(jié)果表明,量子算法在 GMM(K=2)方面表現(xiàn)最佳,而分裂聚類方法則與勞埃德算法不相上下。
基于這項工作的成功,Petros 的團隊計劃繼續(xù)與 NVIDIA 合作,利用 CUDA-Q 繼續(xù)開發(fā)和擴展新的量子加速超級計算應(yīng)用。
探索 CUDA-Q
CUDA-Q 使 Petros 和他的團隊能夠便捷地開發(fā)出新穎的 QML 實現(xiàn)方法,并利用加速計算對其進行模擬。通過使用 CUDA-Q,可使代碼具有可移植性,以便進一步進行大規(guī)模模擬或在物理 QPU 上部署。
了解有關(guān) CUDA-Q 量子的更多信息或馬上開始使用,請參見分裂聚類 Jupyter 筆記本,其中探討了本文中描述的核心集賦能的分裂聚類方法。該教程展示了如何使用 GPU 便捷擴展代碼并運行 34 個量子比特的實例。
-
算法
+關(guān)注
關(guān)注
23文章
4612瀏覽量
92884 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8418瀏覽量
132628 -
量子計算機
+關(guān)注
關(guān)注
4文章
530瀏覽量
25431
原文標題:通過 CUDA-Q 實現(xiàn)量子聚類算法的資源縮減
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論