By AI Trends Staff
How one gets educated for AI continues to be an area worth exploring with many options available. Charting one’s career as a member of a newly-formed team working to leverage AI to help the business is best met with creativity and patience.
It’s as much a mission to find out how organizations are setting up for AI development as it is about finding out what you really want to do. The experience of one now-veteran machine modeler could be timely guidance for many in this context.
Daniel Bourke is an entrepreneur running a YouTube site and writing about technology. He worked as a machine learning engineer at a company in Brisbane, Australia, for several years. He helped to qualify himself with a nanodegree in Artificial Intelligence and Deep Learning Foundations from Udacity, and a Deep Learning course from Coursera, according to his LinkedIn page. He also taught code to young people, created an AI chatbot named MoveMore to encourage activity, and worked as an Uber driver.
Today he teaches a machine learning course aimed at beginners to over 30,000 students. Writing about the experience of his last three years in a recent account in TheNextWeb, he offered some advice for anyone starting out today seeking a career in AI and machine learning. “Due to several failures, I took five years to do a three-year degree,” he stated. “So as it stands, I feel like I’ve done a machine learning undergraduate degree.”
People might get the impression Bourke is an expert now. “I know a lot more than I started but I also know how much I don’t know,” he stated
His advice on online courses: “They’re all remixes of the same thing. Instead of worrying about which course is better than another, find a teacher who excites you. Learning anything is 10% material and 90% being excited to learn.”
He suggests learning software engineering before machine learning, “Because machine learning is an infrastructure problem (infrastructure means all the things which go around your model so others can use it, the hot new term you’ll want to look up is MLOps). And deployment, as in getting your models into the hands of others, is hard. But that’s exactly why I should’ve spent more time there.” [Ed. Note: MLOps refers to machine learning operations, a practice for collaboration between data scientists and operations professionals to help manage production ML.]
“If I was starting again today, I’d find a way to deploy every semi-decent model I build (with exceptions for the dozens of experiments leading to the one worth sharing).”
Here is how to do it: “Train a model, build a front-end application around it with Streamlit, get the application working locally (on your computer), once it’s working wrap the application with Docker, then deploy the Docker container to Heroku or another cloud provider.”
Deploying models enables you to learn things you may not otherwise consider. It allows you to answer these questions:
- “How long does inference take (the time for your model to make a prediction)?
- How do people interact with it (maybe the data they send to your image classifier is different to your test set, data in the real world changes often)?
- Would someone actually use this?”
Courses help to build foundation skills; experience helps you to remember them, he suggests, noting that he ordered the book Mathematics for Machine Learning and planned to read it cover to cover. Learn more at Daniel Bourke’s website.
Microsoft, Udacity Collaborate on ML for Azure Training
In other machine learning education news, Microsoft and Udacity recently announced they have joined forces to launch a machine learning (ML) engineer training program focused on training, validating, and deploying models using the Azure Suite. The program is open to students with minimal coding experience and will focus on using Azure automated ML, according to an account in InfoQ.
The Nanodegree program gives students the opportunity to enhance their technical skills in ML; students build models, manage ML pipelines, tweak the models to improve performance, and operationalize the models using MLOps best practices.
The course runs remotely. Support is provided by technical mentors to help students clear roadblocks. Career coaches engage in one-on-one calls to help students improve their resumes, LinkedIn profiles and GitHub repositories.
Gabriel Dalporto, the CEO of Udacity, stated at the launch event, “New-age technologies such as AI and ML will govern the future of businesses. Organizations have fast-forwarded their steps for hiring the best talent that can bring them a competitive edge in the market. We have developed this program in collaboration with Microsoft to offer a deep dive into the world of ML to learners. We believe that our approach will empower our students to have long and successful careers.”
Engineer Suggests Focusing on a Language, Selecting an Environment
Another set of suggestions for how to start learning in AI, coming from software engineer Omar Rabbolini writing in gitconnected, recommends beginners focus on two of the most popular frameworks for AI and ML, Torch and Tensorflow. From Facebook and Google respectively, the two frameworks are used all over the industry to build, train, and run deep learning networks to enable image recognition, speech synthesis, and other technologies. Rabbolini has 20 years of experience and concentrated on mentoring, writing, and content creation. (Learn more about Omar Rabbolini.)
For a language, he recommends learning Python, which he refers to as the “de facto standard for AI development.” Its advantages include an ample supply of online learning material, an easy-to-learn syntax, and many available libraries for data manipulation and data display.
He recommends Jupyter notebooks as the main technology to run Python environments in a browser. Jupyter is an open-source web application that allows the creation of documents that contain live code, equations, visualizations and narrative text. Two alternatives are Google’s own Colab system or Microsoft’s Azure Notebooks.
Select an environment manager, a package that allows you to create multiple separate Python environments, so that you can set up PyTorch (the Python version of Torch) and Tensorflow side by side. He used Miniconda for this purpose
Once the environment is working correctly, the learning developer needs to select a development environment that understands Python in this case. He suggests Visual Studio Code (VSCode) from Microsoft, which is free.