文生图。实测 和语言模型一样,腾讯图荣文生图同样可以通过微信小程序直接体验。文生玩 不过与Midjourney独立出图不同 ,耀画混元的风键文生图和对话功能“互不耽误”,可以边聊边画
,直出河南出国劳务公司哪家好与DALL·E3体验相似 。小程序 之前已经申请测试通过的实测,可以立刻冲了~ 还在排队中的腾讯图荣也别急,我们已经快速实测了一波热图,文生玩这就先放出来给大伙儿看看。耀画 根据腾讯介绍,风键混元大模型文生图最大的直出优势在三处:真实感、中文理解、小程序风格多样。实测 接下来就挨个试试它做到了什么程度。 先来画人
,复刻一波之前爆火过的Midjourney“写实90年代北京情侣”看看。 请输出一张摄影风的照片,在20世纪90年代的北京,一个男性和一个女性,面带微笑,坐在屋顶 ,穿着夹克和牛仔裤 ,有很多的建筑物,真实感 可以看出 ,写实风格的人像还是很拿手的,人物姿态合理,画亚洲人脸与国外AI相也比较自然 。 注意这里有个小技巧,想要写实风格的话最好用“生成一张……”来触发,如果用“画一张……”大概率会得到插画风格。教育咨询公司经营范围 写实风格的人像可以,再看看画风景如何
。 除了一般的风景描述 ,混元大模型支持指定一个真实存在的景点 ,日本劳务比如“桂林山水”或“长城”
。 毕竟是AI生成,和真实景观不会完全一样,但感觉还是到位了。 接下来要上难度了,把这两个场景“组合”起来: 生成一张桂林山水
,但是岸上有长城,摄影风格
,真实感,高度细节。 这么离谱的需求都画出来了,甚至水面还有水波
,看来不是简单地重现训练数据,而是对概念有一些自己的理解
。 那么更复杂的概念如何? 曾经 ,AI因不理解中文菜名闹过一波笑话
。 经过这半年的发展,“红烧狮子头”里不会出现狮子的头,“夫妻肺片”里也不会变成恐怖片了,甚至看着还挺香。 要说比菜名更有挑战的
,就到了古诗词,正好写实风格也看腻了也可以换换口味。 生成一张图片:孤舟蓑笠翁 ,独钓寒江雪,水墨画风格。 总得来说还不错,企业管理咨询公司经营范围美中不足之处在于一张图没有“舟”,还有一张舟上坐了两个“翁”,就没有孤独的意境了。 看来诗词这种过于凝练的还是有难度。 But ,别忘了混元助手同时拥有聊天对话能力,还支持多轮对话。 借助强大的语言模型部分,日本房产我们也找出解决办法。 接下来只需用“这些要求”、“上述要求”来指代上面的回答
,就可以让两个功能联动起来了。 再画就会更稳定 ,而且增加了雪花飘落的细节。 记住这个小技巧,接下来还会用到 。 其实在腾讯混元助手中
,专门准备了这样一个存为指令的功能 。 存好后就可以从对话框右边的魔法棒图标处快速调用了 ,只需要更改要描述的内容即可。 还可以方便地一键分享到微信 ,4张图一次分享让好友帮忙选,不用来回截图了
。 直接打开分享链接,就可以放大查看四张图
,还可以开始新对话! 了解过混元大模型的中文理解能力,再来试试最后一个特点风格多样性。 既然是腾讯出品,游戏插画肯定少不了 ,比如正火的赛博朋克风。 有点感觉了,但总觉得还差点意思。 可以用上面的技巧来
,联动语言模型来明确赛博朋克风格的特点
。 再手动加亿点点料
,就更对味了 。 不同游戏的画风差距极大,测试下来混元助手确实能hold住不少
,从3D到2D甚至像素都没问题。 即使是同一话题和风格限定
,也能展现出不同的画风
,Furry控狂喜(doge) 其实腾讯透露,内部多个场景已经用上了混元大模型文生图能力 。 虽然还不知道具体怎么使用,但是我们测试了一下用《王者荣耀》来当风格限定词 ,混元也能理解
。 除了游戏之外还有广告场景,前面提到的混元大模型文生图真实感的优势就能发挥出来
。 也别忘了腾讯还有一大块内容业务,来个玄幻小说插图也没问题
。 这样的文生图效果
,背后究竟是通过什么原理实现的? 在此之前 ,业界其实已经有不少文生图的开源模型
。 腾讯是基于其中某种方案打造,还是重新进行的自研? 带着种种问题,我们和腾讯混元大模型文生图技术负责人芦清林聊了聊,了解了一下背后的技术细节 。 “从算法、数据系统到工程平台
,都是从0到1自研。” 芦清林表示,这也算是腾讯混元大模型文生图功能的优势
,这样从生成自由度到数据安全性,就都能完全把控
,也让生成的图像“更符合用户需求”。 首先是在算法这一块
。 当前文生图模型普遍存在三个难点,语义理解差、构图不合理
、画面细节无质感。 语义理解差
,就是模型听不懂人话,尤其是中英文夹杂的人话。 当前业界普遍采用的是开源的CLIP算法,然而它一来没有建模中文语言,输入中文只能靠翻译
,会出现红烧狮子头真的生成狮子的问题(doge);另一个是训练时图文对齐能力不行。 构图不合理 ,指的是生成的人体结构
、画面结构有问题,直接“生异形”
。 如果直接基于业界已有的开源扩散模型生成图像
,就容易出现这个问题,像是出现“三只手”或者各种奇怪的画面结构。 画面细节无质感,就是生成图像清晰度差。当前不少数据集图像分辨率和质量不高,容易导致训练出来的开源模型质量也不高 。 为了解决这三个难点 ,腾讯混元团队在算法阶段
,特意用了三类模型组合来“逐个击破”
。 语义理解上 ,腾讯自研了跨模态预训练大模型,不仅让它同时学会建模中英文,而且强化文本和图像细粒度特征的联系 ,简单来说就是中文、英文、图像三者的“跨模态对齐”。 生成构图上 ,腾讯自研了一种扩散模型和Transformer混合的架构
,尤其是将Transformer当前大火的旋转位置编码研究给用上了
。 旋转位置编码通常被用于增加大模型的上下文长度,不过在这里被腾讯巧妙地用于刻画人体结构
,让模型既能掌握全局信息(人体骨架)又能理解局部信息(脸部细节)。 最后是在画面细节上,腾讯自研了超分辨率模型 ,与此同时还结合了多种算法,针对图像不同的细节进行优化,让最后生成的图像进一步“耐看”。 这样做出来的模型架构,不仅能生成质量更高的图片(分辨率1024×1024),而且只需要微调一下架构 ,就能变成图生图 、甚至是文生视频模型。 接下来 ,就是关键的数据部分了
。 对于文生图而言 ,生成图像的质量,很大程度上取决于数据的质量,OpenAI在DALL·E3论文中,通篇都在强调数据对于指令跟随的重要性。 腾讯也非常重视数据对模型的重要性,并同样自研了三方面的技术。 在数据质量上,由于互联网上扒下来的数据集 ,往往存在文字描述简洁、和生成内容不完全匹配的问题,因此团队通过改善图-文对数据集中的“文”部分 ,也就是细化中文的文本描述
,来提升图文数据的相关性; 在数据效果上,团队针对训练数据进行了“金银铜”分层分级,等级越高,意味着数据清洗程度越精细。 其中,20+亿未清洗的“青铜数据”,用来对所有模型进行“粗加工”,也就是预训练; 6亿+“白银数据”,用来对生成模型进一步加工,提升生成质量; 1.12亿+精心清洗的“黄金数据” ,则用来对模型进行“精加工” ,也就是精调突击训练 ,确保训练出来的模型质量更优秀。 在数据效率上
,为了加快训练速度 ,尤其是针对用户反馈对模型进行优化的速度
,腾讯也建立了数据飞轮,自动化构建训练数据并加快模型迭代,让模型生成准确率进一步提升
。 据芦清林透露,数据飞轮这个技术 ,也正是解决数据长尾场景难题的关键。 由于我们的生活中总是在出现一些潮流新词,例如“玲娜贝儿”等,这种名词往往在数据集中不常见,而用户又会在输入时使用
,因此往往需要第一时间更新进训练数据中。 有了数据飞轮,就能将这个过程效率进一步提升,避免模型在见识到新词后,依旧长时间无法生成对应的图像
。 最后,有了算法和数据,还得有个工程平台,来把它们组合起来快速训练。 为此,腾讯自研了Angel机器学习平台 ,包括训练框架AngelPTM和推理框架AngelHCF
。 训练上
,大模型最重要的就是并行能力
。为此,腾讯基于4D并行+ZeROCache机制,实现了千亿参数混元大模型的快速训练。 直观来看
,AngelPTM训练框架相比业界主流框架DeepSpeed-Chat速度提升了1倍以上。 推理上,AngelHCF则实现了支持多种并行能力
、支持服务部署及管理、以及自研模型无损量化三大功能 ,相比业界主流框架提升了1.3倍以上 。 值得一提的是
,在Angel机器学习框架和平台的支持下,腾讯混元的语言模型也进行了一轮升级,尤其是代码能力有不小的提升。 我们也简单测了测腾讯混元大模型更新后的代码能力。 首先试试写代码
,以帮老师写一个“随机点名程序”为例(手动狗头)。 混元大模型很快生成了一段带注释的完整代码: 实测可以丝滑运行 ,每次都能抽到不同的幸(dao)运(mei)儿(dan)起来回答问题: 然后我们还发现,混元大模型竟然还能帮忙查代码bug
,属实是程序员省心利器了
。 当然,无论是文生图还是代码能力
,现在都已经可以在腾讯混元助手中体验。混元文生图上手实测
模型全自研,用20亿+图文对炼成
importrandom#假设班级里有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)