首页 > 云计算 > 公有云实践 > 亚马逊云科技-大小模型应用场景差异分析
关键字: [亚马逊云科技, 大小模型, 应用场景, 差异分析, 模型尺寸, 算力增长]
这段演讲主要介绍了大模型和小模型的区别及应用场景。演讲者解释了大模型能够通过提示词适配不同任务,而小模型则需要针对特定任务进行微调。他还分享了一些实际案例,比如使用小模型预测C++代码执行时间,以及将大模型与小模型结合使用的方法。最后,演讲者对大模型和小模型的未来发展提出了自己的看法,认为算力将是决定模型发展的关键因素。
以下是小编为您整理的本次演讲的精华。
在当今时代,人工智能(AI)已经成为一个炙手可热的话题。作为AI的一个重要分支,机器学习正在引领着技术的发展潮流。而在机器学习领域,深度学习则是一种具有里程碑意义的技术,它利用深度神经网络作为底层模型,通过线性组合和非线性映射构建复杂的映射关系。
深度学习可以分为有监督学习、无监督学习和强化学习三大类,但这种分类方式并不太科学,因为有监督和无监督本身就是一个二分类问题。这种分类更多是为了将业务问题归类到不同范畴,再定义不同的模型尝试解决。比如,深度学习常用于视觉、声音、文本、图像等复杂输入场景,以及对用户行为序列建模,如推荐系统。
在深度学习的帮助下,模型能够自行从复杂输入中提取特征,在压缩的低维空间中完成下游任务,从而替代了人工提取特征的传统方式。而大模型则是深度学习的一种特殊形式,其参数量通常非常庞大,以GPT-3为例,其参数量高达1750亿。
人们发现,随着模型尺寸和输入数据量的增大,模型会获得更好的“智能”,这被称为scaling law(缩放定律)。但并非所有模型都能获得这种加持,需要特殊的设计。总的来说,人工智能是最大的分支,机器学习是其下的一个分支,深度学习是机器学习的一个子类,而大模型则是深度学习的一种特殊形式。
在自然语言处理(NLP)领域,语言模型(Language Model,LM)是一种特殊的场景,其目的是预测下一个token,通常是词。生成式AI(Generative AI)不同于经典的判别模型,它能够基于已知的分布生成新的数据分布。大模型通过预测下一个token的方式生成文本,可视为一种生成式AI。
除了语言领域,大模型还可应用于视觉、图像等多模态场景。例如,我们可以将像素视为token,在二维画布上“书写”图像,实现图像生成。这种将图像视为文字的思路,为大模型在视觉领域的应用打开了新的大门。
深度学习在上世纪80年代时曾一度被遗忘,只有少数人坚持下去,它才能走到今天的繁荣发展。其中,辛顿教授在促进深度学习发展方面做出了卓越贡献,并于前不久获得了诺贝尔物理学奖。
为了帮助大家更好地理解深度学习、机器学习、经典机器学习和通用AI之间的区别,我们可以借助一个生动的例子。假设缇娜想参加一个厨艺比赛,但她自己不会做饭,于是找了一个AI来帮助她。如果现在让一个AI去做饭,其难度要高于让模型画画、写文章或生成图像。
经典机器学习就是让机器在数据中探索模式,将探索出的模式称为模型,一个模型就是一个映射函数。而深度学习则是选择深度神经网络作为底层模型的函数,通过线性组合加非线性映射来构造复杂的映射关系。
通往强人工智能的道路不止一条,只是沿着机器学习这条路走得更远。机器学习的目标是让机器从数据中学习,而深度学习则是机器学习的一种实现方式,利用深度神经网络作为模型函数。
虽然这个例子可能不太贴切,但它向我们展示了不同AI技术之间的区别和联系。我们可以直接看结论:AI实际上是一个更大的范畴,包含了机器学习这一分支。除了机器学习之外,还有其他分支,比如类脑计算,通过硬件设备模拟人脑神经元的运行方式。但这个方向目前仍活跃在学术界,工业界也有一定产品,但已被机器学习或深度学习大模型所掩盖。
在实际应用中,我们会遇到各种各样的场景和需求。比如,有一家公司的业务是对海上大型风力发电机进行检测,判断是否需要维修。他们会派遣工程师到现场,使用无人机拍摄风力发电机的图像,然后将这些图像输入到一个机器学习模型中,让模型判断风力发电机是否需要维修或者叶片是否需要维护。
这是一个典型的有监督学习的分类问题,给定一张图片,模型需要分辨出风力发电机是否需要维修。但工程师发现,仅依靠他们拍摄的百十张图片来训练一个全新的计算机视觉模型是行不通的,因为数据量太少,难以达到所需的准确度。
在这种情况下,他们可以从一个已知的模型出发,选择一个用于分类的预训练模型,然后使用他们拍摄的图像数据对模型进行微调(fine-tuning),通常能获得比较好的效果。也就是说,从一个已知的模型出发,为它赋予新的数据,这实际上就是微调的过程。
但在没有大模型和基础模型的时代,你不能随意选择模型进行微调,因为模型之间的领域差异很大。比如,如果你要对大风机是否需要维修进行分类,那使用一个识别人或狗的图像模型就不太合适,你只能选择与当前业务领域相关的模型,比如用于设备检测的模型。
现在有了大模型,情况就不一样了。我们可以想象,大模型能够处理NLP领域几乎所有的任务,比如文本分类、情感识别、内容生成、翻译等等。也就是说,我们拿一个大模型,只要通过适当的提示词对它进行适配,它就能够解决我们在大模型训练时所能够囊括的任何任务,这已经成为我们使用大模型开发的一种常见手段。
在NLP领域,自然语言处理(Natural Language Processing)的诞生历史可以追溯到语言模型。NLP底层包括自然语言理解(NLU)和自然语言生成(NLG)两个方向。NLU指的是理解自然语言,而NLG则指的是生成自然语言,可以是翻译、内容总结,或者任意序列到序列的转换。
我们可以举一个例子,现在有一些产品可以将自然语言转化为SQL查询语言,这样业务人员在不写SQL的前提下,就可以通过对话的方式查询数据库中的知识。比如,老板可以说:“你给我查一下我们公司去年每个月的GMV同比环比多少?哪个渠道增长最高?”之前,他只能找个人写SQL,做个报告。但现在有了AI,他只需这样说,AI就可以将自然语言转化为SQL,执行查询并返回结果。
不过,这种技术有一个巨大的问题,就是它的长尾效应很重。也就是说,你可能有100个问题都转化正确,但总有那些语言无法正确转化的情况,导致用户体验不佳。因为大模型和小模型,乃至机器学习本身,都是概率模型。
如果你想获得一定程度的确定性,有一个方案是不将自然语言转化为SQL,因为SQL语言是图灵完备的,相对复杂。你可以定义一种更简单的语言,比如指标、维度、过滤条件等,让大模型将用户的查询转化为对这些指标的组合。虽然灵活性会降低,但难度会大大简化,样本也更容易准备,可以进行微调和优化。
接下来让我们看看如何让模型“吃掉”文字。模型只能接受数字化的输入,无论给它什么,都必须经过数字化处理。图像很容易,本质上就是二维或三维矩阵。但文字是什么呢?我们必须将文字转化为某种表示,即embedding。
Embedding的本质是将无法直接被计算机处理的输入转化为向量,以便模型可以计算。至于如何转化为向量,以及转化为什么样的向量更好,这就是各种embedding模型之间的区别了。
我们可以理解为,模型将语料库空间中的每个文字压缩成向量空间中的一个向量,在这个向量空间中,它就能获得语义,因为压缩技术赋予了它这种能力。压缩技术的概念大家可能有所了解。
接下来我们看看如何生成语言。无论是大模型还是小模型,语言生成本质上都是一个分类的过程。假设模型的词表只有1万个词,也就是它只能输出1万个词。那么,它如何生成一段文字呢?
它会根据条件(在大模型时代,这个条件通常是一段提示词)分析所有的输入,经过神经网络计算后,会输出一个1万维的概率分布向量。每一个元素代表了对应词出现的概率,所有词的概率加起来应该等于1。
例如,如果前面的输入是“很久很久以前”,那么下一个词“龙”出现的概率就会很高。模型会通过某种采样算法,在这个概率分布中抽取一个词。需要注意的是,大多数模型在输出词时会保留一定的随机性,这也是大模型的一个优点,能够产生一定的创意和灵活性。
但是,我们对大模型的期待不仅仅是与人聊天或生成图像,我们还希望它能做一些更加具体的工作,就像一台精密的机器一样,给定什么输入就输出什么结果。在这种情况下,我们也可以通过某种技术来尽可能保障输入输出的一致性。
每天,我们都在使用NLP技术,尤其是在搜索和推荐领域。搜索的本质是一个回归问题,即计算用户的查询和文档之间的相似度或点击概率。推荐系统也是如此,需要结合用户历史、其他用户数据等,决定哪些文档最相关。
虽然分类和回归只是对复杂问题的一个简化,但我们很多实际问题都是对多个任务的组合。比如大模型生成序列,本质上是一个自回归的过程,每输出一个词都要考虑之前的输入和已输出的词,形成一个条件概率空间,然后预测下一个token。这种自回归的好处是不会跑偏,缺点就是慢。
对于一些复杂的工作任务,需要输出大量词元,以上的生成方式就会导致等待时间过长。于是,现在也有一些技术改变了这种做法,按照“文生图”的方式并行生成所有词元,而不是“文生文”。这在学术界非常多见,但在工业界还不多。
回到NLP,我们在实际工程中会有一些技术选择方案。大家要记住一个名词,叫做BERT,它是Transformer的一种形式。BERT出现后,很多人说NLP已死,因为作为一个NLP工程师,如果从头训练一个模型,它的效果大概率不如BERT,除非你的水平非常高。
而大模型的出现,又让人质疑是否还需要使用BERT。其实,对于具体任务,结合大模型和小模型的优势会更合适。我们可以举一个具体例子:有一个客户想预测一段代码在大数据平台上的执行时间。
这个需求看似简单,但实际上非常复杂。代码的执行时间不仅与代码本身的复杂度有关,还与集群状态、配置、表结构等多方面因素相关。一开始,我们尝试让大模型直接预测执行时间,但结果极其不靠谱,用户反馈很差。
后来,我们改为使用BERT这样的小模型。我们通过人工的方式对输入的代码进行特征提取,例如代码长度、嵌套深度、抽象语法树宽度深度、SQL语句数量等,大概有十几二十个特征。然后将这些特征与代码的实际执行时间数据一起训练一个小模型。
这个小模型训练起来只需要一台GPU或CPU机器,可能只需半个小时就能完成,而且结果极其精准。所以,我们最终让大模型调用这个小模型,将小模型当成一个工具,作为大模型的一个模块被调用。剩下的工作就很简单了,大模型调用小模型获得执行时间预测,然后基于这个时间进行编码,生成对应的解释和说明。
通过这个例子,我们想说明,不要所有的问题都一股脑地让大模型去解决,大模型在某些场景下也会存在缺陷。
我们继续深入探讨大模型和小模型在不同场景下的应用。对话是大模型的一个常见应用场景。我们可以看到,只要能够理解提示词,它就属于大模型的范畴,需要特殊的应用开发考量。
根据对话的目的和需求,我们可以将大模型产品分为三大类:问答类、对话类加Agent类,以及多模态类。
问答类不需要管理上下文,是一问一答的模式,最多只有一个历史记录。而对话类则需要模型能够记住之前的对话内容,了解用户的性格和对话记录,需要做检索。有时我们还希望对话系统不仅能聊天,还能完成一些具体的任务,比如订票,这就需要赋予它工具,使其成为一个Agent。如果一个Agent无法完成某项复杂任务,我们还可以让多个Agent协作,尤其是在一些科研场景中,多个Agent能够探索人类的盲区。
自然语言生成(NLG)任务中,限制条件越少,对模型泛化能力的要求就越高。我们可以将NLG任务按照限制条件由多到少进行排序,从翻译、总结到无条件生成,对模型要求逐渐提高。
翻译任务的规则是要尽可能做到信达雅,对底层架构要求相对较低,标准的Transformer就能很好地完成。而生成任务则需要模型有足够强的背景知识和生成能力,通常采用Decoder-only Transformer架构,能够更好地享受Scaling Law带来的性能提升。
随着数据量和参数量的增长,Decoder-only Transformer的性能会不断提高,直到达到当前的极限。为了进一步提升性能,我们将目光转移到了推理端,出现了Debusic等推理模型。这些模型在接受问题后,会先花费一定时间进行推理,再输出结果。在数学、逻辑推理等任务上,通过更大的算力,它们能够获得更好的结果。
接下来,我们讨论一下大模型和小模型在NLP领域的应用差异。大模型可以通过提示词适配多种NLP任务,如文本分类、内容生成、翻译等。除了提示词,我们还可以采用Prompt、微调、蒸馏等技术,使大模型更好地解决某一类任务。
而小模型则需要针对特定任务进行适配,比如分类、情感分析等。BERT模型的出现使得手工训练模型的效果往往不如直接使用BERT。而大模型的出现,又让人们质疑是否还需要使用BERT。
事实上,对于具体任务,结合大模型和小模型的优势会更合适。我们之前讲过的那个预测代码执行时间的例子,就体现了这一点。通过让大模型调用针对特定任务训练的小模型,我们能够获得非常精准的结果。
在使用大模型进行推理时,我们通常将处理提示词和输出第一个token分为两个阶段。预填充阶段可以缓存静态内容的提示词,以提高效率。而模型尺寸越大,其潜力就越大,但对最终用户体验的影响并不完全取决于模型尺寸。
顶尖模型之间的差异并不明显,真正的差异在于模型适配和产品方面。因此,未来大多数从业者的工作可能是基于大模型构建小模型,或开发应用和AGI(人工通用智能)。
在内容生成任务中,限制条件越少,对模型泛化能力的要求就越高。生成任务通常采用Decoder-only Transformer架构,能够更好地享受Scaling Law带来的性能提升。而在推理端,则采用了Debusic等推理模型,通过更大的算力获得更好的结果,尤其是在数学和逻辑推理方面。
最后,我们来看一个实际案例。有一家公司的业务是对门铃视频进行分析,了解视频中发生的事情,比如老人摔倒、撞车、快递小哥取快递等。
如果让大语言模型直接分析视频流,效果是不太理想的。更好的方式是先通过计算机视觉技术将视频抽帧,识别出每一帧中的人、车、狗、道路等物体,然后将这些识别结果作为提示词输入给大语言模型,让它输出对应的事件描述。
这个例子说明,在自动驾驶、高速公路车辆流量检测等视觉场景中,最好的做法是先使用专门的目标检测模型识别出物体及数量,然后将结果输入给大语言模型进行进一步处理,而不是直接让大语言模型处理视频流。这种分工合作的方式,可以发挥各个模型的长处,获得更好的效果。
总的来说,大模型和小模型各有特色,我们需要合理利用它们的优势,并结合应用场景的具体需求,才能最大限度地发挥它们的潜力。未来,决定模型发展的长期因素是算力,而短期因素则是数据。随着算力和硬件的增长,模型的参数量可能会无限制增大,直到达到当前硬件能够承受的极限。
在这个过程中,可能会出现新的模型架构,突破当前Transformer的局限性。而从业者的工作,则可能会转变为基于大模型构建特定场景的小模型,或开发应用和AGI。无论是哪种方向,与模型相关的人工智能技术都将为我们的生活带来翻天覆地的变化。
下面是一些演讲现场的精彩瞬间:
通过将复杂任务分解为多个步骤,利用工作流程和多个模型协作完成,可以处理大规模输入并确保输出的稳定性和一致性。
大语言模型可以识别图像中的车辆数量和类型,但使用专门的小型目标检测模型更加高效和精准。
大模型和小模型在人工智能领域扮演着不同的角色。大模型凭借其强大的泛化能力,能够通过简单的提示词适配于广泛的任务,如自然语言处理、生成式AI等。然而,对于一些特定的任务,小模型由于专注于某一领域,往往能够提供更精准的结果。
在实际应用中,我们可以将大模型和小模型结合使用。大模型可以承担通用的语义理解和生成任务,而小模型则专注于特定领域的细分任务。通过工作流的方式,将复杂任务分解为多个步骤,由不同的模型协作完成,从而发挥各自的优势。
未来,算力和数据量的增长将继续推动模型规模的扩大。但同时,新的模型架构和表征方式也可能出现,以提高效率。我们需要根据具体场景,权衡模型规模、精度和成本等因素,选择合适的模型和开发方式。总的来说,大模型和小模型在人工智能发展中扮演着互补的角色,需要灵活组合使用。
我们正处在Agentic AI爆发前夜。2025亚马逊云科技中国峰会提出,企业要从“成本优化”转向“创新驱动”,通过完善的数据战略和AI云服务,把握全球化机遇。亚马逊将投入1000亿美元在AI算力、云基础设施等领域,通过领先的技术实力和帮助“中国企业出海“和”服务中国客户创新“的丰富经验,助力企业在AI时代突破。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038688/viewspace-3091387/ ,如需转载,请注明出处,否则将追究法律责任。