快轉到主要內容

GPU只有4GB VRAM,能跑什麼AI繪圖與語言模型軟體?

· 民國113年甲辰年
· ·
分類   開源AI應用 AI繪圖教學
標籤   LLM Stable Diffusion Nvidia Free Software
目錄

紀錄這兩年來AIGC爆發,我使用4GB VRAM的Nvidia GTX1050Ti顯示卡苦撐,硬跑AIGC的一些心得。

主要是想討論,在4GB VRAM的GPU,能夠用Stable Diffusion生多高解析度的圖,以及跑多大的LLaMA語言模型。

這張圖使用ComfyUI FLUX生成

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便能夠民主化,為一般人所用。

但是即使有了能離線執行的軟體,他們不約而同的對一個東西要求很高,那就是GPU。其他CPU和硬碟空間什麼的都沒有GPU重要。

2024年,Microsoft提出了AI PC的概念,其中最重要的就是TOPS的運算能力。是電腦的什麼部份決定了運算能力?未來會怎樣我不知道,但當下電腦的AI運算能力,就是由GPU來定義,配置越高越好。

以現在的市場來看,九成的AIGC技術都依賴Nvidia CUDA加速,因此買GPU品牌非Nvidia莫屬,AMD和Intel根本沒份兒。沒辦法,儘管CUDA是獨家的專有軟體,但是無情的的市場就是如此。至於Apple Silicon自家的AI技術那是另一回事了,不屬於自組電腦的範疇。

Nvidia GPU在資料中心的市場份額,引用自 https://iot-analytics.com/leading-generative-ai-companies

再者,以消費市場的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的問題了。

至於你問我為什麼我還不換掉?

派大星:我需要錢!

延伸閱讀
#

相關文章

AI Horde:免費線上AI生圖與文字生成服務的衆籌網站
分類   開源AI應用 AI繪圖教學
標籤   Stable Diffusion LLaMA AI
Draw Things教學,iOS離線跑Stable Diffusion AI生圖
分類   開源AI應用 AI繪圖教學
標籤   IOS MacOS Stable Diffusion ControlNet
Stable Diffusion相關術語表,中英翻譯對照
分類   開源AI應用 AI繪圖教學
標籤   Stable Diffusion

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。