互联网资讯

机器学习在计算机架构中的应用

2024年4月7日 · admin
openmagic ad

近年来,定制化加速器的发展成为推动机器学习领域显著进步的关键因素之一。诸如专用处理单元显著提升了可用计算力,解锁了多种应用潜力,包括对话系统、语音合成、视觉处理、语言理解以及自动驾驶等方向的突破。这些能力的提升为神经网络的训练与推理带来更高的性能,为广泛的应用场景打开新的可能。

为了持续推动这些进步,硬件加速生态需要在体系结构设计上不断创新,并灵活适应快速演进的机器学习模型与应用。架构优化涉及大量设计点的评估,每一个点都可能提升计算能力,同时揭示新的能力和挑战。这些设计点往往由硬件与软件的多种因素共同参数化,搜索空间呈指数级增长,且通过仿真或综合评估目标函数的成本很高,从而使得锁定可行的加速器配置成为一项具有挑战性的任务。

在论文《可迁移架构探索的实现与挑战》中,我们展示了在定制加速器领域采用机器学习驱动的设计研究思路。尽管已有研究表明可以通过机器学习改进底层布局规划,但本工作聚焦于将 ML 融入到高级系统规范与架构设计阶段,这是直接影响芯片整体性能的关键环节,本文还展示了如何用 ML 控制和优化高级功能的设计要素。实验显示,ML 算法能够在多类深度神经网络任务中推荐高性能的架构,涵盖图像分类、目标检测、文本识别与语义分割等领域。

架构搜索空间与工作负载

架构搜索的目标是在一组工作负载下,发现一组可行的可配置参数,以在给定约束下最小化目标函数值。然而,体系结构搜索的流形往往跨越软件与硬件之间的多层映射,其间存在大量不可行点。部分设计点是先验已知的,可被用户作为约束直接排除;但由于体系结构与编译器之间的耦合以及搜索空间的复杂性,某些约束难以完全准确表达,导致编译器在为目标硬件找到可行的软件映射时遇到困难。这些不可行点在优化过程中往往难以显式定义,且在编译器正式遍历前通常尚不为人知。因此,架构探索的核心挑战之一,是如何在尽量少的评测周期内,有效地避开不可行点并进行高效的空间探索。

计算机架构的机器学习

优化策略

在本研究中,我们在架构探索的框架下,比较了四种不同的优化策略:

1. 随机:在整个架构搜索空间内进行均匀随机采样。

2. VizieR:基于贝叶斯优化进行探索,针对评估成本较高的目标函数,利用来自搜索空间的若干样本点构建代理模型,常以高斯过程表示。代理模型会在探索与开发之间权衡,决定是在流形上继续采样高潜力区域,还是在不可见区域进行采样。优化器随后使用新样本更新代理模型,以更好地建模目标搜索空间。VizieR 的核心在于提升预期改进,并在此研究中采用了带约束的变体 VizieR (safe),用于避免违反约束的试验。

3. Evolutionary:以包含 k 个个体的群体进行进化搜索,每个个体的基因组对应一组离散化的加速器配置。通过锦标赛选择、一定交叉概率的重组以及一定概率的变异,产生新一代个体。

4. 基于群体的黑盒优化(P3BO):结合进化与基于模型的优化方法,提高样本效率与鲁棒性。不同优化方法之间交换采样数据,根据历史表现对优化器进行加权,以产生新的配置。在本研究中,我们使用了 P3BO 的一个变体,其中优化器的超参数通过进化搜索进行动态更新,以适应探索需求。