In this post, I’m going to suggest a workflow on how to apply machine learning
in your business and start gaining business
value
from it.
If done right, artificial intelligence and machine learning can be a tremendous
advantage for your company and can help you distinguish yourself from your
competitors.
The truth is that properly incorporating machine learning into your business is
a long and difficult process, as it requires coordination between different
people in your organization.
While helping different smaller and bigger companies build their AI products, I
found that this workflow can really ease some of the uncertainty and eliminate
some of the risks coming with such a big decision.
So, let’s get right into it.
What is Machine Learning?
Machine Learning is a collection of algorithms and statistical models used to
perform a specific task without explicit instructions, but by relying on pattern
recognition and inference. These models are able to learn patterns from data and
use that knowledge to predict the behavior of previously unseen new data points.
In other words, Machine learning can be used in problems for which we can’t
program the exact solution (most times because we don’t know it). Instead, we
let the model learn it from existing data.
Identify the problem you want to solve
Before even thinking of spending money towards hiring Machine Learning
Engineers,
you have to identify what problem you need to solve.
The best reason to start with Machine Learning is not for the sake of it, but
for solving a very specific, quantifiable problem. First you need to really
understand the root of your problem, come up with different ways to solve it
(not only machine learning) and define how will you measure and evaluate the
solution.
Let’s give a concrete example. Let’s say that your run a dog collars e-shop and
you want to build a recommendation
system that suggests to the
user the best collars to buy.
What’s your problem here? It’s not the recommendation system. It’s the increase
of your customer base. Thar’s the ultimate goal you are trying to achieve.
How can you solve it? Sure, recommendation systems can be a solution. But so is
google ads or email marketing or better customer support or any of 146 other
things.
How will you evaluate it? A great way will be to measure your sales conversion
rate or your customer acquisition cost.
Is machine learning the best solution for the problem ?
Now that you know your problem and have some solutions in mind (including the
machine learning ones), you have to compare them and proceed with one or more of
them.
How can you do that?
The same way every business decision is evaluated: ease of implementation, cost,
risk levels, roi etc.
If the final decision happens to be the Machine Learning one, you can continue
with the next step. Otherwise, you are free to go.
Seriously, this is the most common mistake companies
make.
They get affected by the buzz of AI
and Machine Learning and forget to follow the common business procedure when
making a decision.
Sure, ML can be great (believe me) but it’s not always the answer. In fact, most
of the time, it definitely isn’t.
It makes sense for big companies like
Netflix or
Amazon, because even a slight increase
in performance can make billions of dollars. But for startups and smaller
companies, it usually doesn’t worth the investment.
With that in mind let’s go on.
Build a team
Once you decided that Machine Learning is indeed the best solution for your
problem, it’s time to build your AI team. There are actually two ways you can go
about it:
If you have a long-term vision for using AI inside your business, then you will
need to build an in house team. At first, focus on a small one that will act quickly
and can deliver an MVP in 6-12 months.
The first person you need to get is an Engineering Manager ( or VP of AI or some
other role depending on your organizational structure).
This person should have years of experience in Machine Learning managerial
positions and a very good understanding of the field. He needs to be able to
tell what can and can’t be done, as he’ll be the one who’ll make all the
important decisions. He should also be responsible for managing a team,
communicate with people on higher levels, talk finance.
Also you will need to hire 2-3 Machine Learning Engineers to develop the
products and work closely with the EM. Remember to start with Seniors Engineers
or Tech Leads, which are people with high technical and programming
skills.
On the other hand, if you don’t have a long term goal for Machine Learning or
your organization is quite small, it makes sense to hire an external consultant
for guiding you during the project, and leave the implementation to some of your
existing engineers or external ones.
But be careful because you may need to maintain or improving the project
afterwards and you don’t want to keep signing contracts every year with external
teams.
Develop the infrastructure
It’s time to build the Machine Learning Infrastructure. By infrastructure we
mean the technical stack that will enable engineers to implement, test and
deploy their machine learning models. So we are talking about databases,
servers, frameworks etc.
Depending on the size and the technical expertise of your company, you have 2
choices:
1) Cloud services
Many top tech companies such as Google,
Amazon,
Microsoft and
IBM provide all in one platforms
for developing AI Solutions. They are called “Machine Learning as a
Service”
and they include everything you need from data storage, data aggregation,
serving, monitoring and much more.
You can also choose to go fully autonomous by use existing models and apis
specifically targeted for your application or you can build your own models and
use their infra to deploy and serve them. It’s really up to you and it depends
on the use case
For most use cases, cloud services are more than adequate and can speed up the
process enormously.
2) Build everything from scratch
Highly technical companies with existing infrastructure and engineers can decide
to build everything from scratch. It is recommended only for big organizations
with enough money and a very long-term plan for AI, as it can be a tedious process
and can take years before seeing value.
You can still relying on cloud providers for basic stuff such as storage but you
will be responsible for design the overall architecture and all the
subcomponents.
Gather the necessary data
Now that you have both the team and the infrastructure ready you need to develop
your data strategy. Because machine learning is all about the right data.
Without data it’s totally useless. Here some questions you’ll need to have in
mind:
-
How will you acquire data?
-
What data do you need?
-
How much data do you need?
-
In what format should the data be stored?
-
What about security?
-
How will engineers have access to the data?
These are questions that will be answered by the Manager and the Engineering
team and depend heavily on the original problem, your industry, your budget.
Also keep in mind that this is not an one off action. You will need to find a
way to keep acquiring new data if you want your models to stay accurate for a
long period of time.
The origin of the data will probably be a combination of public
datasets, in-house sources,
analytics,
surveys,
external partnerships and more. The next steps are preprocessing, cleaning,
formatting and storing. These is where your engineers come into play.
Build an MVP
This is where you let your engineers do their magic and develop the first
version of your machine learning application. The important thing is to make
sure that they have a clear understanding of your vision and they’re in harmony
with the business end goal.
That’s why coordination with the Engineering Manager and perhaps with a Product
Manager is essential.
Remember that Machine Learning is not different from any other software, so you
have to treat it normally. Follow the standard software
lifecycle, perform
testing, check performance etc.
Also, it is valuable that they set up the foundation for future ml endeavors
along the way. Instead of a one-off solution, any process they follow and any
tool they build should be documented properly and developed with the future in
mind.
That way, you won’t have to reinvent the wheel next time, but you can build on
top of already existed solutions and improve upon them.
Evaluate its performance and iterate
Once you have a minimum viable product, you can deploy it in production and
start measuring its performance. The models will be evaluated with metrics
defined by the engineers but also by the KPI’s you decided in the beginning.
Don’t expect to see results right away. It may take weeks or months before you
see any real value.
Moreover, the models needs to be trained in the actual client data and you can’t
rely only on offline training. For that reason, some sort of feedback
pipeline
is critical for most AI applications. Wherever is possible, you can gather the
desired outputs and the incorrect predictions, feed them back to the model and
retrain it.
So the model will always be up to date. But even then, its accuracy will
gradually start to decline. This is where a new version of the model needs to be
built and deployed by your engineers. And this iteration will continue as long
as the model is active.
You can think is as a vicious circle: more data –> better model –> more users
–> more data
Integrate Machine Learning in other parts of your business
You did it. Your machine learning model is up and running. Now what?
Now you have to decide if it’s worth it. Given that enough time has passed, does
machine learning brought value to your business? Is it more or less than you
expected? How it performs compare to other existing solutions?
And the most important. Should you integrate AI in other part of your business?
If the answer to the last question is yes, I have some advices for you on how
to spread machine learning across your organization and expand its presence:
-
Provide AI Training: Both executives and employees in your organization
should be informed about the AI capabilities through workshops, seminars,
talks. Motivation for bringing new AI ideas and taking over Machine Learning
projects can also be set in place. A great place to start is this course by
Coursera: AI For Everyone -
Train Engineers: In the same directions, engineers (new hires and seniors)
need to familiarize themselves with the technical aspects of ML and
understand the workflows. Tech talks and meeting with AI experts are a good
way to start. Also there is a huge variety of online
courses
and MOOCs out there. -
Build external connections: Relationships with other AI companies,
Consultancies,
Freelancers,
Investors, Government, can play a key role in expanding your AI
capabilities, hire new talent, understand the user’s perspective on AI,
adhere to regulations ( this should not be taken lightly). -
Restructure the organizational chart: Introducing new positions, new levels
of expertise and reorganizing the structure of your company in a way that
enables collaboration between AI and other teams is a top priority.
Wrapping up
Transforming your company to use AI and Machine Learning requires careful
planning and execution.
Since these technologies are fairly new, there is no “correct way” to do things.
At least not yet.
The whole process might take 1-3 years (depending on the size of your
organization). But this is not a reason to be discouraged. The most vital thing
is to take the first step and begin executing some of the actions mentioned in
this post.
For even more details about AI transformation, I highly suggest the following
course by Andrew Ng (co-founder of google Brain and VP at Baidu), where he
discusses in depth what is AI and Machine Learning, and how it affects our
companies and our society.
AI for Everyone
course by Coursera
So here is your plan.
Start small and use all the help you can get from experts. Begin with a pilot
project and see how things will go. Once you start realizing the value Machine
Learning can provide into your business, it will be much easier to keep
expanding and improving.
AI transformation is going to happen in most companies sooner or later. Why not
be among the first ones and gain a significant advantage over your competitors?
Now it’s your turn.
* Disclosure: Please note that some of the links above might be affiliate links, and at no additional cost to you, we will earn a commission if you decide to make a purchase after clicking through.