RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Stable Diffusion的完整指南:核心基礎(chǔ)知識(shí)、制作AI數(shù)字人視頻和本地部署要求

GPU視覺(jué)識(shí)別 ? 來(lái)源:GPU視覺(jué)識(shí)別 ? 作者:GPU視覺(jué)識(shí)別 ? 2023-09-18 10:06 ? 次閱讀

★Stable Diffusion;stable;diffusion;SD;stablediffussion;sadtalker;PC集群;PC Farm;PC農(nóng)場(chǎng);GPU集群;GAN;VAE;latent;AI繪圖;AI文生圖;文生圖;圖生圖;虛擬數(shù)字人;數(shù)字人;PNDM;DDIM;U-Net;prompt;CLIP;diffusers;pipeline;NVIDIA RTX GeForce 3070;NVIDIA RTX GeForce 3080;NVIDIA RTX GeForce 4070;NVIDIA RTX GeForce 4060;i9-13900;i7-13700;i5 13400;i3 12100;i7 12700 ;i9 12900

在當(dāng)今的數(shù)字時(shí)代,人工智能正在逐步改變?nèi)藗兊纳詈凸ぷ鞣绞?。其中,Stable Diffusion作為一種深度學(xué)習(xí)技術(shù),受到廣泛關(guān)注。它能夠通過(guò)對(duì)圖像或視頻進(jìn)行處理,生成逼真的數(shù)字人視頻,為許多領(lǐng)域帶來(lái)創(chuàng)新。本文將介紹Stable Diffusion的核心基礎(chǔ)知識(shí)、如何使用它制作AI數(shù)字人視頻、本地部署的要求以及藍(lán)海大腦PC集群解決方案的應(yīng)用。

Stable Diffusion是一種擴(kuò)散模型(diffusion model)的變體,叫做“潛在擴(kuò)散模型”(latent diffusion model; LDM)。擴(kuò)散模型是在2015年推出的,其目的是消除對(duì)訓(xùn)練圖像的連續(xù)應(yīng)用高斯噪聲,可以將其視為一系列去噪自編碼器。Stable Diffusion由3個(gè)部分組成:變分自編碼器(VAE)、U-Net和一個(gè)文本編碼器。添加和去除高斯噪聲的過(guò)程被應(yīng)用于這個(gè)潛在表示,然后將最終的去噪輸出解碼到像素空間中。在前向擴(kuò)散過(guò)程中,高斯噪聲被迭代地應(yīng)用于壓縮的潛在表征。每個(gè)去噪步驟都由一個(gè)包含殘差神經(jīng)網(wǎng)絡(luò)(ResNet)中間的U-Net架構(gòu)完成,通過(guò)從前向擴(kuò)散往反方向去噪而獲得潛在表征。最后,VAE解碼器通過(guò)將表征轉(zhuǎn)換回像素空間來(lái)生成輸出圖像。

SadTalker模型是一個(gè)使用圖片與音頻文件自動(dòng)合成人物說(shuō)話動(dòng)畫(huà)的開(kāi)源模型。給模型一張圖片以及一段音頻文件,模型會(huì)根據(jù)音頻文件把傳遞的圖片進(jìn)行人臉的相應(yīng)動(dòng)作,比如張嘴,眨眼,移動(dòng)頭部等動(dòng)作。它從音頻中生成 3DMM 的 3D 運(yùn)動(dòng)系數(shù)(頭部姿勢(shì)、表情),并隱式調(diào)制一種新穎的 3D 感知面部渲染,用于生成說(shuō)話的頭部運(yùn)動(dòng)視頻。

在進(jìn)行Stable Diffusion本地部署時(shí),需要滿足一定的硬件和軟件要求。首先,需要具備高性能的GPU集群,以支持大規(guī)模的模型訓(xùn)練和推理。同時(shí),需要安裝相應(yīng)的軟件環(huán)境,包括深度學(xué)習(xí)框架、Python編程語(yǔ)言和模型庫(kù)等。此外,還需要具備相應(yīng)的網(wǎng)絡(luò)帶寬和穩(wěn)定性,以保證模型的下載和更新。

針對(duì)本地部署的硬件和軟件要求,藍(lán)海大腦高效、可靠和經(jīng)濟(jì)的PC集群解決方案采用高性能GPU節(jié)點(diǎn)和高速網(wǎng)絡(luò)互聯(lián),能夠滿足大規(guī)模模型訓(xùn)練和推理的需求。同時(shí),該方案提供多種深度學(xué)習(xí)框架和模型庫(kù),方便用戶進(jìn)行模型的訓(xùn)練和推理。此外,藍(lán)海大腦PC集群解決方案還提供全面的安全防護(hù)措施,包括數(shù)據(jù)加密、訪問(wèn)控制和安全審計(jì)等,以確保用戶數(shù)據(jù)的安全性和隱私性。

Stable Diffusion完整核心基礎(chǔ)知識(shí)

2022年AI圖像生成領(lǐng)域迎來(lái)重大突破!Stable Diffusion橫空出世,一舉擊敗傳統(tǒng)深度學(xué)習(xí),成為開(kāi)啟人工智能新紀(jì)元的強(qiáng)力引擎。它的出現(xiàn)既為工業(yè)界帶來(lái)革命性創(chuàng)新,也讓投資者看到巨大商機(jī),AI再次變得"性感"起來(lái)。下面將以通俗易懂的語(yǔ)言,向大家全方位講解Stable Diffusion的原理、應(yīng)用和訓(xùn)練技巧。

一、Stable Diffusion核心基礎(chǔ)內(nèi)容

1、Stable Diffusion模型原理

生成式模型可謂是AI界的“制假大師”,能生成看似真實(shí)的新數(shù)據(jù)。其中,GAN和Stable Diffusion可以說(shuō)是翹楚級(jí)的作品。這兩類模型通過(guò)不同的技巧,可以捕捉訓(xùn)練數(shù)據(jù)的特征分布,然后生成類似風(fēng)格的新樣本。比如在計(jì)算機(jī)視覺(jué)領(lǐng)域,可以輸出樣子逼真的新圖片;在自然語(yǔ)言處理領(lǐng)域,可以寫(xiě)出語(yǔ)義連貫的新文字。

GAN通過(guò)對(duì)抗訓(xùn)練實(shí)現(xiàn),讓生成器和判別器互相競(jìng)爭(zhēng),不斷逼近真實(shí)數(shù)據(jù)分布。而Stable Diffusion無(wú)需對(duì)抗,直接利用文本提示指導(dǎo)模型生成所需的輸出??梢哉f(shuō),GAN和Stable Diffusion如同變色龍,可根據(jù)需求變換不同的創(chuàng)作形態(tài)。為人類開(kāi)拓一個(gè)廣闊的想象空間,任何靈感都可以通過(guò)生成式模型試驗(yàn)實(shí)現(xiàn),將抽象概念轉(zhuǎn)換為具體作品。生成式模型助力人類創(chuàng)造力的釋放和拓展,正在引領(lǐng)一個(gè)前所未有的創(chuàng)作新時(shí)代。

wKgaomUG7A-AFopoAAO424su1BQ865.png

生成式模型的主流架構(gòu)

下面主要就GAN詳細(xì)描述。由于篇幅原因,VAE和Flow-based models這里就不過(guò)多介紹。GAN的訓(xùn)練過(guò)程可比喻為一場(chǎng)精妙的舞臺(tái)表演。表演由兩大角色聯(lián)手完成——生成器與判別器。生成器扮演制作“假貨”的角色,生成盡可能逼真的假數(shù)據(jù)來(lái)欺騙判別器。判別器則扮演辨別真?zhèn)蔚慕巧?,判斷生成器輸出的?shù)據(jù)是真是假。

兩者之間展開(kāi)一場(chǎng)激烈的智慧競(jìng)賽。生成器不斷提升自己的造假技術(shù),使生成的假數(shù)據(jù)更加真實(shí)。判別器也在競(jìng)相增強(qiáng)自身的判斷能力,來(lái)識(shí)別假數(shù)據(jù)的破綻。雙方都在以極快的速度成長(zhǎng)。要取得最佳的生成效果,生成器和判別器必須同步訓(xùn)練。這也增加了GAN的訓(xùn)練難度。在訓(xùn)練初期,生成器制造的假數(shù)據(jù)非常容易被判別器識(shí)破。但隨著訓(xùn)練輪數(shù)的增多,生成器的造假水平越來(lái)越高,判別器也必須不斷自我革新來(lái)跟上生成器的進(jìn)步。

