- Resource Augmentation Details
PRINCIPAL MACHINE LEARNING (ML) ENGINEER
Expected Start Date Sep 1st, 2020
Skills / JD :
A passionate, talented, and experienced Machine Learning Engineer with a very strong machine learning background to help build industry-leading AI/ML enabled applications for robotics / autonomous vehicles platforms. As Principal Engineer Machine Learning will be part of the team shaping the future of automation and decision making. The Principal Machine Learning (ML) Engineer will work closely with data scientists, application development leaders and platform architects to take ML models from R&D to production, scale and maintain them. Help mature and continuously update Tatweer ML enabled platforms by absorbing best-of-breed toolsets. He will also play a key role in developing tools and abstractions that our other developers will build on top of. Perform other duties as assigned.
- Lead and work with ICT engineers and data scientists to build smart innovation solutions & ML applications.
- Assess how a given problem can be addressed using advanced data analytics and/or various ML techniques.
- Identify what kind of data in which format should be collected in order to solve the problem.
- Identify which advanced data analytics or machine learning technique, such as reinforced learning, deep learning or traditional ML, is more suitable for the problem.
- Clean & structure the data and build training & validate data sets by applying advance feature-engineering techniques.
- Training models and showing that they can perform better than the baseline.
- Implement from early exploration to production.
- Set up development and test environments for advanced analytics and machine learning projects.
- Consistently demonstrates regular, dependable attendance and punctuality.
- Experience in Machine Learning or related field.
- Extensive programming experience in Python and (Java or C#).
- Strong preference for programming experience in Spark framework and PySpark.
- Strong preference for hands-on experience with TensorFlow, Scikit-learn, PredictionIO, Spark MLlib, MXNet, Caffe, H2O or other ML Libraries. • Basic knowledge on RESTful APIs.
- Familiar with various machine learning techniques and libraries.
- A plus to have working knowledge of Big Data (Hadoop, Cassandra, Spark, Kafka, YARN), real-time and batch processing.
- Experience working with Machine Learning Algorithms and Libraries. How to effectively choose suitable model (decision tree, nearest neighbor, neural net, support vector machine, ensemble of multiple models, etc.) while working with some of the widely available open source standard implementations of Machine Learning algorithms through libraries/packages/APIs (e.g. scikit-learn, Theano, Spark MLlib, H2O, TensorFlow etc.). How to devise a learning procedure to fit the data (linear regression, gradient descent, genetic algorithms, bagging, boosting, and other model-specific methods), as well as understanding how hyperparameters affect learning. You also need to be aware of the relative advantages and disadvantages of different approaches, and the numerous gotchas that can trip you (bias and variance, overfitting and underfitting, missing data, data leakage, etc.).
- Strong knowledge of Computer science fundamentals including data structures (stacks, queues, multi-dimensional arrays, trees, graphs, etc.), algorithms (searching, sorting, optimization, dynamic programming, etc.), computability and complexity (P vs. NP, NP-complete problems, big-O notation, approximate algorithms, etc.), and computer architecture (memory, cache, bandwidth, deadlocks, distributed processing, etc.).
- Good understanding of Probability and Statistics: (conditional probability, Bayes rule, likelihood, independence, etc.) and techniques derived from it (Bayes Nets, Markov Decision Processes, Hidden Markov Models, etc.) which are at the heart Machine Learning algorithms; and statistical measures (mean, median, variance, etc.), distributions (uniform, normal, binomial, Poisson, etc.) and analysis methods (ANOVA, hypothesis testing, etc.) that are necessary for building and validating models from observed data.
- Working software programming experience and strong understanding of Software Engineering and System Design. You need to understand how machine learning components work with other software components, communicate with them (using library calls, REST APIs, database queries, etc.) and build appropriate interfaces for your component that others will depend on. Should be able to design and implement ML components to avoid bottlenecks and let algorithms scale well with increasing volumes of data. Solid knowledge of software engineering best practices (including requirements analysis, system design, modularity, version control, testing, documentation, etc.) necessary for productivity, collaboration, quality and maintainability.
Resources : 1 Nos
Desired experience in years : 4
Duration of engagement in months: 3