想象你请了一家搬家公司。普通搬家师傅到了新家才发现衣柜在二楼、冰箱位在一楼厨房,只能把箱子搬上楼又搬下来,来回折腾。而“安心搬家”的金牌规划师老张,接到单子的第一件事是拿到新家的户型图:几个房间、楼梯多宽、电梯多大、储物空间在哪一层。他根据户型图决定每个箱子装什么、放哪层、谁先搬、走楼梯还是坐电梯。老张的搬家效率,往往比普通师傅快一半以上。 AI 编译器里的“硬件感知调优”(Hardware-Aware Tuning),做的就是老张的活儿。同样一段神经网络计算,在不同 GPU 上跑,性能可能差好几倍。AutoTVM 这类工具提供的硬件感知调优,先把目标 GPU 的“户型图”——内存层次、并行度、缓存特性——摸清楚,再以此指导搜索策略,为模型量身定制执行方案。本篇文章就以老张的搬家故事为线索,带你从零理解硬件感知调优的原理与工程实践。

岗位关联

掌握硬件感知调优,你就能在真实 AI 工程中把模型跑得更快:面对不同 GPU、NPU、边缘芯片时不再靠运气试参数,而是像老张一样看户型图下单,用一套方法吃透异构硬件,显著提升推理性能。

目录
  1. 可视化演示
  2. 核心概念:先看户型图再搬家
  3. 硬件特征建模:读懂户型图的三个关键
  4. 搜索策略优化:用经验估算代替盲目试错
  5. 调优工作流程:从勘察到入住的完整搬家
  6. 异构环境适应:一家公司多套户型
  7. 工程应用实践:真实搬家战绩
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示硬件感知调优机制:GPU硬件特征提取与量化、搜索策略在配置空间中寻优、硬件感知调优相对通用调优的性能提升,通过交互理解AutoTVM硬件感知调优原理。

本节配有交互动效(进入视口后自动加载,约 3KB)。

硬件特征提取:GPU架构特征量化 提取内存层次/并行度/缓存特征 面向特定GPU架构构造特征向量 F = HWProfile(GPU) 硬件特征引导搜索空间剪枝

核心概念:先看户型图再搬家

老张接手一单搬家,客户是位程序员,要搬到一栋新公寓。普通师傅的做法是:所有物品统一装箱,搬到楼下再拆开乱放,最后发现书柜卡在楼梯口。老张不同,他先要户型图,知道这是三层复式,一楼厨房、二楼卧室、三楼书房,电梯直达二楼。他立刻决定:冰箱走电梯、书柜拆板走楼梯、衣物按房间分箱,还没开工,方案已经清晰。

在 AI 编译器中,这个“新家”就是目标硬件——一块具体的 GPU。模型计算就像那堆要搬的物品,而“怎么搬”就是编译时的调度方案(schedule):数据分块多大、线程怎么组织、向量宽度多少、要不要用共享内存。硬件感知调优的核心,就是在搜索这些调度方案之前,先把 GPU 的“户型图”读进来——内存层次、并行度、缓存特性——让搜索从一开始就有方向。

AutoTVM 中,硬件感知调优把目标硬件特征与搜索策略紧密结合:每个候选调度配置 c 在硬件 h 上都有一个综合评分,评分由并行度与资源匹配度共同决定。

score(c,h)=par(c,h)×fit(c,h)\displaystyle \text{score}(c, h) = \text{par}(c, h) \times \text{fit}(c, h)

1. score(c, h):在目标硬件 h 上执行调度配置 c 得到的综合评分,数值越大表示方案越优。

score(c,h)\text{score}(c, h)

2. par(c, h):并行度得分,衡量配置 c 能否让硬件 h 的众多计算单元同时开工,对应搬家时同时干活的人数占比。

par(c,h)=min⁡(threads(c),  cores(h))cores(h)\text{par}(c, h) = \frac{\min(\text{threads}(c), \; \text{cores}(h))}{\text{cores}(h)}

3. fit(c, h):匹配度得分,衡量配置 c 需要的寄存器、共享内存、缓存等资源是否在硬件 h 的容量之内,对应箱子能否塞进对应楼层的储藏间。

fit(c,h)=∑rwr⋅I[needr(c)≤capr(h)]\text{fit}(c, h) = \sum_{r} w_r \cdot \mathbb{I}\big[\text{need}_r(c) \leq \text{cap}_r(h)\big]