這里可以把生成器比喻為高明的畫(huà)家,不斷精進(jìn)繪畫(huà)技巧來(lái)制作逼真的藝術(shù)品。判別器則像鑒賞家,需要提高自己的審美和識(shí)別能力,才能判斷畫(huà)作的真?zhèn)?。兩者互相促進(jìn),最終畫(huà)家可以畫(huà)出真假難辨的作品。GAN訓(xùn)練過(guò)程中充滿智慧的對(duì)抗與不斷深化的博弈。表面上雙方合作煥然一新,實(shí)際都在暗地努力進(jìn)步。最終,生成器取得決定性優(yōu)勢(shì),其生成效果達(dá)到欺騙判別器的視真程度。

wKgZomUG7BCAMi3oAAXK5PWYXAo157.png

SD文生圖過(guò)程

Stable Diffusion (SD)模型在圖像生成任務(wù)上有著廣泛的應(yīng)用。其中最典型和基礎(chǔ)的兩大應(yīng)用分別是文生圖和圖生圖。

文生圖(Text-to-Image)是將文本描述轉(zhuǎn)換為圖像的過(guò)程??梢暂斎胍欢挝淖值絊table Diffusion模型中,描述想要生成的圖像內(nèi)容。模型會(huì)解析文本語(yǔ)義,經(jīng)過(guò)迭代逐步生成出符合文本描述的圖片。例如,輸入“天堂,巨大的,海灘”等文字,模型會(huì)聯(lián)想到天堂與海灘的概念,并圖像化出一個(gè)美麗寬廣的沙灘場(chǎng)景。文本描述越細(xì)致,生成的圖像也會(huì)越符合預(yù)期。

wKgaomUG7BGARlyAAAS1Mouhzfc550.png

SD圖生圖過(guò)程

圖生圖(Image-to-Image)在文生圖的基礎(chǔ)上,額外輸入一張圖像,根據(jù)文本描述對(duì)圖片進(jìn)行修飾和豐富。例如,先輸入“天堂,巨大的,海灘”,生成一張美麗沙灘的圖片。然后繼續(xù)輸入“海盜船”,同時(shí)輸入先前生成的沙灘圖。模型將解析文本語(yǔ)義,在原圖片中添加一個(gè)海盜船,輸出一張融合文本描述的新圖像??梢钥闯觯瑘D生圖保留原圖片的主體內(nèi)容,同時(shí)根據(jù)文本提示進(jìn)行圖像的二次創(chuàng)作。

感受SD模型強(qiáng)大的生成能力,大家可能會(huì)想到生成式領(lǐng)域上一個(gè)霸主模型GAN,與GAN模型不同的是,SD模型是屬于擴(kuò)散模型,是基于latent的擴(kuò)散模型。那么擴(kuò)散模型是什么呢?擴(kuò)散模型是一種圖像生成方法,通過(guò)逐步添加細(xì)節(jié)來(lái)生成圖像。將圖像的生成過(guò)程分為多個(gè)步驟,每個(gè)步驟都會(huì)對(duì)圖像進(jìn)行一定程度的修改和完善,這樣經(jīng)過(guò)20-50次“擴(kuò)散”循環(huán)后,最終輸出的圖像就會(huì)變得更加精致。

下面是一個(gè)通過(guò) SD 模型的推理過(guò)程, 將隨機(jī)高斯噪聲矩陣逐步去燥并生成一張小別墅圖片的直觀示例。

wKgaomUG7BKAYeKPAAfzrtfhjn0996.png

SD模型的Inference過(guò)程

那么latent又是什么呢?基于 latent 的擴(kuò)散模型在低維隱空間中進(jìn)行“擴(kuò)散”過(guò)程,而不是在實(shí)際像素空間中,大大降低了內(nèi)存占用和計(jì)算復(fù)雜性。與常規(guī)擴(kuò)散模型不同,latent 擴(kuò)散模型的主要特點(diǎn)是在訓(xùn)練和推理過(guò)程中都集中在 latent 空間中。

2、Stable Diffusion模型的核心組件

SD模型主要由自動(dòng)編碼器(VAE),U-Net以及文本編碼器三個(gè)核心組件構(gòu)成。

wKgZomUG7BOABxqTAANmhAbAIyo625.png

SD模型文生圖流程

1)自動(dòng)編碼器(VAE)

在圖像生成任務(wù)中,VAE的編碼器可以將輸入圖片轉(zhuǎn)換為低維的特征表示,作為后續(xù)模型的輸入。這些低維特征保留原圖像的主要語(yǔ)義信息。而VAE的解碼器則可以將編碼器輸出的低維特征再次恢復(fù)為完整的圖像。解碼器實(shí)現(xiàn)了從壓縮特征到圖像空間的映射。不同的VAE結(jié)構(gòu)設(shè)計(jì),會(huì)使其在圖像中的注意力區(qū)域不同,從而影響生成圖片的細(xì)節(jié)與整體顏色風(fēng)格。

wKgaomUG7BOAZPPYAAGBuAg5d00898.png

VAE的主要工作

VAE能夠高效壓縮圖像到低維潛空間后仍實(shí)現(xiàn)良好重建,其關(guān)鍵在于自然圖像具有高度規(guī)律性。例如,人臉圖像中眼睛、鼻子、嘴巴遵循特定空間結(jié)構(gòu);貓身體有固定數(shù)量四肢以及特定生物學(xué)形態(tài)。這種先驗(yàn)知識(shí)使得VAE可以只保留圖像最關(guān)鍵信息。即使在壓縮特征損失的情況下,只要生成圖像大小合適,重建后的語(yǔ)義內(nèi)容和結(jié)構(gòu)依然能夠保持可識(shí)別性。

2)U-Net

在擴(kuò)散模型生成流程中,需要逐步將隨機(jī)噪聲轉(zhuǎn)化為圖像隱特征。實(shí)現(xiàn)方式是:

- 模型預(yù)測(cè)當(dāng)前噪聲的殘差,即需要調(diào)整的量。

- 利用調(diào)度算法(如PNDM、DDIM等)結(jié)合預(yù)測(cè)殘差,重新構(gòu)建并優(yōu)化噪聲。

- 經(jīng)過(guò)多輪擴(kuò)散優(yōu)化,最終得到可生成目標(biāo)圖像的隱特征。

實(shí)現(xiàn)擴(kuò)散模型的網(wǎng)絡(luò)結(jié)構(gòu)通常采用U-Net架構(gòu)。U-Net由多層ResNet模塊串聯(lián)構(gòu)成,并在模塊之間添加交叉注意力機(jī)制。交叉注意力可用于接收額外的文本指令,指導(dǎo)圖像生成方向。

wKgZomUG7BSAX5KyAAETHxH34fg031.png

常規(guī)U-Net結(jié)構(gòu)

wKgaomUG7BSAF8qeAAPPDbhHoi4185.png

ResNet模塊與CrossAttention模塊的結(jié)合

3)文本編碼器

在擴(kuò)散模型中,需要輸入文本prompt,以指導(dǎo)圖像生成方向。實(shí)現(xiàn)方式是:

- 使用文本編碼器(通常是CLIP等預(yù)訓(xùn)練模型),對(duì)prompt進(jìn)行編碼,得到表示其語(yǔ)義信息的詞向量。

- 將文本詞向量通過(guò)交叉注意力機(jī)制,輸入到擴(kuò)散模型的U-Net中。

- 文本詞向量作為條件信息,引導(dǎo)U-Net的圖像生成過(guò)程,以輸出符合文本意圖的圖片。

默認(rèn)的文本編碼器是CLIP模型,可以輸出跟圖像語(yǔ)義相關(guān)的稠密詞向量。

3、Stable Diffusion推理流程

要運(yùn)行Stable Diffusion(SD),可以直接使用diffusers庫(kù)中的完整pipeline流程。

需要安裝相關(guān)依賴,使用以下命令進(jìn)行安裝:

pip install diffusers transformers scipy ftfy accelerate

導(dǎo)入diffusers庫(kù):

from diffusers import StableDiffusionPipeline

初始化SD模型并加載預(yù)訓(xùn)練權(quán)重:

pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5"

如果想使用GPU加速,可以使用以下命令將模型加載到GPU上:

pipe.to("cuda")

如果GPU內(nèi)存少于10GB,可以加載float16精度的SD模型:

pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", revision="fp16", torch_dtype=torch.float16)

使用pipeline來(lái)運(yùn)行SD模型。例如,給定一個(gè)prompt和一張圖片,可以使用以下代碼生成一張新的圖片:

prompt = "a photograph of an astronaut riding a horse"image = pipe(prompt).images[0]

