大语言模型遇上自动驾驶:AsyncDriver如何巧妙解决推理瓶颈?

导读
这篇论文提出了AsyncDriver框架,致力于解决大语言模型在自动驾驶领域应用中的关键挑战。论文的主要创新点在于提出了大语言模型和实时规划器的异步推理机制,实现了在保持性能的同时显著降低计算开销。通过设计场景关联指令特征提取模块和自适应注入模块,该框架能够有效融合多模态信息并无缝集成到现有规划器中。在nuPlan具有挑战性的场景评测中,AsyncDriver展现出优异的闭环性能,实验结果表明即使在较大的推理间隔下仍能保持稳定表现。对于关注自动驾驶与大模型结合的研究者来说,这篇论文提供了一个实用的解决方案,展示了如何在实际应用中平衡性能和计算效率。

©️【深蓝AI】编译

论文标题:Asynchronous Large Language Model Enhanced Planner for Autonomous Driving

论文作者:Yuan Chen, Zi-han Ding, Ziqin Wang, Yan Wang, Lijun Zhang , Si Liu

论文地址:Asynchronous Large Language Model Enhanced Planner for Autonomous Driving | SpringerLink

1 研究背景

运动规划在自动驾驶领域扮演着关键角色,因其直接影响车辆的导航和安全性而备受关注。在评估自动驾驶规划器性能时,闭环仿真是一种特别重要的方法。在闭环仿真中,驾驶场景会根据规划器预测的轨迹动态发展,这就要求模型具备更强的预测准确性和偏差修正能力。

目前的实时学习型运动规划框架通常使用矢量化地图信息作为输入,并通过解码器预测轨迹。但作为纯数据驱动的方法,这类规划器在罕见或未见过的场景中表现容易显著下降。虽然也存在一些基于规则的策略,但手工制定规则往往无法完全覆盖复杂场景下的所有可能情况,导致驾驶策略要么过于保守,要么过于激进。此外,无论是学习型还是规则型规划框架,都面临着可控性较低的问题,这给动态环境下系统的安全性和可靠性带来了隐患。

近期,大型语言模型(如GPT-4和Llama2)在自动驾驶领域展现出巨大潜力。这些模型通过在大规模数据集上预训练,建立了理解交通规则和场景的坚实基础。因此,基于大语言模型的规划器在场景分析、推理和人机交互方面表现出优异性能,为提高运动规划的可解释性和可控性开辟了新途径。

然而,这些模型仍然面临几个具体挑战:首先,场景信息是通过语言描述的,可能会受到输入token长度的限制,难以全面准确地描述复杂场景细节;其次,通过语言输出进行预测时,要么需要将高层指令转换为控制信号(可能导致不准确),要么需要通过语言输出浮点数形式的轨迹点(这并不是大语言模型所擅长的);第三,现有框架主要将大语言模型作为核心决策实体,虽然这种策略在性能上有优势,但大语言模型固有的庞大参数量导致推理速度相比实时规划器明显降低,这给实际部署带来了实质性障碍。

如何克服这些挑战,使大语言模型能够更好地服务于自动驾驶运动规划,是本文要解决的核心问题。

2 相关研究工作

在自动驾驶运动规划方面,经典的模块化流程包含感知、预测和规划三个环节。在这个框架中,规划模块基于感知的输出预测未来轨迹,然后由控制系统执行。这种架构被Apollo等工业界框架广泛采用,与端到端方法相比,其优势在于可以通过模块间明确定义的数据接口,针对性地研究各个任务。

自动驾驶规划器主要可以分为基于规则和基于学习两类。基于规则的规划器依赖预定义的规则来确定车辆轨迹,比如维持安全跟车距离和遵守交通信号等。典型的如IDM(智能驾驶模型),它通过计算制动和停车距离来确保与前车保持安全距离。PDM(概率驾驶模型)在IDM基础上,通过选择得分最高的IDM方案作为最终轨迹,在2023年nuPlan挑战赛中取得了最佳成绩。但基于规则的规划器往往难以应对超出预定规则范围的复杂驾驶场景。

▲图1| 自动驾驶规划器对比综述©️【深蓝AI】编译

基于学习的规划器则试图通过模仿学习或离线强化学习从大规模数据集中复现人类专家的驾驶轨迹。但它们也受限于数据集的覆盖范围和模型复杂度,在路径信息理解和环境感知等方面仍有很大提升空间。

