实测腾讯AI文生图!王者荣耀画风一键直出,小程序就能玩

梦晨 萧箫 发自 凹非寺
量子位 | 公众号 QbitAI

鹅厂大模型,又有新玩法!

发布不到两个月,腾讯混元大模型就速通了一个新版本,除了语言模型升级以外,还悄悄上线了AIGC最火热🔥的功能——

文生图

和语言模型一样,文生图同样可以通过微信小程序直接体验

不过与Midjourney独立出图不同,混元的文生图和对话功能“互不耽误”,可以边聊边画,与DALL·E 3体验相似。

之前已经申请测试通过的,可以立刻冲了~

还在排队中的也别急,我们已经快速实测了一波热图,这就先放出来给大伙儿看看。

混元文生图上手实测

根据腾讯介绍,混元大模型文生图最大的优势在三处:真实感中文理解风格多样

接下来就挨个试试它做到了什么程度。

先来画人,复刻一波之前爆火过的Midjourney“写实90年代北京情侣”看看。

请输出一张摄影风的照片,在20世纪90年代的北京,一个男性和一个女性,面带微笑,坐在屋顶,穿着夹克和牛仔裤,有很多的建筑物,真实感

可以看出,写实风格的人像还是很拿手的,人物姿态合理,画亚洲人脸与国外AI相也比较自然

注意这里有个小技巧,想要写实风格的话最好用“生成一张……”来触发,如果用“画一张……”大概率会得到插画风格。

写实风格的人像可以,再看看画风景如何。

除了一般的风景描述,混元大模型支持指定一个真实存在的景点,比如“桂林山水”或“长城”。

毕竟是AI生成,和真实景观不会完全一样,但感觉还是到位了。

接下来要上难度了,把这两个场景“组合”起来

生成一张桂林山水,但是岸上有长城,摄影风格,真实感,高度细节。

这么离谱的需求都画出来了,甚至水面还有水波,看来不是简单地重现训练数据,而是对概念有一些自己的理解。

那么更复杂的概念如何?

曾经,AI因不理解中文菜名闹过一波笑话。

经过这半年的发展,“红烧狮子头”里不会出现狮子的头,“夫妻肺片”里也不会变成恐怖片了,甚至看着还挺香。

要说比菜名更有挑战的,就到了古诗词,正好写实风格也看腻了也可以换换口味。

生成一张图片:孤舟蓑笠翁,独钓寒江雪,水墨画风格。

总得来说还不错,美中不足之处在于一张图没有“舟”,还有一张舟上坐了两个“翁”,就没有孤独的意境了。

看来诗词这种过于凝练的还是有难度。

But,别忘了混元助手同时拥有聊天对话能力,还支持多轮对话。

借助强大的语言模型部分,我们也找出解决办法。

接下来只需用“这些要求”“上述要求”来指代上面的回答,就可以让两个功能联动起来了。

再画就会更稳定,而且增加了雪花飘落的细节。

记住这个小技巧,接下来还会用到。

其实在腾讯混元助手中,专门准备了这样一个存为指令的功能。

存好后就可以从对话框右边的魔法棒图标处快速调用了,只需要更改要描述的内容即可。

还可以方便地一键分享到微信,4张图一次分享让好友帮忙选,不用来回截图了。

直接打开分享链接,就可以放大查看四张图,还可以开始新对话!

了解过混元大模型的中文理解能力,再来试试最后一个特点风格多样性

既然是腾讯出品,游戏插画肯定少不了,比如正火的赛博朋克风。

有点感觉了,但总觉得还差点意思。

可以用上面的技巧来,联动语言模型来明确赛博朋克风格的特点。

再手动加亿点点料,就更对味了。

不同游戏的画风差距极大,测试下来混元助手确实能hold住不少,从3D到2D甚至像素都没问题。

即使是同一话题和风格限定,也能展现出不同的画风,Furry控狂喜(doge)

其实腾讯透露,内部多个场景已经用上了混元大模型文生图能力。

