分享

一文看懂势不可挡的AIGC和多模态大模型!|《追AI的人》第27期直播回放

 奥莉芙小异 2023-11-25 发布于江西

直播回顾

《追AI的人》系列直播第27期邀请了阿里巴巴人工智能治理与可持续发展研究中心(AAIG)图片视觉大模型与视觉AIGC安全算法负责人洪海文分享《多模态大模型的发展与攻防一体》。

以下为直播的文字回放,共计19596字。

📺《追AI的人》往期直播视频回放观看👉B站关注:AAIG课代表

图片直播简介回顾:
多模态大模型如何看懂《长安三万里》?解密情商智商俱佳多模态大模型的发展与攻防一体!《追AI的人》第27期来咯!
图片

 洪 海 文

图片视觉大模型与视觉AIGC安全算法负责人。浙大计算机硕士,在ACMMM,ICCV,EMNLP,ACL,ICME等顶会上发表多篇文章。自研多模态乱序大模型,在阿里风控体系中支持几十亿级别业务流量中的安全,也应用于阿里各大视觉AIGC产品的安全可控。

分享大纲

🎈 不许在脑海里想一头粉红色的大象,你想的是什么?聊聊多模态是什么?
🎈 你是怎么看懂《长安三万里》的?聊聊多模态大模型在识别侧的发展
🎈 请你画一头粉红色的大象?聊聊多模态大模型在生成侧的发展
🎈 最强之矛也是最强之盾,多模态大模型的攻防一体与实际应用
🎈 如何让ChatGPT长出眼睛和耳朵?聊聊多模态ChatGPT的学术难点与展望



首先,我们来聊一聊多模态大模型的发展以及其在应用中的作用。通过多模态技术,我们可以通过不同的感知方式(如视觉、听觉、触觉)对信息进行获取和处理。这种技术在识别侧和生成侧上都有不断发展。在识别侧方面,多模态技术已经得到了广泛的应用和发展。通过将不同感知方式的信息进行融合,多模态技术可以更加准确地进行信息识别和分析,为各种应用提供更精确和高效的解决方案。

在生成侧方面,多模态技术的发展也为各种应用提供了更精确和高效的解决方案。利用深度学习和神经网络等技术,我们可以更全面和深入地理解和分析多种感知方式的信息。

在实际的业务场景中,多模态技术可以为整个阿里集团提供安全可靠的支撑。无论是处理海量流量还是其他方面的应用,多模态技术都能够为阿里集团提供高效和可靠的解决方案。

另外,我们还可以关注像多模态ChatGPT这样的多模态解决方案。目前的学术研究希望让ChatGPT等大语言模型,可以同时理解声音和图片等多种形式,但是这些目前仍在探索中,算是热门的学术难点。

图片

🤔️我们来思考一个问题:如果我告诉你不要在脑海中想象一头粉红色的大象,你会想到什么?

图片

这其实是一个非常著名的问题,如果你看过电影《盗梦空间》,可能会在其中看到这样的场景。一位日本的大佬提出了一个问题,即是否可以将一个想法植入到某人的脑海中。盗梦师回应他说,假如我让你不要在脑海中想到一头粉红色的大象,你会想到什么?日本大佬回答,想到了大象。这是因为心理学上存在一种叫做“粉色大象效应”的原理,当我们被告知不要想到某个对象时,我们反而会越来越想到它,就像失眠时越想睡觉反而越睡不着,这是一种叛逆心理。

图片

那么,假如我真的告诉你不要想一头粉红色的大象,而你的脑海中确实想到了粉红色的大象,那么你的脑海中实际上在想什么?是几个字描述的一头粉红色的大象吗?是这些离散的文字在你的脑海中飘动,还是你真的在想象出一幅大致的大象图像?需要注意的是,这里有一个重要概念,即“大概”。对于理解多模态或者未来的AI绘图来说,这个概念非常重要。你可能在脑海中有一个模糊的粉红色大象的概念,但你不知道大象具体有几根脚趾,是否有毛,尾巴是不是卷曲等等细节,这些你都不了解。

当我问你这个问题时,你可能才会意识到这些细节是模糊的,在思考的过程中,你在不断地细化细节。这就像AI作图,你一开始只有一个视觉概念,但在这个过程中,你不断优化细节,才能得到一个非常详细的图像。

图片

人类的认知过程实际上也是类似的。当我们去理解一个概念时,最开始可能只是文字描述,比如要理解大象,你在视觉模态上能看到这头粉红色的大象,并且基于过去的书本或个人经历,你知道大象是一种长鼻子的巨型动物。否则的话,你看到这幅图,你也不知道这是大象。你可能想象得到大象的叫声并以此作为鉴别条件之一,而大象的气味可能是动物园里大象的体味,再加上一些大象粪便的味道。
所有这些的组合都最终让你知道大象是什么。你确认它是一头大象,而不是一条狗,因为它很大,鼻子很长。你知道大象的长相、气味,可能通过书本或自己的实际经历获得各种信息。所有这些信息最终融合在一起形成了大象的概念。因此,人类的认知一直都是跨模态和多模态的。

图片

那么,如果让计算机或人工智能来完成这个任务,它能够成功吗?其实他也能完成,但是他目前完成的还没有人类那么好。对于人工智能来说,一切都是数据。比如,视觉数据是由一大堆像素组成的,一张图片就是一大堆像素。

而对于文本数据,人工智能会将其编码为各种不同的数字,然后通过这些数字将文本的知识真正输入到计算机中。因此,通过多模态的神经网络或多模态的深度学习,我们可以从动态的角度更好地理解大象这个概念。那么为什么我们需要多模态的能力呢?你可能会问,光看到文字或图片难道不足以理解含义吗?

图片

让我们来看一个例子:“哇!好喜欢你今天的香水味。”初看可能会觉得这是在夸奖对方,因为听到这句话可能会让人感到开心。
图片

但实际上,如果我加上一张臭鼬的图片,并说“哇!好喜欢你今天香水味”,你可能会觉得这是在侮辱对方,这是一种反讽。然而,如果我搭配的是一张玫瑰花的图片,并说“哇!好喜欢你今天香水味”,你可能会理解为我在夸奖对方像一朵花一样香。

因此,在同样的一句话中,通过不同的图片搭配,整个含义可以完全不同。要完全理解一个东西,你必须处理多模态的信息,以便更全面地复现整个过程。

