在科技飞速发展的当下,软件领域正经历着深刻变革,从传统模式逐步向更高级的阶段迈进。这一过程中,软件架构、开发模式以及对需求的处理方式等方面都发生了显著变化,对各个行业尤其是智能驾驶领域产生了深远影响。深入剖析这些变化,对于理解未来科技发展趋势和把握行业走向至关重要。
当敏捷迭代从量变走向质变,自主性成为这一转变的核心特征。最终目标是实现一个完全无需人为干预中间过程设计的自主性闭环,在这个闭环里,软件和业务闭环是关键要素。在迈向这一目标的进程中,软件行业从早期阶段不断演进,传统模式在其中扮演了重要角色。
传统模式主要基于规则算法,如常见的“if else”语句。这种模式具有一定优势,由于是人编写的代码,其可解释性强,开发人员能够清晰地理解每一步的逻辑。同时,项目进度和成果也相对容易预测,在调试时,开发人员可以依据清晰的逻辑快速定位和解决问题,而且对数据的要求不高。在传统开发中,随着项目推进,开发产品的工程师会积累经验、不断成长,但产品本身缺乏自我成长的逻辑,因为代码的更新和改进依赖于工程师手动修改。在智能驾驶系统的早期发展阶段,多数是基于这种规则算法构建的。
如今,数据驱动的逻辑逐渐兴起,与传统规则算法相比,其核心差异在于成长对象的改变。在数据驱动模式下,模型本身是一个可微分的构建,其中不包含代码且难以解释。模型的学习过程依赖于数据,数据充当了“老师”的角色。在图像识别模型训练中,大量的图像数据被输入模型,模型通过对这些数据的学习来不断优化自身性能,实现从数据中提取特征并进行分类或预测的功能。这与传统模式中产品本身不具备自我成长能力形成鲜明对比。
以自动驾驶系统为例,深入了解其架构和工作流程,有助于理解软件开发模式变化对其产生的影响。任何智能驾驶系统或智能化系统,都可分为感知、决策和执行三个关键步骤,并且总体上与真实世界进行交互。感知环节又细分为自车感知和外部感知,这类似于人类通过眼睛、耳朵等获取外界信息的过程。在这个过程中,内心世界(或称为世界模型)的概念至关重要,它主要对应融合和预测这两个环节。融合的核心是将外部不同的异构数据或信息在内心世界中进行整合,从而形成统一概念。在看到、听到和触摸到鸭子时,大脑会将这些来自不同维度的信息融合,形成对鸭子的统一认知。基于这种统一认知,内心世界会对未来可能发生的情况进行预测,在预测的基础上做出决策,决策就像是制定一个计划,最后通过执行环节将决策转化为实际行动。
在整个交互过程中,对于高等级智能体而言,一个重要的原则是不断将真实世界和内心世界进行拟合。也就是说,内心世界与真实世界的分布越接近,智能体在所处环境中的生存概率就越高。在自动驾驶场景中,如果车辆的感知系统能够更精准地反映真实路况,那么车辆做出正确决策并安全行驶的概率就会大大增加。
从软件架构的发展历程来看,其经历了多个阶段的演变。在传统智驾开发阶段(软件1.0),产品开发需要众多工程师协同工作,从制定策略、进行设计,到最终软件工程师将软件需求转化为软件语言,再转化为硬件语言。这一过程中,存在着软硬件耦合与解耦的特点。在需求设计到软件语言的转化过程中,以MATLAB为主的开发语言呈现出软硬件紧耦合的特性,因为它希望需求能直接转化为产品,需求文档和最终代码交付紧密结合。而在软件语言到硬件语言的转化过程中,则表现出解耦的特点,代码具有较好的通用性,可以在不同芯片和产品线上使用。
随着技术发展,进入数驱智驾开发阶段(软件2.0)以及更高级的大模型阶段(第三阶段),软件架构发生了显著变化。在大模型阶段,从需求翻译到软件语言的过程是解耦的,这意味着需求和软件实现之间的联系不再像传统模式那样紧密。而软件和硬件之间则呈现出紧耦合的特点,例如定制化芯片(ASIC芯片),其设计理念是牺牲通用性来换取更高的能耗比,以实现机器性能的最佳发挥。
在需求处理方面,传统开发模式和大模型阶段也存在明显差异。在传统的V模型开发过程中,需求会被分解为测试用例,并逐步向下分解到开发阶段,每个需求条目都强调可追溯性、条目化,并且要经过产品和开发系统的共同确认。而在大模型阶段,虽然也存在需求文档,但此时的需求本质上是对数据的描述。在开发一个天气感知相关的功能时,需求可能会围绕数据展开,如确定以雨刮刮不刮为重点功能时,会描述在这一功能中,80%的数据将围绕雨的相关信息构建,同时也会考虑其他天气情况的数据占比。在大模型阶段,需求不再是传统意义上的RQ1、RQ2等树状结构的条目化需求。
需要明确的是,软件发展的各个阶段不是简单的替代关系,而是一种叠加关系,即从1到1+2,再到1+2+3的过程。在实际工程应用中,不能简单地认为新的阶段可以完全取代旧阶段。一些年轻人可能认为使用了先进的模型就代表了先进生产力,但在实际系统开发中,如果没有其他阶段的支撑,这些先进模型也难以发挥作用。在落地一个产品时,往往需要多个阶段的人员和技术共同协作,才能确保项目的顺利推进。
在模型应用方面,不同类型的模型在不同场景下有着不同的工作方式。以ChatGPT为代表的模型,人们通常将其作为工具使用,在使用过程中存在人与模型磨合的问题。目前主要有两种方式,一种是“人的屈服派”,通过大量调整提示词来使模型满足需求;另一种是在模型不能满足要求时,通过重新训练模型、开发专业领域模型或利用提示词进行包装等方式,使模型对特定人群更加友好。
而自动驾驶类的模型则有着不同的工作逻辑。在自动驾驶场景中,模型是实现目标的核心,人主要起到确保目标达成的监督作用。当模型处于不同的成熟度时,会采用不同的策略。在模型训练初期或效果不理想时,可以采用影子模式,让模型在不影响正常驾驶的情况下收集数据;当对模型的安全性存在疑虑时,可以构建双系统,如L2系统,配合规则算法来保障安全;随着模型性能的提升,准备向更高等级(如L3)发展时,可以在不破坏原有系统的基础上,追加安全系统来实现目标。在相机模型在雨雾天气效果不佳时,可以增加激光雷达作为兜底方案,以确保产品的安全交付和用户体验。
目前自动驾驶发展主要有两种路线,以特斯拉为主的渐进式路线和以谷歌为主的跃进式路线。当前,渐进式路线在市场上占据主导地位,跃进式路线发展相对受限。
从软件发展趋势来看,规则算法逐渐被模型化替代是一个明显的趋势。这是因为规则算法模块通常由不同的算法小组开发,本质上是人与人合作的过程,这会带来大量的性能损失。而模型化,尤其是端到端模型的发展,使得从感知到融合、预测再到决策的整个业务环节都实现了模型化。这种模型化程度的加深,核心意义在于提高软件迭代速率和应对需求变更的能力。如果使用规则算法编写程序,在面对需求变更时,迭代效率较低,因为需要大量人力细分场景、分解需求,还要处理各种利益和想法问题,涉及复杂的流程。而模型化方法能够更高效地实现优化,大大提高迭代效率,对整个系统的发展具有重要推动作用。
在模型逐步替代规则算法的过程中,是一个循序渐进的过程,而不是一蹴而就的。这一过程的核心在于实现老师和学生之间灵活切换的理念,类似于安全系统与功能体验系统之间的关系。在保证功能安全边界和质量的前提下,识别长期差异,这些差异可以用于模型训练,推动功能迭代。在实际应用中,规则算法可以转化为安全边界,同时为模型训练提供数据来源。环境差异通过模型和规则算法之间的比较产生,进而为模型训练提供数据。因此,直接跳过前期积累,试图一步实现端到端的模型应用是不现实的,数据工程需要逐步积累和成熟。
在软件研发过程中,云端训练系统也经历了从人直接产生设计,到通过标注数据产生设计,再到由知识产生数据及设计的发展过程。早期,人在设计过程中起到主导作用,通过直接编写代码和制定规则来构建系统;随着数据驱动模式的兴起,标注数据成为设计的重要依据,模型通过对标注数据的学习来优化自身;在更高级的阶段,知识开始发挥关键作用,知识产生数据并指导设计,实现了一体化的设计过程。在这个过程中,多任务的自监督训练和单任务单模型的有监督训练等技术不断发展,推动着软件研发向更高水平迈进。
模型在软件系统中扮演着核心角色,其结构代表了一种思维范式。不同位置的模型,由于承载的功能需求不同,结构也会有所差异。在自动驾驶的感知环节,针对外部直接输入的数据,通常会采用CNN(卷积神经网络)、ResNet(残差网络)等模型结构,它们的主要作用是进行压缩感知,将大量冗余的信息进行压缩,转化为更易于处理的结构性数据,以便后续的预测和决策。在融合预测环节,Transformer等模型结构应用较为广泛,它提供了一种有效的数据处理和特征提取方式;在决策层面,强化学习和对抗学习等技术则发挥着重要作用,帮助模型做出更加合理的决策。
虽然模型看起来由多个模块组成,但从整体上可以将其视为一个串联的整体,当感知、融合、预测和决策等环节能够有效串联起来时,就构成了端到端的状态,这也是当前软件发展追求的目标之一。实现端到端的模型应用,可以提高系统的整体性和协同性,进一步提升软件的性能和智能化水平。
在软件从第二阶段向第三阶段发展的过程中,涉及到软件架构、需求处理、模型应用和研发模式等多个方面的深刻变革。这些变革相互关联、相互影响,共同推动着软件行业向追求更高灵活性和自主升级的方向发展。在未来,随着技术的不断进步,软件将在更多领域发挥重要作用,为人们的生活和各个行业的发展带来更多创新和改变。
*版权声明:本文为盖世汽车原创文章,如欲转载请遵守 转载说明 相关规定。违反转载说明者,盖世汽车将依法追究其法律责任!
本文地址:https://auto.gasgoo.com/news/202502/18I70418861C108.shtml
 
联系邮箱:info@gasgoo.com
求职应聘:021-39197800-8035
简历投递:zhaopin@gasgoo.com
客服微信:gasgoo12 (豆豆)
新闻热线:021-39586122
商务合作:021-39586681
市场合作:021-39197800-8032
研究院项目咨询:021-39197921