解決方案
工程師日益使用視覺語言模型,把 2D 設計草圖轉換成可生成 3D 模型的 CAD 程式碼,以便進行模擬與測試——這一步通常讓他們能對設計進行虛擬撞擊測試或壓力測試。但既有模型產生的 CAD 程式往往過於簡化,不敷實際使用;研究人員將核心瓶頸追溯到缺乏多樣且高品質的 CAD 訓練資料,而非模型架構。
標準的資料擴增做法是隨機擾動既有範例來產生更多訓練樣本——調整顏色、大小、形狀。由 MIT 領軍的團隊改為打造 GIFT:一套專門根據某個模型當前卡關之處來生成新訓練資料的系統。它會針對某個 CAD 生成問題,平行地對模型多次取樣,執行每個生成的程式以檢查正確性,並把問題分成三類——總是答對、總是答錯,以及大約答對一半。
「總是答對」的問題已沒有什麼可教給模型,GIFT 會將其捨棄。「大約答對一半」的問題正是 GIFT 聚焦之處:它把這些差一點就對的嘗試修正為可用的解法,並將修正結果與既有的成功案例一併加入新的訓練集。此流程透過推論時擴展(inference-time scaling)運行,因此使用者可自行決定要投入多少運算資源,而不必從頭重新訓練底層模型,且整個迴圈無需人工修正模型的錯誤。
在與其他資料擴增方法的對照測試中,經 GIFT 訓練的模型所產生的 CAD 程式更貼近真實形狀,且僅使用約 20% 的運算量。第一作者 Giorgio Giannone 描述其目標使用情境:把 GIFT 指向一個表現不佳的 CAD 模型,設定運算預算,然後讓系統把模型自身的錯誤轉化為下一輪的訓練資料。
成果
僅從模型大約答對一半的問題生成訓練資料
為何有效
濾除模型已能 10/10 次解出的問題,可避免把擴增浪費在已無剩餘可學訊號的範例上。
濾除模型總是失敗的問題,可避免圍繞毫無部分能力可作為基礎的案例來建構資料——五成成功率的區間,正是稍微推一把最能可靠地把差一點就對轉為成功的地方。
透過執行生成的 CAD 程式碼來檢查正確性,而非以相似度啟發式方法評分,讓 GIFT 取得真實基準訊號,判斷哪些嘗試算得上值得修正的差一點就對。
在已訓練完成的模型上,透過推論時擴展來執行擴增,使運算成本可依使用者預算調整,而無需重新訓練整個模型。
可應用之處
當模型的瓶頸在於通用訓練資料時,應把新資料瞄準其自身的邊界案例,也就是它部分答對的問題,因為這些案例每個範例所帶有的可學訊號最多。
後續發展
這項研究由 MIT 的 DeCoDE Lab 領軍,與 MIT-IBM Computing Research Lab 以及目前任職於 Red Hat 和 IBM 的研究人員合作,已在國際機器學習會議(International Conference on Machine Learning)上發表。團隊的下一步是擴展 GIFT,使其除了幾何準確度外,也能針對所生成 3D 模型的可製造性進行最佳化,並把此框架應用於更大的模型及更廣泛的 CAD 生成任務。本研究部分由 MIT-IBM Computing Research Lab 資助。
追溯依據
參考來源
- A better way to turn 2D designs into 3D models for rapid prototyping MIT News · news.mit.edu ·