StableDiffusion的完整指南:核心基础知识制作AI数字人视频和本地部署要求

StableDiffusion的完整指南:核心基础知识、制作AI数字人视频和本地部署要求

★StableDiffusion;stable;diffusion;SD;stablediffussion;sadtalker;PC集群;PCFarm;PC农场;GPU集群;GAN;VAE;latent;AI绘图;AI文生图;文生图;图生图;虚拟数字人;数字人;PNDM;DDIM;U-Net;prompt;CLIP;diffusers;pipeline;NVIDIARTXGeForce3070;NVIDIARTXGeForce3080;NVIDIARTXGeForce4070;NVIDIARTXGeForce4060;i9-13900;i7-13700;i513400;i312100;i712700;i912900

StableDiffusion是一种扩散模型(diffusionmodel)的变体,叫做“潜在扩散模型”(latentdiffusionmodel;LDM)。扩散模型是在2015年推出的,其目的是消除对训练图像的连续应用高斯噪声,可以将其视为一系列去噪自编码器。StableDiffusion由3个部分组成:变分自编码器(VAE)、U-Net和一个文本编码器。添加和去除高斯噪声的过程被应用于这个潜在表示,然后将最终的去噪输出解码到像素空间中。在前向扩散过程中,高斯噪声被迭代地应用于压缩的潜在表征。每个去噪步骤都由一个包含残差神经网络(ResNet)中间的U-Net架构完成,通过从前向扩散往反方向去噪而获得潜在表征。最后,VAE解码器通过将表征转换回像素空间来生成输出图像。

SadTalker模型是一个使用图片与音频文件自动合成人物说话动画的开源模型。给模型一张图片以及一段音频文件,模型会根据音频文件把传递的图片进行人脸的相应动作,比如张嘴,眨眼,移动头部等动作。它从音频中生成3DMM的3D运动系数(头部姿势、表情),并隐式调制一种新颖的3D感知面部渲染,用于生成说话的头部运动视频。

在进行StableDiffusion本地部署时,需要满足一定的硬件和软件要求。首先,需要具备高性能的GPU集群,以支持大规模的模型训练和推理。同时,需要安装相应的软件环境,包括深度学习框架、Python编程语言和模型库等。此外,还需要具备相应的网络带宽和稳定性,以保证模型的下载和更新。

针对本地部署的硬件和软件要求,蓝海大脑高效、可靠和经济的PC集群解决方案采用高性能GPU节点和高速网络互联,能够满足大规模模型训练和推理的需求。同时,该方案提供多种深度学习框架和模型库,方便用户进行模型的训练和推理。此外,蓝海大脑PC集群解决方案还提供全面的安全防护措施,包括数据加密、访问控制和安全审计等,以确保用户数据的安全性和隐私性。

StableDiffusion完整核心基础知识

2022年AI图像生成领域迎来重大突破!StableDiffusion横空出世,一举击败传统深度学习,成为开启人工智能新纪元的强力引擎。它的出现既为工业界带来革命性创新,也让投资者看到巨大商机,AI再次变得"性感"起来。下面将以通俗易懂的语言,向大家全方位讲解StableDiffusion的原理、应用和训练技巧。

一、StableDiffusion核心基础内容

1、StableDiffusion模型原理

生成式模型可谓是AI界的“制假大师”,能生成看似真实的新数据。其中,GAN和StableDiffusion可以说是翘楚级的作品。这两类模型通过不同的技巧,可以捕捉训练数据的特征分布,然后生成类似风格的新样本。比如在计算机视觉领域,可以输出样子逼真的新图片;在自然语言处理领域,可以写出语义连贯的新文字。

GAN通过对抗训练实现,让生成器和判别器互相竞争,不断逼近真实数据分布。而StableDiffusion无需对抗,直接利用文本提示指导模型生成所需的输出。可以说,GAN和StableDiffusion如同变色龙,可根据需求变换不同的创作形态。为人类开拓一个广阔的想象空间,任何灵感都可以通过生成式模型试验实现,将抽象概念转换为具体作品。生成式模型助力人类创造力的释放和拓展,正在引领一个前所未有的创作新时代。

生成式模型的主流架构

下面主要就GAN详细描述。由于篇幅原因,VAE和Flow-basedmodels这里就不过多介绍。GAN的训练过程可比喻为一场精妙的舞台表演。表演由两大角色联手完成——生成器与判别器。生成器扮演制作“假货”的角色,生成尽可能逼真的假数据来欺骗判别器。判别器则扮演辨别真伪的角色,判断生成器输出的数据是真是假。

两者之间展开一场激烈的智慧竞赛。生成器不断提升自己的造假技术,使生成的假数据更加真实。判别器也在竞相增强自身的判断能力,来识别假数据的破绽。双方都在以极快的速度成长。要取得最佳的生成效果,生成器和判别器必须同步训练。这也增加了GAN的训练难度。在训练初期,生成器制造的假数据非常容易被判别器识破。但随着训练轮数的增多,生成器的造假水平越来越高,判别器也必须不断自我革新来跟上生成器的进步。

