• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 3 月 19 日下午 2 點,鎖定 NVIDIA AI 網絡中文專場。立即注冊觀看
    模擬/建模/設計

    CUDA-Q 支持量子聚類算法的資源縮減

    量子計算機可以利用疊加、糾結和干擾的量子屬性,從數據中推廣學習和見解。這種量子機器學習(QML)技術最終將在量子加速超級計算機上運行,這些計算機結合了CPU、GPU和QPU的處理能力,以解決世界上一些最復雜的問題。

    許多 QML 算法提供了理論加速,假設經典數據可以使用所謂的 Quantum Random Access Memory (QRAM) 在疊加中高效加載。缺乏任何高效的方法來實現 QRAM 意味著早期的量子計算機可能會擅長計算,而不是數據密集型任務

    在實踐中,在近期和中期硬件上有效的 QML 算法必須專注于計算密集型啟發式算法,以便在沒有 QRAM 的情況下分析數據。

    本文重點介紹了副教授 Dr. Petros Wallden 及其團隊在 Quantum Software Lab(愛丁堡大學信息學學院的一部分)的近期研究。Dr. Petros Wallden 是量子信息學專家,其研究范圍從量子算法和量子密碼學到量子信息學的基礎。

    Petros 的團隊使用 NVIDIA CUDA-Q(以前稱為 CUDA Quantum)平臺來開發和加速新 QML 方法的模擬,從而顯著減少研究大型數據集所需的量子位數量。

    Petros 的團隊擴展了 Harrow 的工作,該團隊使用核心集的概念為 QML 應用程序提供了一種新的構建逼真的預言機的方法,而無需使用 QRAM。

    什么是核心集?

    核心集通過獲取完整的數據集并以最佳方式將其映射到較小的加權數據集來形成(圖 1)。然后,無需直接處理完整的數據集,即可分析核心集,以近似完整數據集的特征。

    Scatterplot shows raw data with coresets as smaller and larger stars to represent the weights.
    圖 1. 一個大小為 10 的核心集表示,來自 1000 點數據集。

    核心集是經典降維方法的成果,該方法在集群應用之前對數據進行預處理。通過采用核心集,數據密集型 QML 任務可以減少幾個數量級的量子位來實現近似,并成為近期量子計算的更逼真應用。

    標準的經典核心集構建技術通常從數據集和目標誤差開始,然后確定核心集的最佳大小以滿足此誤差要求。由于實驗限制,Petros’ 團隊根據可用的量子位數選擇核心集大小,然后根據量子計算評估此選擇產生的誤差。

    使用核心集進行聚類的量子方法

    將輸入數據簡化為大小可控的核心集后,Petros 的團隊可以探索三種量子聚類算法。

    聚類是一種無監督式學習技術,描述了一系列以有意義的方式對類似數據點進行分組的方法。然后,這些組或聚類可用于在實際應用中做出明智的決策,例如確定腫瘤是惡性還是良性。

    Petros 的團隊使用 CUDA-Q 實現了以下聚類技術:

    • 分割聚類:一種方法,其中核心設置點始于一個集群,并連續進行二分劃分,直到每個數據點都位于自己的集群中。在這種方法中,該過程可以在第K次迭代時停止,以了解如何將數據劃分為K個集群(圖2)。
    • 3-means 聚類:根據每個點與 K 演進質心(質心)的關系,將數據點劃分為 K 個聚類(在本例中為 3 個)。當三個聚類收斂且不再隨著新的迭代而變化時,此過程結束。
    • 高斯混合模型(Gaussian Mixture Model, GMM)聚類:潛在核心集點位置的分布表示為 K 個高斯分布的混合。根據每個核心集點最可能來自的高斯分布,將數據分為 K 個集。

    每種聚類技術都會輸出一組核心集以及從原始數據集中每個點到其中一個核心集的映射,從而對初始的大型數據集實現近似聚類和維度縮減。

    The divisive clustering model for an N=25 coreset results in a dendrogram that can be used to determine the coreset clusters after any number of iterations and a corresponding number of desired clusters (five, in this case.)
    圖 2. N = 25 核心集 QML 分割聚類模擬的結果。

    通過使用變分量子算法(VQA)框架,每種技術都以可以使用 QPU 的方式表示。Petros 和團隊通過推導加權量子位哈密頓量(受最大切問題的啟發)為前面描述的每個聚類方法編碼各自的成本函數,從而實現了這一點。擁有這樣的哈密頓量使迭代 VQA 過程能夠反復調用 QPU(真實或模擬),以高效計算每個聚類例程中所需的成本最小化。

    使用 CUDA-Q 克服可擴展性問題

    探索這些 QML 聚類方法的有效性需要能夠運行每種算法的執行模擬,以了解它們在不同場景下的性能。

    NVIDIA CUDA-Q 模擬工具包可針對高達 25 個量子位的問題對每種聚類方法進行全面模擬。CUDA-Q 通過提供對 GPU 硬件的輕松訪問來加快這些模擬的速度。它還提供了開箱即用的基元,例如用于參數化基于哈密頓優化過程的硬件高效型 ansatz 內核,以及可輕松適應聚類算法成本函數的旋轉哈密頓量。

    事實上,只有借助 NVIDIA 的 CUDA-Q 提供的 GPU 加速,才能在小型量子計算機論文上執行 Petros 團隊在其大數據應用程序中展示的規模模擬。

    最初的實驗僅在 CPU 硬件上模擬了 10 個量子位,但內存限制使得感興趣的 25 個量子位實驗無法做到這一點。在 CUDA-Q 中實施意味著最初的 10 個量子位模擬代碼也可以立即兼容,當 Petros 的團隊需要為 NVIDIA DGX H100 GPU 系統切換 CPU 硬件時,無需修改即可運行。

    Diagram shows a 320-GB state vector requirement divided between four 80-GB GPUs.
    圖 3.CUDA-Q mgpu 后端可以池化多個 GPU 的內存,以執行大型狀態向量模擬。

    這種代碼可擴展性是一個巨大的優勢。通過將多個 GPU 的內存與 NVIDIA mgpu 后端的內存池化(圖 3),Petros 和團隊此后通過更改后端目標進一步擴展了模擬,而無需顯著更改原始模擬代碼。

    這項研究的首席開發者 Boniface Yogendran 表示,“CUDA-Q使我們無需擔心量子位可擴展性限制,從一開始就支持HPC。”

    Yogendran 的代碼可以讓工作超越模擬,因為 CUDA-Q 本身也支持 QPU,支持在所有主要 QPU 模式上部署。

    CUDA-Q 模擬的價值

    由于能夠輕松模擬所有三種聚類算法,Petros 及其團隊得以針對 Brute Force 方法對每種算法進行基準測試,從而找到全局最優解決方案和經典啟發式方法(即Lloyd’s 算法)。結果表明,量子算法在 GMM(K=2)中表現最佳,而分割聚類方法可與Lloyd’s 算法媲美。

    基于這項工作的成功,Petros 的團隊計劃繼續與 NVIDIA 合作,繼續使用 CUDA-Q 開發和擴展新型量子加速超級計算應用程序。

    探索 CUDA-Q

    CUDA-Q使Petros和團隊能夠輕松開發新型QML實現,并通過加速計算對其進行模擬。在CUDA-Q中實施,使代碼能夠可移植,以便在物理QPUs上進行進一步的大規模模擬或部署。

    有關 CUDA-Q 量子的更多信息或要立即開始使用,請參閱分割聚類 Jupyter notebook,其中探討了本文中描述的核心集支持的分割聚類方法,該教程展示了使用 GPU 擴展代碼和運行 34 量子位實例是多么容易。

    使用 CUDA-Q 快速入門指南中提供的任何方法下載 CUDA-Q,并在 CUDA-Q 教程頁面上查找其他教程。

    ?

    0

    標簽

    人人超碰97caoporen国产