AIGC的阿克琉斯之踵

Posted 华为云开发者社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AIGC的阿克琉斯之踵相关的知识,希望对你有一定的参考价值。

摘要:现在,越来越多的企业和个人使用AIGC生成文章、图片、音乐甚至视频等内容,AIGC已经成为一种必备的工具。在游戏和原画师行业,甚至已经出现了第一批因为AI而失业的人。

本文分享自华为云社区《GPT-4发布,AIGC时代的多模态还能走多远?系列之二:AIGC的阿克琉斯之踵》,作者:ModelArts 开发 。

AIGC是继PGC(Professional Generated Content,专业生产内容)和UGC(User Generated Content,用户生产内容)之后的一个新时代,它带来了一种新的内容生产方式,并且还为内容注入了只有人类才具备的“创作”元素,开创了“模型”主导内容的时代。尽管AIGC技术已经有了相当大的提升,但仍然存在很多不足之处。

01 ChatGPT(包括GPT4)的诸多问题难以忽视

尽管ChatGPT(包括GPT4)是一个非常有用的工具,但它仍然存在许多问题。以下是一些经常出现的问题:

1) 强语言,弱知识,“一本正经地胡说八道”:在回答问题时,ChatGPT很容易“胡说八道”,因为它的回答通常是基于大量的文本数据而生成的,而不是真正的知识。比如下面的问题:

Q:红楼梦中贾宝玉为什么要葬花?

A:据小说描写,贾宝玉葬花的原因是因为他感到世间美好事物的短暂和凋零…

Q:鲁迅和周树人是同一个人吗?

A:不是同一个人,鲁迅和周树人是两个不同的人。鲁 迅…而周树人(1895年1月25日-1968年11月6日)也是中 国著名的现代作家和翻译家,代表作品有《春蚕》、《子夜》等

2) 逻辑推理不靠谱:不论是数学逻辑还是专业逻辑,比如下面的问题:

Q:3个人3天用3桶水,9个人9天用几桶水?

A:根据题目可知,3个人在三天内用了3桶水,

可以推算出每天每人用水量为:

3 桶 / 3 人 / 3 天 = 1 桶 / 人 / 天

因此,在9个人使用9天内需要的总用水量为:

1 桶 / 人 / 天 × 9 人 × 9 天 = 81 桶

所以,9个人在九天内需要用 81 桶的水。(正确答案27桶)

3) 实时信息自更新慢,新旧知识难以区分,比如下面的问题:

Q:现任韩国总统是谁?

A:现任韩国总统是文在寅 。

Q:gpt4是什么时候发布的?

A:抱歉,目前还没有关于GPT-4的官方发布计划和消息

4) 无法真正为领域类问题提供专业、靠谱的答案,比如下面的问题:

Q:华为手机没电了,请问能否使用苹果手机的充电器充电?

A:可以的,苹果手机和华为手机使用的充电器接口都是标准的USB接口,因此苹果手机的充电器也可以用来给华为手机充电。不过,请注意使用符合标准的充电器。

02 多模态大模型的跨模态生成能力尚不完善

虽然AIGC跨模态生成技术的视觉效果令人惊叹,但在实际应用过程中存在一些信息不对称的问题。目前,多模态大模型在跨模态生成方面仍然存在一些不完善之处,需要进一步研究和优化。从文本到图像的生成方向,Stable Diffusion的研究发现提示词与输出之间存在着显著的组合泛化问题。例如,在输入“红草绿花”的情况下,输出结果可能会是相反,这表明AI模型对于语义的理解存在错误。同样,当输入“一匹马骑着宇航员的照片”时,输出结果可能会是宇航员骑着马的照片,这也暴露出模型在语义理解方面的不足之处。为了解决这些问题,需要进一步研究和优化多模态大模型,研究方向包括改进模型的组合泛化能力、提高模型对于语义的理解、以及优化跨模态生成结果的准确性等,以使得多模态大模型在实际应用中更加可靠和有效。

(以上文图生成来自Stable Diffusion)

03 多模态大模型尚未完全理解多模态数据

GPT4大模型发布,加速了AIGC多模态的发展,当然多模态大模型的发展在近年来取得了令人瞩目的进展,但是作为一项前沿技术,仍存在着一系列问题需要解决。其中一个重要问题就是对于多模态数据的理解还不够充分。多模态数据是指来自不同感官或媒介的数据,如图像、音频、文本等。虽然多模态大模型可以同时处理多种类型的数据,但是对于跨模态数据的融合、对齐等方面,仍需要进一步探索和优化。