这里可以把生成器比喻为高明的画家,不断精进绘画技巧来制作逼真的艺术品。判别器则像鉴赏家,需要提高自己的审美和识别能力,才能判断画作的真伪。两者互相促进,最终画家可以画出真假难辨的作品。GAN训练过程中充满智慧的对抗与不断深化的博弈。表面上双方合作焕然一新,实际都在暗地努力进步。最终,生成器取得决定性优势,其生成效果达到欺骗判别器的视真程度。

SD文生图过程

StableDiffusion(SD)模型在图像生成任务上有着广泛的应用。其中最典型和基础的两大应用分别是文生图和图生图。

文生图(Text-to-Image)是将文本描述转换为图像的过程。可以输入一段文字到StableDiffusion模型中,描述想要生成的图像内容。模型会解析文本语义,经过迭代逐步生成出符合文本描述的图片。例如,输入“天堂,巨大的,海滩”等文字,模型会联想到天堂与海滩的概念,并图像化出一个美丽宽广的沙滩场景。文本描述越细致,生成的图像也会越符合预期。

SD图生图过程

图生图(Image-to-Image)在文生图的基础上,额外输入一张图像,根据文本描述对图片进行修饰和丰富。例如,先输入“天堂,巨大的,海滩”,生成一张美丽沙滩的图片。然后继续输入“海盗船”,同时输入先前生成的沙滩图。模型将解析文本语义,在原图片中添加一个海盗船,输出一张融合文本描述的新图像。可以看出,图生图保留原图片的主体内容,同时根据文本提示进行图像的二次创作。

感受SD模型强大的生成能力,大家可能会想到生成式领域上一个霸主模型GAN,与GAN模型不同的是,SD模型是属于扩散模型,是基于latent的扩散模型。那么扩散模型是什么呢?扩散模型是一种图像生成方法,通过逐步添加细节来生成图像。将图像的生成过程分为多个步骤,每个步骤都会对图像进行一定程度的修改和完善,这样经过20-50次“扩散”循环后,最终输出的图像就会变得更加精致。

下面是一个通过SD模型的推理过程,将随机高斯噪声矩阵逐步去燥并生成一张小别墅图片的直观示例。

SD模型的Inference过程

那么latent又是什么呢?基于latent的扩散模型在低维隐空间中进行“扩散”过程,而不是在实际像素空间中,大大降低了内存占用和计算复杂性。与常规扩散模型不同,latent扩散模型的主要特点是在训练和推理过程中都集中在latent空间中。

2、StableDiffusion模型的核心组件

SD模型主要由自动编码器(VAE),U-Net以及文本编码器三个核心组件构成。

SD模型文生图流程

1)自动编码器(VAE)

在图像生成任务中,VAE的编码器可以将输入图片转换为低维的特征表示,作为后续模型的输入。这些低维特征保留原图像的主要语义信息。而VAE的解码器则可以将编码器输出的低维特征再次恢复为完整的图像。解码器实现了从压缩特征到图像空间的映射。不同的VAE结构设计,会使其在图像中的注意力区域不同,从而影响生成图片的细节与整体颜色风格。

VAE的主要工作

VAE能够高效压缩图像到低维潜空间后仍实现良好重建,其关键在于自然图像具有高度规律性。例如,人脸图像中眼睛、鼻子、嘴巴遵循特定空间结构;猫身体有固定数量四肢以及特定生物学形态。这种先验知识使得VAE可以只保留图像最关键信息。即使在压缩特征损失的情况下,只要生成图像大小合适,重建后的语义内容和结构依然能够保持可识别性。

2)U-Net

在扩散模型生成流程中,需要逐步将随机噪声转化为图像隐特征。实现方式是:

-模型预测当前噪声的残差,即需要调整的量。

-利用调度算法(如PNDM、DDIM等)结合预测残差,重新构建并优化噪声。

-经过多轮扩散优化,最终得到可生成目标图像的隐特征。

实现扩散模型的网络结构通常采用U-Net架构。U-Net由多层ResNet模块串联构成,并在模块之间添加交叉注意力机制。交叉注意力可用于接收额外的文本指令,指导图像生成方向。

常规U-Net结构

ResNet模块与CrossAttention模块的结合

3)文本编码器

在扩散模型中,需要输入文本prompt,以指导图像生成方向。实现方式是:

-使用文本编码器(通常是CLIP等预训练模型),对prompt进行编码,得到表示其语义信息的词向量。

-将文本词向量通过交叉注意力机制,输入到扩散模型的U-Net中。

-文本词向量作为条件信息,引导U-Net的图像生成过程,以输出符合文本意图的图片。

3、StableDiffusion推理流程

要运行StableDiffusion(SD),可以直接使用diffusers库中的完整pipeline流程。

pipinstalldiffuserstransformersscipyftfyaccelerate

导入diffusers库:

fromdiffusersimportStableDiffusionPipeline

初始化SD模型并加载预训练权重:

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

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

pipe.to("cuda")

如果GPU内存少于10GB,可以加载float16精度的SD模型:

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

使用pipeline来运行SD模型。例如,给定一个prompt和一张图片,可以使用以下代码生成一张新的图片:

prompt="aphotographofanastronautridingahorse"image=pipe(prompt).images[0]

