MLflow: an Open Source Machine Learning Platform

Everyone who has tried to do machine learning development knows that it is complex. Beyond the usual concerns in the software development, machine learning (ML) development comes with multiple new challenges. MLFlow is an open interface, open source machine learning platform, released by DataBricks in 2018, that can be used to create an internal ML platform for tracking, packaging, and deploying ML models.

Read More

#devops

Version Control ML Model

Machine Learning operations (let’s call it mlOps under the current buzzword pattern xxOps) are quite different from traditional software development operations (devOps). One of the reasons is that ML experiments demand large dataset and model artifact besides code (small plain file).

This post presents a solution to version control machine learning models with git and dvc (Data Version Control). Read More

#devops

State of the art result for all Machine Learning Problems

Github repository providing state-of-the-art (SoTA) results for machine learning problems. Links categorized as: Supervised Learning, Semi-Supervised Learning, Unsupervised Learning, Transfer Learning, and Reinforcement learning, with details pointing to Research Paper, Datasets, Metric, Source Code, and Year of publication. Read More

#devops

Why AI and Machine Learning will Redefine Software Testing

With the advent of DevOps and Continuous Delivery, businesses are now looking for real-time risk assessment throughout the various stages of the software delivery cycle.

Although Artificial Intelligence (AI) is not really new as a concept, applying AI techniques to software testing has started to become a reality just the past couple years. Down the line, AI is bound to become part of our day-to-day quality engineering process, however, prior to that, let us take a look at how AI can help us achieve our quality objectives. Read More

#devops

Deciding PaaS or SaaS for Building IoT Solutions in Microsoft Azure

Building out an IoT (Internet of Things) solution can be a difficult problem to solve. It sounds easy at first, you just connect a bunch of devices, sensors and such to the cloud. You write software to run on the IoT hardware and in the cloud, then connect the two to gather data / telemetry, communicate, and interoperate. Sounds easy, right? Well, it’s actually not as simple as it sounds. There are many things that can be difficult to implement correctly. The biggest problem area is Security, as it is in most other systems types as well. Then you can device management, cloud vs edge analytics, and many other aspects to a full IoT solution.

Traditionally you would need to build all this out yourself, however, with offerings from Microsoft there are a few options available for building out IoT solutions. The Azure IoT Suite offers PaaS (Platform as a Service) capabilities that are flexible for any scenario, while the newer Microsoft IoT Central is offering more managed SaaS (Software as a Service) capabilities to further assist in easing development, deployment and management. Read More

#devops, #iot

Model Cards for Model Reporting

Trained machine learning models are increasingly used to perform high-impact tasks in areas such as law enforcement, medicine, education, and employment. In order to clarify the intended use cases of machine learning models and minimize their usage in contexts for which they are not well suited, we recommend that released models be accompanied by documentation detailing their performance characteristics. In this paper, we propose a framework that we call model cards, to encourage such transparent model reporting. Model cards are short documents accompanying trained machine learning models that provide benchmarked evaluation in a variety of conditions, such as across different cultural, demographic, or phenotypic groups (e.g., race, geographic location, sex, Fitzpatrick skin type [15]) and intersectional groups (e.g., age and race, or sex and Fitzpatrick skin type) that are relevant to the intended application domains. Model cards also disclose the context in which models are intended to be used, details of the performance evaluation procedures, and other relevant information. While we focus primarily on human-centered machine learning models in the application fields of computer vision and natural language processing, this framework can be used to document any trained machine learning model. To solidify the concept, we provide cards for two supervised models: One trained to detect smiling faces in images, and one trained to detect toxic comments in text. We propose model cards as a step towards the responsible democratization of machine learning and related artificial intelligence technology, increasing transparency into how well artificial intelligence technology works. We hope this work encourages those releasing trained machine learning models to accompany model releases with similar detailed evaluation numbers and other relevant documentation. Read More

#devops, #explainability, #governance

Datasheets for Datasets

The machine learning community currently has no standardized process for documenting datasets. To address this gap, we propose datasheets for datasets. In the electronics industry, every component, no matter how simple or complex, is accompanied with a datasheet that describes its operating characteristics, test results, recommended uses, and other information. By analogy, we propose that every dataset be accompanied with a datasheet that documents its motivation, composition, collection process, recommended uses, and so on. Datasheets for datasets will facilitate better communication between dataset creators and dataset consumers, and encourage the machine learning community to prioritize transparency and accountability. Read More

#devops, #explainability, #governance

The AI Edge Engineer: Extending the power of CI/CD to Edge devices using containers

The Artificial Intelligence – Cloud and Edge implementations course explores the idea of extending CI/CD to Edge devices using containers. This post presents these ideas under the framework of the ‘AI Edge Engineer’.  Note that the views presented are personal; comments from those exploring similar ideas – especially in academia / research — are being sought.

The post discusses models of development for AI Edge Engineering based on deploying containers to Edge devices which unifies the Cloud and the EdgeRead More 

#devops, #iot

3 Examples of AI at Work in DataOps

Artificial intelligence (AI) is making all the difference between innovators and laggards in the global marketplace. Yet, implementing a state-of-the-art DataOps operation involves a long-term commitment to putting in place the right people, processes and tools that will deliver results.

In this post, we look at three organizations that are doing cutting-edge work in the field of DataOps. We look at the specific strategies they use and the results they’ve seen as they navigate the uncharted waters of DataOps. Read More

#devops

Microservices Observability (Part 1)

This is a demonstration of how to observe, trace, and monitor microservices on Java applications in an Openshift environment.

According to microservices architecture and modern systems design, there are 5 observability patterns that help us to achieve the best in terms of monitoring distributed systems. They are the foundation for all who want to build reliable cloud applications. This tutorial will dive into domain-oriented observability, monitoring, instrumentation and tracing in a business-centered approach with a practical view using open-source projects sustained by the cloud-native computing foundation (CNCF). Read More

#devops