图片

学术界也有专门研究多模态领域的人。其中一个有代表性的数据集叫做Hateful Memes数据集,由Facebook团队创建,当然现在这个Facebook已经改名Meta。他们需要用AI来判断当前的表情包是否有恶意,比如辱骂、讽刺等。例如,右下角的由臭鼬与玫瑰花组成的表情包,根据不同的图片和文字组合,表达的内容完全不同。

这个数据集收集了各种类型的表情包样本,总共有几千个样本。然后,让AI去识别哪些是正面的、哪些是负面的、哪些是积极的、哪些是消极的。在左下角红框中,上面的部分是用单模态方式识别,只看文本或图片,准确率大约为52%左右。而下面的部分是多模态模型,准确率基本上可以达到61-64%。因此,在多模态的问题上,我们必须使用多模态方式才能真正解决它。

图片

接下来,来说一下多模态的概念,以了解多模态大型模型在识别上的发展和工作过程。

图片

通过长安三万里这部电影,特别是其中的一段片段,我们可以深刻地理解多模态的应用。这一段片段复现了李白创作《将进酒》的经典场面,而通过动画的场景营造、人物背景介绍和声效配音演员的功力,相比纯粹的读一首诗的文本,观众们对这首诗的理解大大深化了。整个场景被多模态化后,这段片段成为了这部电影中最受欢迎的片段之一,并在各个直播平台和短视频平台上被剪辑传播。

要理解这段片段,我们需要识别李白的形象,识别语音中的情感和节奏感,还需要通过OCR技术在图片中识别出文字。这些元素的多模态结合,使得这段片段给人的印象非常深刻。所以,我们需要以某种方式对各种多模态信息进行建模,并将其融合到我们的认知中,然后根据这些信息做出判断,从而理解电影或片段。

图片
图片

行为时代

图片

多模态的认知过程经历了长时间的发展。在大约1970年左右,人们开始在生物学和心理学领域研究多模态。例如,英国的心理学家进行了一项有趣的实验,证明听觉在很大程度上受到视觉的影响。例如,当你看着我说话时,你可能会根据我的唇形来大致猜测我在说什么,而唇形可能会干扰你对语音的判断。

举个例子,假设有一部电影名字叫做《Elephant Juice》。如果你只根据唇形来判断的话,如果你旁边有异性,你可能会向他们低声说'Elephant Juice',而如果你说得比较轻,他们可能会误解,以为你在说'I love you'之类的话。因为通过唇形感受,'Elephant Juice'和'I love you'非常相似。

图片

所以,这部电影也在提醒我们这个问题,即像'Elephant Juice'这样的词语时,当无声地对着旁边的异性念出'Elephant Juice'时,大多数人都会误认为是'I love you'的发音。这是因为'I love you'这个文本比较常见,而'Elephant Juice'这个搭配比较奇怪。在这个过程中,唇形作为一种视觉信息对语音和文字的理解也会产生影响。换句话说,多模态的融合并不一定只有优势,它也可能会产生各种模态之间的干扰。

图片
图片

计算时代

图片

进入计算时代后,我们需要将这些多模态信息数字化。例如,声音可以转化为信号,而在声音信号的识别准确度方面,逐步引入视觉信号可以大幅提高识别准确率。在交互时代,像CMU等著名大学开始尝试数字视频库等多模态计算项目。这个时代是一个交互时代,人机交互越来越常见,例如与Siri的交互,记录会议录音并同步音视频进行转录或注释,以及使用多传感器和多模态信号进行面对面交互。

图片
图片

交互时代

图片

在交互时代,我们主要是进行信号处理,将多模态信号融合在一起,以完成单模态无法完成的任务。然而,真正实现多模态智能化的是深度学习时代,即从2010年后或2012年后开始的时代。在这个时代,大规模的高质量标准数据集如ImageNet、强大的GPU计算能力以及视觉侧和文本侧的特征提取器的发展,是推动多模态深度学习的核心。

图片
图片

深度学习时代

图片

在深度学习时代,多模态的发展非常迅速,催生出各种文档识别、图像搜索、AI生成等与多模态有关的应用,如在淘宝上使用的图搜功能,搜同款等。多模态作为一门融合性学科,需要对文本、图片、声音等各种模态进行特征提取。这些模态本身是一些杂乱的信息,需要有序地建模到计算机便于接受的类型。例如,图片是由像素组成的,每个像素的数字对应不同的颜色。

因此,在计算机中,图片可以转化为一串数字。对于文本也是一样,需要将文字转化为计算机能够理解的数字编码。音频和文本,它们也有些相似之处,都是由一段段音节或词汇组成的,需要将它们进行数字化编码。数字化编码之后,我们需要进行特征提取。例如,当人类看一张图片时,不会从像素级别逐个看过去,而是扫一眼,能够大概看出这是一个杯子里装着红色的饮料,然后再去看细节部分。因此,在这个过程中,我们需要控制自己的注意力,也就是控制我们的感受野,以及将一串数字变成计算机或人工智能能够理解的矩阵向量,称为特征向量,或者表征。

图片

表征是文本模态的一个重要方案。深度学习爆发初期比较主流的是循环神经网络(RNN),它与原始的神经网络不同之处在于其输入和输出都是一系列数据。左边的神经网络是最常见的,一个输入对应一个输出,输出接近计算机能理解的数字。

右边的循环神经网络则不同。输入进循环神经网络的比如是'阿里巴巴'这四个字,首先会产生一个特征,然后与后面的字依次合并,再生成下一个特征。比如“阿里”这个特征会与'巴'这个字合并,再产生一个特征。这个特征会依赖于前面的文本,而不会把'里'这个字单独拿出来,就像人们在理解一件事情时也会一样,单独拿出'里'和'巴'这两个词,你根本不知道它们的意思。但是如果我说'阿里巴巴',你可能就会明白了,这个词中的'里'和“巴”本身含义模糊,但是在'阿'后面,我们便能结合上下文理解其意思。

所以如何用神经网络在建模这种人类能够理解的信息,一直是AI领域追求的目标。循环神经网络能够很好地对这种时序信息进行建模,当然并非完美,但是在当时是一个比较好的方案。然而,这个方案也存在许多问题,例如梯度不稳定性,以及一旦序列依赖关系变得很长时,比如'君不见,黄河之水天上来'到'五花马,千金裘,呼儿将出换美酒,与尔同销万古愁',中间有很多字,到了后面建模'愁'这个字时,你会发现前面的'君不见'已经被冲淡了,因为这是一种加权的过程,越靠近'君不见'这三个字的权重会更大。

