Skip to content

Roadmap

Farley Lai edited this page Apr 30, 2021 · 3 revisions

ML Roadmap

Perhaps the best analogy fo the scope and extensions of ML is scipy and sickits which build on top of numpy while ML provides an abstraction on top of pytorch to support GPU acceleration whenever possible. Therefore, the tentative roadmap for ML to evolve is composed of core, learn, vision, audio and text.

The core package is focusing on general I/O and computing support that involves a variety of media formats, storage efficiency as well as distributed and parallel executions across multiple nodes and GPU devices. The learn package aims to support many machine learning and optimization techniques. Those vision, audio and text packages provide a consistent interface to access SOTA models on the three modalities. In the following, the feature set in each package are targeted for version v1.0.

Package Dependences and Distributions

External dependencies are inevitable to increase the storage requirement significantly. Unless unavailable, the package and dependency management should be done by conda mostly. This accordingly addresses the major concern of a deployment platform with or without GPU/CUDA support by installing ML through conda with cpuonly to save the space required by cudatoolkit related packages to some degree. Further savings for edge devices may come in the future. In the following, lists of packages and modules include relevant dependences that are subject to changes under the hood.

Core

  • [] 16-bit training and inference
  • [] training on TPU
  • [] training experiment and trial management
  • [] deployment for AWS/IoT and AWS/ECS with compression and scaling options
  • [] visualization using tensorboard

Packages

  • av: pyAV

  • cuda

  • distributed*: torch

  • multiprocessing*: torch

  • nn: torch

  • requests

  • sys

  • utils*: yaml, psutil, torch for grad*

  • data: torch

  • tasks: ignite, torch

  • csrc: native CPU/CUDA source

    • nms
    • RoIAlign
    • RoIPool
  • ops: native operations wrapper

Modules

  • app.py*: torch for dist.init_process_group
  • argparse.py
  • cv.py*: PIL, cv2, torch, torchvision for accimage
  • extension.py: torch
  • io.py*: h5py, tables, torch
  • logging.py
  • math.py*: round with tensor
  • profiler.py: line_porfiler
  • random.py*: torch for seeding
  • shutil.py
  • statistics.py: pandas
  • vis.py: visdom

Vision

  • Real-time tracking and detection
    • batch detection
    • SiamMask

Packages

  • io
  • datasets: torch
  • models: torchvision, torchtext, BERT, mmdet

Text

  • BERT and variants

Packages

  • datasets
  • models: pytorch_pretrained_bert, torchtext

Audio

TBD

Learn

Supervised, unsupervised, reinforcement, meta and analytics.

  • sequence event analytics engine
  • gradient descent based nearest neighbor search

Packages

  • analytics
  • meta
  • reinforcement

Auto

AutoML for production and deployment.

  • [] model compression for AWS/DeepLens
  • [] Basic NAS/Tuning

Packages

  • fe: feature engineering
  • compression: model compression
  • nas: neural architecture search
  • tuning: hyperperparameter tuning

References

Clone this wiki locally