在大语言模型与自动驾驶结合方面,GPT-4和Llama2等模型展现出卓越的泛化和推理能力。目前研究主要集中在几个方向:一些工作探索了将场景信息(包括自车状态、障碍物、行人和其他车辆信息)通过语言模态整合到大语言模型中用于决策和解释。但这类方法受限于有限的上下文长度,难以编码精确信息进行有效的决策推理。

为克服这些限制,一些多模态方法如DrivingWithLLM、DriveGPT4和RAGDriver被提出。这些方法将矢量化或图像/视频模态与语言指令对齐,以更全面地解释驾驶场景。但用语言表达控制信号存在局限性:DrivingWithLLM输出高层语言指令,提升了问答交互但降低了将复杂推理转化为精确车辆控制的保真度;DriveGPT4通过语言表达航路点,展现出良好的开环性能但缺乏闭环仿真评估。

此外,一些工作如LMDrive和LanguageMPC聚焦于闭环评估,通过在大语言模型后连接低层控制器或回归器实现精确的车辆控制。但这些方法需要在每个规划步骤进行完整的语言解码或大语言模型推理,这给实时响应和实际部署带来挑战。

相比之下,本文提出的方法从直接使用大语言模型进行语言输出转向增强实时学习型规划器。这种策略不仅提升了环境理解能力,还允许大语言模型和实时规划器以不同的推理频率独立运行。这种解耦机制显著降低了大语言模型推理延迟,有利于实际部署。

3 数据生成

作者基于nuPlan数据集构建训练数据。nuPlan是首个大规模自动驾驶规划基准数据集,包含来自波士顿、匹兹堡、拉斯维加斯和新加坡共1200小时的真实人类驾驶数据。研究团队从nuPlan的训练集和验证集中开发了预训练和微调数据集,重点关注14种官方定义的具有挑战性的场景类型。

在预训练数据生成方面,为了增强大语言模型对自动驾驶指令的理解,研究团队创建了基于语言的问答数据集,包括Planning-QA和Reasoning1K两部分。这种设计与大语言模型的原生模态相匹配,有助于更好地理解指令语义。

其中,Planning-QA采用基于规则的方法以实现可扩展性,旨在增强大语言模型对航路点、高层指令和控制之间关系的理解。在这个数据集中,航路点是由一系列点组成的数组,高层指令包括速度指令(停止、加速、减速、保持速度)和路由指令(左转、右转、直行),控制则涉及速度和加速度值。Planning-QA包含六种类型的问题,每种都聚焦于航路点、高层指令和控制之间的转换关系。

Reasoning1K包含1000条由GPT-4生成的数据。这部分数据不仅提供答案,还基于场景描述补充了推理和解释,用于与Planning-QA混合训练。

在微调数据生成方面,研究团队基于10000个场景构建了微调数据集,每8秒采样一帧,最终得到了180000帧训练集和20000帧验证集。每一帧都包含矢量化地图数据和语言提示。重要的是,训练集和验证集中的场景类型分布与整个nuPlan训练验证集的分布相匹配。

对于提取的矢量化场景信息,研究采用了与GameFormer类似的方法,包含了自车信息和20个周围智能体在20个历史帧上的信息,以及以自车为中心的全局地图数据。

大语言模型的提示由两部分组成:系统提示和一系列路由指令。关于路由指令,研究团队采用基于规则的方法将路径转换为带有距离信息的指令序列。在训练数据集准备阶段,使用自车在接下来8秒的真实轨迹作为生成路由指令的路径。在仿真过程中,基于当前场景观察,通过手工设计的方法找到一条符合指定最大长度的路径作为生成指令的参考路径。

4 研究方法

如图2所示,本文提出的异步大语言模型增强闭环框架AsyncDriver主要包含两个核心组件:1)场景关联指令特征提取模块; 2)自适应注入模块。此外,得益于框架的设计,大语言模型和实时规划器之间的推理频率可以解耦,并通过异步间隔进行调节,显著提升了推理效率。

▲图2| AsyncDriver框架©️【深蓝AI】编译

4.1 场景关联指令特征提取模块

多模态输入:在每个规划迭代中,系统从仿真环境中获取矢量化场景信息。类似于GameFormer的方法,提取了自车和其他智能体在20个历史帧上的轨迹和状态信息,以及全局地图数据。实时规划器的矢量化场景信息以相同方式提供。所有矢量数据都是相对于自车位置的。随后,通过矢量地图编码器和地图适配器的处理,得到地图嵌入。这些地图嵌入与语言嵌入一起输入Llama2-13B主干网络。