图片

在建模长文本信息的过程中,存在一些依赖关系需要处理,比如在侦探小说中,如果最后侦探说的是“凶手就是你”,这个“你”指代的凶手名字在前文很前面,读者可能就不知道这个指代的是谁。

为了解决这个问题,学界提出了一个重要的模型叫做LSTM,它能够处理长依赖和短依赖的长时记忆和短时记忆。LSTM设计了许多遗忘门,能够决定哪些信息需要被遗忘,哪些需要被记忆。在长短时记忆的基础上,整个依赖关系变得更长,从而使得建模变得更加有序。
图片

最终,像Transform网络这样的模型也出现了,它是目前NLP中最受关注的网络之一。在AI领域,大家对于Transformer的认可度不断提升。Transformer不同于之前的LSTM或RNN,它直接将文本信息进行铺平,将每一个词都当作一个并列的元素,根据轻重缓急来选择性地处理。这种处理方式类似于人类阅读一句话时的过程,我们会关注一些重要的词,而忽略一些串场的词汇。

为了捕捉到重要的信息,Transformer引入了注意力机制。在经过训练后,注意力机制能够清晰地关注文本中比较值得被关注的内容。一旦这些内容出现,注意力机制会赋予它们足够高的权重,从而将关键信息融合在一起。

另外,Transformer还能够更好地解决依赖问题。以之前的'阿里巴巴'为例,如果只是通过RNN等方式建立依赖关系,那么'阿'和'里'之间的时间差就会很大。但是通过Transformer的注意力机制,实际上将这个持续的工作过程转化为了一个空间序列的过程,并通过位置编码将'阿'和'里'这两个词汇关联起来。

图片

视觉侧的发展也是一波三折,对深度卷积网络进行研究后,人们发现视觉理解不是像素级别的处理,而是局部区域的处理。我们在看图片时也是先处理局部区域,然后进行层层抽象,最终完成语义理解和建模。

图片

因此,在整个卷积网络中,我们可以看到层层抽象的过程,从原图到高维的语义特征。深度卷积网络在视觉领域中非常好用,不仅可以用于分类和相似度比对,还可以完成更加复杂的任务。
在谷歌团队中,为了使Transformer可以处理图片,他们将图片切成小块,并用位置编码对每个小块的位置进行编码,从而让模型知道每个小块的位置关系。位置编码可以通过各种三角函数等函数的方式进行编码,从而实现对小块相对位置的表达。ViT(Vision-Transformer)是在Transformer的基础上进行改进后的热门网络,专门用于计算机视觉领域。它的出现效果非常惊艳,在整个计算机视觉领域都大杀四方。

图片

在Transformer处理文本和视觉之后,多模态表征的融合才真正进入了一个深水区。在多模态表征融合方案中,有分头突围、圈外集合的双流架构。其中,分头突围方式是指分别对文本和图片进行特征提取,圈外集合是将它们融合在一起。这种方式的好处在于独立性强,可以扩展,也可以灵活地替换其中一个模态的特征提取方式。但是,这种方式的问题在于文本和视觉之间的模态差异性很大,需要进行额外的处理。

图片

为了解决多模态融合中模态差异的问题,人们开始考虑使用单流架构,即以某一种模态为主,将另一种模态作为辅助。单流架构的特点是集中火力干其中一个模态,另一个模态则是作为辅助的。

例如,VL-BERT就是将图片的特征切成token,然后将其放入文本流程中处理,这样人们就感觉只是在处理文本,而图片只是插进来的。虽然多模态融合已经有好几年的历史,但是直到2021年之前,人们普遍认为多模态只是计算机视觉或文本的附庸,好像没有产生什么质变,只是变得更厉害了一点。这是因为在过去的多模态融合方案中,模态差异性很大,难以实现真正的融合产生多模态的独有特性。

图片

