《中国人工智能学会通讯》——8.30 并行与分布式进化分布方式

简介: 本节书摘来自CCAI《中国人工智能学会通讯》一书中的第8章,第8.30节, 更多章节内容可以访问云栖社区“CCAI”公众号查看。

8.30 并行与分布式进化分布方式

目前的并行与分布式进化分布方式主要有种群式分布和维度分块式分布两种。

种群式分布
种群式分布是当前并行与分布式算法主要采用的分布方式[41-44,50-52,74-79] 。该分布方式将进化算法的种群分为若干个小种群(甚至将单独个体视为一个小种群);而后根据并行与分布式进化算法选用的分布式模型,将每个小种群分配给一个节点。每个节点负责更新所分配的种群,并与相关节点通信,交换信息。

在种群式分布方式中,每个个体是完整的,即包含所有维度的信息。每个节点在优化过程中,搜寻的仍然是优化问题的整个解空间。因而,面对高维度优化问题,该分布方式面临着以下挑战。

(1) 收敛速度过慢。随着优化问题维度的增长,问题的解空间往往呈指数式增长。由于每个节点的搜索空间仍然是优化问题的整个解空间,因此,并行与分布式进化算法即使采用每个节点维护一个种群的策略,也面临着收敛速度过慢的问题。

(2)容易陷入局部最优。随着维度的增加,优化问题解空间中的局部最优值的个数往往也呈指数式增加。由于每个节点的搜索空间不变,仍为整个解空间,因此每个节点陷入局部最优的概率相同,当大部分甚至全部节点陷入局部最优时,就很容易导致并行与分布式进化算法陷入局部最优。

维度分块式分布方式
为了突破种群式分布方式的局限性,研究者们最近提出了维度分块式分布方式。该方式主 要 利 用 了 协 同 进 化 算 法(CC,CooperativeCoevolution)的思想[80] 。协同进化算法是一种分治算法,它将一个高维度的问题降解为多个低维度子问题,而后每个子问题视为独立问题单独优化,其主要框架如图 5 所示。从图中可以看出,CC 算法主要由维度分组和协同进化两部分组成。image
CC 算法假设每个子问题相互独立,因此这些子问题便可以独立优化,分别获得对应子空间的最优解;而后将各个子空间的最优解拼凑在一起,便可以得到优化问题完整的全局最优解。显然地,对于 CC 算法而言,算法的核心在于如何将高维度优化问题降解为独立不相关的子问题。理想情况下,一个好的降解算法应该将相关变量放在相同组,将不相关变量放在不同组,而后每组变量视为一个独立子问题。为此,在串行 CC 算法研究中,学者们提出了许多降解算法(DecompositionAlgorithms)。目前的降解算法大致分为动态降解算法[81-87]和固定降解算法[88-90] 两类。

• 动态降解算法将变量之间的相关性视为动态属性,在进化过程中动态执行,因此每次算法分组得到的结果可能不同。最简单的动态分组算法是文献 [82] 提出的随机分组算法。该算法在每次迭代优化前随机地将优化问题的维度分解为大小相同的若干组。为了提高将两个相关变量放入同一组的概率,文献 [83-84] 提出了动态调节分组个数的随机分组算法。进一步地,为了更好地划分分组,文献[85-86,91]在每次进化前根据历史进化信息对维度进行分组。

• 固定降解算法将变量之间的相关性视为静态属性,其一般先于协同进化操作执行,一旦分组确定之后,在整个协同进化过程中,分组信息将保持不变。目前,最典型的固定分组算法是文献 [88] 提 出 的 差 分 分 组 算 法(DG,DifferentialGrouping)。该算法通过两两变量之间的偏差分信息来检测变量的相关性。一旦变量的相关性确定之后,分组算法便根据相关性信息将变量分为不同的组,而后在协同进化过程中变量分组保持不变。DG只能检测变量间的直接相关性,而无法检测变量间接相关性。为克服该缺点,文献 [89-90] 扩展了 DG算 法, 分 别 提 出 了 XDG(Extended DifferentialGrouping) 和 GDG(Global DifferentialGrouping)算法,能够同时检测变量之间的直接相关性和间接相关性。

至于 CC 算法的第二个操作——协同进化,每个子问题被视为独立问题单独优化。具体地,针对每个子问题,进化算法维持一个种群优化该子问题。然而由于评估个体时,需要所有维度的信息,因此在优化过程中子问题与子问题之间需要交换信息,评估种群适应值,从而筛选个体。在目前的串行 CC 算法中,每个子问题优化过程中,除该子问题对应的维度外,其他维度的值都固定为全局最优解对应的维度值。