由于没有固定seed,每次运行代码都会得到一个不同的图片。预训练文件夹中的模型主要由以下几个部分组成:text_encoder和tokenizer,scheduler,unet,vae。其中text_encoder,scheduler,unet,vae分别代表SD模型的核心结构。此外,还有一个名为Tokenizer的文件夹表示标记器。标记器将Prompt中的每个词转换为一个称为标记(token)的数字,符号化(Tokenization)是计算机理解单词的方式。然后通过text_encoder将每个标记转换为一个768维的向量称为嵌入(embedding),用于U-Net的condition。

Tokenizer的作用

有时候在运行完pipeline后,可能会遇到生成的图片全黑情况。这是因为生成的图片可能触发了NSFW(不适宜内容)机制,导致生成一些违规的图片。为解决这个问题,建议使用自定义的seed来重新生成图片。

可以使用以下代码来设置seed,并控制生成图片的输出:

#importtorch

#设置seedtorch.manual_seed(1024)

#创建生成器generator=torch.Generator("cuda").manual_seed(1024)

#使用设置的seed和生成器来生成图片image=pipe(prompt,guidance_scale=7.5,generator=generator).images[0]

将pipeline的完整结构梳理好之后,再对一些核心参数进行讲解:

2)guidance_scale代表文本提示对图像生成过程的影响程度。具体来说,它控制着有条件生成所使用噪声的比例。通常该值在7到8.5之间取值较好,如果取值过大,生成的图片质量可能会很高,但多样性会下降。

其中代表CFG,当越大时,condition起的作用越大,即生成的图像更和输入文本一致,当被设置为时,图像生成是无条件的,文本提示会被忽略。

3)输出尺寸

除了将预训练的SD模型整体加载,还可以选择加载其不同的组件。通过以下方式实现:

从transformers库中加载CLIPTextModel和CLIPTokenizer:

fromtransformersimportCLIPTextModel,CLIPTokenizer

从diffusers库中加载AutoencoderKL、UNet2DConditionModel和PNDMScheduler:

fromdiffusersimportAutoencoderKL,UNet2DConditionModel,PNDMScheduler

还需要加载LMSDiscreteScheduler:

fromdiffusersimportLMSDiscreteScheduler

可以单独加载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")

单独加载U-Net模型:

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

单独加载调度算法:

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

二、StableDiffusion经典应用场景

1、文本生成图片

输入:prompt

输入:图像

2、图片生成图片

输入:图像+prompt

输出:图像

在图片生成图片的预处理阶段,首先使用VAE编码器将输入图像转换为低维度的隐空间特征。然后添加噪声到隐空间特征中,去噪强度决定加入噪声的数量。如果去噪强度为0,则不添加任何噪声;如果去噪强度为1,则会添加最大数量的噪声,使得潜像成为一个完全随机的张量。在这种情况下,图片转图像的过程就完全相当于文本转图像,因为初始潜像完全是随机的噪声。

去噪强度(Denoisingstrength)控制噪音的加入量

3、图片inpainting

输入:图像+mask+prompt

VAEEncode使用VAE的编码器将输入的图像和mask转换成为低维度的隐空间特征。然后,VAEDecode利用VAE的解码器将低维度的隐空间特征转换为代表图像的像素空间。

下面是如何进行图像inpainting的直观过程:

4、使用controlnet辅助生成图片

输入:素描图+prompt

使用ControlNet辅助生成图片

5、超分辨率重建

输入:prompt/(图像+prompt)

三、StableDiffusion训练过程

StableDiffusion的训练过程可以被视为在最高维度上添加噪声和去除噪声的过程,并在对噪声的“对抗与攻防”中学习生成图像的能力。具体地说,在训练过程中首先对干净的样本添加噪声进行处理,采用多次逐步增加噪声的方式,直到干净的样本变成纯噪声。

SD训练时的加噪过程

接下来,让SD模型学习去噪过程,并最终抽象出一个高维函数,这个函数能够在纯噪声中“优化”噪声,从而得到一个干净的样本。具体来说,将去噪过程具象化为使用U-Net来预测噪声,并结合调度算法逐步去噪的过程。

SD训练时的去噪过程

在添加噪声的时候,StableDiffusion采用的是逐步增加的策略,每一步只增加一小部分噪声,实现“小步快跑”的稳定加噪过程。这类似于移动互联网产品设计中的迭代与快速推出原则。

另一方面,每次增加的噪声量级也可以不同,例如可以设定5个不同量级的噪声,每次随机选择一种量级增加到样本图片中。这进一步增加了噪声的多样性。在去噪过程中,同样采用逐步减少噪声的策略,每一步预测并去除一部分噪声,实现稳定的去噪。

多量级噪声

为了使网络能够知道当前处于k步的哪个阶段,需要使用位置编码。通过将步数作为输入传递给网络,位置编码能够让网络知道当前所处的阶段。这种操作与Transformer中的操作类似。

使用Positionalembeddings对训练迭代的步数进行编码

四、StableDiffusion性能优化

1、使用TF32精度

导入PyTorch并启用TF32支持,实现性能和精度的平衡。TF32精度具有以下作用和优势:

1)加速训练速度:使用TF32精度可以在保持相对较高的模型精度的同时,加快模型训练的速度。

2)减少内存需求:TF32精度相对于传统的浮点数计算(如FP32)需要更少的内存存储。这对于训练大规模的深度学习模型尤为重要,可以减少内存的占用。

3)可接受的模型精度损失:使用TF32精度会导致一定程度的模型精度损失,因为低精度计算可能无法精确表示一些小的数值变化。然而,对于大多数深度学习应用,TF32精度仍然可以提供足够的模型精度。

