热门推荐
生成式AI模型架构除了transformer还有那些 生成器模型
2024-12-23 16:23

点击打开链接1)生成器模式:将复杂对象的表示和创建进行分离。

抽象工厂和工厂模式,都是进行完成一个或是一系列的对象创建,如果是针对一个对象的创建较为复杂,需要多部分组装。

此时需要用建造者模式。

2)一个对象有多个部分进行构建,构建算法按需求变化,每一个构建模块相对稳定。

此时,生成器模式可以达到封装,让内部变化,而对外不影响。

生成式AI模型架构除了transformer还有那些 生成器模型

3)构建图:

1、抽象生成器(builder):为创建一个Product对象的各个部件指定的抽象接口。

2、生成器具体实现

3、指导者

4、产品

5、客户端

代码案例:

现实场景

其实,在现实场景中,有很多适用于生成器模式来解决的应用。比如Terrylee所描述的

KFC场景

,这种模式用于快餐店制作儿童餐。典型的儿童餐包括一个主食,一个辅食,一杯饮料和一个玩具(例如汉堡、炸鸡、可乐和玩具车)。 这些在不同的儿童餐中可以是不同的 ,但是 组合成儿童餐的过程是相同的 (这是关键点)。无论顾客点的是汉堡,三名治还是鸡肉,过程都是一样的。柜台的员工直接把主食,辅食和玩具放在一起。这些是放在一个袋子中的。饮料被倒入杯中,放在袋子外边。这些过程在相互竞争的餐馆中是同样的。在这样一种场景中,主食、辅食、饮料和玩具根据所选择的套餐种类的不同而不同,但是不管何种套餐,都具有这几大部分,也就是说组装的过程是一致的,不同的只是子部分的实现不同而已,但是这并不妨碍子部分的组装流程。这不完全符合生成器模式的适用场景吗?

在生成器模式中,我们不轻易改变的是面向客户的那一个Director ,而是来实现不同的ConcreteBuilder 

比如儿童餐,有主食, 菜, 汤,玩具,那么在主食中,可以有米饭,馒头,菜品:蔬菜,红烧肉,汤:蛋花汤,等

这样就给出多个实现 ConcreteBuilder的实现,此时面向客户端的就不变了。 

这里不进行扩展,客户端点不同的套餐的情况。仅仅是进行扩展固定的一个主食,一个菜品,一个汤的情况!

总结: 对象的表示也可以抽象为总体的行为。或是创建也可以抽象成表示。也就是将复杂对象的行为分层,或表示分层。

行为 就是表示! 将复杂对象分层创建。

 

参考:点击打开链接

    以上就是本篇文章【生成式AI模型架构除了transformer还有那些 生成器模型】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/quote/10724.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站https://sicmodule.kub2b.com/mobile/,查看更多   
发表评论
0评