紀錄這兩年來AIGC爆發,我使用4GB VRAM的Nvidia GTX1050Ti顯示卡苦撐,硬跑AIGC的一些心得。
主要是想討論,在4GB VRAM的GPU,能夠用Stable Diffusion生多高解析度的圖,以及跑多大的LLaMA語言模型。
1. 前言:AIGC的硬體需求為何?#
我用來跑AIGC的電腦是2018年組的,規格:
- 系統:Ubuntu LTS
- CPU: Intel i5-7400
- GPU:Nvidia GTX1050Ti 4GB VRAM
- RAM:16GB DDR4
蠻慘的對吧?當初只是組來玩GTA V和War Thunder的,結果用到現在還沒壞。2024年的今天,GTX1050Ti用來玩1080p遊戲還是夠啦的規格,跑一些小型Python的AI專案也湊合,但面對AIGC潮流就會非常喘。
這要先講點AIGC發展背景,才知道AIGC硬體需求要多好。
生成式AI (AIGC) 這幾年很火熱,包括大型語言模型與AI繪圖技術,許多公司都投入相關研發,推出各式各樣的線上服務,最顯而易見的例子就是ChatGPT與Midjourney了吧。台灣教育部Cool English亦上線了許多AI輔助教學工具。
相應的,也有很多無私的自由軟體開發者製作了能在本機運算的開源軟體,讓大眾能在自組的電腦跑AIGC軟體。例如2022年出現的「Stable Diffusion」開源AI繪圖模型,以及2023年出現的「LLaMA」開源語言模型。有了這些開源技術,AIGC便能夠民主化,為一般人所用。
- 相關文章: Stable Diffusion簡介
- 相關文章: 在個人電腦跑語言模型的開源軟體列表
但是即使有了能離線執行的軟體,他們不約而同的對一個東西要求很高,那就是GPU。其他CPU和硬碟空間什麼的都沒有GPU重要。
2024年,Microsoft提出了AI PC的概念,其中最重要的就是TOPS的運算能力。是電腦的什麼部份決定了運算能力?未來會怎樣我不知道,但當下電腦的AI運算能力,就是由GPU來定義,配置越高越好。
以現在的市場來看,九成的AIGC技術都依賴Nvidia CUDA加速,因此買GPU品牌非Nvidia莫屬,AMD和Intel根本沒份兒。沒辦法,儘管CUDA是獨家的專有軟體,但是無情的的市場就是如此。至於Apple Silicon自家的AI技術那是另一回事了,不屬於自組電腦的範疇。
再者,以消費市場的GPU等級來看,要跑AIGC的GPU肯定不是5000台幣以下的GTX系列亮機卡就能跑的,起碼要買到中高階RTX系列的卡。現在買GPU不只要在乎遊戲性能,還得考慮AI算力才行。講個不嚴謹的指標:VRAM在8GB以下的GPU根本連跑AIGC的資格都沒有,不要講生圖速度快慢了,光是在載入模型的階段就會OOM (記憶體耗盡),還是拿去打遊戲吧。
可是,聰明的開發者不會甘於讓AIGC變成有錢人的玩意,所以就會有人使一些手段,將硬體需求壓下來。就如AUTOMATIC1111的Stable Diffusion WebUI,加入了前人的Low vram技術,從而讓低階GPU的用戶也能夠體驗AI繪圖的樂趣。
講個小八卦,儘管花了一年時間研究Stable Diffusion WebUI,但2024年之後我就跳到ComfyUI了,因為更省資源,架構更為自由,能規劃自己想要的AI繪圖內容。有了基本觀念換其他軟體就很容易。
再如LLaMA,本來也是要高階GPU才能夠跑的,但在llama.cpp技術出來後,用CPU協同GPU運算便成為了可行的選項,大大降低了跑語言模型的門檻。
我大概是2022年末開始接觸AIGC的,使用Arch Linux跑。有了自由開源的環境,技術才能迭代得如此迅速!讓我可以在新的AIGC技術出來之後依然能用老電腦跟上腳步。
2. VRAM不夠用,何不用線上服務?#
這裡講的線上服務不是ChatGPT這類現成的服務,而是提供GPU伺服器給你租用的供應商,例如GCP。
雲端GPU運算平台的VRAM資源豐沛,隨便都超過24GB的,還有一堆免費入門方案,何不把羊毛應薅盡薅?
長期在Linux環境操作AIGC相關軟體的配置,即使轉換到線上GPU運算平台對我來說不會是太大的困擾。我大概知道怎麼操作Google Colab這類平台,不過依賴雲端GPU運算又會回到不夠自由的問題,我就是為了擺脫線上生圖服務才跑自架服務的呀。而且這些平台還會跟你收貴的要命的使用費,加上一堆莫名限制,搞不好哪天資料就不見了呢。
薤上露,何易晞!露晞明朝更復落!
我只有在訓練AI模型的時候才會考慮租用雲端GPU平台,那真的需要怪物等級的硬體才跑得來。
為了追求自由的AIGC,我還是希望能在個人電腦跑,那麼就來看看4GB VRAM能跑些什麼。
3. 4GB VRAM跑語言模型#
簡單來說就是在電腦跑離線運算的ChatGPT,用於生成文章、改寫文本、翻譯文字、生成程式碼、cosplay聊天機器人等工作。
我使用 Ollama來執行語言模型,因為它背後使用llama.cpp技術,能夠按照系統配置妥善分配運算資源。
並且Ollama能夠自由的當作其他語言模型軟體的運算後端,例如搭配 SillyTavern使用。
假設所有模型都丟給GPU運算,那就只能跑資料量為3B的小模型。
如果使用.gguf格式全部交給CPU運算,再加上16GB RAM的祭品,那麼勉強能夠跑到資料量11B的模型,可是使用體驗上非常糟糕,生成一句話要一分鐘。AI生圖算很久我可以等,但是AI聊天這種回應速度會想殺人。
對我的電腦來說,比較實用的作法為透過llama.cpp的offloading功能,讓CPU和GPU協同工作,一起運算,那跑3B的模型速度就會很快。
4. 4GB VRAM跑AI繪圖#
AI繪圖的功能:文生圖、圖生圖、自動修圖、生成背景、智慧去背等等。
以最強大的開源AI繪圖軟體 ComfyUI來說,很多時候我不能使用別人給的工作流,因為算下去就會爆VRAM,要找適合自己硬體的版本調整。
使用Stable Diffusion XL生成1024x1024解析度圖片就是極限了,甚至有時候要換回Stable Diffusion 1.5的舊模型才能獲得更高解析度。
如果要掛ControlNet的額外模型,那解析度又得降低了。
我的電腦沒辦法一次生成高解析度的圖,得手動使用ESRGAN技術放大。將所有步驟分開處理而非一次算完。
另外,2024年的新型FLUX模型絕對是沒辦法純用GPU跑的。
有一種純CPU運算的AI繪圖方案,那就是使用量化過的「GGUF」格式模型跑AI繪圖,將大部分工作交給CPU運算,以時間換取空間,降低GPU負擔。雖然這樣做比較慢,但是起碼能跑。
量化過GGUF的模型是4GB VRAM GPU的救星,即使新模型的VRAM要求很高,GGUF讓窮人也能跑上最新的Stable Diffusion 3.5與FLUX生圖。
5. 4GB VRAM跑AI生成影片#
4GB VRAM 可以跑AI生成影片嗎? AnimateDiff-Evolved還真的可以。
使用開發者提供的ComfyUI工作流能夠生成320x320解析度的動畫,模型只得使用SD1.5。
更複雜的工作流就不行了,比如有的AnimateDiff除了載入Stable Diffusion模型外,還要加入ControlNet,再加上高解析度的影片生成,一次載入那麼多模型4GB VRAM不爆才怪。
除非有人能研究出GGUF的版本,不然要玩AI生成影片,8GB VRAM絕對是標配。
或許生成image sequence再將圖片用ffmpeg合併成影片是另一種的可行方法,將所有步驟分開處理而非一次算完。
6. 結論#
如果你跟我用差不多的硬體,不要再掙扎了,有錢的快去買張12GB VRAM以上的新型Nvidia GPU才能舒服的體驗AIGC,就不用擔心爆VRAM的問題了。
至於你問我為什麼我還不換掉?
延伸閱讀#
- 專門賣Linux音樂電腦的Musicha所寫的採購建議: 本機AI算圖目前最佳CP值軟、硬體策略(職業使用考量)
- Tom’s Hardware的GPU採購建議: How to Buy the Right Graphics Card: A GPU Guide for 2024