You are on page 1of 19

E-guide

AI tools for
software application
developers
Part Two
AI tools for software application developers: Part Two

In this e-guide
In this e-guide:
IPsoft defines ‘library models’
The Computer Weekly Developer Network is in the engine
for AI frameworks room, covered in grease and looking for Artificial Intelligence
(AI) tools for software application developers to use.
Aricent’s ‘big 4’ Deep
Learning challenges With so much AI power in development and so many new
neural network brains to build for our applications, how should
Synopsys on 3 major factors programmers ‘kit out’ their AI toolbox?
that define the ‘type’ of your
AI
How much grease and gearing should they get their hands dirty
with... and, which robot torque wrench should we start with?
Paperspace CEO on why is
abstraction key to training
Adrian Bridgwater, ComputerWeekly.com
machine brains

Page 1 of 18
AI tools for software application developers: Part Two

In this e-guide
AI developer toolset series: IPsoft defines
IPsoft defines ‘library models’ 'library models' for AI frameworks
for AI frameworks
Adrian Bridgwater, guest contributor
Aricent’s ‘big 4’ Deep
Learning challenges
The following text is written by Joe Michael is his role as solutions architect
at IPsoft — the company is an Artificial Intelligence specialist known for its
enterprise-scale autonomic and cognitive software.
Synopsys on 3 major factors
that define the ‘type’ of your
The AI industry – particularly that area concerning the development of virtual
AI
assistants – is still in its nascence and, arguably, at this stage there are two
categories of AI solution.
Paperspace CEO on why is
abstraction key to training  Firstly, there are point solutions, which focus on solving a single problem
machine brains such as TensorFlow or Accord.net — these typically offer diverse
options, but are only usable by users with a depth of technical
knowledge.

 Secondly, there are all-encompassing virtual assistant frameworks,


where many technologies are brought together to form a cohesive bot
platform — to date, much of the open source software (OSS) in this
space has been either these point solutions, or the simpler end of virtual
assistant frameworks.

Page 2 of 18
AI tools for software application developers: Part Two

Inherent value quotient


In this e-guide
The reason that more sophisticated, end-to-end frameworks have not typically
IPsoft defines ‘library models’ been OSS, is due to their inherent value: either through the skills and
for AI frameworks investment required to create it, or through the potential value for the
organisation as intellectual property (IP).
Aricent’s ‘big 4’ Deep
So, with few [people, programmers, everyone basically] anticipating that more
Learning challenges
sophisticated AI frameworks will become openly available in OSS libraries, how
will developers be able to take advantage of the wealth of R&D that is carried
Synopsys on 3 major factors
out in the AI space?
that define the ‘type’ of your
AI
There are currently three models for how organisations manage their
sophisticated AI frameworks:
Paperspace CEO on why is
abstraction key to training Model #1: Proprietary
machine brains
For many organisations, these sophisticated AI frameworks are their IP and
underpin their entire business model. As such, it's understandable why a
company that has spent decades developing advanced AI solutions would not
want to immediately share the end-to-end framework as OSS.

But, while their frameworks may not be openly accessible, to the inconvenience
of individual developers, this approach is not a bad thing for the industry as a
whole. AI technologies only started coming to the fore once investment in
companies and their R&D functions took off. The development of and

Page 3 of 18
AI tools for software application developers: Part Two

investment in proprietary solutions will be important to maintain the continued,


In this e-guide rapid advancements of AI technologies, to which we've become accustomed in
recent years.
IPsoft defines ‘library models’
for AI frameworks Model #2: Upsell

The second approach organisations will take is to deliver a tiered approach, with
Aricent’s ‘big 4’ Deep
certain elements of their technology offered as OSS to get people interested
Learning challenges
before upselling premium or pro versions. Both Botpress and RASA, for
example, take such an approach.
Synopsys on 3 major factors
that define the ‘type’ of your
However, developers will typically find that while the free elements are good to
AI
play around with, if the solution is to be deployed – particularly in an enterprise
setting – the premium product is needed to add the required level of
Paperspace CEO on why is sophistication and consistency.
abstraction key to training
machine brains Model #3: Incentivisation

Others will approach it from ‘the AWS model’, seeing it as an opportunity to lock
people into their platform or ecosystem. There is no open source version of
AWS, with developers establishing their skill set as an AWS cloud architect.

AI companies similarly want developers to learn how to build with their


architecture rather than upskilling in AI more broadly – or, god forbid, a
competitor's technology – as it increases demand for their solutions in the
community.

Page 4 of 18
AI tools for software application developers: Part Two

Some companies will, therefore, offer elements of their technology as OSS to


