# Declarative Machine Learning Systems

### Introduction&#x20;

* Machine learning: central in the strategy of tech companies and has gathered more attention from academia than ever before&#x20;
* Hastened by&#x20;
  * **Hardware improvements**: enabled massive parallel processing&#x20;
  * **Data infrastructure improvements**: enabled storage and consumption of massive datasets needed to train most ML models&#x20;
  * **Algorithmic improvements**: better performance and scaling
* Future envision: larger amount of people without skills to perform the same tasks. More **declarative** and **abstract interfaces** to hide complexity.&#x20;
* Describe&#x20;

  * How current ML systems are structured
  * What factors are important for ML project success, which ones will determine wider ML adoption&#x20;
  * What are the issues current ML systems are facing
  * How the systems being developed address them&#x20;
  * What the next generation of ML systems look like&#x20;

1. Software engineering meets ML&#x20;
   1. Distill common patterns that abstract the most mechanical parts of the process of building ML projects in a set of tools, systems, and platforms&#x20;
2. The coming wave of ML systems&#x20;
   1. Substantial increases in adoption always come with **separation of interests** and **hiding of complexity**&#x20;
   2. Next-generation of ML systems that will allow people without ML expertise to train models and obtain predictions through more abstract interfaces&#x20;

### Machine Learning Systems&#x20;

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-Mk0wgqi_cUSZ69iHOnC%2F-Mk10JQk_rXMs8aO1akJ%2Fimage.png?alt=media\&token=da00d8e2-bda2-4baa-aa30-53dc08167328)

**Challenges & desiderata:**

1. Exponential decision explosion&#x20;
   1. Need: good defaults and automation&#x20;
2. New model-itis&#x20;
   1. Need: standardization and focus on quality&#x20;
3. Organizational chasms&#x20;
   1. Need: common interfaces&#x20;
4. Scarcity of expertise&#x20;
   1. Need: higher level abstractions&#x20;
5. Process slowness&#x20;
   1. Need: rapid iteration&#x20;
6. Many diverse state
   1. Need: separation of interests&#x20;

### Declarative ML systems&#x20;

&#x20;
