Adaptive Testing and Debugging of NLP Models
39146Authors
nan
Abstract
AbstractCurrent approaches to testing and debugging NLP models rely on highly variable human creativity and extensive labor, or only work for a very restrictive class of bugs. We present AdaTest, a process which uses large scale language models (LMs) in partnership with human feedback to automatically write unit tests highlighting bugs in a target model. Such bugs are then addressed through an iterative text-fix-retest loop, inspired by traditional software development. In experiments with expert and non-expert users and commercial / research models for 8 different tasks, AdaTest makes users 5-10x more effective at finding bugs than current approaches, and helps users effectively fix bugs without adding new bugs.
Keywords
Full Content
Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics Volume 1: Long Papers, pages 3253 - 3267 May 22-27, 2022 c⃝2022 Association for Computational Linguistics Adaptive Testing and Debugging of NLP Models Marco Tulio Ribeiro∗ Microsoft Research marcotcr@microsoft.com Scott M. Lundberg∗ Microsoft Research scott.lundberg@microsoft.com Abstract Current approaches to testing and debugging NLP models rely on highly variable human creativity and extensive labor, or only work for a very restrictive class of bugs. We present AdaTest, a process which uses large scale lan- guage models (LMs) in partnership with hu- man feedback to automatically write unit tests highlighting bugs in a target model. Such bugs are then addressed through an iterative text-fix- retest loop, inspired by traditional software de- velopment. In experiments with expert and non-expert users and commercial / research models for 8 different tasks, AdaTest makes users 5-10x more effective at finding bugs than current approaches, and helps users effectively fix bugs without adding new bugs. 1 Introduction Although NLP models are often underspecified and exhibit various generalization failures, finding and fixing such bugs remains a challenge. Cur- rent approaches include frameworks for testing (e.g. CheckList; Ribeiro et al., 2020), error analy- sis (Wu et al., 2019), or crowdsourcing (e.g. Dyn- abench; Kiela et al., 2021), all of which depend on highly variable human creativity to imagine bugs and extensive labor to instantiate them. Out of these, only crowdsourcing can potentially fix bugs when enough data is gathered. On the other hand, fully automated approaches such as perturba- tions (Belinkov and Bisk, 2018; Prabhakaran et al., 2019), automatic adversarial examples (Ribeiro et al., 2018), and unguided data augmentation (Yoo et al., 2021; Wang et al., 2021) are severely re- stricted to specific kinds of problems (e.g. Ribeiro et al. (2018) only deal with inconsistent predictions on paraphrases). Despite their usefulness, current approaches do not allow a single user to easily specify, discover, and fix undesirable behaviors. ∗ Equal contribution, author order chosen by casting lots. LM suggests tests User flters and organizes Test suggestions Test tree Target model Fix tests (Re)test model Testing Loop Debugging Loop Figure 1: AdaTest consists of two loops: A Testing Loop that generates and organizes tests optimized for the target model, and a Debugging Loop that iteratively refines the target model based on test failures. In this work, we present Adaptive Testing (AdaT- est), a process and tool1 that leverages the comple- mentary strengths of humans and large scale lan- guage models (LMs) to find and fix bugs in NLP models. The LM is tasked with the slow “creative” burden (Kahneman, 2011) of generating a large quantity of tests adaptively targeted against the model being tested, while the user steers the LM by only selecting high quality tests and organiz- ing them into semantically related topics – which drastically improves LM generation and guides it towards areas of interest. In an inner Testing Loop (Figure 1, unrolled in Figure 2), users start with a set of unit tests in a topic. …
Content truncated to 500 words
Labeled Text
AbstractCurrent approaches to testing and debugging NLP models rely on highly variable human creativity and extensive labor, or only work for a very restrictive class of bugs. We present AdaTest, a process which uses large scale language models (LMs) in partnership with human feedback to automatically write unit tests highlighting bugs in a target model. Such bugs are then addressed through an iterative text-fix-retest loop, inspired by traditional software development. In experiments with expert and non-expert users and commercial / research models for 8 different tasks, AdaTest makes users 5-10x more effective at finding bugs than current approaches, and helps users effectively fix bugs without adding new bugs.
Publication Details
- Paper ID:
- 39146
- Year:
- 2022
- Publication:
- TIPSTER
- Publication Type:
- conf
- DOI:
- nan