In this e-guide incentivise developers to use it. This is quite a common model for OSS –
CUDA, for example, is offered as OSS a means of incentivising people to use
IPsoft defines ‘library models’ Nvidia Graphic Cards.
for AI frameworks

Aricent’s ‘big 4’ Deep Next Article


Learning challenges

Synopsys on 3 major factors


that define the ‘type’ of your
AI

Paperspace CEO on why is


abstraction key to training
machine brains

Page 5 of 18
AI tools for software application developers: Part Two

In this e-guide

IPsoft defines ‘library models’


for AI frameworks
AI developer toolset series: Aricent's 'big 4'
Deep Learning challenges
Aricent’s ‘big 4’ Deep
Learning challenges Adrian Bridgwater, guest contributor

The following text is written by Subhankar Pal, AVP of technology and


Synopsys on 3 major factors
innovation at global design and engineering company Aricent.
that define the ‘type’ of your
AI
Pal analyses the big 4 Deep Learning challenges that AI/ML developers must
overcome and writes as follows…
Paperspace CEO on why is
abstraction key to training For many developers, one of the most challenging AI/ML areas to code has
machine brains been Deep Learning. Primarily, to make Deep Learning systems learn from as
few examples and data sets as possible – called one-shot learning.

Deep Learning is used to solve highly complex problems that have eluded
computer scientists for decades. Now, thanks to increasing processing power,
massive amounts of available data, and more advanced neural network
algorithms, data scientists are closer to taming Deep Learning.

There are however challenges that need to be addressed.

Page 6 of 18
AI tools for software application developers: Part Two

1. Taming neural networks


In this e-guide
The complexity of a neural network can be expressed through the number of
IPsoft defines ‘library models’ parameters. In the case of deep neural networks, this number can be in the
for AI frameworks range of millions, tens of millions and in some cases even hundreds of millions.
Let's call this number P.
Aricent’s ‘big 4’ Deep
Since you want to be sure of the model's ability to generalize, a good rule of
Learning challenges
thumb for the number of data points is at least P*P.

Synopsys on 3 major factors Neural networks are essentially developers' "black boxes" providing valuable
that define the ‘type’ of your
clues and researchers have a hard time understanding how they deduce
AI
conclusions. The lack of ability of neural networks to provide a reason on an
abstract level makes it difficult to implement high-level cognitive functions. Also,
Paperspace CEO on why is their operation is largely invisible to humans, rendering them unsuitable for
abstraction key to training
some domains where the verification of the process is important.
machine brains
2. Optimal Hyperparameter Optimisation

Hyperparameters is the value defined prior to the commencement of the


learning process. Changing the value of such parameters by a small amount
can invoke a large change in the performance of a model.

Relying on the default parameters and not performing Hyperparameter


Optimization can have a significant impact on the model's performance for Deep

Page 7 of 18
AI tools for software application developers: Part Two

Learning. Also, having too few hyperparameters and hand tuning them rather
In this e-guide than optimising through the proven methods can impact performance.

IPsoft defines ‘library models’ 3. Lack of flexibility


for AI frameworks
Deep Learning is currently specialised for specific domains of applications.

Aricent’s ‘big 4’ Deep Even solving very similar problems requires retraining and reassessment.
Learning challenges
Developers and researchers are working hard to develop Deep Learning
models that can multitask without the need to rework and re-architecture. This is
Synopsys on 3 major factors a major challenge.
that define the ‘type’ of your
AI 4. The Python vs. R vs. Julia conundrum

The debate around the choice of Python vs. R vs. Julia has been heated. Using
Paperspace CEO on why is
abstraction key to training the wrong language can be sacrilegious for some. Python seems to be winning
machine brains the battle as the preferred language for Machine Learning. R is preferred by
traditional statisticians while Python is recommended for most developers.
Languages like Julia are gaining popularity, but it is Python that has the best
data science ecosystem.

If you are a Python developer, start with Scikit-Learn to build basic models
before exploring advanced toolkits such as a Caffe2 and Keras. Most of these
open source tools are meant for Deep Learning, which is an advanced
technique of Machine Learning. The combination of Python and Scikit-Learn

Page 8 of 18
AI tools for software application developers: Part Two

provides enough abstraction for developers to get started on their Machine


In this e-guide Learning journey.

IPsoft defines ‘library models’


for AI frameworks Next Article

Aricent’s ‘big 4’ Deep


Learning challenges

Synopsys on 3 major factors


that define the ‘type’ of your
AI

Paperspace CEO on why is


abstraction key to training
machine brains

Page 9 of 18
AI tools for software application developers: Part Two