对老张来说,得分最高的搬家方案必然是“人手都派上了,且每个箱子都放得进对应楼层”的方案;对硬件感知调优来说,搜索的目标正是这样的最优配置。这与不看户型图、闭着眼乱试的通用自动调优,拉开了本质差距——一个靠运气,一个靠看懂房子。

硬件特征建模:读懂户型图的三个关键

老张看户型图,重点看三样东西:楼层分工、楼梯宽度、电梯容量。这三样决定了他怎么搬:楼层分工决定东西放哪,楼梯宽度决定大件走哪,电梯容量决定一次能运多少。摸不清这三样,老张绝不动手。

对 GPU 来说,“户型图”同样有三项核心特征:内存层次、并行度、缓存特性。内存层次像楼层:寄存器是贴身口袋,共享内存是背心上的工具包,L2 缓存是楼层储物柜,DRAM 是大楼仓库——离计算单元越近越快,但容量越小。并行度是楼梯宽度:GPU 有几千个核心,配置得让所有核心都站得下、走得动。缓存特性则是电梯容量:一次能搬多少数据,决定了向量的宽度怎么设。

硬件感知调优要把这些特征量化成可计算的指标。访问 DRAM 比访问寄存器慢两个数量级,数据命中缓存的概率越高,实际耗时越低。用内存层次比来衡量这一收益:

memratio(c,h)=tDRAM(h)tcache(h)×hitrate(c,h)\displaystyle \text{mem}_{\text{ratio}}(c, h) = \frac{t_{\text{DRAM}}(h)}{t_{\text{cache}}(h)} \times \text{hit}_{\text{rate}}(c, h)

1. 耗时比值:DRAM 与缓存的访问耗时之比。GPU 中 DRAM 比缓存慢数十到数百倍,比值越大,数据放对位置越重要。

tDRAM(h)tcache(h)\frac{t_{\text{DRAM}}(h)}{t_{\text{cache}}(h)}

2. hit_rate:配置 c 下数据命中高速缓存的概率。命中率越高,慢速访问越少,对应搬家时“常用物品放电梯口”的比例。

hitrate(c,h)\text{hit}_{\text{rate}}(c, h)

3. 乘积关系:两个因子相乘,意味着只有“缓存提速明显”和“命中率够高”同时成立,内存层次优势才能转化为实际收益。

memratio(c,h)\text{mem}_{\text{ratio}}(c, h)

除了内存层次,GPU 架构参数还包括核心数、寄存器容量、共享内存大小、缓存行数等,它们共同构成了调优器的“户型图数据库”。老张把三张图纸拼在一起才敢接单,硬件感知调优也要把这三类特征全部纳入约束,才算真正读懂了一块硬件。

搜索策略优化:用经验估算代替盲目试错

老张不可能把每套搬家方案都真搬一遍——搬一次三小时,试十次就三天。他靠的是二十年经验:一看箱子数量,二看楼层结构,心里就能估出这套方案要多久。这个“心里估”的本事,就是他的经验模型。

AI 编译器也一样。在真实硬件上实测一个配置的性能非常贵,硬件感知调优引入代价模型(cost model),模拟老张的经验,先对候选配置的耗时做预测。搜索策略的目标,就是找到让预测耗时最小的配置:

t^(c)=∑i=1nwi⋅costi(c)\displaystyle \hat{t}(c) = \sum_{i=1}^{n} w_i \cdot \text{cost}_i(c)

1. t̂(c):代价模型对配置 c 的预测耗时,带帽子的 t 代表估计值而非真实值。

t^(c)\hat{t}(c)

2. cost_i(c):配置 c 在第 i 个资源(访存、计算、通信)上的估计开销。

costi(c)\text{cost}_i(c)

3. w_i:每个资源的权重。比如访存密集的算子,就把访存开销的权重调大。

wiw_i

4. 加权求和:把各部分开销按权重汇总,得到整体预测耗时。

∑i=1nwi⋅costi(c)\sum_{i=1}^{n} w_i \cdot \text{cost}_i(c)

有了代价模型,搜索空间也更有章法。AutoTVM 把调度方案拆成块大小、线程数、向量宽度、循环展开等多个维度,每个维度的取值范围构成搜索空间——相当于老张列出“每件物品 × 可选楼层 × 搬运方式”的清单。搜索算法在空间里启发式采样:随机搜索、模拟退火、贝叶斯优化等方式交替使用,像老张凭经验不断微调路线,越试越靠近最优。