首先,对于多模态数据中的事实知识的理解不足。在实际应用中,很多跨模态生成任务都需要丰富的知识库和背景知识支撑。例如,文本描述和图像生成任务需要对具体事物的特征进行深入了解,而涉及到自然语言的任务,则需要对语言语义的理解更加准确。因此,建立更为完整准确的知识库是非常重要的。

其次,常识储备不足也是多模态大模型的瓶颈之一。常识是解决现实问题的基础,而在跨模态生成任务中,常识更是不可或缺。例如,在利用AIGC中AI作画的Stable Diffusion 作图的一个图像描述中,描绘出“小狗在路边玩耍”的情境更加符合日常生活的常识,而非描述为“四条腿的动物在道路上移动”,这说明常识缺失直接影响模型的表现效果。

最后,逻辑推理能力也是多模态大模型需要改进的地方。在实际场景中,有很多跨模态生成任务,需要通过逻辑推理进行相关内容的理解和生成。例如,基于文本的图像生成任务需要根据文本中的描述进行相应的推理,以便生成一张完整的图像。而当前多模态大模型的逻辑推理能力仍有待提高,未来的研究应该注重逻辑推理技术的研究和优化,以提高模型的综合表现能力。

总之,多模态大模型的未来研究应该致力于处理多模态数据的全面理解,选取合适的知识库和常识库,探索逻辑推理技术等方向,以提高多模态大模型在跨模态生成领域的表现效果。

(以上图来自视觉问答VQA)

04 多模态大模型PaLM-E离实用级还有多远?

多模态大模型PaLM-E的出现,标志着计算语言学作为人工智能领域的重要分支进入了一个新的繁荣期。PaLM-E依赖于如此庞大的参数,初步实现了对机器人的操控,但其在实用性方面还有待提高。其中,空间范围、物品种类和任务规划复杂度等方面的限制是最为突出的。目前展示出来的演示,其空间范围封闭有限,物品种类数量有限,规划任务比较简单,操作任务也相对简单。这些限制的存在,让人们对PaLM-E在真实复杂场景中的实用价值产生了质疑。

此外,PaLM-E在使用过程中还存在一些技术问题,例如需要耗费大量的时间来调试和训练,同时还需强大的计算资源才能支持其正常运行。这些问题在实际应用中都会给使用者带来极大的不便和成本压力。因此,需要从技术上不断优化和改进PaLM-E,使它能够更好地适应复杂的应用场景,并且让成本更低、易用性更高。当然,尽管PaLM-E离实用级还有一定距离,但是可以相信,随着技术的不断发展和突破,PaLM-E将结合各种场景打破技术限制,真正走进人们的生活和工作中,发挥其巨大的实用价值。

(以上图来自网络)

05 小结:多模态大模型的本质、前提与不足剖析

相比于传统的统计模型,多模态大模型有很多优势。它能够利用多种不同的信息源来进行学习和推理,从而更加全面地捕捉人类的知识、常识和逻辑推理能力;它也能够以较低成本实现自然语言处理、计算机视觉和语音识别等多项任务,提高了模型的效率和普适性;最后,多模态大模型还能够为人类提供更加直观、易懂的交互体验,让人们更加方便地获取信息和进行决策。

然而,多模态大模型也存在一些不足之处。首先,由于不同模态数据之间的差异性,多模态大模型的建立和优化过程需要消耗大量的计算资源和时间。其次,该模型尚存在着一些挑战和难点,例如如何对不同模态数据之间的关联进行建模以及如何解决数据对齐和逆向推导等问题。此外,多模态大模型还需要克服数据质量、隐私保护和数据伦理等方面的挑战,才能更好地应用于实际场景中。

因此,想要在AIGC领域发挥多模态大模型的优势,需要在技术研究、数据质量管理、隐私保护和数据伦理等方面继续深入研究和探索。只有在不断完善和优化多模态大模型的同时,才能更好地应对现实世界中的复杂情境和问题,提高人类社会的智能化水平。

 

点击关注,第一时间了解华为云新鲜技术~

AI算力的阿喀琉斯之踵:内存墙

作者 | Amir Gholami       责编 | 欧阳姝黎

出品 | OneFlow社区

