節省50%內存占用,浙大、快手等提出量化仿真新方法
機器之心專欄
作者:劉嘉楓、馬重陽
來自浙江大學、快手和美國猶他大學的研究人員聯合提出了一種自動兼顧精度和內存消耗的量化仿真新方法。
在好萊塢大片特效等計算機圖形學的典型應用場景中,高分辨率的物理仿真能提供很好的視覺效果。更高的仿真計算復雜度和分辨率可以帶來更豐富的細節,但相應的計算需要占用更大的內存或者顯存空間。例如,在電影《冰雪奇緣》中,300 米寬的潰壩場景使用了 9000 萬個粒子對水體進行表達,全精度的仿真計算需要 4 塊 NVIDIA Quadro P6000 顯卡,一共占用約 96GB 顯存。
為了節約計算時占用的數據存儲空間,研究者將 “量化” 技術引入了物理仿真算法,也就是在仿真計算過程中,使用更少的比特位數來表達和存儲物理變量。例如,在去年計算機圖形學頂會 SIGGRAPH 2022 上,來自 MIT、浙大和快手的研究人員聯合發表了一篇以 QuanTaichi 為題的論文,gzsthysch.com,實現了一個由 “太極” 編譯器支持的量化類型系統,允許用戶用較少的位數來表示空間位置、速度等各種物理變量,從而在 GPU 顯存消耗不變的情況下,以更高的分辨率進行物理仿真計算(參見參考文獻[1])。然而,QuanTaichi 需要用戶手工設計量化方案,指定仿真中使用到的每個變量的位數,并不斷進行仿真計算試錯,最終找到合適的方案。
在今年的 SIGGRAPH 2022 會議上,來自浙江大學、快手和美國猶他大學的研究人員聯合發表了一篇題為《物理仿真的自動量化》的論文,提出了一種自動兼顧量化仿真精度和內存消耗的方法。與全精度的物理仿真相比,能夠在視覺效果不受明顯影響的前提下,節省 50% 以上的內存占用,從而大幅度提高了量化仿真的易用性和生產力。論文地址:https://arxiv.org/abs/2207.04658
項目地址:https://github.com/Hanke98/AutoQuantizer
該方法的核心思想,是將物理仿真過程中由量化引起的精度損失建模為誤差的傳播過程,基于不確定性傳播理論,將量化方案的自動求解問題描述為帶約束的優化問題,將誤差上限或者內存壓縮率作為優化目標,并快速給出解析解作為可行的量化方案。
此外,該研究引入了抖動法(dithering)作為量化仿真的舍入方法來替代傳統的四舍五入,降低了數據誤差之間的相關性。在量化位數較少時,抖動法可以明顯減少精度損失。以下是一組關于引入抖動法的效果對比。在上方未使用抖動法的仿真結果中,從同一水平位置開始自由落體運動的字母由于量化誤差的影響,水平位置不再保持一致;在下方引入了抖動法的量化仿真結果中,所有字母在下落過程中能保持水平對齊,符合客觀的物理規律。下圖展示了應用該方法實現的基于歐拉網格實現的量化的煙霧仿真。使用該方法自動求解量化方案實現了 1.93 倍的內存壓縮,在單張 Nvidia RTX 3090 顯卡上使用了超過 2.28 億個的歐拉網格。下圖是基于物質點法實現的彈性體仿真。該方法實現了 2.01 倍的內存壓縮,在單張 Nvidia RTX 3090 顯卡上仿真了超過 2.95 億個粒子。下圖是基于物質點法實現的流體仿真。該方法實現了 2.02 倍的內存壓縮,在單張 Nvidia RTX 3090 顯卡上仿真了 4 億個粒子。目前,相關的技術已成功落地,打開快手 APP,拍攝「別哭鴨」、「我要去潛水」和「火焰超能力」等魔法表情,即可體驗到短視頻行業內獨家的移動端實時液體模擬特效技術。
【參考文獻】
[1] Yuanming Hu, Jiafeng Liu, Xuanda Yang, Mingkuan Xu, Ye Kuang, Weiwei Xu, Qiang Dai, William T. Freeman, and Frédo Durand. 2022. QuanTaichi: A Compiler for Quantized Simulations. ACM Transactions on Graphics (Proceedings of SIGGRAPH 2022).
? THE END
轉載請聯系本公眾號獲得授權
投稿或尋求報道:content@jiqizhixin.com
原標題:《SIGGRAPH 2022 | 節省50%內存占用,浙大、快手等提出量化仿真新方法》