近年来,在多模态领域中,最重要的工作之一是OpenAI的CLIP模型。该模型不仅在多模态融合方面具有重要意义,还是开启AIGC时代的关键之一。在当时看来,CLIP模型是一个超大规模的模型,它使用大规模数据集进行训练,包括图片和文本。训练过程中,模型通过图文对齐的方式学习图片和文本之间的对应关系。
CLIP模型有两个编码器,一个是文本编码器,另一个是图片编码器。在训练过程中,模型会对一批图文对进行特征提取,然后根据这些对应关系形成监督信号。这样,模型就可以学习图片和文本之间的对应性,从而实现更好的多模态表征。
在CLIP模型的预训练过程中,通过一个简单的监督方式,即将第一个文本和第一个图片的特征拉近,将第一个图片和第二个文本的特征拉远。这个监督方式非常简单,但却非常本质。在足够大的数据量下,预训练的任务可以被设定得非常简单,而简单往往触及本质。CLIP模型通过这个简单而本质的训练方式,结合数亿个图文组合,训练出一个极其通用的模型。
以往多模态模型具有任务局限性,例如在人脸识别中,模型只能识别人脸,而在狗猫分类中,模型只能区分猫和狗。但是CLIP模型能够完成对世间万物之间的对比。CLIP模型具有很高的通用性,在这个模型中,狗和狗的图片是可以对应起来的,猫和猫的图片也是可以对应起来的。CLIP模型通过对互联网上的各种数据进行训练,可以将不同类型的物体分类。在分类时,通过文本和图片的相似度进行对比,从而确定它属于哪一类。
图片
CLIP类型模型的出现引起了许多争议,其中一个问题是它在训练时直接拉取了互联网上的各类数据,这些数据中有很多噪音信息,影响其准确性。为了解决这个问题,BLIP模型被开发出来,它通过对图文对进行过滤,将不合理的数据去掉,使数据更干净。此外,BLIP模型还可以进行生成,通过在特征后面接一个生成器,可以生成一段话来描述特征。
图片
此外,还有一种名为SAM的模型,它是基于CLIP的结构,并做了大量的训练工作,能够将图片中的各种实体和背景区分开来。
图片
例如,在第三行第二列的图片中,这个模型可以将图片中的不同颜色标记分别对应不同的菜品,从而实现图片分割。图片分割的作用在于定位和分类物品。例如,如果商品图片中大量信息,我们只关注右下角一个小小的标记,我们可以通过分割将其识别出来,而不是只关注整张图片。
图片
🤔️在绘制一头粉红色大象时,我们需要思考几个问题。首先,你需要多少步骤来完成这幅画?
图片
在绘制一头粉红色大象时,我们需要思考几个问题。首先,你需要多少步骤来完成这幅画?其次,你能画出来吗?你是否具备绘画技巧?当我们面临这样的命题时,我们首先要理解大象是什么,这是一个奇怪的概念。我们需要先理解大象是一种长有鼻子的巨大哺乳动物,有这个概念是我们继续下去的基础,否则我们对大象的形象一无所知。
图片
当我们理解了大象这个概念时,我们需要思考大象长什么样子。如果我们无法形成一个清晰的概念,就无法将其表现出来。比如,如果老师让你画一个五彩斑斓的黑,如果你脑海中形成不了这样的概念,你可能无法完成。因此,我们需要在脑海中明确大象的形象特征,例如有长鼻子,有象牙,有4只脚等等。
但这只是一个粗略的印象,更精细的特征需要不断地清晰化思维中的模糊概念。很多人可能知道大象长什么样,但真正能将其画的栩栩如生的人却很少。在这个过程中,我们可以思考人工智能需要经历多少步骤。
图片
刚刚我们提到了CLIP模型,它是引爆了AI视觉的一把金钥匙。当我们让人工智能去画一头粉红色的大象时,首先它通过文本编码器理解文本中的内容。接着,它通过图文对齐中图像编码器的监督,对应出图像的特征。
在CLIP中,这两者是对应的,因为它们在高维的语义空间中表示的是相似的东西。然而,CLIP本身并没有表达这个概念的能力,它只是知道这个概念存在。那么如何将其表达出来呢?
图片
我们刚才提到将一个模糊的概念变成具体的过程,实际上是剥除脑海中的模糊信息,这个过程在算法中被称为解除噪声。例如,当我们描述大象的脚时,我们可能只能看到模糊的粉红色脚掌,而预测所覆盖的部分就是我们要解除的噪声,这就是Stable Diffusion的基本原理。我们可以使用UNet型的网络来预测图像中存在的噪声,并将其去除。这就是将脑海中的大象清晰化的过程,也是Stable Diffusion的基础原理之一。
在这个过程中,我们可以使用文本的引导来帮助生成更清晰的图像。例如,当我们输入“大象”时,我们需要先理解这个文本,并将其映射到图像信息。最后,我们可以使用decoder或生成器来生成完整的图像,例如一幅大象图像。
图片
让我们先来讨论一下视觉AI绘画的发展。有一幅作品叫做《太空歌剧院》,它是一个游戏设计师参加了美国的数字艺术比赛并赢得冠军的作品。令人惊讶的是,这幅作品实际上是由AI绘制的。
在夺冠前,设计师一直没有透露这是由AI创作的,但在获胜后才公开了这一信息。这一事件引起了轰动,因为以前大家对于AI绘画的认知仅限于人工智障,而这幅作品的出现改变了人们的看法。
图片
接下来,我想分享几张有趣的作品。例如,这两张图是由一款名为'Midjourney'的AI绘图产品绘制的。比如左边的这张猫咪照片,它的光影和景深非常真实,如果我不告诉你这是由AI绘制的,你可能根本看不出来。