这篇文章是我(Amir Gholami), Zhewei Yao,Sehoon Kim,Michael W. Mahoney 和 Kurt Keutzer 等人共同协作完成的。本文中用到的数据可以参考链接https://github.com/amirgholami/ai_and_memory_wall

图表 1:该图表展示了,目前 SOTA 模型训练的浮点数运算量(以 FLOPs为衡量单位)。蓝线上的是 CV,NLP和语音模型,模型运算量平均每两年翻 15 倍,红线上的是 Transformer 的模型,模型运算量平均每两年翻 750 倍。而灰线则标志摩尔定律下内存硬件大小的增长,平均每两年翻 2 倍。

如图表 1 所示,最近几年,计算机视觉(CV),自然语言处理(NLP)和语音识别领域最新模型的训练运算量,以大约每两年翻15倍数的速度在增长。而 Transformer 类的模型运算量的增长则更为夸张,约为每两年翻 750 倍。这种接近指数增长的趋势驱动了 AI 硬件的研发,这些 AI 硬件更专注于提高硬件的峰值算力,但是通常以简化或者删除其他部分(例如内存的分层架构)为代价。

然而,在应付最新 AI 模型的训练时,这些设计上的趋势已经显得捉襟见肘,特别是对于 NLP 和 推荐系统相关的模型:有通信带宽瓶颈。事实上,芯片内部、芯片间还有 AI 硬件之间的通信,都已成为不少 AI 应用的瓶颈。特别是最近大火的 Transformer 类模型,模型大小平均每两年翻240倍(如图表2所示)。类似的,大规模的推荐系统模型,模型大小已经达到了 O(10) TB 的级别了。与之相比,AI 硬件上的内存大小仅仅是以每两年翻2倍的速率在增长。

图表 2:该图表展示了 SOTA 模型的参数量的增长趋势。图中的绿点表示 AI 硬件(GPU)的内存大小。大型的 Transformer 模型以每两年翻 240 倍接近指数级的速率增长。但是单 GPU 的内存却只是每两年翻2倍,图片链接。*

值得注意的是,训练 AI 模型时候所需要的内存一般比模型参数量还要多几倍。这是因为训练时候需要保存中间层的输出激活值,通常需要增加3到4倍的内存占用。图表3中展示了最新的 AI 模型训练时候,内存占用大小逐年的增长变化趋势。从中能清楚地看到,神经网络模型的设计是如何受 AI 硬件内存大小影响的。

这些挑战也就是通常所说的 “内存墙” 问题。内存墙问题不仅与内存容量大小相关,也包括内存的传输带宽。这涉及到多个级别的内存数据传输。例如,在计算逻辑单元和片上内存之间,或在计算逻辑单元和主存之间,或跨不同插槽上的不同处理器之间的数据传输。上述所有情况中,容量和数据传输的速度都大大落后于硬件的计算能力。

图表 3:图中展示了,训练不同神经网络模型所需要的内存大小。对于 CV 模型优化器用的是 SGD+Momentum,而对于 NLP 模型则用的是 ADAM。从中能看出一个趋势,随着 GPU 内存的上限增长,新设计模型的参数大小也在增长。每次 GPU 的内存上限有提升,研究人员都会提出新的参数更大的模型。因此如果能打破所谓的 GPU 内存墙 则可能会带来进一步的创新。更多详细信息可以参考[2]。

大家可能会想到,是否可以尝试采用分布式的策略将训练扩展到多个 AI 硬件(GPU)上,从而突破于单个硬件内存容量和带宽的限制。然而这么做 也会遇到内存墙 的问题:AI 硬件之间会遇到通信瓶颈,甚至比片上数据搬运更慢、效率更低。和单设备的内存墙问题类似,扩展 AI 硬件之间的网络带宽的技术难题同样还未被攻破。如图表4所示,其中展示了在过去20年中,硬件的峰值计算能力增加了90,000倍,但是内存/硬件互连带宽却只是提高了30倍。而要增加内存和硬件互连带宽[1],需要克服非常大的困难。因此,分布式策略的横向扩展仅在通信量和数据传输量很少的情况下,才适合解决计算密集型问题。

图表 4:图中展示了,带宽、内存和硬件的计算能力的增长趋势。从中可以看出带宽增长非常的缓慢(大约每20年增加30倍,而硬件的计算能力则增加了90,000倍)。