老张的经验会随着每一单更新,代价模型也是。搜索过程中每实测一个真实配置,预测误差就被修正一次,下一次预测更准。这不是玄学试参,而是“经验估算 + 真实验证”交替滚动的科学流程,让每一秒搜索时间都花在刀刃上。

调优工作流程:从勘察到入住的完整搬家

老张接一单完整搬家,严格分四步:勘察户型、制定预案、试搬一轮、正式搬家。每一步都有明确产出:户型图、方案清单、实测反馈、最终路线。少一步,后面就可能返工。

硬件感知调优的工作流程与之严格对应:配置采集(勘察)、性能评估(试搬)、迭代优化(修正预案)、结果收敛(正式搬家)。调优器先在搜索空间里采样一批候选配置,这就是“勘察”;把候选配置编译并送到目标硬件上实测,记录真实耗时,这就是“试搬”。

其中“试搬”环节最有讲究。并不是所有候选配置都值得上真机,调优器会用代价模型先筛一遍,只挑最有希望的配置实测。挑选依据是期望提升(Expected Improvement)——衡量一个新配置的实测耗时有可能比当前最优好多少:

EI(c)=E[max⁡(0,  tbest−t(c))]\displaystyle EI(c) = \mathbb{E}\big[\max(0, \; t_{\text{best}} - t(c))\big]

1. t_best:目前已测得的最优耗时,相当于老张目前搬得最快的一次记录。

tbestt_{\text{best}}

2. t(c):候选配置 c 的真实耗时。

t(c)t(c)

3. max(0, ·):如果新配置更慢,差值取 0,不让“负提升”干扰决策。

max⁡(0,  tbest−t(c))\max(0, \; t_{\text{best}} - t(c))

4. E[·]:对随机采样结果取期望,综合各种情况下的平均提升幅度。

E[max⁡(0,  tbest−t(c))]\mathbb{E}\big[\max(0, \; t_{\text{best}} - t(c))\big]

当连续多轮实测都没有显著提升,调优器判定“方案已收敛”,输出当前最优配置并应用到正式部署。老张也只有在“再试几遍也快不了多少”时才收工。整个流程像一次有纪律的搬家:先看、再定、试一步、改一步,而不是把房子翻个底朝天。

异构环境适应:一家公司多套户型

老张所在的公司同时服务老式小区、新式公寓、写字楼。每位客户户型不同,老张不可能给每单都从零摸索,他脑子里有一套“户型迁移”方法:上次在公寓 A 的经验,拿到结构相近的公寓 B,只需微调路线即可复用。

异构硬件环境正是 AI 工程的常态:云端有 A100、V100,边缘有各类 NPU、移动 GPU。同一个算子在不同硬件上的最优调度很不一样——A 卡最优的块大小换到 B 卡可能慢一倍。硬件感知调优的价值就在这里:它把硬件 A 上积累的调优经验作为起点,针对硬件 B 的特征做差异修正,而不是推倒重来。

这种迁移可以形式化为:目标硬件的评分 = 源硬件经验评分 + 差异修正项。

scoreB(c)=scoreA(c)+α⋅ΔA→B(c)\displaystyle \text{score}_{B}(c) = \text{score}_{A}(c) + \alpha \cdot \Delta_{A \to B}(c)

1. score_A(c):配置 c 在硬件 A 上已学到的评分,即“源经验”。

scoreA(c)\text{score}_{A}(c)

2. Δ_A→B(c):从硬件 A 到硬件 B 的差异修正量,取决于两套硬件的特征差异(核心数、缓存、共享内存容量等)。

ΔA→B(c)\Delta_{A \to B}(c)

3. α:迁移强度系数。硬件 A 与 B 越相似,α 越接近 1,经验修正越充分;差异越大,α 越小,越依赖新硬件自己的实测。

α\alpha

4. 加和:用源经验加修正得到硬件 B 的预估评分,快速完成首次适配。

scoreB(c)=scoreA(c)+α⋅ΔA→B(c)\text{score}_{B}(c) = \text{score}_{A}(c) + \alpha \cdot \Delta_{A \to B}(c)

老张的新本领让公司在异构订单面前游刃有余:上午搬完公寓 A,下午在公寓 B 只需根据楼层差异微调路线。硬件感知调优也是一样——在异构环境中,它能用少量实测快速适配新硬件,在多目标之间权衡(延迟、吞吐、功耗),表现出远强于通用调优策略的适应性。

工程应用实践:真实搬家战绩

老张最有说服力的名片,是客户口口相传的战绩:同一户三居室,别人搬八小时,他五小时搬完、零损坏。再多的理论,都不如一次漂亮的实测数据。