对齐辅助模块: 为了把握路由指令的本质同时保持对矢量化场景信息的细粒度理解,从而更好地提取场景关联的高层指令特征,研究采用了对齐辅助模块来促进多模态输入的对齐。具体来说,研究团队识别了自动驾驶过程中五个关键的场景要素用于多任务预测,通过五个独立的双层MLP预测头来实现。对于自车当前状态,模型在X轴和Y轴上回归估计车辆的速度和加速度。对于地图信息,进行分类任务以识别左右两侧是否存在相邻车道,并评估当前车道相关的交通信号状态。此外,考虑到未来的导航策略,模型还对未来轨迹中的换道需求和未来速度决策(包括加速、减速和保持当前速度)进行分类。值得注意的是,对齐辅助模块仅用于训练阶段辅助多模态对齐,不参与推理阶段。

4.2 自适应注入模块

研究团队采用了GameFormer的解码器结构作为基础解码器层,通过将传统的基于Transformer的解码器层演化为自适应注入模块,实现了场景关联指令特征的自适应集成。具体来说,首先通过特征适配器对最后一个token的隐藏特征进行投影,随后输入到自适应注入模块中。

在自适应解码器模块中,研究团队优雅地扩展了实时规划器的基础解码器架构,确保每一层中的查询不仅保持对原始场景信息的注意力操作,还能与场景关联指令特征进行交叉注意力计算,从而将指令引导融入预测过程。之后,更新后的指令增强查询特征通过可学习的自适应门进行调制,该门的初始值为零,并被重新整合到解码器层的原始注意力输出中。

作者提出的自适应注入方法不仅维持了实时规划器中原始解码器层处理完整场景信息的能力,还增强了规划器对一系列灵活语言指令的理解和遵循能力。这种改进使得系统能够产生更精细和可控的预测结果。值得注意的是,由于自适应注入模块设计简单而有效,它可以无缝集成到任何基于Transformer的架构中,这使得方法具有适配其他实时规划器框架的灵活性。

4.3 异步推理

研究团队的设计利用大语言模型来引导实时规划器,通过一系列灵活组合的语言指令显著提升其性能,同时不损害其结构完整性。这种方法实现了可控的异步推理,有效解耦了大语言模型和实时规划器的推理频率,因此大语言模型不需要处理每一帧。在异步间隔期间,先前推导出的高层指令特征继续指导实时规划器的预测过程,这显著提升了推理效率,降低了大语言模型引入的计算成本。值得注意的是,我们的框架能够适应一系列灵活组合的路由指令,能够提供长期的高层路由洞察。因此,即使在异步间隔期间,之前的高层特征仍然能够提供有效指导,增强了整个LLM推理间隔内的性能稳定性。

实验结果表明,当扩大大语言模型的异步推理间隔时,我们的架构仍保持接近稳定的性能。通过控制大语言模型每3帧执行一次推理,可以实现推理时间减少近40%,而精度仅损失约1%,这证明了我们的方法在精度和推理速度之间达到了最优平衡。关于实验结果和分析的更全面探讨,请参见5.2节。

4.4 训练细节

在预训练阶段,使用全部的Reasoning1K,并从Planning-QA中随机选取1,500个样本来训练LoRA。这个过程使大语言模型从通用大语言模型演变为专门针对自动驾驶优化的模型。作为这种聚焦适应的直接结果,大语言模型在运动规划情境下理解指令的准确性得到显著提升。

在微调阶段,由于保留了矢量地图编码器和解码器的架构,我们加载了在相同数据集上预训练的实时规划器权重以增强训练稳定性。微调阶段的总损失由对齐辅助损失和规划损失组成。前者分为五个部分:1) 自车速度和加速度预测的l1损失,2) 速度决策预测的交叉熵损失,3) 交通信号灯状态预测的交叉熵损失,4) 相邻车道存在预测的二元交叉熵损失,以及5) 换道预测的二元交叉熵损失。

5 实验

5.1 实验设置

在评估设置方面,研究团队遵循nuPlan挑战赛2023的设定,选择了14种官方定义的具有挑战性的场景类型进行训练和评估。尽管nuPlan数据集包含757,844个场景,但大多数简单场景对于关键规划器性能评估而言并不充分,且庞大的数据量会延长评估时间。因此,研究团队从测试集中每种类型随机选择100个场景,然后使用PDM规划器(nuPlan 2023冠军)保留每种类型得分最低的20个场景,最终构建了一个包含279个场景的测试集Hard20。