有希望打破内存墙的解决方案

“指数增长不可持续”,即使对于巨头公司来说,以每2年240倍的速度持续指数增长也是不可能的。再加上算力和带宽能力之间的差距越来越大,训练更大的模型的成本将以指数级增长,训练更大模型将更具有挑战性。

为了继续创新和 “打破内存墙”,我们需要重新思考人工智能模型的设计。这里有几个要点:

首先,当前人工智能模型的设计方法大多是临时的,或者仅依赖非常简单的放大规则。例如,最近的大型 Transformer 模型大多是原始 BERT 模型[22]的缩放版本,二者基本架构几乎一样。
其次,我们需要设计更有效的数据方法来训练 AI 模型。目前的网络训练非常低效,需要大量的训练数据和数十万次的迭代。有些人也指出,这种训练方式,不同于人类大脑的学习方式,人类学习某个概念或分类,往往只需要很少的学习例子。
第三,现有的优化和训练方法需要大量的超参调整(如学习率、动量等) ,在设置好参数从而训练成功前,往往需要数以百计次的试错。这样看来,图1中只是展示了训练成本的下限,实际成本通常要高得多。
第四,SOTA 类网络规模巨大,使得光部署它们就极具挑战。这不仅限于 GPT-3 等模型。事实上,部署大型推荐系统(类似于 Transformers ,但 embedding 更大且后接的 MLP 层更少)是巨头公司所面临的主要挑战。
最后,AI 硬件的设计主要集中在提高算力上,而较少关注改善内存。这让训练大模型、探索新模型都变得困难。例如图神经网络(GNN)就常常受限于带宽,不能有效地利用当前硬件(的算力)。

以上几点都是机器学习中的重要基础问题。在这里,我们简要讨论最近针对后三点(包括我们自己)的研究。

高效的训练算法

训练模型时的一大困难是需要用暴力探索的方法调整超参。寻找学习率以及其配套的退火策略,模型收敛所需的迭代次数等等,这给训练 SOTA 模型带来了不少额外开销(overhead)。
这些问题大多是由于训练中使用的是一阶 SGD 优化方法。虽然 SGD 超参容易实现,却没有稳健的方法去调试超参,特别是对于那些还没得到正确超参集合的新模型,调参就更加困难了。
一个可能的解决方法是使用二阶 SGD 优化方法,如我们最近发表的 ADAHESSIAN 方法[4]。这类方法在超参调优时往往更加稳健,从而达到可以达到 SOTA。
但是,这种方法也有亟待解决的问题:目前占用的内存是原来的3-4倍。微软关于 Zero 论文种介绍了一个很有前景的工作:可以通过删除/切分冗余优化器状态参数[21, 3],在保持内存消耗量不变的前提下,训练8倍大的模型。如果这些高阶方法的引入的 overhead 问题可以得到解决,那么可以显著降低训练大型模型的总成本。

另一种很有前景的方法是提高优化算法的数据本地性(data locality)并减少内存占用,但是这会增加计算量。一个简单的例子是,在前向 forward 期间,不保存所有的激活参数(activations),而只保存它的子集,这样可以减少图3所示的用于特征映射内存占用。未保存的激活参数可以在需要的时候进行重计算,尽管这个方法会增加计算量,但只增加 20% 的计算量,可以减少高达5倍 [2]的内存占用。

还有另一个重要的解决方案是设计足够稳健的、适用于低精度训练的优化算法。事实上,AI 硬件的主要突破之一是支持了半精度(FP16)运算,用以替代单精度运算[5,6]。这使得算力提高了10倍以上。接下来的挑战是,如何在保证准确度不降低的前提下,进一步将精度从半精度降低到 INT8。

高效部署

当部署最新的 SOTA 模型,如 GPT-3 或大型推荐系统模型时,为了推理,常常需要做分布式部署,因此相当具有挑战性。可能的解决方案是,通过降低精度(如量化)或移除冗余参数(如剪枝)来压缩推理模型。
量化方法,既可以用于训练,也可以用于推理。虽然量化用于推理是可能做到超低精度级别的,但是用于训练时,想要将精度做到远低于 FP16 的级别是非常困难的。目前,在最小限度影响准确率的前提下,已经可以相对容易地将推理精度量化至 INT4 级别,这使得模型所占空间及延时,减少至原有的 1/8。然而,如何将精度量化至低于 INT4 级别,是一个颇具挑战的问题,也是当前研究的热门领域。