在 AI 系统工程中,硬件感知调优的战绩同样可量化。AutoTVM 将硬件感知调优集成进编译流程:前端接收模型,中间表示被切分成算子,调度器对每个算子做硬件感知搜索,最后生成针对当前 GPU 优化的可执行代码。整个过程对开发者几乎透明——只需在编译时指定目标硬件,调优器自动完成“看户型图、出方案、试搬、定稿”。

加速效果用加速比衡量:

speedup=tdefault(h)ttuned(h)\displaystyle \text{speedup} = \frac{t_{\text{default}}(h)}{t_{\text{tuned}}(h)}

1. t_default(h):硬件 h 上使用默认通用调度的耗时,对应普通搬家公司的时间。

tdefault(h)t_{\text{default}}(h)

2. t_tuned(h):硬件感知调优后配置的耗时。

ttuned(h)t_{\text{tuned}}(h)

3. 比值含义:比值大于 1 表示调优后更快。TVM 的官方报告与社区实践中,针对特定 GPU 的调优常能带来数倍于默认配置的推理加速。

tdefault(h)ttuned(h)\frac{t_{\text{default}}(h)}{t_{\text{tuned}}(h)}

这套方案已在云推理、边缘部署、新芯片评测等场景得到广泛验证。老张的搬家哲学从来不是力气大,而是“懂房子”;硬件感知调优的成功也证明:真正高效的编译优化,不是堆算力盲目试参数,而是先读懂硬件,再让每一份计算都住进它该住的楼层。

AI 应用场景

场景1:多型号 GPU 云平台的推理服务优化

阶段:模型部署与推理优化

解决的问题:云平台常常同时运行 A100、V100、T4 等多种 GPU,同一个推理模型在不同卡上性能差异巨大。传统做法是为每种卡手工调参,耗时且依赖专家经验,就像每次搬家都临时研究户型。硬件感知调优自动读取每张卡的架构特征,分别为其生成专属优化配置,把“看户型图—出方案”变成流水线,部署周期从数天缩短到数小时。

具体案例:某 AI 推理服务商将 YOLO 检测模型部署到混合 GPU 集群。使用 AutoTVM 硬件感知调优后,T4 上推理延迟降低 38%,A100 上提升 25%;新增 V100 卡时只需重新跑一遍调优流程即可上线,无需人工干预。

场景2:边缘设备与新型芯片的快速适配

阶段:异构设备适配

解决的问题:边缘设备芯片种类繁多,架构文档不全,人工调优几乎不可能。硬件感知调优把已知 GPU 上的调优经验迁移到新芯片,结合少量实测快速找到可行配置,如同老张用公寓 A 的经验微调后搬到公寓 B,让新芯片在发布初期就能跑起主流模型。

具体案例:某自动驾驶团队引入一款新的车规级 NPU,编译器尚不支持。团队用硬件感知调优描述 NPU 的内存层次与并行度特征,复用了路测 GPU 上的搜索经验,两周内让车道检测模型在新 NPU 上以实时帧率运行,而传统方法预估需要三个月。

Python 演示