这说明AI绘画在这个领域已经发展到了可用的程度。右边的这张是他们的一张宣传图,描绘了一个男人和一个女人坐在一个废弃的房子中。仔细观察它的细节,比如绳子和周围的环境,很难相信这是由AI绘制的,这显示出AI绘画在这个过程中已经取得了较大的进展。
图片
另一个例子是阿里巴巴的通义万相模型,在安全防控方面我们也一直参与其中。从一开始,通义万相在绘制方面可能效果并不好,但后来在人体和人脸等明确主体的图片上,它的效果变得非常出色。
首先是一个文本生成的例子,我们生成了一个看起来非常漂亮的徽章,它的内容是“虎头虎脑”,这相当于一个基于文本的创作。第二个例子是一个人类的侧脸,如果仔细观察它的质感和细节,你会发现它的质感非常逼真,几乎可以媲美摄影。AI绘画已经取得了一定的进展,比如我在PPT中使用的各种图形大多都是由AI生成的,但对于细节和质感的表达还有很多需要改进的地方。
图片
第三个例子是百度的文心一言或者叫文心一格,一个文生图的产品。他们画了一只老虎和一个人的图案,都非常出色。在国内,视觉AI在文生图方面的技术水平与国外相比差距不大,但在文生文方面可能存在一定的差距。
图片
最后,我们来谈谈一些国外的视觉AIGC产品,比如Stable Diffusion。这些产品在国内都很受欢迎,Stable Diffusion社区的网站Civitai提供了许多不同版本的模型,用户可以进行训练并进行微调,比如对建筑进行微调等。这些微调可以让模型产生非常好看的概念图,比如左边的建筑图就非常高大上,右边则更为棱角分明。
图片
在视觉AIGC中,还有一些其他的例子,比如画的戴眼镜的狗和写实的大象,虽然在细节上存在一些差距,但整体上看都非常不错。
图片
还有一辆车,是由Stable Diffusion直接生成的,这辆车不仅好看,而且充满了未来的幻想和古董车的风格。
图片
那么,为什么Stable Diffusion能够让社区如此完善呢?主要原因在于门槛和成本。Stable Diffusion的成本相对较低,因此许多用户都可以在自己的显卡上部署文生图模型。由于存在大量的用户需求,这自然而然地导致了定制化的需求,但重新训练Stable Diffusion模型是非常困难的,因为它体积很大。因此,科学家们提出了LoRA的方法,可以避免为了一个新的需求就重新训练整个大模型。这种方法最早是为了给ChatGPT类的大语言模型使用的。
图片
LoRA基于Stable Diffusion的基础网络,可以训练出各种各样的模型,比如人脸模型、建筑模型和车辆模型等。使用LoRA的过程非常简单,只需要拍几张照片,然后在自己的显卡上进行训练,得到一个对应的词,比如“帅哥”,然后就可以生成一个带有自己脸的帅哥图像,非常方便。由于使用LoRA非常简便,因此在AI作图的社区中发展非常频繁,人们的智慧引领着学界前进。
图片
Stable Diffusion XL是Stable Diffusion的一个后续变体,也是目前在开源世界中表现最好的AI做图模型之一。与之前的模型相比,SD XL的优势在于它可以在部分图片中完整地写出字,而且对于光影和人物细节也能表现得非常真实。
图片
整个模型分为Base和Refiner两部分,其中Refiner是一个精细化模型,可以修复各种各样的细节问题。这种分工的方式其实类似于人类社会的发展,刚开始大家觉得啥都能做,后来才意识到需要专业人员来负责不同的领域。在Stable Diffusion的发展过程中,也逐渐走向了多阶段的方式。因此,现在的AI作图模型已经可以做到非常细节清晰、写实自然,是一个非常大的进步。
图片
当前AI作图仍存在两个主要问题。首先,模型对于文本的理解能力有限。例如,当输入'马骑着宇航员'这样的文本时,现有模型往往只会输出宇航员骑马,而不会考虑到马骑宇航员的情况。这是因为模型存在最短路径依赖的思维惯性,对于宇航员骑马的搭配更加敏感,而没有考虑到更多的语境信息。这导致模型对于文本的理解还不够准确和全面。
图片
其次,模型在细节绘画方面还存在不足。一个经典例子是画手的问题。例如,在左边的马斯克的图像中,虽然整体表现包括国际象棋等方面画得不错,但是手部却显得奇怪,难以描述。而在右边的Midjourney的图像中,他们宣称他们的版本对手的绘画已经足够好了。
然而,从这个案例可以看出,手部的绘画仍然存在问题,不同版本的改进只是部分解决了这个问题。无论是在学术侧还是业务侧,解决这个细节绘画问题仍然非常困难。虽然AI作图目前还面临一些问题,但随着学术和技术的进步,相信这些问题逐渐得到解决的可能性也在增加。
图片
第三个问题是可控性。例如,对于阿里安全内部的塔玑业务来说,商家希望能够用AI模特来生成模特穿衣服的图,以展示衣服的效果。但是在这个过程中,商家希望能够保留衣服的细节,比如纽扣、袖子等,但这些细节很难被完全保留下来,因为其细微的变化很难被控制。在学术侧也存在着这个问题。
图片
除了AI做图以外,还有其他类型的视觉问题,比如视频风格的变换。现在已经有人在研究如何将一个真人视频转化为动漫视频,并且还可以将视频中的人物变成其他人物,比如钢铁侠。这就是风格的牵引,通过改变视频的风格来实现不同的效果。
图片
另一个问题是视频中的闪烁。例如,当将一个真人视频变成动漫视频时,由于视频是逐帧绘制的,如果AI的可控性不够好,不同帧之间出现了问题,那么在将这些帧连在一起观看时,视频可能会出现闪烁的问题。例如头发散乱、眼睛移动等都可能会导致视频闪烁。因此,在AI视频领域,现在还存在一些问题,尽管已经有了一些产品,但整体上还没有达到商业化的水平。
图片
另一个领域是AI音频。例如,在b站或抖音上,会看到AI歌手孙燕姿的作品,歌手通过AI出道,可以演唱多种耳熟能详的歌曲。通过AI音频,任意歌曲和音色都可以进行混合,甚至可以输入一段话就能生成音乐。这是AI音频目前的一个发展方向。
图片
最后要提及的是ChatGPT。虽然它目前与多模态的关联不太强,但却是AIGC时代最重要的工作。ChatGPT在2022年11月30日一经推出,立即引爆了全球的AIGC热潮,引起了资本投资界以及各行各业的疯狂关注。
然而,ChatGPT的预训练方式实际上非常简单,就像人类学习一样。例如,你要记住两句诗,你通常会从前一句开始背,通过前一句来默写后一句。例如,“春江潮水连海平,海上明月共潮生”,我开始写第二句时发现写错了,我错写成了“海上明月共朝死”。然后我将“潮死”和“潮生”进行对比,发现错误在于“死”,于是下次我改成“生”。
这种方式实际上是ChatGPT的逻辑,它通过不断预测下一个词来训练模型,然后将预测出的下一个词与原文进行对比。由于这种方案听起来非常简单,它可以适应人类生活中的各种文本,包括互联网上的所有文本。
无论是什么文本,我只需要将它交给ChatGPT,它就可以顺利处理。在使用ChatGPT进行训练时,最好的监督就是原始文本本身。将原始文本盖住,然后默写下面的内容,将所默写内容与原文进行比对,如果不正确则改正。这种方式奏效的原因是GPT的数据规模和模型规模非常大。不过,这只是ChatGPT的预训练方式,其真正的训练方式包括三个阶段。
第一阶段是预训练,如前所述,目的是让模型具备基础的理解能力,从而成为一个文学大师。
第二阶段是微调,因为即便是文学大师,只会接龙也是不够的。在这个阶段中,模型需要了解如何回答问题。由于模型是预测下一个字,当给出一个问号时,模型可能会继续接龙并输出一连串问号。因此,需要告诉模型如何回答问题。可以将一个高考满分的学生作为比喻来说明。
如果让他在政府机关写一份符合公务员常见文档要求的文件,他可能无法写出来。即使他写出来,也可能是非常有诗意的文档,而不符合政府机关需要的法言法语或政治生态要求。这是因为这个过程需要进行教导,他不是不会写,只是不知道该以什么样的形式来写。这个过程被称为微调,也可以称为instruction tuning或指令微调。
微调的含义是让ChatGPT理解你想要让它做什么,然后根据其知识储备输出相应的内容。经过指令微调之后,你将得到一个非常强大的模型,即一个可以进行对话的模型。你可以与他进行对话,就像与一个人对话一样。
然而,这个模型也存在一定的危险性。因为它的训练数据大部分来自互联网,而互联网上的数据种类繁多,有各种各样的乱七八糟的信息。它有可能学到一些负面的信息,所以我们需要通过某种方式使其更符合人类的需求,变得有帮助而不是有害。这个过程被称为基于人类回复的强化学习(RLHF)。它其实很简单,对于一些模棱两可的问题,比如单亲家庭的孩子是否性格不好,我们可以邀请社会学家等专家来做这些问题的储备,以攻击我们的模型并提升其安全性。
我们可以让模型生成四个回答:
A、可能会说单亲家庭会影响
B、可能会说单亲家庭不会影响
C、可能会说单亲家庭不一定会影响
D、可能会说不知道
对于这四个答案,不同人可能有不同的观点,并且存在争论。但对于人类来说,我们更倾向于关注积极的一面,所以我们应该将那些认为不会影响的答案放在前面,因为这是我们要鼓励的。基于人类的排序,我们可以训练一个奖励模型(reward model),用于给模型的回答进行打分。如果打分高,表示回答符合人类需求;如果打分低,表示回答不符合人类需求。这与模型的生成能力无关,更像是一种道德价值观。因此,RLHF实际上是将ChatGPT置于人类面前的最后一关的教育,也是使模型表现得像人类一样的最后一个必要条件。
图片
但是ChatGPT有许多后续的发展。比如,HuggingGPT,他使用了ChatGPT调用各种已有的模型。例如,他使用了一个文本模型,它只能进行对话,不会绘图。但是它只需要调用那些绘图的模型,比如Stable Diffusion模型。
比如,我想画一只粉红色的大象,用ChatGPT调用Stable Diffusion模型,将粉红色的大象作为输入给Stable Diffusion模型。然后他生成了一幅图,我将这个图的URL或网页链接贴过来给你看。从用户的角度来看,它已经画出了一幅图,尽管它并不知道发生了什么,它只是纯粹地调用了一个模型。
这就是HuggingGPT的原理。这篇文章的影响力非常大,无论是在学术界还是在资本界和业务领域,人们对这种方式和概念非常推崇。因为它不仅解决了一些协同合作的问题,还为未来的可扩展性提供了巨大的空间。
图片
此外,还有一个ChatGPT的小社会,被称为生成式智能体(Generative Agents)。既然ChatGPT如此类似于人类,我们是否可以用ChatGPT来模拟人类社会的发展呢?例如,一个人刚开始时可能并不道德,后续过程的社会博弈中,慢慢产生了道德。
在博弈的过程中,人们发现存在两个基本条件:首先,我们要保持自己的身体健康和生存;其次,我们要繁衍后代。如果我去杀人,别人也会杀我;如果别人杀了我,我就无法生存,也无法繁衍后代。因此,在博弈的最终结果中,人们不再互相杀戮,而是互相生存和合作,以确保后代的繁衍。这个博弈过程形成了一套价值观和道德观念,逐渐演变成人类社会的现状。
那么,我们是否可以利用这些 Agents来模拟演变过程呢?斯坦福大学等机构已经在这方面进行了研究。在一个游戏中,他们加入了20个不同的Agents,每个Agent都是ChatGPT都具有不同的人设。通过互相博弈,这些Agent逐渐改变了他们的价值观。举例来说,原本单个的ChatGPT可能无法真正组织一个派对,因为它不了解各种细节。但是,不同的ChatGPT之间的对话逐渐形成了一个完整的派对,并且考虑到了各种细节,这是一个很有趣的尝试。
图片
最后,让我们回到ChatGPT的最新进展,也就是GPT-4,它具有多模态的理解能力。例如,我们可以展示给它一个用鸡块拼成的世界地图,并问它这个东西为什么这么搞笑。它可以回答说,因为用鸡块拼成图形给人一种反差感,非常搞笑。这展示了它对多模态信息的理解能力。
虽然对于人类来说,多模态信息处理似乎是一件很常见的事情,但对于人工智能来说,这实际上是一件非常困难的事情。即使像GPT-4这样的模型在这方面取得了一定的进展,但在细节上仍然存在一定的缺陷。因此,我们需要不断发展多模态模型,以满足未来更加复杂的应用需求。
图片