基于以上信息,可以看出,基于动态分组的CC 算法不适合用于并行与分布式进化算法,这是因为分组信息在进化过程中动态变化,因而导致并行模型的节点之间需要相互交换种群信息,以此才能根据上一代种群信息生成下一代个体。这种通信势必导致并行模型的通信量和通信时间大大增加,不利于并行与分布式进化算法的性能提升。因此,基于维度分块式的并行分布式进化算法主要采用固定分组算法。

结合岛屿式分布式模型,文献 [42,92] 提出了并行与分布式协同进化算法。该算法将每个变量单独成组,视为独立子问题,而后岛屿式模型中的每个节点负责一个子问题的优化。每个节点优化过程中,将其他节点所对应的维度信息固定;所有节点进化完成后,每个节点将优化得到的最优解发送给其他节点。

综上所述,可以看出维度分块式分布式方式具有以下三个特点。

(1)扩展性强。该分布方式通过对维度分块,将高维优化问题降解为低维优化问题。因此,理论上该分布方式可以处理任意维度的优化问题。

(2)收敛速度快。该分布方式将优化问题分解为低维优化问题;相应地,优化问题的解空间也被划分为多个低维的子空间。因此,在优化每个子问题时,每个节点所负责优化的种群都能快速地收敛到所对应子空间的最优解。

(3)对分组算法的依赖性强。由于每个子问题独立优化,分组算法的好坏直接影响着协同进化算法的性能。因此,该分布方式下的并行与分布式进化算法对分组算法有着比较强的依赖性。

相关文章
|
12月前
|
负载均衡 测试技术 调度
大模型分布式推理:张量并行与流水线并行技术
本文深入探讨大语言模型分布式推理的核心技术——张量并行与流水线并行。通过分析单GPU内存限制下的模型部署挑战,详细解析张量并行的矩阵分片策略、流水线并行的阶段划分机制,以及二者的混合并行架构。文章包含完整的分布式推理框架实现、通信优化策略和性能调优指南,为千亿参数大模型的分布式部署提供全面解决方案。
3120 4
|
机器学习/深度学习 边缘计算 人工智能
第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025) 2025 2nd international Conference on Edge Computing, Parallel and Distributed Computing
第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025) 2025 2nd international Conference on Edge Computing, Parallel and Distributed Computing 机器学习 计算学习理论 数据挖掘 科学计算 计算应用 数字图像处理 人工智能
455 6
|
存储 监控 算法
117_LLM训练的高效分布式策略:从数据并行到ZeRO优化
在2025年,大型语言模型(LLM)的规模已经达到了数千亿甚至数万亿参数,训练这样的庞然大物需要先进的分布式训练技术支持。本文将深入探讨LLM训练中的高效分布式策略,从基础的数据并行到最先进的ZeRO优化技术,为读者提供全面且实用的技术指南。
1052 2
|
并行计算 算法 调度
基于串行并行ADMM算法的主从配电网分布式优化控制研究(Matlab代码实现)
基于串行并行ADMM算法的主从配电网分布式优化控制研究(Matlab代码实现)
745 0
|
存储 监控 关系型数据库
突破IO瓶颈:PolarDB分布式并行查询(Parallel Query)深度调优手册
在海量数据处理中,I/O瓶颈严重制约数据库性能。本文基于PolarDB MySQL 8.0.32版本,深入解析分布式并行查询技术如何提升CPU利用率至86.7%、IO吞吐达8.5GB/s,并结合20+实战案例,系统讲解并行架构、执行计划优化、资源调优与故障排查方法,助力实现高性能数据分析。
|
数据采集 人工智能 缓存
深挖“全栈智算”之力 中兴通讯开启AI普惠新纪元
深挖“全栈智算”之力 中兴通讯开启AI普惠新纪元
438 1
|
分布式计算 并行计算 大数据
NumPy 并行计算与分布式部署
【8月更文第30天】随着数据量的不断增长,传统的单机计算模型已经难以满足对大规模数据集处理的需求。并行和分布式计算成为了处理这些大数据集的关键技术。虽然 NumPy 本身并不直接支持并行计算,但可以通过结合其他库如 Numba 和 Dask 来实现高效的并行和分布式计算。
452 1
|
存储 异构计算
自研分布式训练框架EPL问题之通过strategy annotation实现流水并行如何解决
自研分布式训练框架EPL问题之通过strategy annotation实现流水并行如何解决
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
2665 98
|
12月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
1117 30