在实现细节方面,所有实验都在闭环反应式设置下进行。在这种设置中,场景中的智能体可以配备IDM规划器,使它们能够对自车的行为做出反应。仿真频率为10Hz,在每次迭代中,预测轨迹的时间范围为8秒。评估遵循nuPlan挑战赛提出的闭环指标,具体细节在补充材料中详细说明。在模型设置方面,AsyncDriver基于Llama2-13B构建,LoRA配置为R=8和α=32,使用AdamW优化器和带衰减的预热调度器,学习率设为0.0001。

5.2 实验结果

在Hard20评估方面,如表1所示,AsyncDriver相比现有规划器取得了最高性能,相比GameFormer提升了4.6%(约2.95分),甚至超过了当前最先进的基于规则的规划器。为了公平比较,考虑到轨迹细化和对齐在闭环评估中的重要影响,研究团队将PDM评分器适配到AsyncDriver(记为AsyncDriver*),这使得性能相比PDM-Hybrid和PDM-Closed分别提升了5.3%和5.1%(约3.43和3.30分),相比学习型规划器GameFormer提升了8.7%(约5.43分)。从另一个角度看,表2展示了Hard20数据集中每种场景类型的得分以及与现有规划器的比较,结果表明该方案在大多数场景类型中都取得了卓越的表现。

▲表1| Hard20定量评估©️【深蓝AI】编译

▲表2| Hard20数据集中每种场景类型的得分以及与现有规划器的比较©️【深蓝AI】编译

定量结果显示,Scene-Associated Instruction Feature Extraction Module提取的高层特征显著提升了实时规划器在闭环评估中的性能。详细指标显示,相比GameFormer,该方法在可行驶区域性能上提升了3.23分,这表明由于场景上下文理解能力的提升,系统在识别和导航可行驾驶空间方面表现出色。此外,AsyncDriver*在碰撞时间(TTC)指标上超过PDM 4.39%(约3.23分),这表明预测精度得到提升,通过有效预测和减少潜在碰撞场景来确保更安全的驾驶。

在异步推理方面,研究团队认为,特别是对于一般化的高层指令,在短时间间隔内的帧之间存在显著的相似性。因此,考虑到大语言模型在提取这些高层特征方面的作用,它不需要参与每一帧的推理过程,这可以显著提升推理速度。为探索这一点,实验设计区分了大语言模型和实时规划器的推理频率,在每个大语言模型推理间隔期间,使用先前的指令特征来引导实时规划器的预测过程。如图3所示,随着大语言模型规划间隔的增加,该方法的性能表现出显著的稳健性,这表明大语言模型能够提供长期的高层指令。实验观察到,即使在149帧的间隔下(意味着在一个场景中只进行一次推理),性能仍然超过GameFormer 1.0分以上,而推理时间接近实时水平。随着推理间隔的增加,所需的推理时间急剧下降,而准确性几乎保持稳定。因此,通过采用密集训练与异步推理相结合的策略,该方法在准确性和推理速度之间取得了最佳平衡。

▲图3| 异步性能©️【深蓝AI】编译

5.3 指令遵循

图4展示了该方法对不同路由指令的反应,展示了其在指令遵循方面的能力。图4a展示了场景采用常规路由指令时的预测结果。我们注意到自车略微减速,这反映了在弯道处降低速度的常识性判断。然而,考虑到道路畅通的情况,自车保持了相对较高的速度。相比之下,图4b描述了以"停止"作为路由指令的场景。值得注意的是,即使在没有外部障碍物的情况下,自车也迅速对命令做出刹车响应,在短短6秒内将速度从10.65m/s降低到1.06m/s。因此,很明显AsyncDriver可以作为语言交互接口,具备精确理解和遵循人类指令以规避异常情况的能力。

▲图4| 可视化指令遵循结果©️【深蓝AI】编译

5.4 消融研究

在这部分中,研究团队探究了大语言模型的必要性,并调查了AsyncDriver中各个组件的有效性。

首先,在大语言模型必要性方面,研究团队进行了实验,用不同维度(256和5120)的transformer块替代大语言模型,同时引入可学习的路由指令嵌入。同时保持对齐辅助模块和自适应注入模块不变。如表3所示,结果表明,尽管transformer参数量增加了20倍,性能仅从63.27小幅提升到63.59。相比之下,AsyncDriver达到了65.00的性能,凸显了预训练知识对大语言模型的重要影响。

