machine learning architecture design