8.3 Optimizing System-Level Design for Machine Learning