2、使用FP16半精度

导入PyTorch库,并从diffusers库中导入DiffusionPipeline。使用"runwayml/stable-diffusion-v1-5"预训练模型创建一个DiffusionPipeline对象pipe,同时设置torch_dtype为torch.float16,以使用FP16半精度进行训练。

3、对注意力模块进行切片

首先,导入PyTorch库,并从diffusers库中导入DiffusionPipeline。然后,使用"runwayml/stable-diffusion-v1-5"预训练模型创建一个DiffusionPipeline对象pipe,同时设置torch_dtype为torch.float16,以使用FP16半精度进行训练。接下来,将pipe转移到CUDA设备上,以便在GPU上运行。

4、对VAE进行切片

与注意力模块切片类似,也可以对VAE进行切片,让VAE每次只处理Batch(32)中的一张图片,从而大幅减少内存占用。

首先,导入PyTorch库,并从diffusers库中导入StableDiffusionPipeline。然后,使用"runwayml/stable-diffusion-v1-5"预训练模型创建一个StableDiffusionPipeline对象pipe,同时设置torch_dtype为torch.float16,以使用FP16半精度进行训练。接下来,将pipe转移到CUDA设备上,以便在GPU上运行。为启用VAE切片操作,调用pipe对象的enable_vae_slicing()方法。然后,使用prompt作为输入,将一批32张图片通过pipe进行生成,并将生成的图片存储在images变量中。

5、大图像切块

当需要生成4K或更高分辨率的图像,但内存资源有限时,可以采用图像切块的技术。通过对图像进行切块,让VAE的编码器和解码器逐一处理每个切块后的图像,最后将拼接在一起生成最终的大图像。

首先,导入PyTorch库,并从diffusers库中导入StableDiffusionPipeline。然后,使用"runwayml/stable-diffusion-v1-5"预训练模型创建一个StableDiffusionPipeline对象pipe,同时设置torch_dtype为torch.float16,以使用FP16半精度进行训练。接下来,将pipe转移到CUDA设备上,以便在GPU上运行。为启用图像切块操作,调用pipe对象的enable_vae_tiling()方法。然后,使用prompt作为输入,并指定图像的宽度为3840像素,高度为2224像素,以及生成步骤的数量为20。通过调用pipe对象的生成方法,可以得到生成的图像。最后,从生成的图像中获取第一张图像并将其存储在image变量中。

6、CPU<->GPU切换

可将整个SD模型或SD模型的部分模块的权重加载到CPU中,并在推理时再将所需的权重加载到GPU。以下是如何使用PyTorch和StableDiffusionPipeline实现的代码:

importtorch

#将整个SD模型加载到CPU

pipe=StableDiffusionPipeline.from_pretrained(

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

#开启子模块的CPUoffload功能,即可以在CPU上执行某些子模块的计算

pipe.enable_sequential_cpu_offload()

#开启整个SD模型的CPUoffload功能,即可以在CPU上执行整个SD模型的计算

pipe.enable_model_cpu_offload()

这段代码将整个SD模型或SD模型的部分模块的权重加载到CPU中,并在推理时再将所需的权重加载到GPU,以实现更好的性能和灵活性。

7、变换MemoryFormat

在计算机视觉领域,有两种常见的内存格式,分别是channelsfirst(NCHW)和channelslast(NHWC)。将channelsfirst转换为channelslast可能会提高推理速度,但需要依赖于特定的AI框架和硬件。

在channelslast内存格式中,张量的维度顺序为(batch_size,height,width,channels)。其中,batch_size表示批处理大小,height和width表示图像或特征图的高度和宽度,channels表示通道数。

相比之下,channelsfirst是另一种内存布局,其中通道维度被放置在张量的第二个维度上。在channelsfirst内存格式中,张量的维度顺序为(batch_size,channels,height,width)。

选择channelslast或channelsfirst内存格式通常取决于硬件和软件平台以及所使用的深度学习框架。不同的平台和框架可能对内存格式有不同的偏好和支持程度。

在一些情况下,channelslast内存格式具有以下优势:

1)内存访问效率:在一些硬件架构中,如CPU和GPU,channelslast内存格式能够更好地利用内存的连续性,从而提高数据访问的效率。

2)硬件加速器支持:一些硬件加速器(如NVIDIA的TensorCores)对于channelslast内存格式具有特定的优化支持,可以提高计算性能。

3)跨平台兼容性:某些深度学习框架和工具更倾向于支持channelslast内存格式,使得在不同的平台和框架之间迁移模型更加容易。

需要注意的是,选择内存格式需要根据具体的硬件、软件和深度学习框架来进行评估。某些特定的操作、模型结构或框架要求可能会对内存格式有特定的要求或限制。因此,建议在特定环境和需求下进行测试和选择,以获得最佳的性能和兼容性。

8、使用xFormers

使用xFormers插件能够优化注意力模块的计算,提升约20%的运算速度。

导入PyTorch库

创建一个名为"pipe"的StableDiffusionPipeline对象,使用预训练模型"runwayml/stable-diffusion-v1-5",数据类型为torch.float16,并将模型迁移到"cuda"设备上。

