最近幾個月,「百模大戰」這個詞沒少出現,你能看到各種大大小小的模型發布,有的選擇從0到1完全自研這條路,但是從數據準備到模型開發和訓練、調優,這是一條痛苦又漫長的路,所以有的人選擇以開源模型為基礎,再根據自己的需求量身定製,站在巨人的肩膀上。但是不論選擇哪條路,都需要更高的算力基礎,才足以支撐複雜的數據處理、模型訓練和使用。
一些圖庫網站已經開始在網上售賣以這種方式生成的圖片了,更有甚者還提供工具,基於圖庫已有的內容,讓用戶生成新的圖片。當然,這背後需要龐大的技術支持,對於個人,我們就拿Stable Diffusion玩玩吧。
作為一種開源模型,Stable Diffusion擁有高度的靈活性,你可以把它部署到雲端、伺服器,也能裝到自己的電腦上運行。但是雲和數據中心這樣的規格,一般的個人和中小企業還是比較難以負擔的,所以出於成本和靈活性的考量,我們就選擇工作站。
不過要是直接把Stable Diffusion拿過來用,效果會不大好,因為它是在LAION-5B的圖片和標題對上訓練完成的。LAION-5B是一個公開的數據集,數據都來自網路上抓去的公用數據,所以還需要額外的訓練才能用,這裡的訓練指的是通過特定的垂類數據進行微調,讓模型在通用的基礎上獲得特定的「能力」。
一般來說,微調會通過嵌入和超網路兩種方式。嵌入,就是餵給它一些你自己的圖像數據,讓它更精確,這種操作也能讓Stable Diffusion實現風格模仿;超網路,能夠讓模型實現藝術家風格的模仿。
其實這兩種方法之外,還可以利用DreamBooth緩解Stable Diffusion無法生成特定個人圖像的問題,就是更耗資源,需要足夠高的配置才能實現,暫且放棄。
雖然說是微調,但還是需要一點時間和精力的,我有點等不及想先過把癮,但又不想浪費昂貴的工作站資源,就先在自己的筆記本電腦上部署運行了一下,結果當然是不行。其實很多筆記本的配置根本達不到Stable Diffusion的最低要求,硬著頭皮多試幾次也會出現各種錯誤。儘管運行Stable Diffusion的硬體要求比訓練要低一些,但至少也得是NVIDIA RTX的GPU才禮貌呀。
為了不讓生成的圖片看起來有各種毛病,具體來說,4GB以上的顯存能夠確保運行,6GB能夠確保基本穩定,如果想達到比較好的效果,就需要12GB或以上的顯存了,所以說,這樣的配置已經是工作站級別的產品才能有的了。
戴爾的Precision 7960塔式工作站最高可以選擇4張NVIDIA RTX A6000顯卡,這相當於單張48GB的GPU內存,總共192GB的工作站系統GPU內存,如果從算力來看,每個GPU最多1457 TFLOP的算力,每個工作站總計算力為5828 TFLOPS。如果使用這樣的配置,應用級的推理、微調完全夠用,運行就更不用多說了,但預算實在有限,所以最終選擇了Precision 5680移動工作站。
Precision 5680也是移動工作站裡面較高端的一款,對於運行Stable Diffusion也是夠用的,折騰完一系列的配置之後,簡單試一下就能發現,基本的Stable Diffusion出圖效果其實不太理想,但現在也有Stable Diffusion XL這個選擇,顧名思義,就是Stable Diffusion的加強版,出圖效果會更好,但是模型也相對更大一些,生成的時間會比較久,沒有足夠的顯存,是很難帶動的。
配合Stable Diffusion XL,用Precision 5680輸入指令後,出一張圖大約花費20秒左右的時間,生成的效果還是很不錯的,而且生成圖片的可調參數也比Midjourney這類在線服務豐富得多,一不小心就在上面玩一整天。不過這台工作站整體表現還是很給力的,主要是Precision工作站獨有的RMT Pro技術和ECC內存校驗能力,隨時都能快速糾正錯誤,像這樣長時間高負載運行一天下來,機器都不會出現任何明顯的卡頓,死機就更不可能了,要是換成一般的電腦,根本想都不敢想。
其實如果設備達不到Stable Diffusion XL對硬體配置的最低要求,也可以選擇用Stable Diffusion的Controlnet插件,它能根據你提供的草圖,讓Stable Diffusion豐富細節,缺點就是,這已經算是圖生圖了,但好處是比文生圖的結果更可控一些,有設計功底的話,還是挺方便的。
搭配Controlnet插件使用基本的Stable Diffusion,在Precision 5680生成一張圖的時間比之前稍短了一點,大約不到20秒,生成結果的完成度也是很高的。
相信第一次接觸Stable Diffusion的人不在少數,但是很多人都覺得只要搞一台配置很高的電腦就可以了。但事實並不是這樣的,相比傳統個人電腦,工作站擁有更高的硬體配置,但更重要的是,模型需要設備長時間、高負載運行,更強的GPU只是及格線,它還需要足夠的穩定性,才能真正應對這種長時間、高負載的運行。
除此之外,很多做設計還有數據科學的人應該了解,工作站的ISV認證是很重要的,Precision擁有完整的ISV認證,這相當於專業軟體開發商事先幫你試過一遍機器,性能、穩定性、功能各個方面都要表現很好才能通過。對於一些數據科學、研發、設計所需的專業軟體,使用 Precision這樣具備完整ISV認證的產品,可以很好的避免兼容性問題,像是藍屏、卡頓的情況是不會發生的。
對於模型訓練這一塊,其實一些比較捨得成本的企業會選擇雲服務和數據中心,其實也沒什麼不好,但是雲服務基本都是租賃的模式,會隨著時間的推移,投入的成本也變高,如果在這期間,你的需求發生改變,這恐怕又會是一大筆錢,尤其對於需要更多調試、疊代的早期階段,選擇雲服務的試錯壓力是很大的。另一方面,雲服務需要接入廣域網,如果你的數據裡面涉及一些敏感資訊,那這種模式基本上就可以第一個排除了,首先你就得考慮本地部署的模式。
其實本地研發、部署模型已經被許多行業採用,像是在零售行業,語言模型也可以為顧客提供自動化與個性化的導購;在醫療行業,智能模型為醫療機構的智能設備和線上服務提供醫療問答、病歷生成、文檔理解等功能;在製造行業,模型可以幫助完成產品設計研發、質量控制檢測等工作……
數據中心伺服器也是一種本地部署模式,但是需要一定範圍的本地網路連接才能調用,靈活性很低,而且如果機房設備性能不夠,也需要額外的硬體設施成本投入,相比工作站,試錯成本也是比較高的。
所以至少在模型研發部署的早期階段,工作站是一種非常好的載體,不僅響應速度很快,靈活性也很強。而且戴爾Precision提供的選擇還挺多的,不僅有塔式,還有機架和移動工作站,Precision移動工作站外形上跟一般筆記本幾乎沒什麼差別,但是性能足夠跑動Stable Diffusion這樣的模型。
這相當於在你日常辦公的設備裡面放了一個設計小助手,不論給設計做圖片的修整,還是給文字搭配合適的圖片,都能快速完成,而且沒有網路也能使用,這樣的一次性投入還是很值得的。