In this e-guide
AI developer toolset series: Synopsys on 3
IPsoft defines ‘library models’ major factors that define the 'type' of your
for AI frameworks
AI
Aricent’s ‘big 4’ Deep Adrian Bridgwater, guest contributor
Learning challenges
The following text is written Boris Cipot, senior engineer at Synopsys — the
Synopsys on 3 major factors company is known for its Design Compiler product, a logic-synthesis tool.
that define the ‘type’ of your Synopsys also offers products used in the design of an application-specific
AI integrated circuits.

Paperspace CEO on why is When we talk about Artificial Intelligence (AI), most people are referring to
abstraction key to training applications that are using complex code in the background to deliver
machine brains appropriate responses to given queries. Implementing those speech recognition
or image processing functionalities can be a complex task.

However, the complexity of AI is not defined by the ‘type’ of AI.

Rather then, to assess what shape our AI is and what elements go towards
bringing it into being, we need to take several different factors into account
when starting the implementation work.

Page 10 of 18
AI tools for software application developers: Part Two

Factor #1: language


In this e-guide
The first factor is the programming language we choose for AI programming,
IPsoft defines ‘library models’ which libraries are available for use… and what functions they provide.
for AI frameworks
Factor #2: mathematical functions for ‘decision logic’

Aricent’s ‘big 4’ Deep The second factor to consider involves the necessary hardware required to
Learning challenges process speech, images and other sensory elements taking place, along with
the mathematical functions that then give enough data for the decision logic to
Synopsys on 3 major factors choose the appropriate response.
that define the ‘type’ of your
AI Most of this processing runs on powerful servers rather than on smaller devices
like mobile phones. But there are also other cases – for example the automotive
Paperspace CEO on why is industry – where data connectivity is not a given and the decision logic cannot
abstraction key to training be dependent on a fragile factor such as data connectivity. There, the powerful
machine brains processing hardware must be in the car and be able to process data from
sensors (e.g. LIDARS) in real time.

Factor #3: learning dataset

The third factor is the ‘learning dataset’ we provide the AI with and where we
can then refine the responses based on different inputs. Those datasets need to
be massive to capture all possible variants to which the AI can react. Imagine
how many languages AI would need to understand to be of use to the entirety of
the world's population.

Page 11 of 18
AI tools for software application developers: Part Two

Now consider all the different accents for each language so that users are able
In this e-guide to understand the sentence at hand and its context. This is just one example of
how massive and complex these datasets can become.
IPsoft defines ‘library models’
for AI frameworks Open source + & –

There are also many open source libraries available for AI programming. This is
Aricent’s ‘big 4’ Deep
promising as it means that there are many groups and individuals working on
Learning challenges
the question of how to develop the ultimate AI. However, open source requires
additional research for the programmer to understand who is behind the library,
Synopsys on 3 major factors
how it maintained… and how it can be used from a legal perspective.
that define the ‘type’ of your
AI
Meanwhile, on the proprietary side, there are companies that provide
architectures for development and testing, providing hardware technology to do
Paperspace CEO on why is it all. One example is Nvidia CUDA.
abstraction key to training
machine brains AI-as-a-Service

Others, like Amazon or Google, provide you with access to their AI in the cloud
where they are already teaching their AI functionalities with huge datasets
provided by their customers. Those services present the possibility to lower the
complexity of the implementation; but on the other hand, you may not always
have the choice of utilising services.

For instance, services cannot be leveraged in all use cases within the
automotive industry.

Page 12 of 18
AI tools for software application developers: Part Two

Implementing AI with Lego Mindstorms or for smart companions (e.g. ubtrobot)


In this e-guide can be made as simple or as complex as programmers choose to make it based
on the set of limitations involved.
IPsoft defines ‘library models’
for AI frameworks At the end of the day, we should also consider how we plan to use the
implemented AI and the results of a wrong decision – as AI tech isn't yet (and
Aricent’s ‘big 4’ Deep will not soon be) issue free. We must contemplate what happens to the data
Learning challenges (i.e., personal data) users provide and if security is being implemented as a top
priority.
Synopsys on 3 major factors
that define the ‘type’ of your
AI
Next Article

Paperspace CEO on why is


abstraction key to training
machine brains

Page 13 of 18
AI tools for software application developers: Part Two

In this e-guide
AI developer toolset series: Paperspace
IPsoft defines ‘library models’ CEO on why is abstraction key to training
for AI frameworks
machine brains
Aricent’s ‘big 4’ Deep Adrian Bridgwater, guest contributor
Learning challenges
Paperspace
Synopsys on 3 major factors
that define the ‘type’ of your This is a guest post written in its entirety by Dillon Erb, CEO of Paperspace — a
AI high-performance GPU-accelerated cloud computing and Machine Learning
(ML) development platform for building, training and deploying machine learning
Paperspace CEO on why is
models. .
abstraction key to training
Erb contends that Deep Learning (DL) development is easier than classical
machine brains
Machine Learning (ML) and writes as follows…