python58 行
import random class Hardware:    """目标硬件的特征画像"""    def __init__(self, cores, regs, shared_mem, cache_lines):        self.cores = cores        self.regs = regs        self.shared_mem = shared_mem        self.cache_lines = cache_lines class Schedule:    """一次调度方案配置"""    def __init__(self, block, thread, vec, shared):        self.block = block        self.thread = thread        self.vec = vec        self.shared = shared     def mutate(self, cand):        """随机扰动一个维度"""        self.block = random.choice(cand["block"])        self.thread = random.choice(cand["thread"])        self.vec = random.choice(cand["vec"])        self.shared = random.choice(cand["shared"]) def evaluate(s, hw):    """评估配置与硬件的匹配得分"""    parall = min(s.block * s.thread, hw.cores) / float(hw.cores)    reg_ok = 1.0 if s.thread * 8 <= hw.regs else 0.3    cache_ok = 1.0 if s.vec <= hw.cache_lines else 0.4    mem_ok = 1.0 if s.shared * s.thread * 4 <= hw.shared_mem else 0.5    return parall * (0.5 * reg_ok + 0.3 * cache_ok + 0.2 * mem_ok) def hardware_aware_tune(hw, iterations=300):    """以硬件特征为约束的随机搜索"""    cand = {        "block": [64, 128, 256, 512],        "thread": [8, 16, 32, 64],        "vec": [1, 2, 4, 8],        "shared": [1, 4, 8],    }    best = None    best_score = -1.0    for _ in range(iterations):        s = Schedule(0, 0, 0, 0)        s.mutate(cand)        sc = evaluate(s, hw)        if sc > best_score:            best_score = sc            best = s    return best, best_score if __name__ == "__main__":    gpu = Hardware(cores=2048, regs=65536, shared_mem=49152, cache_lines=128)    s, sc = hardware_aware_tune(gpu)    print("最优得分: %.3f" % sc)    print("调度方案: block=%d thread=%d vector=%d shared=%d" %          (s.block, s.thread, s.vec, s.shared))
目的:用随机搜索模拟硬件感知调优,在给定 GPU 特征(核心数、寄存器、共享内存、缓存行)下寻找匹配度最高的调度配置。
  1. parall = min(s.block * s.thread, hw.cores) / float(hw.cores)并行度封顶:人手超过核心数也不会更快
  2. reg_ok = 1.0 if s.thread * 8 <= hw.regs else 0.3寄存器容量检查:放不下就大幅降分
  3. mem_ok = 1.0 if s.shared * s.thread * 4 <= hw.shared_mem else 0.5共享内存检查:对应楼层储物间是否够放
  4. return parall * (0.5 * reg_ok + 0.3 * cache_ok + 0.2 * mem_ok)加权合并为总分,体现“并行 × 匹配”
  5. s.mutate(cand)在配置空间中随机采样一组维度值
  6. if sc > best_score:只保留历史最优,模拟迭代收敛过程

常见误区

误区很多人以为自动调优就是把 block、thread 这些参数随便换个遍,跑出哪个快用哪个,硬件是什么样无所谓。

正解硬件感知调优恰恰相反,它把硬件特征当作第一约束:内存层次决定数据放哪层,并行度决定方案规模,缓存特性决定向量宽度。就像老张搬家先看户型图,而不是把所有箱子在每个房间各试一遍——没有硬件信息的盲目搜索,既慢又容易错过真正合适的方案。

为何常见:因为早期调优工具确实以“穷举 + 实测”为主,给人留下了“调参就是碰运气”的印象。

误区有些人认为调出来的最优配置是模型自身属性,换个 GPU 照样最优,直接用就行。

正解同一个算子在不同 GPU 上的最优调度经常完全不同。A100 的最优块大小换到 T4 上,可能因为缓存或线程调度差异而慢一倍。硬件感知调优的名字里就带着“硬件感知”——它默认方案的优劣是相对于具体硬件而言的,换硬件就要重新调。

为何常见:模型权重是跨硬件通用的,容易让人误以为“调度配置”也是通用的。

误区觉得内存层次、并行度这些概念是 GPU 专属,CPU、NPU、边缘芯片用不上硬件感知调优。

正解任何有明确资源层级和并行能力的处理器都适用。CPU 有寄存器、L1/L2/L3 缓存和 SIMD 并行,NPU 有专用的片上存储和计算阵列。只要能把硬件特征量化进搜索策略,调优器就能工作。老张也不只搬住宅,写字楼、仓库、实验室他都能按户型图规划。

为何常见:AutoTVM 的经典教程和案例大多以 GPU 演示,导致大家把方法和场景绑定在一起。

误区调优脚本跑了一周不舍得停,认为多试一天就能再快一点,时间成本不重要。

正解调优存在边际收益递减:早期每测一个配置提升明显,后期性能接近收敛,再长的搜索也只是在小数点后挣扎。工程上通常设置时间预算或轮数上限,用期望提升判断是否值得继续。老张也不会在搬家现场一直等“说不定还能快 5 秒”的路线,他要的是今天保质保量搬完。

为何常见:实验里确实偶尔有“再跑一天发现更好配置”的情况,让人忽略了这是例外而非常态。

面试题

Q1. 硬件感知调优与传统自动调优的核心区别是什么?

单选题 · easy

  • A.调优前先分析目标硬件特征← 正确答案
  • B.调优过程中完全不测量性能
  • C.只优化模型网络结构本身
  • D.用人工经验替代所有搜索

答案:A。核心区别在于硬件感知调优会把目标硬件的内存层次、并行度、缓存特性纳入搜索策略,先看“户型图”再动手,对应选项 A。选项 B 错误,实测评估是流程必需环节;C 描述的是网络结构搜索;D 把启发式搜索说成了纯人工。

Q2. GPU 内存层次中,访问速度最快的存储是哪一层?