由于沒(méi)有固定seed,每次運(yùn)行代碼都會(huì)得到一個(gè)不同的圖片。預(yù)訓(xùn)練文件夾中的模型主要由以下幾個(gè)部分組成:text_encoder和tokenizer,scheduler,unet,vae。其中text_encoder,scheduler,unet,vae分別代表SD模型的核心結(jié)構(gòu)。此外,還有一個(gè)名為T(mén)okenizer的文件夾表示標(biāo)記器。標(biāo)記器將Prompt中的每個(gè)詞轉(zhuǎn)換為一個(gè)稱為標(biāo)記(token)的數(shù)字,符號(hào)化(Tokenization)是計(jì)算機(jī)理解單詞的方式。然后通過(guò)text_encoder將每個(gè)標(biāo)記轉(zhuǎn)換為一個(gè)768維的向量稱為嵌入(embedding),用于U-Net的condition。

wKgZomUG7BWAVUkKAAE5UXa3mDI682.png

Tokenizer的作用

有時(shí)候在運(yùn)行完pipeline后,可能會(huì)遇到生成的圖片全黑情況。這是因?yàn)樯傻膱D片可能觸發(fā)了NSFW(不適宜內(nèi)容)機(jī)制,導(dǎo)致生成一些違規(guī)的圖片。為解決這個(gè)問(wèn)題,建議使用自定義的seed來(lái)重新生成圖片。

可以使用以下代碼來(lái)設(shè)置seed,并控制生成圖片的輸出:

#import torch

# 設(shè)置seedtorch.manual_seed(1024)

# 創(chuàng)建生成器generator = torch.Generator("cuda").manual_seed(1024)

# 使用設(shè)置的seed和生成器來(lái)生成圖片image = pipe(prompt, guidance_scale=7.5, generator=generator).images[0]

將pipeline的完整結(jié)構(gòu)梳理好之后,再對(duì)一些核心參數(shù)進(jìn)行講解:

1)num_inference_steps表示對(duì)圖片進(jìn)行噪聲優(yōu)化的迭代次數(shù)。一般來(lái)說(shuō),該值可以選擇在20到50之間,數(shù)值越大生成的圖片質(zhì)量越高,但同時(shí)也需要更多的計(jì)算時(shí)間。

2)guidance_scale代表文本提示對(duì)圖像生成過(guò)程的影響程度。具體來(lái)說(shuō),它控制著有條件生成所使用噪聲的比例。通常該值在7到8.5之間取值較好,如果取值過(guò)大,生成的圖片質(zhì)量可能會(huì)很高,但多樣性會(huì)下降。

wKgaomUG7BaAOXOQAAB9OwlFjFQ873.png

其中代表CFG,當(dāng)越大時(shí),condition起的作用越大,即生成的圖像更和輸入文本一致,當(dāng)被設(shè)置為時(shí),圖像生成是無(wú)條件的,文本提示會(huì)被忽略。

3)輸出尺寸

除了將預(yù)訓(xùn)練的SD模型整體加載,還可以選擇加載其不同的組件。通過(guò)以下方式實(shí)現(xiàn):

從transformers庫(kù)中加載CLIPTextModel和CLIPTokenizer:

from transformers import CLIPTextModel, CLIPTokenizer

從diffusers庫(kù)中加載AutoencoderKL、UNet2DConditionModel和PNDMScheduler:

from diffusers import AutoencoderKL, UNet2DConditionModel, PNDMScheduler

還需要加載LMSDiscreteScheduler:

from diffusers import LMSDiscreteScheduler

可以單獨(dú)加載VAE模型:

vae = AutoencoderKL.from_pretrained("runwayml/stable-diffusion-v1-5", subfolder="vae")

加載CLIP模型和tokenizer:

tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14")

text_encoder = CLIPTextModel.from_pretrained("openai/clip-vit-vit-large-patch14")

單獨(dú)加載U-Net模型:

unet = UNet2DConditionModel.from_pretrained("runwayml/stable-diffusion-v1-5", subfolder="unet")

單獨(dú)加載調(diào)度算法:

scheduler = LMSDiscreteScheduler(beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train=steps)

二、Stable Diffusion經(jīng)典應(yīng)用場(chǎng)景

1、文本生成圖片

輸入:prompt

輸入:圖像

wKgZomUG7BaAcmATAAHc6yOAqlU597.png

Load Checkpoint模塊負(fù)責(zé)初始化SD模型的主要結(jié)構(gòu)(包括VAE和U-Net)。CLIP Text Encode代表文本編碼器,接收prompt和negative prompt作為輸入,以控制圖像的生成。Empty Latent Image表示初始化的高斯噪聲。KSampler負(fù)責(zé)調(diào)度算法以及與SD相關(guān)的生成參數(shù)。最后,VAE Decode利用VAE的解碼器將低維度的隱空間特征轉(zhuǎn)換為代表圖像的像素空間。

2、圖片生成圖片

輸入:圖像+ prompt

輸出:圖像

wKgaomUG7BeAA9QBAAIlAYrkmQI235.png

Load Checkpoint模塊負(fù)責(zé)對(duì)SD模型的主要結(jié)構(gòu)(包括VAE和U-Net)進(jìn)行初始化。CLIP Text Encode代表文本編碼器,接收prompt和negative prompt作為輸入,以控制圖像的生成。Load Image表示輸入的圖像。KSampler負(fù)責(zé)調(diào)度算法以及與SD相關(guān)的生成參數(shù)。

在圖片生成圖片的預(yù)處理階段,首先使用VAE編碼器將輸入圖像轉(zhuǎn)換為低維度的隱空間特征。然后添加噪聲到隱空間特征中,去噪強(qiáng)度決定加入噪聲的數(shù)量。如果去噪強(qiáng)度為0,則不添加任何噪聲;如果去噪強(qiáng)度為1,則會(huì)添加最大數(shù)量的噪聲,使得潛像成為一個(gè)完全隨機(jī)的張量。在這種情況下,圖片轉(zhuǎn)圖像的過(guò)程就完全相當(dāng)于文本轉(zhuǎn)圖像,因?yàn)槌跏紳撓裢耆请S機(jī)的噪聲。

wKgZomUG7BiADhOlAAFvpo9RP8s817.png

去噪強(qiáng)度(Denoising strength)控制噪音的加入量

3、圖片inpainting

輸入:圖像+ mask + prompt

輸出:圖像

wKgaomUG7BmANAtZAAI0ZK0rXAs209.png

Load Checkpoint模塊負(fù)責(zé)初始化SD模型的主要結(jié)構(gòu)(包括VAE和U-Net)。CLIP Text Encode代表文本編碼器,接收prompt和negative prompt作為輸入,以控制圖像的生成。Load Image表示輸入的圖像和mask。KSampler負(fù)責(zé)調(diào)度算法以及與SD相關(guān)的生成參數(shù)。

VAE Encode使用VAE的編碼器將輸入的圖像和mask轉(zhuǎn)換成為低維度的隱空間特征。然后,VAE Decode利用VAE的解碼器將低維度的隱空間特征轉(zhuǎn)換為代表圖像的像素空間。

下面是如何進(jìn)行圖像inpainting的直觀過(guò)程:

wKgZomUG7BmAOWZxAAz9ZPBVKb0781.png

4、使用controlnet輔助生成圖片

輸入:素描圖+ prompt

輸出:圖像

wKgaomUG7BqAILp-AAK8-gH4bPc387.png

Load Checkpoint模塊負(fù)責(zé)對(duì)SD模型的主要結(jié)構(gòu)(包括VAE和U-Net)進(jìn)行初始化。CLIP Text Encode代表文本編碼器,接收prompt和negative prompt作為輸入,以控制圖像的生成。Load Image表示輸入的ControlNet需要的預(yù)處理圖。Empty Latent Image表示初始化的高斯噪聲。Load ControlNet Model負(fù)責(zé)對(duì)ControlNet進(jìn)行初始化。KSampler負(fù)責(zé)調(diào)度算法以及與SD相關(guān)的生成參數(shù)。最后,VAE Decode利用VAE的解碼器將低維度的隱空間特征轉(zhuǎn)換為代表圖像的像素空間。

wKgZomUG7BqAMP3QAAOadPLiR8I306.png

使用ControlNet輔助生成圖片

5、超分辨率重建

輸入:prompt/(圖像+ prompt)

輸入:圖像

wKgaomUG7BuACcv_AAIoJDHERHU802.png

Load Checkpoint模塊負(fù)責(zé)對(duì)SD模型的主要結(jié)構(gòu)(包括VAE和U-Net)進(jìn)行初始化。CLIP Text Encode代表文本編碼器,接收prompt和negative prompt作為輸入,以控制圖像的生成。Empty Latent Image表示初始化的高斯噪聲。Load Upscale Model負(fù)責(zé)對(duì)超分辨率重建模型進(jìn)行初始化。KSampler負(fù)責(zé)調(diào)度算法以及與SD相關(guān)的生成參數(shù)。VAE Decode利用VAE的解碼器將低維度的隱空間特征轉(zhuǎn)換為代表圖像的像素空間。最后,Upscale Image將生成的圖像進(jìn)行超分辨率重建,提高其分辨率。