虽然还不知道具体怎么使用,但是我们测试了一下用《王者荣耀》来当风格限定词,混元也能理解。

除了游戏之外还有广告场景,前面提到的混元大模型文生图真实感的优势就能发挥出来。

也别忘了腾讯还有一大块内容业务,来个玄幻小说插图也没问题。

这样的文生图效果,背后究竟是通过什么原理实现的?

在此之前,业界其实已经有不少文生图的开源模型。

腾讯是基于其中某种方案打造,还是重新进行的自研?

带着种种问题,我们和腾讯混元大模型文生图技术负责人芦清林聊了聊,了解了一下背后的技术细节。

模型全自研,用20亿+图文对炼成

“从算法、数据系统到工程平台,都是从0到1自研。”

芦清林表示,这也算是腾讯混元大模型文生图功能的优势,这样从生成自由度到数据安全性,就都能完全把控,也让生成的图像“更符合用户需求”。

首先是在算法这一块。

当前文生图模型普遍存在三个难点,语义理解差、构图不合理、画面细节无质感

语义理解差,就是模型听不懂人话,尤其是中英文夹杂的人话。

当前业界普遍采用的是开源的CLIP算法,然而它一来没有建模中文语言,输入中文只能靠翻译,会出现红烧狮子头真的生成狮子的问题(doge);另一个是训练时图文对齐能力不行。

构图不合理,指的是生成的人体结构、画面结构有问题,直接“生异形”。

如果直接基于业界已有的开源扩散模型生成图像,就容易出现这个问题,像是出现“三只手”或者各种奇怪的画面结构。

画面细节无质感,就是生成图像清晰度差。当前不少数据集图像分辨率和质量不高,容易导致训练出来的开源模型质量也不高。

为了解决这三个难点,腾讯混元团队在算法阶段,特意用了三类模型组合来“逐个击破”。

语义理解上,腾讯自研了跨模态预训练大模型,不仅让它同时学会建模中英文,而且强化文本和图像细粒度特征的联系,简单来说就是中文、英文、图像三者的“跨模态对齐”。

生成构图上,腾讯自研了一种扩散模型和Transformer混合的架构,尤其是将Transformer当前大火的旋转位置编码研究给用上了。

旋转位置编码通常被用于增加大模型的上下文长度,不过在这里被腾讯巧妙地用于刻画人体结构,让模型既能掌握全局信息(人体骨架)又能理解局部信息(脸部细节)。

最后是在画面细节上,腾讯自研了超分辨率模型,与此同时还结合了多种算法,针对图像不同的细节进行优化,让最后生成的图像进一步“耐看”。

这样做出来的模型架构,不仅能生成质量更高的图片(分辨率1024×1024),而且只需要微调一下架构,就能变成图生图、甚至是文生视频模型。

接下来,就是关键的数据部分了。

对于文生图而言,生成图像的质量,很大程度上取决于数据的质量,OpenAI在DALL·E 3论文中,通篇都在强调数据对于指令跟随的重要性。

腾讯也非常重视数据对模型的重要性,并同样自研了三方面的技术。

在数据质量上,由于互联网上扒下来的数据集,往往存在文字描述简洁、和生成内容不完全匹配的问题,因此团队通过改善图-文对数据集中的“文”部分,也就是细化中文的文本描述,来提升图文数据的相关性;

在数据效果上,团队针对训练数据进行了“金银铜”分层分级,等级越高,意味着数据清洗程度越精细。

其中,20+亿未清洗的“青铜数据”,用来对所有模型进行“粗加工”,也就是预训练;

6亿+“白银数据”,用来对生成模型进一步加工,提升生成质量;

1.12亿+精心清洗的“黄金数据”,则用来对模型进行“精加工”,也就是精调突击训练,确保训练出来的模型质量更优秀。

在数据效率上,为了加快训练速度,尤其是针对用户反馈对模型进行优化的速度,腾讯也建立了数据飞轮,自动化构建训练数据并加快模型迭代,让模型生成准确率进一步提升。

