Professional Documents
Culture Documents
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.
Page 2 of 18
AI tools for software application developers: Part Two
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
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.
Page 4 of 18
AI tools for software application developers: Part Two
Page 5 of 18
AI tools for software application developers: Part Two
In this e-guide
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.
Page 6 of 18
AI tools for software application developers: Part Two
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
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.
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
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.
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
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.
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
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.
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.
Page 16 of 18
AI tools for software application developers: Part Two
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.
Page 18 of 18