第四章,主要讨论多模态和大型模型在业务中的应用。大多数人可能不太了解内容安全业务或者真正的安全业务。我们看到的更多是正向的业务,比如淘宝上的各种有趣的活动。

图片

然而,这些活动之所以能够得到支持并避免出现各种问题,例如反华势力、色情内容等内容,实际上是因为有安全团队提供支持。作为安全团队,我们几乎检测了阿里巴巴所有的流量,这意味着每天数十亿甚至几百亿的流量都要经过我们的安全系统,只有通过了我们的防控,才能真正呈现给客户,这里的风险类型非常细碎且繁杂。

图片

另一个难点是多模态的风险。例如,一个表情包上写着“你的智商”,配了一条傻狗,这就是在骂你。但如果表情包上写着“你的智商”,配了一张爱因斯坦的照片,那就是在夸你。如果去掉傻狗,上面还写着“好想睡觉”,那就只是一个普通的傻屌表情包,并没有恶意。

图片

这些多模态的风险无法通过文字和图片来解决。在我们的安全过程中,我们发现真正可能漏防的只有这种多模态的风险。因为图片和文字的单模态风险已经被我们的算法覆盖得非常好了。只有那些不断产生的非常隐晦的多模态梗,才需要我们不断迭代算法来解决。另一个风险是永远存在大量无法覆盖的风险点,因为时势不断变化,人们会利用新闻等来进行恶意创作,尤其是一些反华势力和黑灰产。

例如,在核酸检测时期,2020年前训练的模型并不知道核酸检测是什么,就像2019年的人类也不知道核酸检测是什么。但是在2021年和2022年,核酸检测这个概念已经存在了,所以我们必须让模型学会识别这个概念。还有一些偏色情的风险,虽然很隐晦,但只要有一定的背景含义,我们都知道它是什么。所以如何识别和防控这些风险是非常困难的,而且需要快速行动,不能让这些风险暴露太久,否则会产生更大的破坏力。

图片

基于以上困难,我们设计了一个相对完整的内容安全体系。我们基于大模型的架构,设计了结构化和非结构化的算子,以及大模型的算子。这些算子都是主动防控的,例如,每天数百亿甚至上千亿的流量都经过这个体系,有问题的被移除,没有问题的正常呈现给用户。

然而,即使是最好的算法也可能会漏防。那些漏防的部分已经在数据库中呈现给用户了,我们需要快速将其抓回来,以防止它们产生更大的影响。为了抓回那些漏防的部分,我们需要使用智能排查这个工具。智能排查是在已有数据中找到风险的过程。

图片

在这个过程中,我们会经历许多步骤。首先,我们需要进行动态调度,也就是选择哪些模型与风险有关,并进行相应的调整。其次,我们需要进行能力检验以确保这些模型可以准确地识别和防止风险。