据芦清林透露,数据飞轮这个技术,也正是解决数据长尾场景难题的关键。

由于我们的生活中总是在出现一些潮流新词,例如“玲娜贝儿”等,这种名词往往在数据集中不常见,而用户又会在输入时使用,因此往往需要第一时间更新进训练数据中。

有了数据飞轮,就能将这个过程效率进一步提升,避免模型在见识到新词后,依旧长时间无法生成对应的图像。

最后,有了算法和数据,还得有个工程平台,来把它们组合起来快速训练。

为此,腾讯自研了Angel机器学习平台,包括训练框架AngelPTM和推理框架AngelHCF。

训练上,大模型最重要的就是并行能力。为此,腾讯基于4D并行+ZeROCache机制,实现了千亿参数混元大模型的快速训练。

直观来看,AngelPTM训练框架相比业界主流框架DeepSpeed-Chat速度提升了1倍以上。

推理上,AngelHCF则实现了支持多种并行能力、支持服务部署及管理、以及自研模型无损量化三大功能,相比业界主流框架提升了1.3倍以上。

值得一提的是,在Angel机器学习框架和平台的支持下,腾讯混元的语言模型也进行了一轮升级,尤其是代码能力有不小的提升。

我们也简单测了测腾讯混元大模型更新后的代码能力。

首先试试写代码,以帮老师写一个“随机点名程序”为例(手动狗头)。

混元大模型很快生成了一段带注释的完整代码:

import random

# 假设班级里有50个学生,这里是他们的学号
student_ids = ['001''002''003''004''005''006''007''008''009''010',
               '011''012''013''014''015''016''017''018''019''020',
               '021''022''023''024''025''026''027''028''029''030',
               '031''032''033''034''035''036''037''038''039''040',
               '041''042''043''044''045''046''047''048''049''050']

# 使用random.choice()函数从学生学号列表中随机选择一个学生
random_student_id = random.choice(student_ids)

# 打印随机选中的学生学号
print("随机抽取的学生学号是:", random_student_id)

实测可以丝滑运行,每次都能抽到不同的幸(dao)运(mei)儿(dan)起来回答问题:

然后我们还发现,混元大模型竟然还能帮忙查代码bug,属实是程序员省心利器了。

当然,无论是文生图还是代码能力,现在都已经可以在腾讯混元助手中体验。

感兴趣的小伙伴,可以到腾讯混元助手排个队或是体验一把~

—  —

点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~ 

相关推荐

  • Java8 Stream 一行代码实现数据分组统计、排序、最大值、最小值、平均值、总数、合计
  • 首个AI Prompt 工程师计划发布!
  • RLHF与AlphaGo核心技术强强联合,UW/Meta让文本生成能力再上新台阶
  • 小米14发布:搭载全新澎湃OS,Pro版用上钛金属
  • 波士顿动力机器狗装上ChatGPT大脑当导游,一开口就是老伦敦腔
  • DeepMind:谁说卷积网络不如ViT?
  • 每人10万元,这13位青年人才获得2023年度字节跳动奖学金
  • OpenAI 组建安全 AGI 新团队!应对AI“潘多拉魔盒”
  • 音乐智能体登场!我和杰伦的距离或许只差一个 MusicAgent!
  • ICLR 2024 再现抄袭风波!原作者发帖实锤:过半方法都抄了
  • 奔3了,月薪多少才正常?
  • 最牛逼的 Java 框架,不接受反驳!
  • 【Python】盘点常见的AutoEDA工具库
  • 一文揭秘 Vue3 组件库的优雅打包与细节
  • 超详细讲解H5移动端适配
  • 300元一年,QQ邮箱准备收费了
  • 今年这行情......我看大家还是多留一手准备吧 !
  • TimeGPT:时间序列预测的第一个基础模型
  • 深入理解 Spring 注解驱动配置与 XML 配置的融合与区别
  • 独家专访@爱可可-爱生活:如何做好科学研究(干货满满)