通过调用.enable_xformers_memory_efficient_attention()方法,使用xFormers插件来优化注意力模块的计算,从而提升约20%的运算速度。

如何使用StableDiffusion制作AI数字人视频

下面介绍如何安装SadTalker插件。

首先,需要确保已经成功安装StableDiffusionWebUI。然后,从Github上获取SadTalker的开源代码,其地址为:

一、SadTalker安装方法

1、安装方法一

适合访问Github或外网较流畅的用户,因为需要自动下载大量文件。在SDWebUI的扩展插件页面中进行安装,如下图所示:

这个插件需要下载许多文件,有些文件体积较大,需耐心等待。如果不确定是否出现了问题,可以查看控制台输出的内容,查找是否有错误。安装完成后,不要忘记重启StableDiffusion,需要完全重启,而不仅仅是重启WebUI。

2、安装方法二

对于访问外网不太方便的用户,可以提前下载所需文件,例如使用迅雷等下载工具。只要将下载的文件上传到指定的目录即可。

1)主程序

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

2)视频模型

可以从以下链接下载:stable-diffusion-webui/extensions/SadTalker/checkpoints

3)修脸模型

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

您可以从以下链接下载:

4)安装

首先,将文件下载到本地或云环境中。以AutoDL为例,将文件保存到/root目录中。

然后解压文件到stablediffusionwebui的扩展目录,并拷贝几个文件到SD模型目录:

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

看到下边的结果,就基本上差不多了。

SDmodels目录下有这几个文件:

部署完毕,不要忘了重启。

二、使用方法

在SDWebUI的Tab菜单中找到SadTalker,按照下边的顺序进行设置。

1、上传人物照片。

2、上传语音文件。

3、选择视频人物的姿势。实际上,这指的是在人物说话时头部的动作。可以通过尝试不同的数字来选择合适的动作。

4、分辨率。512的视频分辨率比256的大。

5、图片处理方法:corp是从图片截取头部做视频,resize适合大头照或者证件照,full就是全身照做视频。

6、StillModel:这个选项可以让头部动作不要过大,以避免头部与身体偏离的情况。然而,这样可能会导致头部动作不太明显。

7、GFPGAN:这个选项可以修整脸部,有助于改善说话时嘴部和眼部可能出现的变形现象,从而使脸部看起来更加自然。

三、常见问题

1、启动的时候报错:SadTalkerwillnotsupportdownload...

这个提示意味模型无法成功下载。可以执行以下命令来触发下载(请注意将cd后的路径替换为SadTalker安装路径):

cdstable-diffusion-webui/extensions/SadTalkerchmod755scripts/download_models.shscripts/download_models.sh

可以使用pipinstall命令来安装xxx。但请注意,如果使用Python虚拟环境,需要先激活。例如,这里需要先执行sourcexxx命令。然后,可以运行以下命令来安装

librosa:

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

pipinstalllibrosa

这些命令将激活虚拟环境并安装librosa库。

StableDiffusion本地部署要求

随着StableDiffusion在AI艺术生成领域的不断发展和普及,越来越多的用户希望能够在自己的本地机器上部署SD模型,以获得更好的性能表现和使用体验。然而,部署一个大规模的生成模型如SD需要强大的计算资源和硬件配置。那么,究竟需要怎样的计算机配置才能流畅地运行SD模型呢?

一、GPU

GPU最好使用NVIDIA的RTX系列,如RTX3070,RTX4070和RTX4060。老一代的RTX2000系列也可考虑,但性能较新卡略低,且显存略小。不推荐使用专业级显卡如NVIDIAA6000,其拥有大量视频内存,非常适合预算充足的情况。不要使用笔记本等移动GPU,因为其显存和功耗都有限,难以进行高效的模型训练。如果条件允许,可以使用多张GPU进行多卡训练,以提高训练速度。

二、CPU

除了GPU之外,具有高核心数的CPU也是必不可少的。StableDiffusion的训练和推理过程需要进行大量的矩阵计算,对CPU的并行计算能力有很高的要求。一般来说,至少需要8核心或更多的CPU,如i9-13900;i7-13700;i513400;i312100;i712700;i912900等。

三、RAM内存

大量的RAM内存同样不可或缺。本地部署SD时,系统内存最好在32GB以上。这可以显著加速数据交换与传输速度。与GPU类似,更多的GPU卡也会需要更多的系统内存配合。

四、存储方面

系统盘无特殊要求,需要1TB甚至更大的磁盘空间来存储大规模的模型文件、数据集和生成结果。使用RAID0可以获得更高的读取速度。

五、网络方面

网络对于StableDiffusion的部署和使用都非常关键,需要准备以下几方面:

1、带宽需求

初始部署需要下载模型文件,通常数十GB甚至上百GB,需要具备稳定的大带宽来支持。训练过程中也需要大量的数据流量,务必确认网络带宽足够,例如千兆宽带。如果使用云训练平台,还需要考虑上传训练结果的流量。

2、网络速度

部署时的下载速度直接影响部署进度,需要尽可能高的网络速度。训练时网络速度影响同步效率。内网训练可以做到更低延迟。公网环境下,光纤宽带的低延迟有利于分布式训练。

3、网络稳定性

训练过程需要持续不间断的连接,断网会造成失败。部署和使用期间应尽量避免网络抖动现象的发生。

4、代理和缓存

