一句话:提出 AUTOTRAINER,在训练过程中自动检测五类常见 DNN 训练问题并调用内置方案自动修复。
随着 DNN 模型成为智能软件的核心组成部分,支持其工程化流程的工具需求日益迫切。现有 DNN 调试工具要么属于训练后(post-training)诊断,需要先耗费大量时间训练出有缺陷的模型且依赖专家经验;要么仅停留在收集训练日志的层面,既不分析问题更不加以修复。本文提出 AUTOTRAINER,一个 DNN 训练监控与自动修复工具,支持检测并自动修复五类常见训练问题。它在训练过程中周期性检查训练状态、发现潜在问题,一旦检测到问题便调用内置的 state-of-the-art 解决方案进行修复,并兼容多种模型结构与输入数据类型,如图像领域的 CNN 与文本领域的 RNN。作者在 6 个数据集、495 个模型上进行了评估,结果显示 AUTOTRAINER 能够有效检测全部潜在问题,检测率达 100% 且无误报;在所有存在问题的模型中可修复 97.33%,平均准确率提升 47.08%。
With machine learning models especially Deep Neural Network (DNN) models becoming an integral part of the new intelligent software, new tools to support their engineering process are in high demand. Existing DNN debugging tools are either post-training which wastes a lot of time training a buggy model and requires expertises, or limited on collecting training logs without analyzing the problem not even fixing them. In this paper, we propose AUTOTRAINER, a DNN training monitoring and automatic repairing tool which supports detecting and auto repairing five commonly seen training problems. During training, it periodically checks the training status and detects potential problems. Once a problem is found, AUTOTRAINER tries to fix it by using built-in state-of-the-art solutions. It supports various model structures and input data types, such as Convolutional Neural Networks (CNNs) for image and Recurrent Neural Networks (RNNs) for texts. Our evaluation on 6 datasets, 495 models show that AUTOTRAINER can effectively detect all potential problems with 100% detection rate and no false positives. Among all models with problems, it can fix 97.33% of them, increasing the accuracy by 47.08% on average.