大家好,歡迎來到編程教室~
ChatGPT、StableDiffusion的火爆,讓很多同學(xué)都想在自己的電腦上部署本地大模型,進而學(xué)習(xí)AI、微調(diào)模型、二次開發(fā)等等。
然而現(xiàn)在動輒好幾萬的高算力顯卡讓很多人望而卻步。
但其實還有一種方案,就是使用云主機。比如我最近在用的潞晨云,4090顯卡的機器,現(xiàn)在還不到2塊錢一小時,甚至還能用上現(xiàn)在一卡難求的H800。
使用云主機也很方便,直接選擇你想要的配置,創(chuàng)建新的云主機。
取個名字,選擇顯卡數(shù)量。
潞晨云提供了很多預(yù)先配置好的公共鏡像,以滿足一些常用開發(fā)場景。省去了配置環(huán)境的麻煩,開箱即可用。還提供一些公開的模型數(shù)據(jù)可掛載使用。
創(chuàng)建主機,等待初始化完成開機后,可以直接通過控制臺提供的JupyterLab訪問,也可在添加SSH公鑰后,通過本地控制臺,或者VSCode遠程連接等方式操作主機和編寫代碼。
建議先添加SSH公鑰,再創(chuàng)建主機,這樣 SSH 公鑰會自動生效。
最近經(jīng)常刷到一些AI制作的繪本故事短視頻。下面我就用云主機上部署的AI工具,來仿制一個這樣的視頻。
我打算做一個簡單的四格漫畫。
1. 腳本
首先要創(chuàng)作故事腳本。我的想法是用Meta前陣子剛剛發(fā)布的開源大語言模型Llama 3,讓它來幫我寫。這里我選擇ollama這個框架,它可以很方便地調(diào)用llama3模型。
安裝ollama只需要一行命令,然后等待自動下載安裝:
curl -fsSL https://ollama.com/install.sh | sh
安裝完成后啟動服務(wù):
ollama serve
運行 llama3 并與之對話:
ollama run llama3
第一次運行時,程序會去下載模型文件。
如果要使用 llama3-70b,就改一下命令中的模型名:
ollama run llama3:70b
但因為70B的模型有40G,默認地址下的空間不足的話,需要修改環(huán)境變量 OLLAMA_MODELS,將模型路徑設(shè)到 /root/dataDisk,然后再啟動ollama
export OLLAMA_MODELS=/root/dataDisk/.ollama/models
告訴llama3,幫我寫一個四格卡通連環(huán)畫的劇本,主角是一只想學(xué)做飯的貓,讓它提供配圖的中文說明和英文提示詞。
2. 繪圖
有了劇本和提示詞,接下來就可以繪制插畫了。潞晨云默認提供了StableDiffusionWebUI的鏡像,選擇此鏡像創(chuàng)建主機后(建議選擇1卡H800機器),就可以通過一行命令直接啟動網(wǎng)頁版的StableDiffusion。
cd /root/stable-diffusion-webuibash webui.sh -f
控制臺輸出中看到如下地址說明運行成功,記錄下端口號:
因為限制了公網(wǎng)端口訪問,我們在本地做一個ssh端口轉(zhuǎn)發(fā),就能在本地瀏覽器通過 http://127.0.0.1:7860 打開了。
sh -CNg -L 本地端口:127.0.0.1:7860 root@云主機地址 -p 端口號
把llama3生成的提示詞貼進去稍作修改,設(shè)定下出圖的數(shù)量,就能得到與劇情配套的插圖。調(diào)節(jié)參數(shù)多試幾次,從中選擇你滿意的圖。就可以拿來制作視頻了。
3. 視頻
假如你覺得靜態(tài)的圖片太過單調(diào)。還可以嘗試用AI生成視頻片段。之前OpenAI發(fā)布的文生視頻大模型Sora火爆全網(wǎng),可惜目前我們還沒法用上它。
而潞晨團隊開源的 Open-Sora 項目,嘗試對Sora的效果進行了復(fù)現(xiàn),盡管在時長和效果還有差距,但還是很值得期待的。目前Open Sora在 github 上已有1萬7千多star。
同StableDiffusion一樣,潞晨云也提供了OpenSora的鏡像。創(chuàng)建主機之后(建議選擇1卡H800機器),配置一下環(huán)境路徑,就可以使用了。注意:一定要選擇“掛載公開數(shù)據(jù)”。
mkdir -p /root/.cache/huggingface/hubln -s /root/notebook/common_data/OpenSora-1.0/models--stabilityai--sd-vae-ft-ema /root/.cache/huggingface/hub/models--stabilityai--sd-vae-ft-emaln -s /root/notebook/common_data/OpenSora-1.0/models--DeepFloyd--t5-v1_1-xxl /root/.cache/huggingface/hub/models--DeepFloyd--t5-v1_1-xxl
我們把提示詞替換到項目的配置文件 assets/texts/t2v_samples.txt 中,執(zhí)行程序:
cd Open-Sora/python -m torch.distributed.run --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/16x512x512.py --ckpt-path /root/notebook/common_data/OpenSora-1.0/OpenSora-v1-HQ-16x512x512.pth --prompt-path ./assets/texts/t2v_samples.txt
稍等片刻,就會在 samples/samples 文件夾中得到生成的視頻。
4. 配音
最后,還需要給故事增加一個朗讀旁白。這個可以通過語音合成技術(shù)實現(xiàn)。這里我用的是Coqui-TTS。
通過pip命令就可以安裝,支持包括中文在內(nèi)的多種語言:
pip install TTS
用 tts 命令把 llama3 生成的配圖說明轉(zhuǎn)成語音:
tts --text "需要轉(zhuǎn)換為語音的文字內(nèi)容" --model_name "tts_models/zh-CN/baker/tacotron2-DDC-GST" --out_path speech.wav
這里 tts_models/zh-CN/baker/tacotron2-DDC-GST 為中文語音模型。
再同前面生成的視頻整合到一起。
來看看最終的效果。(參見文章開頭的視頻)
這個演示中,我用的都是些基礎(chǔ)模型和默認配置,大家還可以在此基礎(chǔ)上進一步微調(diào)和優(yōu)化。雖然這幾樣功能,市面上都有現(xiàn)成產(chǎn)品可以實現(xiàn)。但對于學(xué)習(xí)AI的人來說,是要成為AI的產(chǎn)生者而不是消費者,所以還是得靠自己動手部署和開發(fā)。
這種情況下,尤其對學(xué)生黨來說,云服務(wù)的性價比就很高了。假設(shè)只有3000塊的預(yù)算,買臺帶4090顯卡的電腦就別想了,但在潞晨云上,4090的云主機按2塊錢一小時,平均每天使用4小時來算,就能用上375天了。而且還能根據(jù)你的需求快速升級和擴容,這點上比自己的電腦還要方便。
最后提醒一下,用完記得及時關(guān)機,節(jié)省點費用哦。