)
Rust 与人工智能助力汽车开发更高效
一点也不生疏
编程语言 Rust 兼具现代语言的安全性和便利性,同时不失例如 C 和 C++ 等一般系统语言的性能优势。加上使用传统语言的大型语言模型,将为汽车开发带来更进一步的效率潜能。
Rust 是一种编程语言,在 2009年开始开发,并在 2010 年首次公开。从那时起,Rust 便日益受到欢迎,在过去五年中是所有编程语言中发展最快的。开发人员尤其重视它兼顾性能和安全性的特质。这个语言的周边已形成了一个成长快速的社区和生态体系,拥有许多资料库和工具。多家大型科技公司,例如 Google、Mozilla、Microsoft、Amazon 和 Facebook,都在多个项目中使用 Rust,其中包括安全攸关的应用程序和系统软件。
Rust 如此受欢迎的原因之一在于:与C 或 C++ 相比,Rust 可以提供较高的安全性,特别是可以避免在访问内存时发生错误。Rust 利用“所有权系统”为内存访问制定了严格的规则,有效消除了这些问题。例如,Rust 中的每一个变量都被分配得到一个特定的内存空间——但当不再需要这个空间时,就必须释放出来。这在变量超出其有效范围(Scope)时,就会自动执行。在内存中使用引用时也更安全:在 Rust 里的引用都有生存期。这是为了确保引用绝对不会指向无效的内存区域。在一个程序中,所有权系统也可以避免不同执行线程之间的竞争条件(竞争访问资源),这里的关键词是“并发安全”。
即使安全性提高了,使用 Rust 的开发人员也不需要牺牲性能。在许多情况下,这个编程语言的速度和 C 和 C++ 不相上下。由于兼顾安全和性能,使得 Rust 对于系统软件、实时应用和其他高性能要求的项目的开发来说非常具吸引力。
这种编程语言的另一个优势是成熟的 Rust 工具链。集成式软件包管理系统 “Cargo” 和稳定的测试系统使得软件开发极具效率。开发人员可以轻松快速地开始新项目、管理耦合性和执行广泛的测试。这使得团队合作变得更简单,同时实现干净且结构良好的代码库。Rust 如今受到的高度评价,也体现在它被用作 Linux 操作系统核心的编程语言。这个系统之前采用的是 C 语言,并且性能和安全性在其中扮演着关键角色。
)
甲壳动物掌控全局:
螃蟹 “Ferris” 是 Rust 社区的吉祥物。借助其技术优势,Rust 在未来还可以接管越来越多的车辆控制任务。
日益增长的关注
在汽车行业中,Rust 持续渐受关注。得益于结合了内存安全性、效率和并发安全,这种编程语言非常适合用于汽车的安全攸关嵌入式系统。保时捷工程集团已经累计了丰富相关经验:”我们在 1月开始了第一个与 Rust 合作的项目:我们想要以软件即服务的方式向第三方提供一个数据收集器软件框架,所以用 Rust 来为该框架的核心编程。“保时捷工程集团ADAS 软件开发项目经理海科·何伯勒博士 (Dr. Heiko Helble) 说,”网络安全对我们来说非常重要,这就是我们选择 Rust 的原因。“
和其他许多专家一样,何伯勒如此看重这种编程语言的原因在于,它能够排除例如未授权访问内存等典型问题,并且通过其数据类型确保物理单位一致——例如在记录速度时,不可能发生在一处使用米/秒,另一处却使用公里/小时为单位的情况。何伯勒表示:“这只稍稍增加了一点编程工作量,但却能显著加快测试和除错的速度。”
结合大型语言模型
软体开发领域的一个较新趋势是结合人工和人工智能编程技术,例如借助大型语言模型(LLM)。编程人员将局部任务指定给 LLM,而后由人工智能提供源代码。原则上,任何编程语言都可以办到这一点,只要人工智能模型已接受过足够的实例训练。“虽然 Rust 比 C 年轻许多,也因此没有那么多训练数据,但已经运作地非常好。“何伯勒报告说,”我曾用一个大型语言模型在 20 分钟内一下子就解决了一个非常复杂的任务,以往我一般要花好几个小时。那个软件立即就可以运行。“
如今,保时捷工程集团已经成功运用 C 或 C++ 这类语言的人工智能辅助编程。”在解决局部任务时,大型语言模型为我们提供了宝贵的支持。”保时捷工程研发工程师约纳斯·布兰德施泰特(Jonas Brandstetter)表示,“例如要通过特定接口与外围硬件通信时。不过,我们在未来可以从客户需求出发,从中产生 LLM 可以解决的任务,最终生成源代码。“在软件开发过程中使用大型语言模型时,最重要的是保护机密数据。有鉴于此,保时捷工程集团采用基于大型语言模型的内部访问方案,同时遵守所有数据保护要求。
信息
本文首次发表于《保时捷工程杂志》2024年第2期。
文字:Christian Buck
插图:Benedikt Rugar
版权:本文中发布的所有图片、视频和音频文件均版权保护。未经保时捷工程书面许可,不得部分或全部复制。欲了解更多信息,请联系我们。
联系方式
您有问题或想了解更多信息吗?请联系我们:info@porsche-engineering.de