Accessible ML

Combining Open Source + Open Data
on commodity Gaming Hardware

Created by @AevaVoom using reveal.js

Who remembers this guy?
picture of a character from the video game Unreal
How about now?
picture of a character from the video game Unreal
picture of three game characters
Gaming
Machine Learning!
cover of the book, Deep Learning
picture of McCoy from Star Trek
picture of Aeva hiking a mountain near a waterfall

Math ...

- Scalars, Vectors, Tensors
- Rates, Limits, and Maxima
- Non-Linear Functions

https://commons.wikimedia.org/wiki/File:Saddle_Point_between_maxima.svg
Convolutions
example of a convolutional edge detection matrix applied to a picture of McCoy
Networks
example of a simple network with only one hidden layer

PyTorch: Now, with models included!

- AlexNet
- VGG [11, 13, 16, 19]
- ResNet [18, 34, 50, 101, 152]
- SqueezeNet
- DenseNet [121, 161, 169, 201]
- Inception [v3]
- GoogLeNet

VGG16
image showing layered structure of the VGG 16 network, condensing from 224x224x3 inputs down to 1000 outputs
https://www.cs.toronto.edu/~frossard/post/vgg16/vgg16.png
captioned picture of Merry and Pippin from Lord of the Rings, with a mug of ale
fast.ai
becominghuman.ai
immersivemath.com/ila

udacity.com/school-of-ai
a list of NVidia GPU models

KNOWN → UNKNOWN

1x MSI GeForce GTX 1070 Ti 8GB GDDR5
1x GIGABYTE Z370 AORUS Gaming 5 MB
1x Intel Core i7-8700K Coffee Lake 6-Core 3.7 GHz (4.7 GHz Turbo)
1x EVGA CLC 280 Liquid / Water CPU Cooler
2x CORSAIR Vengeance 8GB RGB DDR4 3600 SDRAM
2x WD Black 256GB Performance SSD M.2 PCIe NVMe
4x WD Black 2TB Performance HDD 7200 RPM SATA
1x EVGA SuperNOVA G3 GOLD 750W PSU
						

And then

what?

+ Public Data

Chat Emulation

(time for our first demo)

What's different?

Sources of (real) Open Data

Collections:
- kaggle.com/datasets
- cloud.google.com/public-datasets

Sources:
- data.cityofnewyork.us/browse
- catalog.data.gov
- www.mtbs.gov
- ... and so many more!

FireWise

(startup competition)

scalable learning pipeline

- Start with the "kitchen sink"
- Option for local vs cloud
- Configurable batch processing sizes
- Divide & Conquer your problem space

Build it!

$ nvidia-docker build -t firewise:latest .
Sending build context to Docker daemon  9.216kB
Step 1/26 : FROM nvidia/cuda:9.0-cudnn7-devel
 ---> 365b60829b2a

......

Step 26/26 : CMD ["jupyter", "notebook", "--no-browser", "--no-mathjax", "--port", "8888", "--ip", "0.0.0.0"]
 ---> Running in 21751491b03e
Removing intermediate container 21751491b03e
 ---> 17e2d89f4752
Successfully built 17e2d89f4752
Successfully tagged firewise:latest
						
Run it!

$ nvidia-docker run -ti -d -p 8888:8888 -e GRANT_SUDO=yes  \
 -v source:/src/source -v datasets:/src/data -v torch:~/.torch  \
 -e NB_UID=$(id -u) -e NB_GID=$(id -g) --name demo firewise:latest
$ docker logs notebook

    To access the notebook, open this file in a browser:
        file:///home/firewise/.local/share/jupyter/runtime/nbserver-1-open.html
    Or copy and paste one of these URLs:
        http://(2df6e44e520c or 127.0.0.1):8888/?token=44e4d370d375cf3381a8f082ea9723d78bb9354edf96aac2
						

Preprocessing Pipeline


+-----------------------+          +---------------------+
|                       |          |                     |              +--------------------------+
|  YAML job definition: |          | Fetch LANDSAT data  |              |                          |
|  -  search area       |          | OR                  |              |   Perform data cleaning  |
|     spectral bands    +--------> | Find in local cache +------------> |   & augmentation         |
|     subtile size      |          |                     |              |                          |
|                       |          +---------------------+              +--------------+-----------+
+-----------------------+                                                              |
                                                                                       |
                                                                                       |
                                                                                       v

                                   +----------------------------+        +-------------------------+
+----------------------+           |                            | <------+                         |
|                      | <---------+ Save batch to local cache  |        |  Divide into subtiles   |
|  Batch NNN Created!  |           | OR                         |        |  Store annotations      |
|                      |           | Save to cloud storage      |        |                         |
+----------------------+           |                            |        +-------------------------+
                                   +----------------------------+
						

Search Pipeline


+-----------------------+          +--------------------------------+          +----------------------------+
|                       +--------> |                                |          |                            |
|  YAML job definition: |          | Fetch Batch & Model from cloud +--------> | Execute Model Training     |
|  -  Batch NNN         |          | OR                             |          | Based on Hyper Parameters  |
|     Model ID          |     +--> | Find in local cache            |          |                            |
|     Hyper-parameters  |     |    |                                |          +----------------------------+
|                       |     |    +--------------------------------+                       |
+-----------------------+     |                                                             |
                              |                                                             |
                              ^                                                             |
                              |                                                             v
                              |    +-------------------------+                +-----------------------+
                              |    |                         | <--------------+                       |
                              +----+ Save Model & Results    |                |  Perform validation   |
                                   |                         |                |  Render output        |
                                   +-------------------------+                |  Etc...               |
                                                                              |                       |
                                                                              +-----------------------+
						

"You get what you measure"



"Bias in, Bias out!"

Sentiment Analysis

https://cloud.google.com/natural-language/
image of a rock and a hard place

Thanks!



Like my talk? Find me online!
W: https://aeva.online
T: @AevaVoom


I'm currently LFG! Available for speaking, contracting, or FTE :)
ubiquity of these tools poses a risk to society. FRT's impact on marginalized populations. Insurance predicting risk factors (health, housing, car rates). Reinforcement problem (study of cops).
thought bubbles with the names of several ML projects listed
picture of Aeva on the beach