Fill form to unlock content
Error - something went wrong!
Get the latest updates on IoT for smart cities.
You are following this topic.
Picture fast-food restaurants being able to tailor the kinds of food they keep on hand depending on which cars flow through the drive-thru line. Picture advanced cameras being able to detect problematic porosity in finished car parts. Or radiologists who work with a virtual assistant to sift through X-rays and surface troublesome ones for a second look.
The Importance of AI Development Today
These operational improvements all drive on artificial intelligence (AI), which is seeing an explosion in use cases in practically every industry. Where there is data, there are opportunities for efficiency—and even more opportunities for AI.
A confluence of technology shifts—the growth of computing power and the development of better communication infrastructures like the 5G network—is fueling this AI revolution.
But while AI transformation might be firmly underway, a shortage of AI developer talent might hinder its execution at scale.
“If AI is applicable to every industry, then that means we are going to need a whole lot more developers to acquire AI skills quickly,” says Bill Pearson, VP of the Network and Edge Group, and General Manager of Developer Enabling for the Internet of Things Group at Intel®.
A recent survey on the state of AI in the enterprise found that AI developers and engineers were among the top talent companies needed most. The pattern was uniform across all enterprises, whether they were seasoned, skilled, or just starting out with AI deployments. But unfortunately, much AI knowledge remains the purview of a small set of developers, according to Pearson.
This gap in AI talent might be because developers still have a few barriers to overcome before they can take up jobs in the field.
Top AI Developer Challenges and How to Overcome Them
1. Limited AI Knowledge
To create AI models, developers must first understand what AI is and what it can do. But all too often, existing documentation is geared toward experienced professionals, leaving out beginners. To infuse new AI developer talent into the pipeline quickly, the playing field needs to be leveled fast.
“Developers will be right at the center of #AI, pushing the envelope with #technology and creating some very interesting solutions that will probably blow all our minds.” – @billpearson, @intel via @insightdottech
As developers get started on an AI learning journey, they will need better documentation, hands-on training, and tools that are easy to use.
“In the past, AI has been the domain of experts. We really need to make materials more accessible, we need to democratize AI,” Pearson says. “We have to make it easy for developers to find the right materials at the right time, to make it easier for them to access the information they are looking for.”
For instance, Intel offers a variety of AI training videos and documentation for those interested in answers to specific questions about AI development. These materials are tailored to various levels of AI expertise so beginners can start exploring, while advanced developers can find answers for more detailed use cases of their applications. Intel also offers a list of prerequisites to help developers get started on their journey.
Developed by developers for developers, the Intel Edge AI certification course teaches core AI concepts and how to apply different use cases at their own pace. It features free tools and code samples, open-source resources, and a library of pre-trained AI models. Developers can study the code in these models to see how it can apply to their own work.
2. Too Many Choices
But with all the AI tools and resources available to get started, it can be very easy for developers to get overwhelmed. It is not always clear to them which tool is going to be the right one for the job. And then there are concerns whether the tool will be a solid long-term investment. Developers have to figure out what is going to be the right hardware, software, AI models, and algorithms to serve all their needs over time.
Part of democratizing AI and improving access to necessary tools is making them part of developers’ everyday workflows. “We’ve got to be developer-first in how we deliver these tools and do so with open and flexible platforms,” Pearson says.
Developers should pay particular attention to interoperability and open ecosystems that support the various tools they’ve already come to know and love.
For instance, the Intel® Distribution of OpenVINO™ Toolkit supports other popular AI frameworks such as TensorFlow, Caffe, PyTorch, and ONNX—so developers don’t feel locked into one choice.
In addition, the AI toolkit is easy enough for beginner developers to get started, but advanced enough to help developers scale their efforts and boost their AI skills. “It’s a toolkit that helps developers deliver faster and more accurate results using AI and computer vision inference,” says Pearson.
Since OpenVINO is open sourced, it has a strong developer community around it—enabling developers to get involved, take part in improving the platform, and leverage some other improvements that the community has made.
“That’s a great way for developers to decide not only what the best tools and frameworks are but participate in creating some of the best tools and frameworks in the industry,” says Pearson.
3. Building AI Models
Once developers have obtained the tools and resources necessary to get started on this journey, they face challenges related to developing and deploying AI models. For instance, do they have the right data to start building the model? Is it in a useful state or format? How are they going to apply it to their use case?
“Getting data to the right point where you can actually do something useful with it is one of the big challenges we have,” Pearson says. The origin of data sets and the how’s of using them are additional concerns for data scientists who need to ensure AI models are scrubbed clean of bias.
In keeping with the promise to a developer-first approach, under the hood of OpenVINO is Model Zoo, a set of pre-trained models that developers can use. The set includes examples that are developed using industry-standard frameworks like TensorFlow, Pytorch, MXNet, and PaddlePaddle. Basing AI code in frameworks that developers already might be using checks off the developer-first approach so they don’t need to move off their workflow to benefit, Pearson explains.
Data security is another concern that needs to be addressed for AI models that work in the cloud and at the edge. Developers and data scientists need to verify data sources and ensure ethical AI model development. “It’s not just about the application but the people and processes used to come up with the data, the algorithms. All that is part of building an ethical and equitable AI solution,” Pearson says. The OpenVINO toolkit offers an additional layer of data security with a data protection add-on.
“When you use the security add-on, it just gives you a way to have secure packaging for those models and then to execute them in a secure way. We’re able to have users who have appropriate access to the models, they’re running it within some assigned limits, and they can even run these in KVM-based virtual machines,” Pearson explains.
4. The Edge-Cloud Dilemma
Then there is the question on where they will store, process, and analyze their data. According to Pearson, AI is a different ballgame from traditional software development, which is naturally leading to changes in how developers work.
Traditionally, most IoT devices have been proprietary, embedded fixed-function devices. But recently with the increased adoption and maturity of the cloud and cloud-native technologies, containers and orchestration have become more pervasive. As a result, developers are moving toward a software-defined, high compute development environment leveraging cloud-native technologies for IoT and AI development.
AI in the cloud is being used for heavy-duty crunching of cloud-based machine learning models, while the edge provides new opportunities to analyze AI models at the data source.
“If you’re an embedded developer building solutions in the past and now, all of a sudden, you’re trying to figure out how to capture and make sense of data using AI at the edge, that’s an entirely new paradigm,” Pearson points out. Cloud-native development is changing the landscape for developers, who have to understand the AI use cases for both cloud and edge and build models accordingly.
It’s all about understanding your business goals and objectives, according to Pearson. “Depending on the KPIs that developers have, and what they’re trying to achieve, we can help determine where the best place is to run their AI workloads,” he says.
Cloud computing offers advantages in terms of cost and scale. If what the business is trying to achieve doesn’t require secure data on-site or low latency, then cloud might be the right way to go. If there are concerns with bandwidth, security, and scale, then developers might want to consider the edge.
“I get to choose as a developer which location makes the most sense to do which task. And again, I get to scale the compute resources that I need from virtually infinite in the cloud, to perhaps much more limited, whether it’s power or performance at the edge, and I can still get the AI that I need to achieve the business goals that I’m trying to reach,” Pearson explains.
With scalable cloud-native development, workloads can easily extend to where intelligence is needed from edge to cloud.
5. The IT/OT Integration
The very nature of AI’s utility—an integration between IT and OT—presents another challenge. Developers need to figure out how operational insights at the edge can be integrated into business operations to deliver efficiencies.
Developers also have to work backward from the KPI to be fine-tuned and then figure out the right combination of hardware and software that will do the job. Depending on the KPI, teams might need different performance and power choices. “Developers have to ask, ‘What’s the right hardware to run my application that’s going to give me the results I need,’” Pearson says.
Assuming AI developers can access the know-how and get software development going, they still need to test-drive software on a variety of different hardware units. This process is not easily achievable, nor is it the most time-efficient way to get the job done. The ongoing global chip shortage compounds the problem, making hardware that uses these chips difficult to source and buy.
Intel’s DevCloud solves one of the biggest challenges for AI developers. It eliminates decision paralysis by enabling developers to test their AI solutions on hundreds of edge hardware devices.
“Developers can very quickly understand how their application is going to perform using each of these pieces of hardware and they can find out what’s going to be right for their particular solution,” Pearson says.
The latest version of the toolkit, OpenVINO™ 2022.1 also helps in this space with its new hardware auto-discovery and automatic optimization designed to make hardware combination testing a breeze.
Usually, AI development is complex because the software has to be customized for each and every end use case. In addition, the edge hardware to be used increases the number of permutations and combinations that need to be tested. The OpenVINO toolkit eliminates those complexities, Pearson says. “There’s no ‘I have to run this differently because there’s an FPGA (field programmable gate array) involved’ or ‘To take advantage of one particular hardware feature, I may have to use some different code.’”
A developer-first approach shows up in the cross-architecture, write-once-use-anywhere toolkit. “You can easily optimize, tune, and run your inference application with our model optimizer,” Pearson says. Even better, a developer who doesn’t understand the difference between a GPU and a CPU can make this work.
6. Scaling AI Efforts
Once developers get started, what comes next? The path forward is not always clear.
Intel offers advanced developers with reference implementations from the Intel® Developer Catalog, which is a set of market-proven vertical implementations of software. A developer who is looking to implement a defect detection AI system or intelligent traffic management, for example, can use examples from the catalog. “You can see all the code, we’ll walk you through the implementation, and you can very quickly understand what’s going on there,” Pearson says.
AI development is not just about the software and the hardware, it is also about the environment in which it is deployed. An additional tool, Intel® Smart Edge Open, helps developers understand how to make AI applications part of an infrastructure that can be deployed in an environment. “It’s important for developers to test the AI application they are building, in the context of a brownfield or other environment,” Pearson says.
Just a few years ago, the thought of developers being able to access and make sense of data at the edge seemed like a pipe dream. But all that is changing. “The role of the [AI] developer is becoming more important than ever,” Pearson says. “We’ve got to make sure that they’re equipped to deal with this new environment through tools, products, and the information that’s going to help them build their solutions at scale.”
Preparing for the Future of AI Development
This is just the beginning of an era. As compute power and AI adoption increases, the use cases are going to expand to places that we never even imagined would be possible, Pearson explains, adding, “Developers will be right at the center of that, pushing the envelope with technology and creating some very interesting solutions that will probably blow all our minds.”
For developers, understanding the AI problems they’re trying to solve and equipping themselves with the skills to solve them is key to success.
“The future—today and tomorrow—is about open architectures and open ecosystems with much more flexibility, interoperability, and scalability that developers are going to need,” Pearson says. “AI is an opportunity for developers to be able to go and embrace a new world and do some exciting new things.”
AI is going to be the way of the future. And developers of all stripes can be a part of this exciting revolution by upskilling and using tools that streamline their workflows and unleash creativity.
This article was edited by Christina Cardoza, Associate Editorial Director for insight.tech.