SMLP: Symbolic Machine Learning Prover

Franz Brauße,Zurab Khasidashvili,Konstantin Korovin
2024-02-02
Abstract:Symbolic Machine Learning Prover (SMLP) is a tool and a library for system exploration based on data samples obtained by simulating or executing the system on a number of input vectors. SMLP aims at exploring the system based on this data by taking a grey-box approach: SMLP combines statistical methods of data exploration with building and exploring machine learning models in close feedback loop with the system's response, and exploring these models by combining probabilistic and formal methods. SMLP has been applied in industrial setting at Intel for analyzing and optimizing hardware designs at the analog level. SMLP is a general purpose tool and can be applied to systems that can be sampled and modeled by machine learning models.
Machine Learning,Artificial Intelligence,Logic in Computer Science,Symbolic Computation,Optimization and Control
What problem does this paper attempt to address?
This paper introduces Symbolic Machine Learning Prover (SMLP), a data-driven system exploration tool that combines statistical methods, machine learning model construction, and close feedback loop with system response to explore these models using probability and formal methods. SMLP aims to integrate design, optimization, and verification into one process, with a particular focus on robustness against environmental impact, manufacturing variations, and malicious attacks. SMLP is applicable to systems that can be sampled and modeled using machine learning models, such as the simulation aspect of hardware design. It provides various design space exploration modes, including selecting modeling design parameters, ensuring design robustness against environmental effects and manufacturing variations, and defending against malicious attacks. The paper mentions the concept of stability, which refers to the property that any allocation of solutions within a given region satisfies the constraint conditions, sometimes referred to as robustness. The main features of SMLP include: 1. Assertion verification: Verify assertions on the model interface. 2. Parameter synthesis: Find model parameter values that satisfy design constraints. 3. Parameter optimization: Optimize model parameters under constraints. 4. Stable optimization synthesis: Combine parameter synthesis and optimization to provide guarantees for stability and optimal configuration. 5. Root cause analysis: Generate hints for subsets of parameters and ranges that cause failures in explanations. 6. Model refinement: Refine target models based on stable regions found through model exploration and system feedback. SMLP adopts symbolic representation to handle machine learning models and connects with SMT solvers to handle different system exploration modes. It supports various design experiment generation methods and can train neural networks, polynomial models, and tree-based regression models. The paper describes the working principles of SMLP, including symbolic representation of models and constraints, ML model exploration modes, and problem specifications in SMLP. In addition, it discusses experimental results of SMLP, demonstrating its applications and performance in real industrial settings.