如何设计容器来实践AI模型的PnP

  作者:高焕堂 时间:2023-10-30来源:电子产品世界


1 前言

在本专栏的前面文章《从隐空间看AIGC 的未来发展》里,曾经提到了,今天全球AIGC 产业即将进入产业的革命性的转折点,也逐渐浮现AI 模型容器( 集装箱) 的身影。而AI 集装箱将带给码头( 隐空间) 一项美好的次序。一旦我们致力于制定AI 容器的规格,就会拥有主导未来AIGC 产业发展的话语权。

于是,在本篇文章里,将继续以实例详细说明AI容器的设计和实践技术。

2 以Stable Diffusion为例

首先观察SD (Stable Diffusion) 的基本架构,如图1。

1698672574702229.png

图1 Stable Diffusion的基本架构

(https://zhuanlan.zhihu.com/p/621325215)

这图里的中间( 蓝色) 部分就是隐空间(Latent space) 所在,它内含一个UNet 模型,如图2。

1698672635613103.png

图2 SD内含的UNet模型

(https://zhuanlan.zhihu.com/p/621325215)

于是,得到了详细的SD隐空间扩散(Diffusion) 架构图,如图3。

1698672706290244.png

图3 SD隐空间扩散架构图

(https://ommer-lab.com/research/latent-diffusion-models/ )

这个隐空间里,最核心的是UNet 模型。它本身也是一个容器( 如同集装箱),内含有QKV 等小模型等。于是,就可以设计一个AI 模型容器来表示它,例如使用指令:

class UNetModel(nn.Module):

……………

……………

……………

这里的UNet 模型就如同< 信纸> 的角色。有了信纸之后,就可以来设计一项更大的< 信箱> 容器了,例如使用指令:

class LatentDiffusion(nn.Module):

……………

……………

于是,有了UNet 模型( 信纸),也有了Diffusion模型( 信封),也有了隐空间( 信箱)。如果拿物流货运来比喻,这里的UNet 模型就如同< 集装箱> 的角色,而Diffusion 模型就如同< 轮船> 的角色,而隐空间就如同< 码头> 的角色。接着,就来实际观摩一下SD 的源代码,从Github 上可以看到SD 的源代码。

1698672867927922.png

进入这网页之后,就继续浏览这些源代码,就可以看到它定义了一个UNetModel 模型,这就是刚才所说的< 信纸> 模型。

1698684059222265.png

再继续浏览源代码,也就可以看到它定义了一个LatentDiffusion模型,这就是刚才所说的< 信封> 模型。

1698684102973294.png

从上述的信纸与信封的比喻,可以领会出来:无论信纸、信封或信箱,都是容器互相包容起来。例如,SD 的LatentDiffusion 包容了UNetModel 小模型, 而UNetModel 又包容了QKV 更小的模型,于是呈现出「序中有乱」的景象。也就是,容器( 如集装箱) 的外表简单有序,因而创造出井然有序。这即是通称的:有机次序(Organic order)。

3 演练:动手设计容器

步骤1 设计小模型

首先撰写一个能将灰阶图像彩绘( 渲染) 为彩色图像的GAN( 生成对抗) 模型,如下代码。

1698684161223283.png

然后,收集数十张毕加索(Picasso) 的图像来训练它。

步骤2设计容器模型

训练好了小模型,就可以继续撰写一个容器模型来包容它( 即刚才的GANModel 模型)。这个容器模型的代码如下。

1698684192229523.png

在这个范例里,这个容器模型包含了一个自己训练的GANModel小模型。此外,还包含了一个由OpenCV所提供的FSRCNN 小模型。这FSRCNN 是OpenCV 提供的预训练模型,其图像放大的效果,比传统做法好很多( 例如,没有明显的锯齿状边缘)。

步骤3 运行容器模型

于是, 这个容器模型就可以将原始图像( 如224×224 的JPG 图像) 透过FSRCNN 来放大3 倍,然后交由GAN 模型来自动渲染出大张的图像( 即672×672 JPG 图像),如图4 所示。

1698684229383055.png

图4 让AI自由渲染Picasso的画作

对于艺术文创者而言,AI 可以激发人们更多想象空间,例如上图里的GAN 模型是学习Picasso 画风,而自动渲染出来的。这个模型也可以输入八大山人的画作,然后AI 彩绘出Picasso 的色彩风格,成为中西合璧的创新作品。

4 美好效果:易于PnP

刚才所设计的容器模型可以确保内含个小模型( 如GAN、FSRCNN 模型) 的变动自由度,来实现这些小模型皆能容易PnP(Plug and Play),呈现出流畅新陈代的美好效果。因此创造了完美的有机次序(Organic Order)。例如,随时能流畅的将上述的彩绘GAN 模型汰换掉,重新设计一个新的小模型--- 彩绘UNET模型,如图5。

1698684292861807.png

图5 让AI自由渲染八大山人的画作

此时,只需要更改这FSRCNN 容器模型内部的代码即可,并不会产生涟漪效应,因而降低了更换小模型的成本。

5 结语

本文展示了如何迁移第三方的预训练模型,复用(Reuse) 他人的智慧来设计& 开发自己的容器(Container)模型。并且展示了一项美好商业效益:能复用于各种不同的需求情境,并获得小模型PnP 的效果。

(本文来源于EEPW 2023年10月期)

关键词: 202310 容器 AI模型 PnP

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版