第三步是人工审核,进一步确保我们的防控体系是否符合需求。第四步是存量排查,即使我们可能漏防了一些风险,我们也需要不断进行排查和修复。最后,我们还需要进行蓝军巡检,这意味着我们需要攻击自己以发现我们自己存在的安全漏洞。为了找到漏洞并不断改进模型,我们需要一个团队对自己的模型进行攻击和测试。在这个过程中,我们需要设计一个体系来决定哪些环节是必要的,哪些是不必要的,哪些模型需要通过测试,哪些不需要。

图片

动态调度是一个重要的逻辑,它可以帮助我们快速地识别图像中的内容,并决定哪些模型需要进行测试。例如,如果图像中有一只狗,我们只需要运行与动物相关的模型,而不需要运行人脸识别模型。此外,如果图像很大,我们可能需要对其进行裁剪,以节约时间和成本。整个动态调度系统可以节约60%以上的成本,这个系统的设计理念我们也发表在了ACMMM 2021中。

图片

另一个创新性的模型是乱序大模型,这个模型是由我们自己研发的,并已经申请了专利。我们正在进行学术改造,来进一步改进这个模型。乱序大模型的逻辑非常简单,但它具有很高的实用性。好的预训练方式通常是简洁明了的。

以马骑的宇航员问题为例,传统的CLIP模型在最初并不能理解这个问题。当看到马和宇航员时,它能够直观地误认为这是宇航员骑马。但问题在于,它从未见过马骑宇航员的情况,而现实生活中也不会存在马骑宇航员这样的场景和文本。那么该如何解决呢?我们只需要将它们打乱即可。

例如,将宇航员骑马打乱成马骑宇航员、马宇骑航员、马骑宇航员等各种乱序对。就像下面这张图片中“一只可爱的狗,在草地上“经过打乱后,变成了“一可只狗在草地上”等一系列乱序的文本。这些乱序的文本被用作模型的负样本,也就是反面典型。它们告诉模型“一只可爱的狗在草地上”和其他的那些乱序对不一样的,以避免模型仅仅通过看到草地和狗就做出错误判断。

乱序大模型的含义在于,通过对负样本进行乱序处理,使模型强制学习真正的特征,而不是仅仅依靠关键词或固定的组合做出判断。这类似于教小孩子一样,不允许他们仅仅依靠看答案或关键词作出反应,而需真正理解问题,在自己的理解上做出正确的判断。基于乱序大模型,我们建立了整个体系框架。

图片

基于乱序大模型的概念,我们还开发了一个新的技术,称为开放式识别或万物检测。传统的目标检测是在训练集上进行训练的,如果训练集只包含动物,那么模型就可能无法识别电脑等其他目标。而开放式识别则是让模型能够识别任何物体,不仅局限于训练集。这种方法可以大大提高模型的适用性和实用性。在许多业务场景中,我们很难关注到所有的物体类别,每到新增风险物体,我们就可以通过万物检测快速覆盖。

那么对于这些各种物体的风险,我们应该如何进行识别呢?幸运的是,CLIP具备这个能力。CLIP是一个能够对齐各种物体的模型,它的图片和文本数据来自于互联网上广泛的数据,因此它能够理解我们日常所见的几乎所有物体。基于CLIP的监督,我们可以改变检测框架。

原本的检测框架通过提取特征并将其映射到20个预定义的类别中进行分类。但是,如果我们将这20个类别全部替换为CLIP的文本特征,例如我们想要确定一个物体是否是马,我们只需要将马的特征放在那里,然后将图像特征与特征进行逐个对比,如果相似度足够高,那么它就是马,如果相似度不够高,那么它就不是马。

这是一个简单而有效的方法,你可以用任何东西来作为对比的文本备选,这个框架就能认识所有对应的物体。基于这个框架我们发现20个类别太少了。训练出来的框架的决策边界可能很窄,只能识别这20个类别。为了扩大决策边界,我们将各种开放域的类别聚合成几个点,让模型观察多个点,以便适应更广泛的万物检测场景。

图片

基于这两个技术,我们最终实现了哪些业务效果?比如,在指哪打哪方面,只需要输入一个简短的文本,就能消除所有的风险。例如,当出现奥特曼违规事件时,以前需要花费几天或几周时间,收集大量奥特曼的图片来训练模型,以便清除所有风险。但是,现在只需要在这个体系中输入“奥特曼”3个字的文本,就可以立即清除所有奥特曼相关的风险。

图片

类似地,当需要防止冰墩墩时,只需将其输入到我们的框架中,特征就会立即提取并形成安全屏障,消除所有与冰墩墩相关的风险。

图片

让我们来看一下这个过程到底节省了多少时间。原本面对一个新增的风险,比如说冰墩墩变成了风险,通常需要进行一系列步骤。首先,业务方会发现有风险的问题,然后运营和产品人员会参与,确定如何修改产品。然后算法团队会进行训练,收集大量冰墩墩的数据。之后还需要进行测试,并将模型嵌入整个体系中,整个过程可能需要十几天的时间。

而现在,这个过程可以压缩为1到3个小时。这就像日语中有一个词叫做'言灵',意思是言语有一种不可轻视的力量。通过诅咒冰墩墩,它就消失了;通过一句话,所有的风险都可以消失。

图片

在这种情况下,我们还需要考虑一个问题,即使是最好的体系也无法完全防止所有的风险漏洞。总会有一些风险是被漏掉的。另外还有一种情况,原本不是风险,但后来变成了风险,比如一些老艺术家。他们原本并不是风险,但之后被查封后,他们成为了不良艺人,变成了风险。这些散落在整个体系中的图片,可能混杂在像淘宝或饿了么这样的大数据集中。如何准确地找出这些老艺术家是一个挑战,而我们正好可以利用我们的大型模型来实现这一点。

图片

在这个过程中,比如说喜羊羊违规了,当然这不可能发生,但如果真的发生了,我们只需要找到一张喜羊羊的图片,就像在淘宝上搜索一样,使用图像搜索功能,所有与喜羊羊相关的内容都会被找出来。同样的,如果输入“喜羊羊”这个文本,与喜羊羊相关的所有内容也会被找出来,我们可以将它们处理掉,这样所有的内容就会消失。

当然,还有一个很重要的点,你搜喜羊羊不只是出现喜羊羊,还会出现灰太狼。因为我们使用的是多模态模型,而不仅仅是视觉模型。如果只是使用视觉模型,输入“喜羊羊”,只会得到与羊有关的内容,而使用多模态模型,喜羊羊和灰太狼都与一个动漫“喜羊羊与灰太狼”相关联,它们之间的语义距离很近。因此,喜羊羊也可以关联到灰太狼。在实际业务中,我们按照概念来分类,而不是按照图片视觉。

