How To Manage Machine Learning Products - Towards Data Science
How To Manage Machine Learning Products - Towards Data Science
--:-- 12:50
3. Clearly define the problem, scope out requirements, set the metrics, and give
engineers and scientists enough space and flexibility to explore before deciding on
the path going forward.
The adoption of ML has been rapidly advancing across various business sectors. Nearly
half of the companies have incorporated one or more artificial intelligence capabilities in
their process and another 30% are piloting AI projects, according to Mckinsey’s recent
survey. It’s not hard to see why ML is expected to be even more transformative than
mobile technology. However, the transition to ML could also be more than 10 times
harder than the transition to mobile. Before we talk about why that’s the case, let’s go
through the basics.
Types of ML
There are three main types of machine learning :
supervised learning: The most common one and widely used type of learning. The
algorithms learn from labeled data, i.e. training data sets that are tagged with the
outcome the model is trying to predict. In short, it’s about predicting outcomes.
Consumer ML products such as smart speakers have a stronger social component than
their counterparts in enterprise segments. Therefore, user experience (UX) plays a more
critical part in designing consumer ML products and ML tends to become an enabler for
better UX. For example, NLP (natural language processing) is used to improve the
interaction between Alexa and its users. On the other hand, the core value of enterprise,
especially industrial ML products, such as predictive maintenance software, tends to
come from the functional performance (e.g. accuracy) of their predictions. This is not to
say that UX is not important for enterprise ML products. However, this is something to
consider when you only have limited resources and need to focus on optimizing parts of
your products.
If the core value of your product comes from ML models, then you are likely building an
ML product. On the other hand, if ML is only used to enhance the experience or
performance of your product, then you are most likely applying ML to your product. In
this case, it’s essential to understand the input and output of the models but not the
technical details like architecture or whether the ML models are based on CNN
(Convolutional Neural Network) or R-CNN. For example, the model takes demographic
data of users to predict their monthly spending on the platform. Many companies or
teams will also leverage existing solutions so they don’t reinvent the wheel. On the other
hand, building ML products often requires PMs to be more technical to help the team
navigate key decisions and trade-offs.
The organization structures also vary. For companies building ML products or large
corporations with heavy investments in ML, like Facebook and Google, it’s common to
hire ML researchers/scientists and pair them with ML engineers. On the other hand, for
companies applying ML to their products or smaller companies with resource
constraints, it’s probably better to hire multi-disciplinary ML engineers or train your
software engineers to learn ML instead of hiring ML researchers/scientists.
Even if you are building an ML product, it’s rarely the case that it will only involve ML.
It’s often interdisciplinary and involves not only ML models but also software
engineering, back-end infrastructure, data analytics, UX/UI design, and sometimes
hardware. PMs need to be able to manage cross-functional teams and deal with
interdependencies and potential clashes among teams. ML is fundamentally different
from other disciplines as we will explain more in the following paragraph. It becomes
even more complex if you are building ML products for the physical world like robotics
or self-driving cars. PMs need to know what can and cannot be done with ML and when
we should and should not use ML.
Deep Learning (DL): primarily used for image classification. DL uses a deep neural
network and takes labeled images as input. Each layer of the neural network will
transform the input into a slightly more abstract and composite representation.
Eventually, the model learns to recognize objects in the images.
For example, if you want to teach a machine to recognize a cat. With software
engineering, you may come up with rules like “a cat has 4 legs and 2 pointy ears.” But
how is that different from a dog? If you use deep learning, instead of explicit rules, you
will feed the machine with a bunch of cat photos (labeled images) and let the machine
learn by itself. By doing so, you let machines write the rules by themselves. What you
and your team do is to define the problem, prepare data, build a set of models, test, and
iterate until you have a model that delivers desired results.
That’s why teams generally need to take more risks when developing ML products. It’s
important for PMs to help set the right expectations to avoid potential clashes among
teams. For instance, software engineers may feel that ML team is not giving them clear
enough requirements without appreciating the nature of ML products. It’s also crucial to
have engineers work closely with researchers/scientists so they can balance each other.
More importantly, it’s better to have end-to-end systems working sooner to make sure
that the algorithms that ML teams have been working on actually aligned with business
goals.
With all these challenges, how should we go about managing ML products? Where do
good PM instincts go bad for ML products? In Part II, I will talk more about my learnings
and best practices.
towardsdatascience.com
. . .
Bastiane Huang is a Product Manager at OSARO, a San Francisco based startup building
software-defined robotics. She has worked for Amazon in its Alexa group and with Harvard
Business Review as well as the university’s Future of Work Initiative. She writes about ML,
robotics, and product management. Follow her here.