AI Library - An Open Source Machine Learning Framework
1. AI Library
An Open Source Machine Learning Framework
Prasanth Anbalagan, AI Center of Excellence, Red Hat
MLconf 2018
1
2. Machine Learning
● Challenges faced in adopting Machine Learning
○ Implementation
■ Data Science expertise required in implementing the models
○ Infrastructure
■ Choice of Infrastructure vs Deployment vs Management.
○ Accessibility
■ Ease of use.
2
3. AI Library
● AI-Library
○ an open source collection of AI components
■ machine learning algorithms
■ machine learning solutions to common use cases
■ part of Open Data Hub
● “machine learning-as-a-service” platform, built on top of
OpenShift and Kubernetes.
○ allows rapid prototyping of ideas.
3
4. AI Components
Association Rule Learning
Correlation Analysis
Duplicate Bug Detection
Sentiment Analysis
Flake Analysis
Matrix Factorization
4
6. AI Library
Association Rule Learning
Correlation Analysis
Duplicate Bug Detection
Sentiment Analysis
Flake Analysis
Matrix Factorization
Storage
Actions
Ansible
Object Storage (S3 Compatible)
OpenWhisk + OpenShift
Deployment using playbooks
AI Components
6
7. Saving Data
RADOS
Command Line Interface
Open Data Hub
Reports
&
Visuals
ETL
Model
Training
APIs
Apache Kafka
Big
Data
Storage
Data
Streams
Open Data Hub
aws
7
9. Duplicate Bug Detection
Product Percentage
Red Hat OpenStack 12%
Red Hat Enterprise Linux 13%
Red Hat Ceph Storage 10%
OpenShift Container Platform 10%
● Duplicate Bugs Statistics
9
18. Container Application Platform
Project 1
OpenWhisk Jobs
Workflow
Read data
Invoke action (training, prediction, poll etc)
Save data
or store results
poll status
submit jobs
Project1 Project2
(ML models)
18
19. {
"status": "failure",
"log": Traceback (most recent call last):
File "/build/cockpit/bots/../test/verify/check-networking-team", line 81, in testTeam
b.wait_present("#network-interface-slaves tr[data-interface='%s']" % iface1)
File "/build/cockpit/test/common/testlib.py", line 230, in wait_present
return self.wait_js_func('ph_is_present', selector)
raise Error(res['error'])
Error: timeoutnnWrote TestNetworking-testTeam-rhel-7-4-127.0.0.2-2301-FAIL.png
Wrote TestNetworking-testTeam-rhel-7-4-127.0.0.2-2301-FAIL.html
"test": "testTeam (check_networking_team.TestNetworking)",
"flake": true,
}
Sample Training Data - Flake Analysis
flag whether a test failure was a false
positive or not
19
20. curl -u <Auth>
"https://openwhisk.openshift.com/api/v1/namespaces/_/actions/ai-library/ flake-analysis-training?"
-X POST -H "Content-Type: application/json" -d
'{
"name" : "flakes-training-10982" ,
"app_args" : "-s3Path=flake-analysis/datasets/training/records
-s3Destination= flake-analysis/models/testflakes.model"
}'
Model Training - Flake Analysis
20