▲表3| 用非预训练的交叉注意力替代大语言模型©️【深蓝AI】编译

在组件消融方面,将简单的MLP作为大语言模型后的预测头用于规划显著降低了性能,这表明简单的轨迹回归无法有效对齐多模态信息,因此无法利用大语言模型对场景的推理能力。研究团队用实时规划器替代MLP,并逐步添加了四个结构:(i)自适应注入模块,(ii)对齐辅助模块,(iii)LoRA,以及(iv)预训练的LoRA。如表4所示,每个模块都提升了性能,其中对齐辅助模块和预训练的LoRA权重贡献最大,分别带来0.94和0.97的分数提升。

▲表4| 消融研究实验©️【深蓝AI】编译

6 结论

本文提出了AsyncDriver,这是一种新型的异步大语言模型增强闭环框架,用于自动驾驶。通过将矢量化场景信息与一系列路由指令对齐形成多模态特征,充分利用了大语言模型在场景推理方面的能力,提取场景相关的指令特征作为引导。通过提出的自适应注入模块,将一系列路由信息整合到任何基于transformer的实时规划器中,增强了其理解和遵循语言指令的能力,在nuPlan具有挑战性的场景中取得了优异的闭环性能。值得注意的是,得益于方法的结构设计,它支持大语言模型和实时规划器之间的异步推理。实验表明,该方法显著提升了推理速度,同时保持了极小的精度损失,有效降低了大语言模型引入的计算成本。

在更广泛影响和局限性方面,如果该方法证明成功,所提出的异步推理方案可能显著提升大语言模型在自动驾驶领域实际应用的前景。然而,尽管本研究使用了大语言模型,但尚未充分验证它们在规划任务中的泛化特性。未来的工作将致力于严格评估大语言模型在矢量化场景中的泛化和迁移潜力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/14046.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【iOS自动化】Xcode配置WebDriverAgent

WebDriverAgent 是 iOS 端自动化测试的工具,这里记录下 MacOS 环境 Xcode 如何配置 WebDriverAgent。 【重要】环境准备 ‼️ 注意:Xcode 版本需要支持对应的 iOS 版本,而 Xcode 版本又依赖 MacOS 版本;在开始部署前&#xff0c…

洛谷题目: P8774 [蓝桥杯 2022 省 A] 爬树的甲壳虫 题解 (本题较简)

题目传送门: P8774 [蓝桥杯 2022 省 A] 爬树的甲壳虫 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 前言: 这是一道关于概率和期望的动态规划问题,解题的核心思路是通过建立状态转移方程来计算甲壳虫从树根爬到树顶所需时间的期望值。题…

力扣题库第495题目解析

文章目录 1.题目再现2.思路分析&&示例说明2.1第一个示例2.2第二个示例 3.代码解释 1.题目再现 这个题目的名字叫做提莫攻击,如果是玩游戏的小伙伴对于这个场景就很熟悉了; 这个实际上是说:已知的条件会给我们一个数组,在…

leetcode刷题日记 1

https://leetcode.cn/problems/decode-ways/description/ 题目分析 分析了一下题目,我的第一想法:和之前的上楼梯问题很像 为什么这么说呢,感觉他们的值和他们之前元素都有千丝万缕的联系 就像上楼梯问题 就是我们的dp问题 怎么解释呢&a…

matlab simulink 汽车四分之一模型轮胎带阻尼

1、内容简介 略 matlab simulink121-汽车四分之一模型轮胎带阻尼 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略

广度优先搜索(BFS)算法详解——以走迷宫问题为例