三、Stable Diffusion訓(xùn)練過(guò)程

Stable Diffusion的訓(xùn)練過(guò)程可以被視為在最高維度上添加噪聲和去除噪聲的過(guò)程,并在對(duì)噪聲的“對(duì)抗與攻防”中學(xué)習(xí)生成圖像的能力。具體地說(shuō),在訓(xùn)練過(guò)程中首先對(duì)干凈的樣本添加噪聲進(jìn)行處理,采用多次逐步增加噪聲的方式,直到干凈的樣本變成純?cè)肼暋?/p>

wKgZomUG7ByAHA53AASxSv8voZk555.png

SD訓(xùn)練時(shí)的加噪過(guò)程

接下來(lái),讓SD模型學(xué)習(xí)去噪過(guò)程,并最終抽象出一個(gè)高維函數(shù),這個(gè)函數(shù)能夠在純?cè)肼曋小皟?yōu)化”噪聲,從而得到一個(gè)干凈的樣本。具體來(lái)說(shuō),將去噪過(guò)程具象化為使用U-Net來(lái)預(yù)測(cè)噪聲,并結(jié)合調(diào)度算法逐步去噪的過(guò)程。

wKgaomUG7ByAZAJSAAQ6Q2x79JI159.png

SD訓(xùn)練時(shí)的去噪過(guò)程

在添加噪聲的時(shí)候,Stable Diffusion采用的是逐步增加的策略,每一步只增加一小部分噪聲,實(shí)現(xiàn)“小步快跑”的穩(wěn)定加噪過(guò)程。這類似于移動(dòng)互聯(lián)網(wǎng)產(chǎn)品設(shè)計(jì)中的迭代與快速推出原則。

另一方面,每次增加的噪聲量級(jí)也可以不同,例如可以設(shè)定5個(gè)不同量級(jí)的噪聲,每次隨機(jī)選擇一種量級(jí)增加到樣本圖片中。這進(jìn)一步增加了噪聲的多樣性。在去噪過(guò)程中,同樣采用逐步減少噪聲的策略,每一步預(yù)測(cè)并去除一部分噪聲,實(shí)現(xiàn)穩(wěn)定的去噪。

wKgZomUG7B2AcjNfAAVEJKwYRIA912.png

多量級(jí)噪聲

為了使網(wǎng)絡(luò)能夠知道當(dāng)前處于k步的哪個(gè)階段,需要使用位置編碼。通過(guò)將步數(shù)作為輸入傳遞給網(wǎng)絡(luò),位置編碼能夠讓網(wǎng)絡(luò)知道當(dāng)前所處的階段。這種操作與Transformer中的操作類似。

wKgaomUG7B6ABvdrAASxfdo_TRY411.png

使用Positional embeddings對(duì)訓(xùn)練迭代的步數(shù)進(jìn)行編碼

四、Stable Diffusion性能優(yōu)化

1、使用TF32精度

導(dǎo)入PyTorch并啟用TF32支持,實(shí)現(xiàn)性能和精度的平衡。TF32精度具有以下作用和優(yōu)勢(shì):

1)加速訓(xùn)練速度:使用TF32精度可以在保持相對(duì)較高的模型精度的同時(shí),加快模型訓(xùn)練的速度。

2)減少內(nèi)存需求:TF32精度相對(duì)于傳統(tǒng)的浮點(diǎn)數(shù)計(jì)算(如FP32)需要更少的內(nèi)存存儲(chǔ)。這對(duì)于訓(xùn)練大規(guī)模的深度學(xué)習(xí)模型尤為重要,可以減少內(nèi)存的占用。

3)可接受的模型精度損失:使用TF32精度會(huì)導(dǎo)致一定程度的模型精度損失,因?yàn)榈途扔?jì)算可能無(wú)法精確表示一些小的數(shù)值變化。然而,對(duì)于大多數(shù)深度學(xué)習(xí)應(yīng)用,TF32精度仍然可以提供足夠的模型精度。

2、使用FP16半精度

導(dǎo)入PyTorch庫(kù),并從diffusers庫(kù)中導(dǎo)入DiffusionPipeline。使用"runwayml/stable-diffusion-v1-5"預(yù)訓(xùn)練模型創(chuàng)建一個(gè)DiffusionPipeline對(duì)象pipe,同時(shí)設(shè)置torch_dtype為torch.float16,以使用FP16半精度進(jìn)行訓(xùn)練。

使用FP16半精度訓(xùn)練的優(yōu)勢(shì)在于可以減少一半的內(nèi)存占用,進(jìn)一步將批次大小翻倍,同時(shí)將訓(xùn)練時(shí)間減半。一些GPU,如V100和2080Ti等,針對(duì)16位計(jì)算進(jìn)行優(yōu)化,可以實(shí)現(xiàn)3-8倍的自動(dòng)加速。

3、對(duì)注意力模塊進(jìn)行切片

當(dāng)所使用的模型中的注意力模塊包含多個(gè)注意力頭時(shí),可以采用切片注意力操作,以便每個(gè)注意力頭依次計(jì)算注意力矩陣。這種做法可以顯著降低內(nèi)存占用,但隨之而來(lái)的是推理時(shí)間大約增加10%。

首先,導(dǎo)入PyTorch庫(kù),并從diffusers庫(kù)中導(dǎo)入DiffusionPipeline。然后,使用"runwayml/stable-diffusion-v1-5"預(yù)訓(xùn)練模型創(chuàng)建一個(gè)DiffusionPipeline對(duì)象pipe,同時(shí)設(shè)置torch_dtype為torch.float16,以使用FP16半精度進(jìn)行訓(xùn)練。接下來(lái),將pipe轉(zhuǎn)移到CUDA設(shè)備上,以便在GPU上運(yùn)行。

為啟用切片注意力操作,需要調(diào)用pipe對(duì)象的enable_attention_slicing()方法。通過(guò)采用切片注意力操作,可以減少內(nèi)存占用,但需要付出一些推理時(shí)間的代價(jià),大約增加10%。

4、對(duì)VAE進(jìn)行切片

與注意力模塊切片類似,也可以對(duì)VAE進(jìn)行切片,讓VAE每次只處理Batch(32)中的一張圖片,從而大幅減少內(nèi)存占用。

首先,導(dǎo)入PyTorch庫(kù),并從diffusers庫(kù)中導(dǎo)入StableDiffusionPipeline。然后,使用"runwayml/stable-diffusion-v1-5"預(yù)訓(xùn)練模型創(chuàng)建一個(gè)StableDiffusionPipeline對(duì)象pipe,同時(shí)設(shè)置torch_dtype為torch.float16,以使用FP16半精度進(jìn)行訓(xùn)練。接下來(lái),將pipe轉(zhuǎn)移到CUDA設(shè)備上,以便在GPU上運(yùn)行。為啟用VAE切片操作,調(diào)用pipe對(duì)象的enable_vae_slicing()方法。然后,使用prompt作為輸入,將一批32張圖片通過(guò)pipe進(jìn)行生成,并將生成的圖片存儲(chǔ)在images變量中。

5、大圖像切塊

當(dāng)需要生成4K或更高分辨率的圖像,但內(nèi)存資源有限時(shí),可以采用圖像切塊的技術(shù)。通過(guò)對(duì)圖像進(jìn)行切塊,讓VAE的編碼器和解碼器逐一處理每個(gè)切塊后的圖像,最后將拼接在一起生成最終的大圖像。

首先,導(dǎo)入PyTorch庫(kù),并從diffusers庫(kù)中導(dǎo)入StableDiffusionPipeline。然后,使用"runwayml/stable-diffusion-v1-5"預(yù)訓(xùn)練模型創(chuàng)建一個(gè)StableDiffusionPipeline對(duì)象pipe,同時(shí)設(shè)置torch_dtype為torch.float16,以使用FP16半精度進(jìn)行訓(xùn)練。接下來(lái),將pipe轉(zhuǎn)移到CUDA設(shè)備上,以便在GPU上運(yùn)行。為啟用圖像切塊操作,調(diào)用pipe對(duì)象的enable_vae_tiling()方法。然后,使用prompt作為輸入,并指定圖像的寬度為3840像素,高度為2224像素,以及生成步驟的數(shù)量為20。通過(guò)調(diào)用pipe對(duì)象的生成方法,可以得到生成的圖像。最后,從生成的圖像中獲取第一張圖像并將其存儲(chǔ)在image變量中。

6、CPU <-> GPU切換

可將整個(gè)SD模型或SD模型的部分模塊的權(quán)重加載到CPU中,并在推理時(shí)再將所需的權(quán)重加載到GPU。以下是如何使用PyTorch和Stable Diffusion Pipeline實(shí)現(xiàn)的代碼:

import torch