可以使用本地代理做缓存,加速模型和数据的下载。代理同时还可以提供一定的数据安全性和隐私保护。

5、数据安全

六、软件方面

操作系统需要Windows10/11或者较新版本的Linux发行版,如Ubuntu20.04+。Python版本需要在3.7以上,主要的深度学习框架如PyTorch、TensorFlow也需要相应安装,并确认版本与硬件兼容。可能还需要安装许多Python库来支持不同的数据加载和图像处理功能。使用Docker等虚拟化技术可以简化软件环境配置。

蓝海大脑集成SD的PC集群解决方案

AIGC和ChatGPT4技术的爆燃和狂飙,让文字生成、音频生成、图像生成、视频生成、策略生成、GAMEAI、虚拟人等生成领域得到了极大的提升。不仅可以提高创作质量,还能降低成本,增加效率。同时,对GPU和算力的需求也越来越高,因此GPU服务器厂商开始涌向该赛道,为这一领域提供更好的支持。在许多领域,如科学计算、金融分析、天气预报、深度学习、高性能计算、大模型构建等领域,需要大量的计算资源来支持。为了满足这些需求,蓝海大脑PC集群解决方案应运而生。

PC集群是一种由多台计算机组成的系统,这些计算机通过网络连接在一起,共同完成计算任务。PC集群解决方案是指在PC集群上运行的软件和硬件系统,用于管理和优化计算资源,提高计算效率和可靠性。

蓝海大脑PC集群解决方案提供高密度部署的服务器和PC节点,采用4U机架式设计,每个机架可插拔4个PC节点。融合了PC的高主频和高性价比以及服务器的稳定性的设计,实现了远程集中化部署和管理运维。同时,采用模块化可插拔设计,使维护和升级变得更加容易。

一、主要技术指标

1、支持远程开关机和硬重启PC节点

2、集成的供电和管理背板,每个节点750W峰值供电功率

3、机箱管理单元支持节点远程上下电

4、每个PC节点支持热插拔,单个节点故障不影响其他节点工作

5、独立的管理网口和串口

6、每个节点配置2个可插拔8038高功率服务器风扇,提供智能温控

二、客户收益

StableDiffusion技术对游戏产业带来了极大的影响和改变。它提升了游戏图像的质量和真实感、增强了游戏体验和沉浸感、优化了游戏制作流程、扩展了游戏应用领域,并推动了游戏产业的发展和创新。这些都表明,StableDiffusion技术在游戏产业中的应用前景十分广阔,有助于进一步推动游戏行业的发展,提高用户体验和娱乐价值。

1、提升游戏图像质量和真实感

2、增强游戏体验和沉浸感

游戏是一个交互式体验,它的目标是尽可能地让玩家沉浸到虚构的世界中。StableDiffusion可以使游戏环境变得更加真实,并增添一些更具有交互性和观赏性的场景。例如,利用StableDiffusion技术,游戏可以在水面上添加波纹、落叶,或者使摇曳的草丛更逼真。这些改善能够让玩家更好地感受游戏中所处的环境,增强沉浸感。

3、优化游戏制作流程

4、扩展游戏的应用领域

StableDiffusion的应用使得游戏在更多的领域得到应用。例如,在心理治疗、教育、文化传播等领域中,人工智能游戏可以根据用户的情绪和行为变化来调整游戏内容和策略,为用户提供更符合需求和娱乐性的游戏体验。此外,利用StableDiffusion技术,游戏可以生成不同类型的场景,包括虚拟现实和增强现实等体验,开发出更丰富更多变的游戏内容。

5、推动游戏产业的发展和创新

三、PC集群解决方案的优势

1、高性能

2、可扩展性

可以根据需要进行扩展,增加计算节点,提高计算能力。这种扩展可以是硬件的,也可以是软件的,非常灵活。

3、可靠性

PC集群可以通过冗余设计和备份策略来提高系统的可靠性。当某个节点出现故障时,其他节点可以接管其任务,保证计算任务的顺利进行。

4、低成本

相比于传统的超级计算机,PC集群的成本更低。这是因为PC集群采用的是普通的PC硬件,而不是专门的高性能计算硬件。

四、PC集群解决方案的应用领域有哪些?

PC集群是指将多台个人电脑连接在一起,通过网络协同工作,实现高性能计算的一种方式。它的应用领域非常广泛,以下是一些常见的应用领域:

1、科学计算

PC集群可以用于各种科学计算,如天文学、生物学、物理学、化学等领域的计算模拟和数据分析。

2、工程计算

PC集群可以用于工程领域的计算,如飞机设计、汽车设计、建筑结构分析等。

3、金融计算

PC集群可以用于金融领域的计算,如股票交易、风险评估、投资组合优化等。

4、大数据处理

PC集群可以用于大数据处理,如数据挖掘、机器学习、人工智能等领域的数据处理和分析。

5、图像处理

PC集群可以用于图像处理,如视频编码、图像识别、虚拟现实等领域的图像处理和渲染。

五、常用配置推荐

1、处理器CPU:

i9-1390024C/32T/2.00GHz/32MB/65W/UptoDDR55600MT/s/UptoDDR43200MT/s

i7-1370016C/24T/2.10GHz/30MB/65W/UptoDDR55600MT/s/UptoDDR43200MT/s