引言:当算法遇见迷宫 想象你置身于一个复杂的迷宫,如何在最短时间内找到出口?这个问题不仅存在于童话故事中,更是计算机科学中经典的路径搜索问题。本文将带你通过走迷宫问题,深入理解广度优先搜索(BFS&am…

网工_以太网MAC层

2025.02.05:网工老姜学习笔记 第12节 以太网MAC层 2.1 MAC层的硬件地址2.2 MAC地址特殊位含义2.3 终端适配器(网卡)具有过滤功能2.4 MAC帧的格式2.4.1 DIX Ethernet V2标准(先私有,后开放,用得比较多&#…

解锁高效 Web 开发新姿势:Open WebUI 安装指南

在 Web 开发的浩瀚宇宙里,找到一款强大又好用的框架,就如同拥有了超级外挂,能让开发效率直线飙升。 今天要给大家介绍的 Open WebUI,便是这样一款神器,它作为开源框架,助力开发者轻松搭建现代感十足、交互性…

485网关数据收发测试

目录 1.UDP SERVER数据收发测试 使用产品: || ZQWL-GW1600NM 产品||【智嵌物联】智能网关型串口服务器 1.UDP SERVER数据收发测试 A(TX)连接RX B(RX)连接TX 打开1个网络调试助手,模拟用户的UDP客户端设…

软考高级-软件系统架构师-02-软件工程(重点)

用工程化的思想做软件 一、软件开发方法(/原则) 软件开发方法(重点) 结构化法(面向过程/函数) C 概念 用户至上严格区分工作阶段,每个阶段有各自的任务和成果强调系统开发的整体性和全局性系统开…

STM32的HAL库开发---通用定时器(TIMER)---定时器脉冲计数

一、脉冲计数实验原理 1、 外部时钟模式1:核心为蓝色部分的时基单元,时基单元的时钟源可以来自四种,分别是内部时钟PCLK、外部时钟模式1,外部时钟模式2、内部定时器触发(级联)。而脉冲计数就是使用外部时钟…

甘肃省医保刷脸设备激活步骤

医保刷脸设备激活开通操作流程 激活社保 一、拆下刷脸设备,按右侧按键设置Wi-Fi和内网 Wi-Fi可连接个人热点,用于获取安装地址 配置Wi-Fi成功以后,输入机构代码,点击“获取”,安装地址获取成功; 断开Wi-…

一个sql只能有一个order by

ORDER BY 子句在 SQL 中只能出现一次,静态部分和动态部分只能写一个 ORDER BY

【Linux网络编程】之守护进程

【Linux网络编程】之守护进程 进程组进程组的概念组长进程 会话会话的概念会话ID 控制终端控制终端的概念控制终端的作用会话、终端、bash三者的关系 前台进程与后台进程概念特点查看当前终端的后台进程前台进程与后台进程的切换 进程组 进程组的概念 当我们使用以下命令查与…

MySQL的底层原理与架构

前言 了解MySQL的架构和原理对于很多的后续很多的操作会有很大的帮助与理解。并且很多知识都与底层架构相关联。 了解MySQL架构 通过上面的架构图可以得知,Server层中主要由 连接器、查询缓存、解析器/分析器、优化器、执行器 几部分组成的,下面将主要…

自动化测试工具selenium的安装踩坑

先安装Python 然后pip install selenium 浏览器安装驱动 火狐版本:132.0 geckodriver应用W3C WebDriver兼容远程服务器与根据gecko的浏览器互动的代理,该程序流程出示WebDriver协议书叙述的HTTP API,用以与Gecko浏览器(如Firefox)通讯 下…

apisix网关ip-restriction插件使用说明

ip-restriction插件可以在网关层进行客户端请求ip拦截。 当然了,一般不推荐使用该方法,专业的事专业工具做。建议有条件,还是上防火墙或者waf来做。 官方文档:ip-restriction | Apache APISIX -- Cloud-Native API Gateway whit…

Baklib赋能数字内容体验个性化推荐提升用户体验的未来之路

内容概要 随着数字化时代的不断发展,用户对内容消费的需求日益多样化,个性化推荐成为提升用户体验的重要手段。Baklib以其先进的技术手段,在数字内容领域内积极推动个性化推荐的实施,从而满足用户在信息获取和内容消费中的独特需…

【SqlServer】SQL Server Management Studio (SSMS) 下载、安装、配置使用及卸载——保姆级教程

超详细的 SQL Server Management Studio (SSMS) 下载、安装、连接数据库配置及卸载教程 SQL Server Management Studio (SSMS) 是微软提供的图形化管理工具,主要用于连接、管理和开发 SQL Server 数据库。以下是详细的 SSMS 下载、安装、连接数据库以及卸载的完整教…

【慕伏白教程】Zerotier 连接与简单配置

文章目录 下载与安装 WindowsLinux apt安装官方脚本安装 Zerotier 配置 新建网络网络配置 终端配置 WindowsLinux 下载与安装 Windows 进入Zerotier官方下载网站,点击下载 在下载目录找到安装文件,双击打开后点击 Install 开始安装 安装完成后&…