单选题 · easy

  • A.寄存器文件← 正确答案
  • B.共享内存
  • C.全局显存
  • D.L2 缓存

答案:A。寄存器紧贴计算单元,是访问最快的存储,对应老张的“贴身口袋”;共享内存、L2 缓存、全局显存依次变慢。硬件感知调优优先把高频数据放入更快但更小的存储层。

Q3. 硬件感知调优中,目标函数的作用是什么?

单选题 · easy

  • A.评判一个配置在硬件上的优劣← 正确答案
  • B.决定模型网络层数的多少
  • C.计算训练数据集的大小
  • D.生成训练样本的标签

答案:A。目标函数把配置和硬件映射成可比较的分数或耗时,搜索算法靠它判断该往哪个方向走。B 属于网络结构设计,C、D 属于数据准备,都与调度搜索无关。

Q4. 下列哪些属于硬件感知调优需要建模的硬件特征?

多选题 · mid

  • A.内存层次结构← 正确答案
  • B.计算核心数量← 正确答案
  • C.缓存容量与行数← 正确答案
  • D.训练数据的批大小

答案:ABC。内存层次、核心数(并行度)、缓存特性正是“户型图”的三块拼图,硬件感知调优全部纳入约束。训练批大小属于训练策略而非硬件特征,选项 D 不属于。

Q5. 代价模型在硬件感知调优中的主要作用是什么?

单选题 · mid

  • A.预测配置耗时以筛掉低质量候选← 正确答案
  • B.直接编译并运行每个候选配置
  • C.修改目标硬件的芯片频率
  • D.替代最终部署时的真实执行

答案:A。代价模型相当于老张的经验估算,先筛一遍再上真机实测,节省大量编译运行开销。B 是真实评估并非模型职责;C 不属于编译器能力;D 错误,正式部署仍以实测为准。

Q6. 硬件感知调优的迭代流程包含哪些环节?

多选题 · mid

  • A.配置采集← 正确答案
  • B.性能评估← 正确答案
  • C.迭代优化← 正确答案
  • D.结果收敛← 正确答案

答案:ABCD。四步对应勘察、试搬、修正、收工:先采样配置,再实测评估,根据反馈调整搜索方向,直到性能收敛才输出最优方案。四个环节缺一不可。

Q7. 关于并行度建模,下列说法正确的是?

单选题 · mid

  • A.线程数超过核心数后收益不再增加← 正确答案
  • B.线程数越多性能一定单调提升
  • C.并行度与硬件核心数量无关
  • D.向量宽度不影响并行效率

答案:A。并行度公式用 min(线程数,核心数) 封顶,超过核心数后资源已占满,不会再加速,对应选项 A。B 忽略了资源竞争,C 与定义矛盾,D 否定了向量化对并行利用的作用。

Q8. 在异构硬件环境中,硬件感知调优相比通用策略的优势有哪些?

多选题 · hard

  • A.针对每类硬件生成专属最优配置← 正确答案
  • B.可迁移已有硬件的调优经验← 正确答案
  • C.同一套配置保证所有硬件最优
  • D.新硬件适配只需少量实测修正← 正确答案

答案:ABD。硬件感知调优按每类硬件的特征定制搜索,并用差异修正项迁移经验,新硬件只需少量实测即可适配,对应 A、B、D。C 恰恰是它反对的“通用最优”误区。

Q9. 迁移学习中,差异修正系数 α 的作用是什么?

单选题 · hard

  • A.控制源硬件经验迁移到目标硬件的强度← 正确答案
  • B.决定模型训练时的学习率大小
  • C.调整神经网络隐藏层数量
  • D.指定缓存替换算法的策略

答案:A。在 score_B = score_A + α·Δ 中,α 控制差异修正项的权重:两硬件越相似 α 越接近 1,修正越充分。B、C 属于模型训练范畴,D 是硬件底层策略,都与迁移强度无关。

Q10. 调优时间预算与最终性能之间的关系,最准确的描述是?

单选题 · extreme

  • A.存在边际收益递减,需设预算上限← 正确答案
  • B.搜索时间与性能提升严格线性正比
  • C.时间越长越可能破坏已有最优解
  • D.预算只影响搜索不影响收敛质量

答案:A。调优收益随时间递减,早期提升大、后期趋于收敛,工程上用预算和轮数上限控制成本,对应 A。B 的线性关系不存在;C 中历史最优通常被保留,不会因继续搜索而丢失;D 错误,预算不足会导致尚未收敛就停止。