One of the key advantages with deep learning is there is very little ‘feature
engineering’ required, which means a lot less hand-coding.

With a classical ML approach, laborious hand-crafted features were application


specific, so features that worked in computer vision were completely useless in
(for example) Natural Language Processing (NLP).

Page 14 of 18
AI tools for software application developers: Part Two

Today, with DL, which works on raw data, these different problems - NLP,
In this e-guide image recognition etc.- become more similar in terms of the code itself.

IPsoft defines ‘library models’ Thus, doing simple tasks with known or structured data in a Proof of Concept
for AI frameworks (PoC) phase is surprisingly easy.

But, working with unstructured data and stitching together or gluing disparate
Aricent’s ‘big 4’ Deep
Learning challenges
systems requires a combination of AI expertise as well as systems, networking,
data, security, which is an entirely different domain.

Synopsys on 3 major factors This makes the move from R&D to production a very difficult task for most
that define the ‘type’ of your
teams.
AI
Abstraction: key to training DL models
Paperspace CEO on why is
abstraction key to training Much of the early work in AI has gone in to adding higher levels of abstraction to
machine brains the underlying math libraries (CUDA, Intel's MKL-DNN, etc). Frameworks such
as PyTorch, TF, MXNet etc. are much higher order and let a developer train a
powerful deep learning model in less than 100 lines of code.

More recently there has been a large amount of effort invested in so-called
"AutoML" systems that can automate even the higher-level parts of developing
ML pipelines.

Page 15 of 18
AI tools for software application developers: Part Two

OSS Ecosystem
In this e-guide
Having a defined ecosystem is particularly hard today because in the early days
IPsoft defines ‘library models’ of any technology cycle there is a lot of churn - meaning that the go-to
for AI frameworks technology stack changes relatively quickly and is not fully agreed upon.

Certain patterns have emerged for sure, i.e. Jupyter Notebooks for - exploration,
Aricent’s ‘big 4’ Deep
batch job-running architectures for large-scale model training etc. But the
Learning challenges
particulars of the ecosystem are not fully defined. We are seeing a lot of growth
in PyTorch for example and tools like ONNX which let ML models be more
Synopsys on 3 major factors
reusable.
that define the ‘type’ of your
AI
But open source offerings will largely be sufficient.

Paperspace CEO on why is As me move up to enterprise there will be an amount of scrutiny on the tools
abstraction key to training and particular requirements that will likely necessitate an investment in
machine brains proprietary tools in some areas of the stack or at least a desire for commercial-
grade support.

Benchmarking abstraction tools

Benchmarking tools would certainly be ideal. However, there are so many


different parameters to judge a tool stack that each use case might have its own
metrics. That is, a developer tool must be expressive and powerful, whereas
reliability and determinism might be more highly valued in certain contexts
(healthcare, cybersecurity, banking, etc).

Page 16 of 18
AI tools for software application developers: Part Two

AI developers end up spending a unreasonable portion of their time on training


In this e-guide setup and execution time due to a severe lack of abstraction tools.

IPsoft defines ‘library models’ Because these are such highly paid engineers, this poses a massive burden on
for AI frameworks the industry. Any tools that can enable devs to become more efficient and
productive has potential.
Aricent’s ‘big 4’ Deep
Learning challenges
Quantifying/benchmarking this is not easy but we can intuitively say that tools
like Stripe, GitHub etc. increase developer velocity by some meaningful percent.

Synopsys on 3 major factors A concrete example would be distributed training: setting up core infrastructure
that define the ‘type’ of your
to enable distributed training is incredibly low-level and frankly not possible for
AI
most developers but the performance wins are huge.

Paperspace CEO on why is An abstraction layer (platform) that gives this capability to every developer will
abstraction key to training be very powerful.
machine brains

Page 17 of 18
AI tools for software application developers: Part Two

In this e-guide
Getting more CW+ exclusive content
IPsoft defines ‘library models’
As a CW+ member, you have access to TechTarget’s entire portfolio of 140+
for AI frameworks
websites. CW+ access directs you to previously unavailable “platinum members-
only resources” that are guaranteed to save you the time and effort of having to
Aricent’s ‘big 4’ Deep
track such premium content down on your own, ultimately helping you to solve
Learning challenges
your toughest IT challenges more effectively—and faster—than ever before.

Synopsys on 3 major factors


that define the ‘type’ of your
AI
Take full advantage of your membership by visiting
www.computerweekly.com/eproducts
Paperspace CEO on why is Images; stock.adobe.com
abstraction key to training
© 2019 TechTarget. No part of this publication may be transmitted or reproduced in any form or by any means without
machine brains
written permission from the publisher.

Page 18 of 18

You might also like