Click to learn more about author James Kobielus.
Mainstream Web application development is beginning to incorporate the tools of Artificial Intelligence (AI). Before long, we’ll see programmers of all sort incorporating AI into even the most mundane browser-based applications.
If you doubt what I just said, take a look at the following recent industry developments:
Citizen Developers are Wielding AI-infused Robotic Process Automation (RPA) Tools
RPA auto-generates source code and other program elements from externally observable application artifacts and behaviors. RPA tools converge augmented programming with Machine Learning (ML), business process orchestration and Web content management. Essentially, RPA software “robots” infer an application’s underlying logic from its presentation layer, user-interface controls, interaction and messaging flow, and application programming interfaces.
In this regard, the robots rely on Machine Learning, Deep Learning (DL), and Natural Language Processing (NLP), and computer vision to infer source code from externally accessible program elements. Key RPA capabilities include screenscraping of UI presentation elements, optical character recognition of on-screen text, auto-sensing of browser-level control and domain object models, recording of human-user keystrokes and clicks, and user-specified flowcharting of UI flows.
Microservices Developers are Decoupling AI Microservices for Orchestration on Kubernetes
Behind the browser and into the Cloud, microservices are being distributed across edge environments for distributed orchestration. To this end, IBM has just introduced a new open-source framework for running distributed DL microservices over Kubernetes. The new Fabric for Deep Learning (FfDL), which is the foundation of IBM’s recently released Deep Learning as a Service (DLaaS) Cloud offering, reduces the need for tight coupling between DL microservices that have been built in TensorFlow, PyTorch, Caffe2, and other libraries and frameworks.
It does this by keeping each microservice as simple and stateless as possible, exposing RESTful APIs. FfDL uses REST APIs to access multiple DL libraries. It isolates DL component failures and allows each service to be independently developed, tested, deployed, scaled, and upgraded. It supports flexible management of DL hardware resources, training jobs, and monitoring and management across heterogeneous clusters of GPUs and CPUs on top of Kubernetes.
All of this enables the framework to support scalable, resilient, and fault tolerant execution of distributed DL applications. And it allows DL microservices running on scattered compute nodes to learn from massive amounts of data.
Developers Accessing all AI Cloud Services Through Framework-agnostic API Abstraction Layer
Web, mobile, desktop, and other applications are beginning to access AI functionality through easy abstractions that are agnostic to the underlying models, algorithms, libraries, and frameworks. To that end, the Linux Foundation has just announced a very important initiative: the Acumos AI Project. Backed by AT&T, Tech Mahindra, and others, Acumos defines APIs, an open-source framework, and an AI model catalog to facilitate framework-agnostic access to AI apps.
The framework does this by exposing AI frameworks such as TensorFlow with a common API. It will include a visual design editor and drag-and-drop application design and chaining lets trainers and other end users deploy normally complicated AI apps for training and testing in minutes. It supports such languages as Java, Python, and R. It will package and export production-ready AI applications as Docker files and incorporate code that Baidu is expected to contribute to leverage Kubernetes‘ elastic scheduling.
Please refer to this recent Wikibon research note for a larger discussion of trends of AI’s role in the larger paradigm of augmented programming.