趋近智
机器学习 (machine learning)框架中常见的执行模式,如即时执行或预先 (AOT) 编译,在灵活性和优化潜力之间有各自的取舍。即时 (JIT) 编译的工作方式则不同,它将最终的代码生成推迟到运行时进行。这种策略能够根据动态运行时环境的信息进行优化,例如实际观测到的张量形状 (例如,) 或数值。
本章将介绍与机器学习工作负载相关的 JIT 编译方法。我们将分析图获取技术,例如追踪 (tracing) 和脚本化 (scripting),审视 JIT 专用中间表示的需求,并研究运行时特化和自适应编译策略。TensorFlow XLA 和 PyTorch JIT (TorchScript) 等重要 JIT 系统的架构和功能将作为具体实例进行说明。
7.1 ML中JIT编译的动因
7.2 追踪与脚本方法
7.3 JIT系统中的中间表示
7.4 运行时专门化与多态性
7.5 即时编译器(JIT)中的配置文件引导优化(PGO)
7.6 自适应与多层编译
7.7 案例分析:TensorFlow XLA
7.8 案例研究:PyTorch JIT (TorchScript)
7.9 实践操作:分析JIT编译代码