i51340010C/16T/1.80GHz/20MB/65W/UptoDDR54800MT/s/UptoDDR43200MT/s

i3131004C/8T/3.40GHz/12MB/60W/UptoDDR54800MT/s/UptoDDR43200MT/s

G69002C/2T/3.40GHz/4MB/46W/UptoDDR54800MT/s/UptoDDR43200MT/s

G74002C/4T/3.70GHz/6MB/46W/UptoDDR54800MT/s/UptoDDR43200MT/s

i3121004C/8T/3.30GHz/12MB/60W/UptoDDR54800MT/s/UptoDDR43200MT/s

i5124006C/12T/2.50GHz/18MB/65W/UptoDDR54800MT/s/UptoDDR43200MT/s

i71270012C/20T/2.10GHz/25MB/65W/UptoDDR54800MT/s/UptoDDR43200MT/s

i91290016C/24T/2.40GHz/30MB/65W/UptoDDR54800MT/s/UptoDDR43200MT/s

THE END
1.小学生正确使用网络10篇(全文)三、让学生明确上网的目的,引导学生使用网络做一些有益身心的事情 现在,有许多小学生玩电脑的目的只有游戏和聊天而已,不仅失去了使用网络的真正价值,还会让孩子沉迷在游戏或网络聊天中[2]。让小学生明确上网的目的,利用网络搜索自己需要的信息,可以让孩子们充分体会到强大的网络资源和信息,也能使孩子合理安排上网的时间https://www.99xueshu.com/w/file3p7okxu5.html
2.2013年“三下乡”活动全体队员进行公交车文明礼仪宣讲,就现在的公交车上的让座、卫生等问题对市民进行讲解。并有部分队员打扫公交车,分发公交车文明传单部分。部分队员协助义工大队帮助健康快车的病人。晚上整理当天的照片、视频及编写当天的新闻。 7月16号 部分队员做关于住房等民生问题的调研,联系培智中心,在人民医院帮助病人做各项检查。晚https://www.htu.edu.cn/math/2013/0924/c1386a22890/page.htm
3.Contents/premium.mdatmaster·Newslab2020/Contents·GitHub如何在大学教育中积极利用AI。 646 如何研究社会运动中的媒介技术 2023/1/23 “因果关系”框架的缺陷; 我所提出的基于“行动者网络理论”的框架; 用新的框架研究2019年香港的手机直播。 645 芭芭拉·沃尔特斯: 打破玻璃天花板的女主播 2023/1/19 从歧视女性的职场中脱颖而出; https://github.com/Newslab2020/Contents/blob/master/premium.md
4.网络安全防范知识预警防范信息6、培养良好的网络公德 要有公德心,在公共场所、学校或家庭上网,不要改变计算机的设置,未征得别人同意,不要删除别人的文件,以免影响别人的工作和使用计算机。 7、利用网络有益一面 不浏览不健康的网站,切不可沉迷上网(或玩电子游戏),把它当作一种精神寄托。要经常与父母交流网上有趣的事情,让父母了解自己在网上的https://gaj.zhumadian.gov.cn/html/1345/2020-06-15/content-4787.html
5.如何有效地管理时间?看沃顿商学院时间管理课(沃顿商学院时间管理忙成狗,哪有时间进行时间管理!恰恰相反,越忙,才越需要时间管理,将有效的时间放在最有价值的事情上——这是我从《沃顿商学院时间管理课》学到的。《沃顿商学院时间管理课》一书单是看书名,我严重怀疑“沃顿商学院时间管理课”有具体的线下和线上课程,不知道实际费用是多少?不过,不管多少钱,可以肯定的是,我是不https://book.douban.com/review/14259946/
6.关于网络安全教育教案(精选17篇)充分利用主题班会、课堂等有效形式,在全校广泛宣传和普及网络安全教育的法律、法规政策和相关知识,强化全校师生对网络安全教育工作的参与意识和责任意识。 经过这次活动,使同学们对网络安全教育有了新的认识。知道了怎样利用网络,怎样文明上网、健康上网,特别是个别沉迷手机网络游戏的学生,知道了沉迷网络的危害,一再表示要https://mip.ruiwen.com/jiaoan/4223549.html
7.20172018年八年级政治校本作业校本作业8.下列属于合理利用网络的表现的是() ①善于利用网络技术,解决工作、学习生活中的问题 ②帮助别人解决一些困难,做一些对他人和社会有用的事情 ③在网络上尽情地发表自己的言论 ④帮助名不见经的人闻名天下 A.③④B.①②C.①③?http://www.fjxyyz.com/ptyz_news_show-658.html
8.区块链技术b类数据上链是什么意思事情是这样的,最近我的室友Hasaki一直在问我区块链和比特币的事情,我尝试了很多种不通的姿势以求简单通俗形象生动地跟他解释什么是区块链技术,但是最后都失败了。因此我萌生了要写一篇BlockChain for Babies(又名:如何向你的弱智室友解释区块链)的想法,以求能简单直观生动形象地向对区块链技术不了解但是想知道区块https://blog.csdn.net/heqinghua217/article/details/79026483
9.餐饮连锁的分类优缺点经营特点(3)如果来的顾客有网络红人,顾客在自己的抖音或者快手平台上发段视频,可以给予免单。 (4)餐饮店主自己要运作媒体平台,例如抖音,想一些创意内容拍摄段视频上传。 (5)建立顾客微信群,发的内容包括:每天采购的视频、推出活动的详细、每天的销售额、每天的客流量等等对自己餐饮店有益的事情。 https://www.cnpp.cn/focus/24935.html
10.《财务自由之路》德博多.舍费尔人生意义:做自己认为有趣的,符合自己才能的,有益于他人的事情。 想拥有一台赚钱机器,而非穷其一生当一台赚钱机器。 解决的方法是:将你的事业建立在你最大的爱好之上。 “整天工作的人是没有时间来赚钱的” 优化自己 优化自己指的是, 学习如何以最佳的方式来运用时间,方法,才能,金钱以及与其他人合作,其目的是https://www.jianshu.com/p/e9917c264c3a
11.网络营销策划方案15篇网络营销策划方案 网络营销策划方案15篇 为了确保工作或事情能有条不紊地开展,就需要我们事先制定方案,方案可以对一个行动明确一个大概的方向。你知道什么样的方案才能切实地帮助到我们吗?下面是小编整理的网络营销策划方案,欢迎阅读与收藏。 网络营销策划方案1https://www.pinda.com/zhichang/cehuashu/207898.html
12.网络安全教育主题班会教案(精选14篇)(1)帮助网络成瘾者正确了解网络,指出网络的益处和缺点,让受治者学会去分辨什么是对自己有益的,利用网络扩展知识做偶尔的放松和娱乐。 (2)帮助网络成瘾者做自己我认知。 (3)与网络成瘾者一起制定人生规划,帮助其找出自己的理想和目标,增强自己的责任和使命。 https://www.fwsir.com/jiaoan/html/jiaoan_20220812090050_1931711.html
13.八年级政治上册知识点整理(3)提高辨别觉察能力。网络信息良莠不齐,个别不法分子利用网络实施违法犯罪活动。作为网络游客,只有不断提高自己的辨别觉察能力,提高自己的抗诱惑能力,才能保护自己。 3. 遵守网络规则 (1) 网络交往要遵守道德。 网络是我们共有的生活空间,我们共负建设文明、健康的网络环境的责任。 https://mip.oh100.com/chuer/790383.html
14.人教版《道德与法治》八年级上知识点微步凌波一剑屠龙(4)自觉遵守道德和法律,做一名负责任的网络参与者。 3.(1)充分利用网络平台为社会发展建言献策,可以向政府部门积极提出意见和建议,为决策科学化、民主化贡献力量。 (2)我们要在网上传播正能量,共同培育积极健康、向上向善的网络文化,让网络公共空间充满正能量。 http://blog.xxt.cn/showSingleArticle.action?artId=7501268
15.汽车销售技巧现在有很多介绍促销技巧的书,里面基本都会讲到促销员待客要主动热情。但在现实中,很多促销员不能领会到其中的精髓,以为热情就是要满面笑容,要言语主动。其实这也是错误的,什么事情都要有个度,过分的热情反而会产生消极的影响。 三、借力打力 销售就是一个整合资源的过程,如何合理利用各种资源,对销售业绩的帮助不可http://mip.pincai.com/article/2525200.htm
16.社会课程:车的停靠家的港湾(如东县掘港镇新苗幼儿园许银华李究竟设计什么样的停车位可以解决绿化与停车位共存的难题呢?我们参观了国美空中停车场,这样的停车就能充分利用空间,合理节约资源了。我们还和爸爸妈妈一起上网、在阅览室找来关于停车位的书籍,书里所看到的先进停车位可是我们从来没有见过的,太酷了吧!我们也来当一回小小设计师吧,看我们设计的各式各样停车场,有没有https://fzzx.rdedu.net/Item/3760.aspx
17.雷霞:中国社会科学院新闻与传播研究所副研究员新华访谈网络时代大家随时随地可以发信息,因此也可以有更多角度去拼接。一个谣言传播开来之后,网民可以通过自己的理性验证,通过“我发一点儿、你发一点儿”,多角度拼接还原事实真相,这就是一种发动网民力量可以做到辟谣的事情。 新华网 作为辟谣工作者,如何破解网络辟谣工作的滞后性? 辟谣平台 功夫在日常。不管是政府http://www.piyao.org.cn/ftzb/wlyyzl/index.htm
18.浅论网络舆情在公共政策制定过程中的影响许多政府部门都借助于甚至依赖于网络民意来做出决策,他们认为利用网络民意了解人民的利益诉求既方便又直接。政策制定者根据网络上公民的意愿可以发现有待解决的民生问题和社会深层次的问题,及时提上政府议事日程,这不仅缩短了问题进入政府议事日程的时间,还可以互相交流讨论,谋求一个更优或最优的方案,使政策顺利执行。https://m.wydbw.com/show.asp?Id=78211
19.智慧树知到章节测试答案汇总智慧树知到创新创业基础心理降答案汇总近日北京大学智慧树共享课程还是很受大家喜欢的,不过在学习之后需要完成见面课和章节测试的,很多小伙伴不清楚答案,今天小编就给大家整理了一些,有关爱生命急救与自救技能,走进故宫,互联网与营销创新章节等测试答案的汇总,一起来看看。 智慧树知到互联网与营销创新章节测试答案 https://www.qqtn.com/article/article_319268_1.html