除量化外,剪枝掉模型中冗余的参数也是高效部署的一种办法。在最小限度影响准确率的前提下,目前已经可以使用基于 structured sparsity 的方法剪枝掉高达 30% 的神经元,使用基于 non-structured sparsity 的方法可以剪枝掉高达 80% 的神经元。然而,如果要进一步提高剪枝的比率,则非常困难,常常会导致准确度下降非常多,这该如何解决,还是一个开放问题。

AI 硬件设计的再思考

如何同时提高硬件带宽和算力是一个极具挑战的基本问题,不过,通过牺牲算力来谋求更好的“算力/带宽”平衡点是可行的。事实上,CPU 架构包含了充分优化后的缓存架构,因此在内存带宽受限类问题(如大型推荐系统)上,CPU 的性能表现要明显优于 GPU。然而,当前 CPU 的主要问题是,它的计算能力(FLOPS)与 GPU 和 TPU 这类 AI 芯片相比,要弱一个数量级。个中原因之一,就是 AI 芯片为追求算力最大化,往往在设计时,就考虑移除了一些组件(如缓存层级)来增加更多的计算单元。我们有理由想象,可以有一种架构,处于以上两种极端架构之间:它将使用更高效的缓存,更重要的是,使用更高容量的 DRAM(设计 DRAM 层次结构,不同层次拥有不同带宽)。后者对于解决分布式内存通信瓶颈将非常有帮助。

结论

目前 NLP 中的 SOTA Transformer 类模型的算力需求,以每两年750倍的速率增长,模型参数数量则以每两年240倍的速率增长。相比之下,硬件算力峰值的增长速率为每两年3.1倍。DRAM 还有硬件互连带宽增长速率则都为每两年1.4倍,已经逐渐被需求甩在身后。深入思考这些数字,过去20年内硬件算力峰值增长了90000倍,但是DRAM/硬件互连带宽只增长了30倍。在这个趋势下,数据传输,特别是芯片内或者芯片间的数据传输会迅速成为训练大规模 AI 模型的瓶颈。所以我们需要重新思考 AI 模型的训练,部署以及模型本身,还要思考,如何在这个越来越有挑战性的内存墙下去设计人工智能硬件。

感谢 Suresh Krishna 跟 Aniruddha Nrusimha 给出的非常有价值的回答。

[1] 我们特意没有把强化学习的计算代价放入图中,因为它的训练代价大多跟模拟的环境有关,而现阶段并没有标准的模拟环境。值得注意的是,在我们的报告中用了训练模型需要的运算数而不是硬件部署使用的多少,因为后者依赖于具体的库以及使用的硬件。最后,文件里的所有倍率都是用每个图中的数据来进行线性回归得出的。

[2] 图2里面的增长倍率是用转化训练模型(也就是图中的蓝色圆点)算出来的,而不是用推荐系统算出来的。

[3] 对于能够训练的最大模型,GPU 的内存是取对应内存大小除以6来得到的一个大概的上界。

[4] 我们用 R10000系统来变准话算力峰值,因为它在文献[24]中被用于报告训练Lenet-5的计算代价。

原文链接:https://medium.com/riselab/ai-and-memory-wall-2cb4265cb0b8

译文链接:https://blog.csdn.net/OneFlow_Official/article/details/115549991

生于2001年的《程序员》曾陪伴了无数开发者成长,影响了一代又一代的中国技术人。时隔20年,《新程序员》带着全球技术大师深邃思考、优秀开发者技术创造等深度内容回来了!同时将全方位为所有开发者呈现国内外核心技术生态体系全景图。扫描下方小程序码即可立即订阅!

加入新程序员读者俱乐部:

  1. 季度会员:https://mall.csdn.net/item/76421?spm=1235995414
  2. 年度会员:https://mall.csdn.net/item/76785?spm=170298316

移动端的同学也可以扫码下方二维码加入

 

以上是关于AIGC的阿克琉斯之踵的主要内容,如果未能解决你的问题,请参考以下文章

分布式系统的阿喀琉斯之踵:数据一致性!

AI算力的阿喀琉斯之踵:内存墙

一键登录,或将成为企业错过5G红利的阿喀琉斯之踵

p2p-如何拯救k8s镜像分发的阿喀琉斯之踵

论级数

flexbox不能做的一件事