导读 汽车行业作为技术创新的重要领域,正迅速采纳大语言模型,如 GPT 系列,以推动行业的数字化转型。这些模型在提升车载智能系统的交互体验、优化客户服务、加速产品开发及市场营销策略方面展现出巨大潜力。通过具体应用案例分析,接下来我们一起揭示大语言模型如何为汽车企业带来效率提升和成本优化,同时探讨这些技术在未来汽车行业中的潜在发展方向。
1. 大语言模型简介
2. 大语言模型对汽车行业的影响
3. 大语言模型的实践探索
4. 数据分析人员的要求
5. 问答环节
分享嘉宾|林琳 某汽车集团 数据挖掘&人工智能主任专家
编辑整理|罗锦波
内容校对|李瑶
出品社区|DataFun
01
人工智能技术蓬勃发展,并于 2012 年开始加速。那一年,Hinton 及其指导的学生通过 AlexNet 网络在 2012 年 ImageNet 图像分类大赛中夺冠,标志着深度学习技术重新获得了广泛关注。自 2012 年至 2017 年间,有监督学习技术成为了主流,期间图像处理技术迅猛发展,然而自然语言处理领域却未能实现突破性进展。
这个阶段在解决自然语言处理问题时,虽然采用了循环神经网络、长短期记忆网络等复杂的网络结构,但仍未能解决自然语言处理领域的核心问题,如长期依赖导致的梯度消失问题、处理效率无法并行化,以及依赖大量标注数据的监督学习模式使得数据获取成本高昂。正因如此,该时期自然语言处理领域并未实现显著的突破。
然而,一切在 2017 年发生了转变,Google 发布了开创性的论文《Attention is All You Need》,首次提出了基于注意力机制的 Transformer 网络架构。这种架构完全舍弃了传统的循环和卷积网络结构,实现了模型的并行化处理和自监督学习,使得大量未标注数据得以有效利用。并行化处理降低了计算复杂度,加速了大规模计算任务的处理速度。
Transformer 网络的提出促进了大规模预训练模型的兴起,标志性地将我们的研究方向分为三个主要类别:基于 Transformer 的 Encoder-Decoder 结构,分别形成了 Encoder 类、Decoder 类以及 Encoder-Decoder 的预训练模型。例如,2018 年提出的 BERT 模型,属于 Encoder 类,能够执行阅读理解等任务,通过上下文推断含义;而 GPT 系列模型,作为 Decoder 类,侧重于根据前文预测后文;Encoder-Decoder 模型则在如机器翻译等任务中表现出色。这些创新大大推动了自然语言处理技术的发展。
从下图中可以看到基于 Transformer 架构衍生出的各类大型模型。左侧图展示了三个主要分支:红色代表仅包含编码器(encode only)的模型,中间部分包含编码器和解码器(encode-decode)的模型,而右侧则聚焦于仅含解码器(decode only)的模型。
右侧的图则依据模型的规模进行分类。我们可以观察到,自 Transformer 诞生后,随着 GPT-1 的推出,模型规模开始逐渐增大。随后,BERT 的问世以及 GPT 系列的持续发展,在 Transformer 架构的基础上不断演进,展现了模型规模的快速增长趋势。
下图详细阐述了 GPT 系列模型的演进历程。自 Transformer 模型问世以来,OpenAI 以此为基础,提出了一种新的范式:利用预训练加微调的方法来处理自然语言任务。GPT-1 采用了 5GB 的训练语料和 1 亿参数,尽管其性能不及随后Google 推出的 BERT 模型,但 OpenAI 坚信未来的发展应朝向无监督学习方向迈进。因此,在 2019 年,OpenAI 推出了 GPT-2,使用了 40GB 的训练数据和 15 亿参数,并实施了 Zero-shot 学习,能在模型未接触过的任务上进行作业,尽管生成的文本已相对较长,但仍存在改进空间。
随后,OpenAI 以 570GB 的数据训练量和 1750 亿参数推出了 GPT-3。与前作相比,GPT-3 采用了 Few-shot 学习方法,仅需少数样本即可显著提升性能,实现了接近监督学习最优效果的无监督学习能力。
GPT-3 之后,OpenAI 转而专注于模型的可控性问题。GPT-3 虽然功能强大,但其输出内容有时并不完全符合人类的意图。这一挑战促使 OpenAI 发展出 ChatGPT,旨在从有监督学习向无监督学习转变,同时从不可控走向可控,进而发展至今日的多模态方向,标志着自然语言处理技术向更加高级的发展阶段迈进。
ChatGPT 的推出,为大型模型的训练提供了一种新的范式。这一训练范式的核心在于先进行预训练,紧接着通过有监督的微调过程,进而采用奖励建模,最终通过强化学习来优化模型性能。这种方法论不仅加深了我们对大规模自然语言处理模型训练的理解,而且为未来模型的发展指明了方向,即如何有效结合预训练、微调和强化学习,以实现更高效、更精准的语言模型训练。
大语言模型对汽车行业的影响
上述训练范式提出之后,国内大型模型相关的发展也随之加速。目前,大型模型的生态系统主要分为两类:一类是以 OpenAI 的 ChatGPT 为代表的闭源模型,这类模型通过提供 API 服务进行应用;另一类是以 Meta 的 LLAMA 为代表的开源模型生态。除此之外,国内的大型模型发展同样迅猛,展现了中国在人工智能领域的强大实力和独特贡献。这些发展不仅促进了技术的进步,还为未来的人工智能应用和研究打开了新的可能性。
大模型的快速发展,不仅在国内外科技领域引起轰动,也为汽车行业带来了实质性的应用机遇。通过这些实际应用案例,我们得以洞察大型语言模型所拥有的独特能力。首先是理解能力的显著提升。与早期模型相比,现代大型模型能更加自然地理解人类语言,其交互体验远胜过以往,让人们更愿意与之对话,不再感觉像是与一台机器人交流。其次,生成能力也大大增强。开发人员可以利用这些模型编写代码,生成符合预期的汽车外观设计等内容,极大地拓展了创造性应用的边界。再有,规划能力的提升让大模型能够协助人们规划活动、安排日程,有效地优化活动流程和步骤。最后,评估能力也是一个重要的进步。用户可以向模型提出评估要求,例如对文本进行评分、检测错别字等,模型能够根据要求完成评价任务。尽管在数学问题上可能仍存在不足,但在代码审查和改进建议方面,大模型已展现出其潜在的评估和优化能力。
汽车供应链的复杂性及其环节的广泛性为大语言模型提供了广阔的应用场景。从研发、生产制造,到销售、物流,乃至售后服务,每一个环节都蕴含着与大语言模型结合的潜力。
在销售和售后服务方面,大语言模型能够处理和分析行业新闻,对新出台的政策进行摘要,帮助企业快速把握行业动态。此外,通过汇总和分析来自各大 APP 的市场评价,模型可以为产品改进提供实时反馈,指导市场营销策略的调整。
在产品研发和长期规划方面,大语言模型通过处理大量文本数据,能够挖掘出创新点和用户需求,为产品迭代和创新提供有力的数据支撑。
客服领域尤其能体现大模型的价值,不仅可以提供常规的客户咨询响应,还能在专业知识领域内提供支持,如快速识别合适的维修方案,从而提高服务效率和顾客满意度。
总的来说,大语言模型能够深入汽车供应链的各个环节,优化流程,提高效率,同时也为企业提供了前所未有的洞察力,从而在竞争激烈的市场中获得优势。
在汽车行业中,大型语言模型展现出多种关键应用场景:- 语音助手与车载娱乐。智能座舱可以划分为三个主要功能:一是执行基本命令,比如查询天气、股票信息或播放音乐;二是通过语音控制车辆的内部系统,以一系列语句完成复杂操作;三是将车辆当作多功能的 AI 助手,它能在游戏中担当各种角色,丰富娱乐体验。
- 客户支持与售后。在这里,大模型可协助坐席人员处理客户的咨询与问题,提升服务效率。
- 销售与市场营销。通过分析用户通过各种渠道提出的需求,有助于大模型精准营销和销售策略的优化。
- 车辆设计和系统研发。由于该领域涉及大量专业知识,通用大模型可能需要针对性的微调或专项训练才能发挥作用。
- 企业内部知识服务。大模型可以通过问答系统或检索企业内部的知识库来优化知识管理。
- 自动驾驶技术。在此,大模型能生成逼真的模拟场景,助力自动驾驶系统的测试和开发。
大语言模型的实践探索
在本节中,将介绍大型语言模型在实际操作中的探索。随着去年 LLAMA-70B 模型的问世,我们见证了开源大模型数量的显著增加,并借此机会进行了一系列的实践探索。这些探索主要基于 Transformer 结构,可分为三大类:语言理解、语言生成以及机器翻译相关任务。
具体到问答机器人,我们尝试了 FAQ 问答,针对常见问题提供快速响应;此外,我们还开展了基于汽车手册或企业内部知识文档的长文本问答实践。在传统 NLP 任务方面,借鉴 OpenAI 发布的 GPT-2 研究成果,我们测试了模型在文本分类上的能力,并尝试利用其生成报告的摘要。在 AI 代理的应用上,我们开发了自然语言查询数据库的功能,允许不具备编程技能的用户通过自然语言完成数据库查询,尤其适用于无法直接生成报表的临时查询。进一步地,我们还探索了 AI 代理在更广泛任务中的应用,例如自动填写请假申请等行政事务。
接下来,将详细介绍 FAQ 问答机器人的应用场景。
在大模型兴起之前,常规做法是建立并维护一个问答知识库,对用户提出的查询进行匹配,匹配工作通常是 Q-Q 的相似性,或是 Q-A 间的相似性,有时则是将这两者结合起来进行。这一过程最终会产出一个答案。
这里的主要挑战包括相似问题的生成,因为标准问题的变体可能非常多,这就需要大量的人力投入。另一个挑战是语义相似度模型的匹配准确度,Q-Q 和 Q-A 的匹配质量完全取决于相似度模型的性能,这就使得其语义理解的能力相对较弱。
我们从去年 6 月份开始尝试了几个不同版本的大语言模型。最初,我们直接使用指令询问大模型,但这样的方式无法达到我们预期的效果。随后,我们对大模型进行了微调,并结合 prompt 进行了实验,这种方法在问答生成上的效果有所改善,但结果的不确定性依然较大。
我们的第三次尝试结合了自有知识库的相似度匹配和经过微调的大模型,这种方法的表现超过了前两种。但当时使用的都是较小的 6B 模型,即便采用了 RAG(Retriever-Augmented Generation)加上 prompt 和微调的方式,生成的结果仍旧难以控制。之后,我们尝试了 13B 和 70B 的大模型,并专注于利用这些模型的理解能力而非生成能力,这样做取得了不错的效果。
此外,我们也尝试了多种使用 prompt 的技巧。分享一个小窍门:prompt 需要明确且清晰,指令需精准无误,而最终输出的结果最好是有强代码结构的,比如 JSON 格式,或者是预先定义的明确结构。如果模型较大,使用 few-shot 方法效果会更好;只需给出几个示例,模型便能呈现出较佳的性能。再者,向模型说明思考方式,逐步引导其如何操作,也能有效提升结果。
在实际测试中,我们主要使用了 40 对 FAQ 标准问,并测试了 167 条数据。在第一版中,我们采用传统的语义相似性方法进行问答,手动扩展了 300 条相似问,得到的准确率为 82%。需要注意的是,这个准确率是基于我们自己的测试数据得出的,不同的数据集可能会有不同的准确率。
在第二版中,我们利用大模型生成每个标准问的 50 条相似问,这在使用大型语言模型时相对容易实现。结合语义相似性和大模型的方法,我们获得了 94% 的回答准确率。这里的“准确”是指生成的答案必须与知识库中的标准答案完全一致。虽然剩余的 6% 在检查时发现与知识库中的答案有些模糊匹配的情况,但 94% 的准确率在我们看来,实际上已经非常接近完美了。在第三版的实验中,我们将每个标准问的相似问扩展到 100 条,测试后发现准确率略有下降,为 93%。
在 FAQ 问答场景的测试中得出的结论是,大型语言模型能够协助我们扩展相似问题。此外,结合了 RAG 索引辅助生成与大型语言模型(LLM)的方法能够提高 FAQ 智能问答场景的准确率。总体来看,效果的优劣与召回数据的相关性以及大型语言模型的理解能力密切相关。
数据分析人员的要求
关于数据分析人员的能力要求,大模型的出现确实引发了一部分人的焦虑,担心自己的工作会被取代,或者担心赶不上这一技术浪潮。然而,我认为大模型不会取代我们的工作,而是会成为我们完成任务的强大助手,促使我们做出积极的改变。通过前期的一些探索,我们发现大语言模型实际上能在数据分析工作中发挥重要作用。
在项目实施过程中,大模型可以在多个阶段提供支持。例如,在需求定义阶段,它能够提供需求灵感、辅助编写和润色文档,提供关键需求信息,甚至在我们还未完全明确需求时补充设计元素。它还能帮助审核文档,确保关键信息的包含。
在构建阶段,大模型能辅助生成代码,补充代码注释,以及进行不同开发语言之间的代码翻译。这在一些拥有较老系统需要语言转换的公司中尤其有用,特别是当这些系统的代码注释不够充分时。此外,大模型还能进行代码审核,确保代码符合公司的要求,辅助开发框架的设计和生成。
在测试阶段,大模型能够帮助生成测试用例、编写测试文档以及修复 bug。这些都是在大模型应用场景中应该考虑到的作用。
对于数据分析人员而言,大模型的出现带来了技能要求的变化。首先,大模型可以辅助写代码,提高代码编写效率。这意味着数据分析人员不仅要掌握编码技能,还需要能够明确地定义和描述问题,以便大模型能高效生成代码。因此,问题定义、分解能力以及设计规划能力变得尤为重要。
其次,代码质量的辨别能力也变得关键。虽然大模型能生成代码,但有时候生成的代码可能是错误的。如果数据分析人员本身编码水平有限,可能难以识别错误,进而影响工作效率。这意味着对代码质量的判断能力对于数据分析人员来说变得更加重要,特别是对于高资质人员的需求可能会增加,而对于刚入门的人员需求可能减少。但对新手来说,大模型也提供了学习和成长的机会。
第三,代码测试和诊断能力。随着 AI 生成代码的普及,数据分析人员需要能够诊断和测试大模型生成的代码,这要求具备高度的代码理解能力和测试技能。
第四,掌握 prompt 工程能力。大模型的输出质量很大程度上取决于 prompt 的编写质量。写好 prompt 是达成高效输出的关键,同时也需要考虑到安全管控和响应时间的优化。
此外,作为算法相关人员,需要掌握对大模型的评估和评价能力,判断不同模型是否适用于特定应用场景,以及它们的优势和局限性。同时,对算力和资源的评估也变得重要,需要在使用大模型和资源投入之间做出权衡。
最后,选择合适的解决方案对于特定场景至关重要,并不是所有问题都需要用到大模型。数据分析人员需要具备判断并选择最适合当前场景解决方案的能力。
问答环节
A1:目前,RAG(Retriever-Augmented
Generation)是大家讨论的热点。使用 RAG 的通常做法是:首先将知识向量化存储到向量数据库中,然后查询与之相似的问题,并让大模型生成答案。但是,如果仅仅按照这种方式操作,很难保证生成的答案与知识库中的信息完全一致,即使考虑到大模型的规模,也存在一定的困难。
我们之所以能实现 94% 的准确率,与知识库内容完全匹配,是因为我们采取了特定的策略。在提问时,我们根据问题的相似性选择最相似的几个问题,然后在生成答案时指导大模型选择与哪个问题最相似,而不是直接将问题和答案一起提供给大模型让其理解后再生成答案。我们是让大模型直接返回最相似问题的编号。通过这种方式,我们可以通过编号直接获取对应的准确答案,从而保证了答案的相似性和准确性。
A2:在我们的汽车行业场景中,使用大语言模型进行推荐的案例相对较少。我们主要在售后服务领域探索推荐系统的应用,由于汽车配件的种类较少,这与电商领域的推荐系统有所不同,因此我们还未在电商领域那样广泛尝试使用大语言模型进行推荐。
在售后服务领域,大语言模型的应用主要集中在售后维修案例的检索上,这涉及到与知识库相关的内容检索。例如,基于用户对售后维修或保养的咨询,以及参与售后活动的需求,大语言模型可以辅助客服人员检索知识库中的相关信息,从而提供辅助服务。
Q3:在 70B 的模型中,RAG +微调 + prompt 是否效果比 RAG + prompt 好?
A3:由于资源限制,我们尚未对 70B 的大模型进行调整,这取决于具体应用场景的需求。如果是通用场景,我们目前的测试显示不需要进行微调。然而,对于特定垂直领域,如汽车行业中的特殊场景,我们还没有进行尝试,可能会需要进行相应的微调。
Q4:大语言模型中做自然语言查询数据库,会不会有幻觉的问题?
A4:我们采用的自然语言查询实现方式是这样的:基于一种不会产生幻觉的方法,或者说,采用类似于 AI agent 的框架。它首先将自然语言转换为 SQL 语句,然后执行数据库查询。如果 SQL 语句转换错误,则查询结果也会出错。通常情况下,我们的测试结果显示,要么查询正确,要么由于生成的 SQL 语句错误而没有产生结果。我们使用的是 Vicuna-13B v1.5 版本来生成 SQL 语句,主要进行了单表查询的测试。在单表情况下,处理单表操作是可行的,包括执行 where 语句、模糊查询等。
Q5:是否有尝试过用 Stable Diffusion 进行汽车设计?
A5:SD(Stable Diffusion)可以应用于汽车设计领域,我们的设计部门已经在使用它进行汽车设计工作。此外,SD 还能够进行产品设计,我们已经在进行一些相关的尝试。它还能生成一些海报,使得我们日常的海报生成工作比以往更为迅速。
Q6:70B 模型的 GPU 配置要求是什么呢?以及它能支持多大的流量查询?
A6:对于 70B 模型,我们采用了量化版本,例如使用 INT4 量化,需要 43G 的显存。有关大模型的详细配置,可以在官网找到相应的信息,这与模型能够支持的流量查询量密切相关。
我们实际测试情况供参考:72b-int4 用 vllm 推理加速,输入输出共 1000 token,4 秒之内返回,用 A100 40G 2 张,可以支持 4 个并发。