from diffusers import StableDiffusionPipeline

# 將整個(gè)SD模型加載到CPU

pipe = StableDiffusionPipeline.from_pretrained(

"runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16)

# 開(kāi)啟子模塊的CPU offload功能,即可以在CPU上執(zhí)行某些子模塊的計(jì)算

pipe.enable_sequential_cpu_offload()

# 開(kāi)啟整個(gè)SD模型的CPU offload功能,即可以在CPU上執(zhí)行整個(gè)SD模型的計(jì)算

pipe.enable_model_cpu_offload()

這段代碼將整個(gè)SD模型或SD模型的部分模塊的權(quán)重加載到CPU中,并在推理時(shí)再將所需的權(quán)重加載到GPU,以實(shí)現(xiàn)更好的性能和靈活性。

7、變換Memory Format

在計(jì)算機(jī)視覺(jué)領(lǐng)域,有兩種常見(jiàn)的內(nèi)存格式,分別是channels first(NCHW)和channels last(NHWC)。將channels first轉(zhuǎn)換為channels last可能會(huì)提高推理速度,但需要依賴于特定的AI框架和硬件。

在channels last內(nèi)存格式中,張量的維度順序?yàn)椋╞atch_size,height,width,channels)。其中,batch_size表示批處理大小,height和width表示圖像或特征圖的高度和寬度,channels表示通道數(shù)。

相比之下,channels first是另一種內(nèi)存布局,其中通道維度被放置在張量的第二個(gè)維度上。在channels first內(nèi)存格式中,張量的維度順序?yàn)椋╞atch_size,channels,height,width)。

選擇channels last或channels first內(nèi)存格式通常取決于硬件和軟件平臺(tái)以及所使用的深度學(xué)習(xí)框架。不同的平臺(tái)和框架可能對(duì)內(nèi)存格式有不同的偏好和支持程度。

在一些情況下,channels last內(nèi)存格式具有以下優(yōu)勢(shì):

1)內(nèi)存訪問(wèn)效率:在一些硬件架構(gòu)中,如CPU和GPU,channels last內(nèi)存格式能夠更好地利用內(nèi)存的連續(xù)性,從而提高數(shù)據(jù)訪問(wèn)的效率。

2)硬件加速器支持:一些硬件加速器(如NVIDIA的Tensor Cores)對(duì)于channels last內(nèi)存格式具有特定的優(yōu)化支持,可以提高計(jì)算性能。

3)跨平臺(tái)兼容性:某些深度學(xué)習(xí)框架和工具更傾向于支持channels last內(nèi)存格式,使得在不同的平臺(tái)和框架之間遷移模型更加容易。

需要注意的是,選擇內(nèi)存格式需要根據(jù)具體的硬件、軟件和深度學(xué)習(xí)框架來(lái)進(jìn)行評(píng)估。某些特定的操作、模型結(jié)構(gòu)或框架要求可能會(huì)對(duì)內(nèi)存格式有特定的要求或限制。因此,建議在特定環(huán)境和需求下進(jìn)行測(cè)試和選擇,以獲得最佳的性能和兼容性。

8、使用xFormers

使用xFormers插件能夠優(yōu)化注意力模塊的計(jì)算,提升約20%的運(yùn)算速度。

導(dǎo)入PyTorch庫(kù)

創(chuàng)建一個(gè)名為"pipe"的StableDiffusionPipeline對(duì)象,使用預(yù)訓(xùn)練模型"runwayml/stable-diffusion-v1-5",數(shù)據(jù)類型為torch.float16,并將模型遷移到"cuda"設(shè)備上。

通過(guò)調(diào)用.enable_xformers_memory_efficient_attention()方法,使用xFormers插件來(lái)優(yōu)化注意力模塊的計(jì)算,從而 提升約20%的運(yùn)算速度。

如何使用StableDiffusion制作AI數(shù)字人視頻

下面介紹如何安裝SadTalker插件。

首先,需要確保已經(jīng)成功安裝Stable Diffusion WebUI。然后,從Github上獲取SadTalker的開(kāi)源代碼,其地址為:

https://github.com/OpenTalker/SadTalker.git。

一、SadTalker安裝方法

1、安裝方法一

適合訪問(wèn)Github或外網(wǎng)較流暢的用戶,因?yàn)樾枰詣?dòng)下載大量文件。在SD WebUI的擴(kuò)展插件頁(yè)面中進(jìn)行安裝,如下圖所示:

wKgZomUG7B6AD9WBAAJKAR64CYY525.png

這個(gè)插件需要下載許多文件,有些文件體積較大,需耐心等待。如果不確定是否出現(xiàn)了問(wèn)題,可以查看控制臺(tái)輸出的內(nèi)容,查找是否有錯(cuò)誤。安裝完成后,不要忘記重啟Stable Diffusion,需要完全重啟,而不僅僅是重啟WebUI。

2、安裝方法二

對(duì)于訪問(wèn)外網(wǎng)不太方便的用戶,可以提前下載所需文件,例如使用迅雷等下載工具。只要將下載的文件上傳到指定的目錄即可。

1)主程序

需要放到以下位置:stable-diffusion-webui/extensions/SadTalker

https://github.com/OpenTalker/SadTalker/archive/refs/heads/main.zip

2)視頻模型

可以從以下鏈接下載:stable-diffusion-webui/extensions/SadTalker/checkpoints

https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/mapping_00109-model.pth.tar

https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/mapping_00229-model.pth.tar

https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/SadTalker_V0.0.2_256.safetensors

https://github.com/OpenTalker/SadTalker/releases/download/v0.0.2-rc/SadTalker_V0.0.2_512.safetensors

3)修臉模型

需要放到以下位置:stable-diffusion-webui/extensions/SadTalker/gfpgan/weights 和 stable-diffusion-webui/models/GFPGAN

您可以從以下鏈接下載:

https://github.com/xinntao/facexlib/releases/download/v0.1.0/alignment_WFLW_4HG.pth

https://github.com/xinntao/facexlib/releases/download/v0.1.0/detection_Resnet50_Final.pth

https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.4.pth

https://github.com/xinntao/facexlib/releases/download/v0.2.2/parsing_parsenet.pth

為了方便使用這種方式部署,我們已經(jīng)將相關(guān)文件打包好,大家無(wú)需單獨(dú)下載。只需聯(lián)系我們,即可獲得下載地址。

4)安裝

首先,將文件下載到本地或云環(huán)境中。以AutoDL為例,將文件保存到/root目錄中。

wKgaomUG7B-ADJaVAAF5Jm2r-nA974.png

然后解壓文件到 stable diffusion webui的擴(kuò)展目錄,并拷貝幾個(gè)文件到SD模型目錄:

tar -xvf /root/SadTalker.tar -C /root/stable-diffusion-webui/extensions cp -r /root/stable-diffusion-webui/extensions/SadTalker/gfpgan/weights/* /root/stable-diffusion-webui/models/GFPGAN/

看到下邊的結(jié)果,就基本上差不多了。

wKgZomUG7CCAJJ0pAACFaUkW04w276.png

SD models 目錄下有這幾個(gè)文件:

wKgaomUG7CCAZ45iAACcoRdyy6U794.png

部署完畢,不要忘了重啟。

二、使用方法

在SD WebUI的Tab菜單中找到SadTalker,按照下邊的順序進(jìn)行設(shè)置。

wKgZomUG7CGAGiGfAALVcV_p434726.png

1、上傳人物照片。

2、上傳語(yǔ)音文件。

3、選擇視頻人物的姿勢(shì)。實(shí)際上,這指的是在人物說(shuō)話時(shí)頭部的動(dòng)作??梢酝ㄟ^(guò)嘗試不同的數(shù)字來(lái)選擇合適的動(dòng)作。

4、分辨率。512的視頻分辨率比256的大。

5、圖片處理方法:corp是從圖片截取頭部做視頻,resize適合大頭照或者證件照,full就是全身照做視頻。

6、Still Model:這個(gè)選項(xiàng)可以讓頭部動(dòng)作不要過(guò)大,以避免頭部與身體偏離的情況。然而,這樣可能會(huì)導(dǎo)致頭部動(dòng)作不太明顯。

7、GFPGAN:這個(gè)選項(xiàng)可以修整臉部,有助于改善說(shuō)話時(shí)嘴部和眼部可能出現(xiàn)的變形現(xiàn)象,從而使臉部看起來(lái)更加自然。

最后,點(diǎn)擊“生成”。根據(jù)硬件的運(yùn)行速度以及設(shè)置,生成過(guò)程可能需要幾分鐘的時(shí)間。請(qǐng)耐心等待。

三、常見(jiàn)問(wèn)題

1、啟動(dòng)的時(shí)候報(bào)錯(cuò):SadTalker will not support download...

wKgaomUG7CKAX_pdAADO1XMUIpM802.png

這個(gè)提示意味模型無(wú)法成功下載。可以執(zhí)行以下命令來(lái)觸發(fā)下載(請(qǐng)注意將cd后的路徑替換為SadTalker安裝路徑):

cd stable-diffusion-webui/extensions/SadTalker
chmod 755 scripts/download_models.sh
scripts/download_models.sh

2、合成視頻時(shí)報(bào)錯(cuò):No module named 'xxx'

wKgZomUG7CKAFA0gAADKCQyJ4xc031.png

可以使用pip install命令來(lái)安裝xxx。但請(qǐng)注意,如果使用Python虛擬環(huán)境,需要先激活。例如,這里需要先執(zhí)行source xxx命令。然后,可以運(yùn)行以下命令來(lái)安裝

librosa:

source /root/stable-diffusion-webui/venv/bin/activate

pip install librosa

這些命令將激活虛擬環(huán)境并安裝librosa庫(kù)。

3、合成視頻時(shí)報(bào)錯(cuò):在合成視頻時(shí),可能會(huì)遇到一個(gè)錯(cuò)誤:No such file or directory: '/tmp/gradio/xxx'。這意味著系統(tǒng)無(wú)法找到該文件或目錄。為了解決這個(gè)問(wèn)題,可以創(chuàng)建一個(gè)目錄。使用以下命令可以輕松地創(chuàng)建該目錄:mkdir -p /tmp/gradio

4、如果遇到提示找不到ffmpeg的情況,嘗試先下載并安裝ffmpeg。通過(guò)以下鏈接下載安裝程序:http://ffmpeg.org/download.html

Stable Diffusion本地部署要求

隨著Stable Diffusion在AI藝術(shù)生成領(lǐng)域的不斷發(fā)展和普及,越來(lái)越多的用戶希望能夠在自己的本地機(jī)器上部署SD模型,以獲得更好的性能表現(xiàn)和使用體驗(yàn)。然而,部署一個(gè)大規(guī)模的生成模型如SD需要強(qiáng)大的計(jì)算資源和硬件配置。那么,究竟需要怎樣的計(jì)算機(jī)配置才能流暢地運(yùn)行SD模型呢?

一、GPU

GPU最好使用NVIDIA的RTX系列,如RTX 3070,RTX 4070和RTX4060。老一代的RTX 2000系列也可考慮,但性能較新卡略低,且顯存略小。不推薦使用專業(yè)級(jí)顯卡如NVIDIA A6000,其擁有大量視頻內(nèi)存,非常適合預(yù)算充足的情況。不要使用筆記本等移動(dòng)GPU,因?yàn)槠滹@存和功耗都有限,難以進(jìn)行高效的模型訓(xùn)練。如果條件允許,可以使用多張GPU進(jìn)行多卡訓(xùn)練,以提高訓(xùn)練速度。

二、CPU

除了GPU之外,具有高核心數(shù)的CPU也是必不可少的。Stable Diffusion的訓(xùn)練和推理過(guò)程需要進(jìn)行大量的矩陣計(jì)算,對(duì)CPU的并行計(jì)算能力有很高的要求。一般來(lái)說(shuō),至少需要8核心或更多的CPU,如i9-13900;i7-13700;i5 13400;i3 12100;i7 12700 ;i9 12900 等。

三、RAM內(nèi)存

大量的RAM內(nèi)存同樣不可或缺。本地部署SD時(shí),系統(tǒng)內(nèi)存最好在32GB以上。這可以顯著加速數(shù)據(jù)交換與傳輸速度。與GPU類似,更多的GPU卡也會(huì)需要更多的系統(tǒng)內(nèi)存配合。

四、存儲(chǔ)方面

系統(tǒng)盤(pán)無(wú)特殊要求,需要1TB甚至更大的磁盤(pán)空間來(lái)存儲(chǔ)大規(guī)模的模型文件、數(shù)據(jù)集和生成結(jié)果。使用RAID 0可以獲得更高的讀取速度。

五、網(wǎng)絡(luò)方面

網(wǎng)絡(luò)對(duì)于Stable Diffusion的部署和使用都非常關(guān)鍵,需要準(zhǔn)備以下幾方面:

1、帶寬需求

初始部署需要下載模型文件,通常數(shù)十GB甚至上百GB,需要具備穩(wěn)定的大帶寬來(lái)支持。訓(xùn)練過(guò)程中也需要大量的數(shù)據(jù)流量,務(wù)必確認(rèn)網(wǎng)絡(luò)帶寬足夠,例如千兆寬帶。如果使用云訓(xùn)練平臺(tái),還需要考慮上傳訓(xùn)練結(jié)果的流量。

2、網(wǎng)絡(luò)速度

部署時(shí)的下載速度直接影響部署進(jìn)度,需要盡可能高的網(wǎng)絡(luò)速度。訓(xùn)練時(shí)網(wǎng)絡(luò)速度影響同步效率。內(nèi)網(wǎng)訓(xùn)練可以做到更低延遲。公網(wǎng)環(huán)境下,光纖寬帶的低延遲有利于分布式訓(xùn)練。

3、網(wǎng)絡(luò)穩(wěn)定性

訓(xùn)練過(guò)程需要持續(xù)不間斷的連接,斷網(wǎng)會(huì)造成失敗。部署和使用期間應(yīng)盡量避免網(wǎng)絡(luò)抖動(dòng)現(xiàn)象的發(fā)生。

4、代理和緩存

可以使用本地代理做緩存,加速模型和數(shù)據(jù)的下載。代理同時(shí)還可以提供一定的數(shù)據(jù)安全性和隱私保護(hù)。

5、數(shù)據(jù)安全

如果涉及敏感數(shù)據(jù),要注意加密傳輸和訪問(wèn)控制。遵守相關(guān)的數(shù)據(jù)隱私規(guī)范,謹(jǐn)慎上傳或共享數(shù)據(jù)。

六、軟件方面

操作系統(tǒng)需要Windows 10/11或者較新版本的Linux發(fā)行版,如Ubuntu 20.04+。Python版本需要在3.7以上,主要的深度學(xué)習(xí)框架如PyTorch、TensorFlow也需要相應(yīng)安裝,并確認(rèn)版本與硬件兼容??赡苓€需要安裝許多Python庫(kù)來(lái)支持不同的數(shù)據(jù)加載和圖像處理功能。使用Docker等虛擬化技術(shù)可以簡(jiǎn)化軟件環(huán)境配置。

藍(lán)海大腦集成SD的PC集群解決方案

AIGC和ChatGPT4技術(shù)的爆燃和狂飆,讓文字生成、音頻生成、圖像生成、視頻生成、策略生成、GAMEAI、虛擬人等生成領(lǐng)域得到了極大的提升。不僅可以提高創(chuàng)作質(zhì)量,還能降低成本,增加效率。同時(shí),對(duì)GPU和算力的需求也越來(lái)越高,因此GPU服務(wù)器廠商開(kāi)始涌向該賽道,為這一領(lǐng)域提供更好的支持。在許多領(lǐng)域,如科學(xué)計(jì)算、金融分析、天氣預(yù)報(bào)、深度學(xué)習(xí)、高性能計(jì)算、大模型構(gòu)建等領(lǐng)域,需要大量的計(jì)算資源來(lái)支持。為了滿足這些需求,藍(lán)海大腦PC集群解決方案應(yīng)運(yùn)而生。

PC集群是一種由多臺(tái)計(jì)算機(jī)組成的系統(tǒng),這些計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)連接在一起,共同完成計(jì)算任務(wù)。PC集群解決方案是指在PC集群上運(yùn)行的軟件和硬件系統(tǒng),用于管理和優(yōu)化計(jì)算資源,提高計(jì)算效率和可靠性。

藍(lán)海大腦PC集群解決方案提供高密度部署的服務(wù)器和PC節(jié)點(diǎn),采用4U機(jī)架式設(shè)計(jì),每個(gè)機(jī)架可插拔4個(gè)PC節(jié)點(diǎn)。融合了PC的高主頻和高性價(jià)比以及服務(wù)器的穩(wěn)定性的設(shè)計(jì),實(shí)現(xiàn)了遠(yuǎn)程集中化部署和管理運(yùn)維。同時(shí),采用模塊化可插拔設(shè)計(jì),使維護(hù)和升級(jí)變得更加容易。

同時(shí),集成Stable Diffusion AI模型,可以輕松地安裝和使用,無(wú)需進(jìn)行任何額外的配置或設(shè)置。與傳統(tǒng)的人工創(chuàng)作方式相比,Stable Diffusion Al模型可以更快地生成高品質(zhì)的創(chuàng)作內(nèi)容。通過(guò)集成這個(gè)模型,可以使創(chuàng)作者利用人工智能技術(shù)來(lái)優(yōu)化創(chuàng)作流程。另外,藍(lán)海大腦PC集群解決方案還具有開(kāi)箱即用的特點(diǎn),不僅易于安裝和使用,而且能夠快速適應(yīng)各種創(chuàng)作工作流程。這意味著用戶可以在短時(shí)間內(nèi)開(kāi)始創(chuàng)作,并且在整個(gè)創(chuàng)作過(guò)程中得到更好的體驗(yàn)。

wKgaomUG7COAJ_-bAAKLaVBhLao355.png

一、主要技術(shù)指標(biāo)

1、支持遠(yuǎn)程開(kāi)關(guān)機(jī)和硬重啟PC節(jié)點(diǎn)

2、集成的供電和管理背板,每個(gè)節(jié)點(diǎn)750W峰值供電功率

3、機(jī)箱管理單元支持節(jié)點(diǎn)遠(yuǎn)程上下電

4、每個(gè)PC節(jié)點(diǎn)支持熱插拔,單個(gè)節(jié)點(diǎn)故障不影響其他節(jié)點(diǎn)工作

5、獨(dú)立的管理網(wǎng)口和串口

6、每個(gè)節(jié)點(diǎn)配置2個(gè)可插拔8038高功率服務(wù)器風(fēng)扇,提供智能溫控

二、客戶收益

Stable Diffusion技術(shù)對(duì)游戲產(chǎn)業(yè)帶來(lái)了極大的影響和改變。它提升了游戲圖像的質(zhì)量和真實(shí)感、增強(qiáng)了游戲體驗(yàn)和沉浸感、優(yōu)化了游戲制作流程、擴(kuò)展了游戲應(yīng)用領(lǐng)域,并推動(dòng)了游戲產(chǎn)業(yè)的發(fā)展和創(chuàng)新。這些都表明,Stable Diffusion技術(shù)在游戲產(chǎn)業(yè)中的應(yīng)用前景十分廣闊,有助于進(jìn)一步推動(dòng)游戲行業(yè)的發(fā)展,提高用戶體驗(yàn)和娛樂(lè)價(jià)值。

1、提升游戲圖像質(zhì)量和真實(shí)感

Stable Diffusion可以在保證渲染速度的前提下,提高游戲圖像的細(xì)節(jié)和真實(shí)感。傳統(tǒng)的光線追蹤方法需要檢查和模擬每條光線,這樣會(huì)消耗大量計(jì)算資源,并放緩渲染速度。而Stable Diffusion則利用深度學(xué)習(xí)技術(shù)對(duì)光線的擴(kuò)散過(guò)程進(jìn)行建模,使得處理數(shù)百萬(wàn)條光線所需的計(jì)算時(shí)間更短,同時(shí)還能夠生成更為精準(zhǔn)的光線路徑。這意味著,Stable Diffusion可以讓計(jì)算機(jī)產(chǎn)生更加逼真的景觀、人物、物品等元素,在視覺(jué)效果上得到質(zhì)的飛躍。

2、增強(qiáng)游戲體驗(yàn)和沉浸感

游戲是一個(gè)交互式體驗(yàn),它的目標(biāo)是盡可能地讓玩家沉浸到虛構(gòu)的世界中。Stable Diffusion可以使游戲環(huán)境變得更加真實(shí),并增添一些更具有交互性和觀賞性的場(chǎng)景。例如,利用Stable Diffusion技術(shù),游戲可以在水面上添加波紋、落葉,或者使搖曳的草叢更逼真。這些改善能夠讓玩家更好地感受游戲中所處的環(huán)境,增強(qiáng)沉浸感。

3、優(yōu)化游戲制作流程

Stable Diffusion的應(yīng)用可以提高游戲開(kāi)發(fā)的效率和質(zhì)量,減少手動(dòng)制作和修改的工作量。渲染過(guò)程的快速執(zhí)行還可以加速開(kāi)發(fā)周期,甚至使一些在過(guò)去被看做是計(jì)算機(jī)圖形學(xué)難題的事情變得可能。例如,在模擬復(fù)雜的自然現(xiàn)象或在大范圍內(nèi)生成游戲元素時(shí),使用Stable Diffusion可有效降低游戲開(kāi)發(fā)的成本和時(shí)間,讓開(kāi)發(fā)者有更多的精力關(guān)注其他方面的設(shè)計(jì)和創(chuàng)意。

4、擴(kuò)展游戲的應(yīng)用領(lǐng)域

Stable Diffusion的應(yīng)用使得游戲在更多的領(lǐng)域得到應(yīng)用。例如,在心理治療、教育、文化傳播等領(lǐng)域中,人工智能游戲可以根據(jù)用戶的情緒和行為變化來(lái)調(diào)整游戲內(nèi)容和策略,為用戶提供更符合需求和娛樂(lè)性的游戲體驗(yàn)。此外,利用Stable Diffusion技術(shù),游戲可以生成不同類型的場(chǎng)景,包括虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)等體驗(yàn),開(kāi)發(fā)出更豐富更多變的游戲內(nèi)容。

5、推動(dòng)游戲產(chǎn)業(yè)的發(fā)展和創(chuàng)新

Stable Diffusion作為先進(jìn)的計(jì)算機(jī)圖形學(xué)技術(shù)之一,進(jìn)一步推動(dòng)了游戲產(chǎn)業(yè)的發(fā)展和創(chuàng)新。利用人工智能技術(shù)渲染的游戲?qū)?huì)產(chǎn)生更高品質(zhì)、更廣泛的游戲類別,從而吸引更多領(lǐng)域的玩家參與,并且會(huì)推動(dòng)相關(guān)行業(yè)的發(fā)展,如文化傳媒行業(yè)、數(shù)字娛樂(lè)業(yè)等。同時(shí),穩(wěn)定性更好、性能更高的Stable Diffusion技術(shù)還具有在未來(lái)制造更復(fù)雜的虛擬世界的潛力,例如更多樣化、更逼真、更具交互性的虛擬現(xiàn)實(shí)環(huán)境和游戲。

三、PC集群解決方案的優(yōu)勢(shì)

1、高性能

PC集群解決方案可將多臺(tái)計(jì)算機(jī)的計(jì)算能力整合起來(lái),形成一個(gè)高性能的計(jì)算系統(tǒng)??芍С衷诙虝r(shí)間內(nèi)完成大量的計(jì)算任務(wù),提高計(jì)算效率。

2、可擴(kuò)展性

可以根據(jù)需要進(jìn)行擴(kuò)展,增加計(jì)算節(jié)點(diǎn),提高計(jì)算能力。這種擴(kuò)展可以是硬件的,也可以是軟件的,非常靈活。

3、可靠性

PC集群可以通過(guò)冗余設(shè)計(jì)和備份策略來(lái)提高系統(tǒng)的可靠性。當(dāng)某個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí),其他節(jié)點(diǎn)可以接管其任務(wù),保證計(jì)算任務(wù)的順利進(jìn)行。

4、低成本

相比于傳統(tǒng)的超級(jí)計(jì)算機(jī),PC集群的成本更低。這是因?yàn)镻C集群采用的是普通的PC硬件,而不是專門(mén)的高性能計(jì)算硬件。

四、PC集群解決方案的應(yīng)用領(lǐng)域有哪些?

PC集群是指將多臺(tái)個(gè)人電腦連接在一起,通過(guò)網(wǎng)絡(luò)協(xié)同工作,實(shí)現(xiàn)高性能計(jì)算的一種方式。它的應(yīng)用領(lǐng)域非常廣泛,以下是一些常見(jiàn)的應(yīng)用領(lǐng)域:

1、科學(xué)計(jì)算

PC集群可以用于各種科學(xué)計(jì)算,如天文學(xué)、生物學(xué)、物理學(xué)、化學(xué)等領(lǐng)域的計(jì)算模擬和數(shù)據(jù)分析。

2、工程計(jì)算

PC集群可以用于工程領(lǐng)域的計(jì)算,如飛機(jī)設(shè)計(jì)、汽車設(shè)計(jì)、建筑結(jié)構(gòu)分析等。

3、金融計(jì)算

PC集群可以用于金融領(lǐng)域的計(jì)算,如股票交易、風(fēng)險(xiǎn)評(píng)估、投資組合優(yōu)化等。

4、大數(shù)據(jù)處理

PC集群可以用于大數(shù)據(jù)處理,如數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、人工智能等領(lǐng)域的數(shù)據(jù)處理和分析。

5、圖像處理

PC集群可以用于圖像處理,如視頻編碼、圖像識(shí)別、虛擬現(xiàn)實(shí)等領(lǐng)域的圖像處理和渲染。

五、常用配置推薦

1、處理器,CPU:

i9-13900 24C/32T/2.00GHz/32MB/65W/Up to DDR5 5600 MT/s / Up to DDR4 3200 MT/s

i7-13700 16C/24T/2.10GHz/30MB/65W/Up to DDR5 5600 MT/s / Up to DDR4 3200 MT/s

i5 13400 10C/16T/1.80GHz/20MB/65W/Up to DDR5 4800 MT/s /Up to DDR4 3200 MT/s

i3 13100 4C/8T/3.40GHz/12MB/60W/Up to DDR5 4800 MT/s /Up to DDR4 3200 MT/s

G6900 2C/2T/3.40GHz/4MB/46W/Up to DDR5 4800 MT/s /Up to DDR4 3200 MT/s

G7400 2C/4T/3.70GHz/6MB/46W/Up to DDR5 4800 MT/s /Up to DDR4 3200 MT/s

i3 12100 4C/8T/3.30GHz/12MB/60W/Up to DDR5 4800 MT/s /Up to DDR4 3200 MT/s

i5 12400 6C/12T/2.50GHz/18MB/65W/Up to DDR5 4800 MT/s /Up to DDR4 3200 MT/s

i7 12700 12C/20T/2.10GHz/25MB/65W/Up to DDR5 4800 MT/s /Up to DDR4 3200 MT/s

i9 12900 16C/24T/2.40GHz/30MB/65W/Up to DDR5 4800 MT/s /Up to DDR4 3200 MT/s

2、顯卡GPU:

NVIDIA RTX GeForce 3070 8GB

NVIDIA RTX GeForce 3080 10GB

NVIDIA RTX GeForce 4070 12GB

NVIDIA RTX GeForce 4060Ti 8GB or 16GB

3、內(nèi)存:

32GB×2

4、系統(tǒng)盤(pán):

M.2 500GB

5、數(shù)據(jù)盤(pán):

500GB 7200K

wKgZomUG7COAPLXYAAJsVCBoNHM809.jpg

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30728

    瀏覽量

    268886
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    47183

    瀏覽量

    238247
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5500

    瀏覽量

    121111
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    UPS核心基礎(chǔ)知識(shí)

    UPS核心基礎(chǔ)知識(shí)
    發(fā)表于 06-11 15:51

    信號(hào)完整性分析基礎(chǔ)知識(shí)

    信號(hào)完整性分析基礎(chǔ)知識(shí)——很不錯(cuò)的學(xué)習(xí)內(nèi)容
    發(fā)表于 01-06 14:35 ?0次下載

    信號(hào)完整性分析基礎(chǔ)知識(shí)

    Avago Technologies信號(hào)完整性分析基礎(chǔ)知識(shí)
    發(fā)表于 06-01 17:48 ?0次下載

    數(shù)字視頻處理基礎(chǔ)知識(shí)

    數(shù)字視頻處理基礎(chǔ)知識(shí)免費(fèi)下載。
    發(fā)表于 03-28 15:08 ?0次下載

    Stability AI開(kāi)源圖像生成模型Stable Diffusion

    Stable Diffusion 的很多用戶已經(jīng)公開(kāi)發(fā)布了生成圖像的樣例,Stability AI 的首席開(kāi)發(fā)者 Katherine Crowson 在推特上分享了許多圖像?;?AI
    的頭像 發(fā)表于 09-21 15:37 ?2951次閱讀

    大腦視覺(jué)信號(hào)被Stable Diffusion復(fù)現(xiàn)圖像!

    它不需要在復(fù)雜的深度學(xué)習(xí)模型上進(jìn)行訓(xùn)練或做精細(xì)的微調(diào),只需要做好fMRI(功能磁共振成像技術(shù))成像到Stable Diffusion中潛在表征的簡(jiǎn)單線性映射關(guān)系就行。
    的頭像 發(fā)表于 03-16 10:26 ?812次閱讀

    一文讀懂Stable Diffusion教程,搭載高性能PC集群,實(shí)現(xiàn)生成式AI應(yīng)用

    PC Farm、生成式AIStable Diffusion模型都是非常有用的工具和技術(shù),可以幫助用戶快速構(gòu)建和管理計(jì)算機(jī)集群,生成高質(zhì)量的數(shù)據(jù)和圖像,提高模型的泛化能力和魯棒性。
    的頭像 發(fā)表于 05-01 07:47 ?2337次閱讀
    一文讀懂<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b>教程,搭載高性能PC集群,實(shí)現(xiàn)生成式<b class='flag-5'>AI</b>應(yīng)用

    使用OpenVINO?在算力魔方上加速stable diffusion模型

    Stable Diffusion 是 stability.ai 開(kāi)源的 AI 圖像生成模型,實(shí)現(xiàn)輸入文字,生成圖像的功能。Stable
    的頭像 發(fā)表于 05-12 09:10 ?1459次閱讀
    使用OpenVINO?在算力魔方上加速<b class='flag-5'>stable</b> <b class='flag-5'>diffusion</b>模型

    優(yōu)化 Stable Diffusion 在 GKE 上的啟動(dòng)體驗(yàn)

    不同的解決方案 (可參考https://github.com/nonokangwei/Stable-Diffusion-on-GCP),可以快速地分別在 GCP Vertex AI,GKE,和基于 Agones 的平臺(tái)上部署
    的頭像 發(fā)表于 06-03 08:35 ?885次閱讀

    iPhone兩秒出圖,目前已知的最快移動(dòng)端Stable Diffusion模型來(lái)了

    近日,Snap 研究院推出最新高性能 Stable Diffusion 模型,通過(guò)對(duì)網(wǎng)絡(luò)結(jié)構(gòu)、訓(xùn)練流程、損失函數(shù)全方位進(jìn)行優(yōu)化,在 iPhone 14 Pro 上實(shí)現(xiàn) 2 秒出圖(512x512
    的頭像 發(fā)表于 06-12 15:25 ?774次閱讀
    iPhone兩秒出圖,目前已知的最快移動(dòng)端<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b>模型來(lái)了

    美格智能高算力AI模組成功運(yùn)行Stable Diffusion大模型

    我們?cè)谏弦黄恼碌膶?dǎo)語(yǔ)中提到:”AI人工智能這個(gè)已經(jīng)存在了數(shù)十年的概念,已然成為未來(lái)幾十年類社會(huì)發(fā)展的核心變量。面對(duì)變革,每個(gè)人、每個(gè)企業(yè)都需要思索,如何與時(shí)代的潮流,一同躍進(jìn)“。近日,美格智能
    的頭像 發(fā)表于 07-21 11:17 ?835次閱讀

    樹(shù)莓派能跑Stable Diffusion了?

    Stable Diffusion是一種文本到圖像生成的大型深度學(xué)習(xí)模型,它可以根據(jù)文本的描述生成詳細(xì)的圖像,也可以用于其他任務(wù),如圖像修復(fù)、圖像擴(kuò)展、圖像翻譯等。
    的頭像 發(fā)表于 07-26 11:46 ?1541次閱讀

    Stable Diffusion完整指南核心基礎(chǔ)知識(shí)、制作AI數(shù)字視頻本地部署要求

    13400;i3 12100;i7 12700 ;i9 12900? 在當(dāng)今的數(shù)字時(shí)代,人工智能正在逐步改變?nèi)藗兊纳詈凸ぷ鞣绞?。其?Stable Diffusion作為一種深度學(xué)習(xí)技術(shù),受到廣泛關(guān)注。它能夠通過(guò)對(duì)圖像或
    的頭像 發(fā)表于 09-07 14:12 ?2197次閱讀
    <b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b>的<b class='flag-5'>完整</b><b class='flag-5'>指南</b>:<b class='flag-5'>核心</b><b class='flag-5'>基礎(chǔ)知識(shí)</b>、<b class='flag-5'>制作</b><b class='flag-5'>AI</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>人</b><b class='flag-5'>視頻</b>和<b class='flag-5'>本地</b><b class='flag-5'>部署</b><b class='flag-5'>要求</b>

    Stability AI推出Stable audio的文本到音頻生成人工智能平臺(tái)

    的圖像平臺(tái)Stable diffusionAI模型相同,但使用音頻而非圖像進(jìn)行訓(xùn)練。用戶可以使用它為任何項(xiàng)目生成歌曲或背景音頻。 音頻擴(kuò)散模型傾向于生成固定長(zhǎng)度的音頻,這對(duì)音樂(lè)制作來(lái)
    的頭像 發(fā)表于 09-20 10:20 ?1305次閱讀

    如何開(kāi)啟Stable Diffusion WebUI模型推理部署

    如何開(kāi)啟Stable Diffusion WebUI模型推理部署
    的頭像 發(fā)表于 12-11 20:13 ?91次閱讀
    如何開(kāi)啟<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b> WebUI模型推理<b class='flag-5'>部署</b>
    RM新时代网站-首页