图片

在ACMMM 2021中,我们发表了一篇文章,针对细节识别问题。我们在Transformer中的每一层都提取了一层特征,然后对这些特征进行了多标签分类和优化。我们发现,对于一些非常细节的局部特征,我们的模型都能够很好地理解。

图片

我们可以看到,我们的模型能够识别出两只看起来相似的鸟之间的品种区别,这些区别甚至人类外行都看不出来,用于安全场景的细粒度风险识别也非常有效。

图片

接下来我们来看OCR 。我们可以看到,这些图片中有各种各样的乱七八糟的文本,这些文本不是像PDF中那样整齐划一的排列,而是扭曲、污渍、受到光影影响或者隐藏得很深等等各种变体。这些文本的变体越多,就代表它越危险。

为什么会这样呢?因为正常的文本都被干掉了,只有这些变体文本还存在,这就意味着这些文本存在着欺诈、诈骗或者其他恶意的目的。针对如何将这些图片文字识别出来,我们设计了OCR功能。

图片

我们的OCR在第四届中国人工智能大赛中获得了A级奖项,这是最高级别的荣誉,也在全中国范围内具有相当高的声誉。我们荣获了两个奖项,一个是特定样本的变体识别,另一个是在复杂场景下的文字识别。我们的OCR已经在业务覆盖方面取得了巨大的成功。正如之前提到的,我们覆盖了452个业务域,包括10亿次的调度,涵盖了各种各样的风险类型。

图片

另外,大家可能会关心,如果出现误拦截该怎么办?对于这个问题,我们有一种方法,叫做大模型判白。这个方法很简单,就是将你不懂的事情交给专业人士处理。这也是我们在2021年EMNLP文章中提到的一个概念,即对于你的模型无法解决的问题,将其交给最专业的人来解决,让专业人士处理专业的事务。

如果在我们的体系中,大模型认为某个样本没有问题,那么所有小模型认为有问题也无所谓,大模型决定该放的就放。通过这种方式,我们已经在阿里云、本地生活等大客户上线,误判率已经降低了80%以上,准确率也提高了5倍以上。

图片

此外,我们还有攻防一体的概念。我们针对每个体系设计蓝军进攻模型,并测试其防御能力。如果成功地抵御了这些样本,那说明能力还可以,否则这些样本就会成为你的训练样本。由于Stable Diffusion本身就具有Clip基因,因此我们基于Clip的模型和它之间的特征非常容易进行对接,整个体系是完全闭环的。
图片
回顾整个大模型的发展阶段,从2017年开始,Transformer诞生,它在AI领域也是具有王者级别的贡献。
图片
随后,像GPT-1、GPT-2逐渐出现,后来还有GPT-3以及Bert系列,它们之间的区别在于GPT是用于预测下一个词,而Bert是通过“完形填空”预训练,且主要用于提取文本特征,这两者技术路线是不同的,一个是decoder-only,一个是encoder-only。
当年Bert这个方向其实有更多的追随者。在前几年,Bert论文的引用量是GPT的10倍以上。直到Clip出现之后,多模态这个概念才引起了人们的重视,把大家引入到了一个多模态AIGC这么一个视野之内。
图片
后来, AI作图的概念慢慢地出现了,这些AIGC的概念也随之产生。到了2022年,Stable Diffusion推出了AI作图这个概念,直接引爆了社区热议。然后在2022年11月30日,ChatGPT的推出将真正的资本风口带上来了。
图片
在此之后,针对文图之间的AIGC出现了各种各样的变体和升级,涌现出了很多的学术工作。其中比较重要的几个点,比如多模态生成式的大模型,以及刚才有朋友提到的多模态生成式或者多模态大模型,它们的涌现会在啥时候出现呢?学术上正在探索如何将视觉与大语言模型相结合,Kosmos、BLIP2等都在尝试将视觉融入其中,让语言模型能够理解图片。
图片
ChatGPT作为大语言模型的接口,用HuggingGPT等模型去调图片或调音频,则更像是纯粹的“甩锅”,只是负责收结果和输出给用户,本质上并不理解图片、文本和音频的区别。
图片
但像HuggingGPT这个概念在工业领域非常适合协同,因为如果只有一个模型,训练时很容易出现功能冲突。因此,如果有多个人分工负责调动、AI作图、AI音频、AI视频,然后中间一个把所有东西串起来,就可以更好地服务于业务侧,也更受资本侧关注。
资本界对于HuggingGPT等的关注非常大,学术界也认为它是一个很好的方案。但想要让整个大语言模型真正理解视觉,就需要将视觉的特征用某种方案塞进大语言模型中。
图片
有很多种方式可以实现这个目的,比如将视觉特征切成块,与文本一起喂入模型,或者用cross attention的方式注入结构中。但Kosmos和Blip2都没有完美解决这个问题。
图片
关于视觉涌现大模型的问题,对于NLP来说,已经到了一个涌现的阶段,但在视觉领域似乎还没有。目前视觉模型的输入表示存在问题,与文本不同,文本有通用的表示叫做token,因此将所有文本变成词token,让模型预测下一个词就可以了。
但是图片并非如此,将一张图片切成16×16的patch并不符合人类观察图片的方式,人类可能会先扫一眼看到大概,然后再去寻找细节。如何将这个过程建模是一个非常困难的问题,即使在学术界也是如此。现在有许多尝试,如将像素拼凑在一起,随机采集图片的一部分像素等方法,以期将视觉特征融入大语言模型中。但是在这个过程中,抓取图片的方式非常重要,因为抓取到的内容会影响后续的建模过程。
此外,对于patch的处理,也需要考虑采用更好的方式来进行特征融合。视觉涌现是一个让大家热切期待的领域,因为视觉能够传达语言无法表达的信息。未来,我们需要探索如何将语言和视觉融合起来,以产生更加丰富的共识。例如,具身人工智能机器人需要视觉和语言双重监督,这将是未来需要不断探索的方向。


📺直播预告
8月24日19:00《追AI的人》第28期直播将与大家分享《图像取证探秘:P图假证无处遁形,揭开“美女荷官”骗局》敬请期待💗
图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多