the-full-stack / course-gitbook

Full Stack Deep Learning Online Course
https://fall2019.fullstackdeeplearning.com
881 stars 189 forks source link

Wishlist for FSDL v2 #4

Open josh-tobin opened 4 years ago

josh-tobin commented 4 years ago

If we decide to do another version of the course, here are some new topics that could be exciting to add. This is off the top of my head, feel free to suggest other topics.

Bias / fairness

Deployment

Troubleshooting

Testing

Monitoring

Data

Infrastructure / tooling

Model lifecycle management

josh-tobin commented 4 years ago

Suggestion from @sayakpaul

Add a section to the troubleshooting lecture on things that are common practice in the research world that may not be worth the added complexity in the real world. Examples:

sayakpaul commented 4 years ago

@josh-tobin do you mind sharing the platforms/approaches/tools you have your mind to cover the Managing data at a larger scale. or do you plan to do it platform-independent?

One approach that I have found useful for quite a while now (apologies if it is naive):

josh-tobin commented 4 years ago

@josh-tobin do you mind sharing the platforms/approaches/tools you have your mind to cover the Managing data at a larger scale. or do you plan to do it platform-independent?

One approach that I have found useful for quite a while now (apologies if it is naive):

  • Convert my data to multiple shards of TensorFlow Records
  • Copy them over to a GCS bucket in the same zone where my cloud VM resides for improved performance

This is somewhat similar to how I've done it in the past. Some considerations are HDFS vs GCS/S3/etc, and how to build performant data loaders. I'd want to dig into this some more before making any concrete recommendations though.

sayakpaul commented 4 years ago

Great! This could be also stretched to show how much impactful a data input pipeline is for training a model with good hardware utilization.

chesterxgchen commented 4 years ago

In data management, should include new data formats such as Apache Iceberg -- originally from Netflix, currently used by many big companies ( Netflix, Apple, Alibaba, Tencent, Adobe, LinkedIn (?), ..)

Delta Lake -- originated from Databricks, Open source in Linux Foundation, with greatest momentum due to the integration with Databricks Cloud, Spark/SparkSQL/SparkStreaming, MLFlow

Apache Hudi -- originated from Uber, suitable for upsert.

All there has time-travel support needed for data versioning. MLFlow is now integrated with Delta Lake to do data version control.

chesterxgchen commented 4 years ago

Monitoring -- Data quality monitoring : features quality, feature distribution visualization, feature skew, data distribution change over time. Feature training/test/validation distributions mismatch etc Model monitoring --

KDDS commented 4 years ago

More aspects on data engineering. Like implementing massively parallel programming techniques and other cutting edge solution in today's world to make big data ready for DL/ML

DanielhCarranza commented 3 years ago

Data Dataset shifts:

How to effectively handle Long-tail Data

josh-tobin commented 3 years ago

@DanielhCarranza say more about the reactive / proactive approaches you have in mind?

nickdavidhaynes commented 3 years ago

I'd love to see a discussion on peer review (maybe it fits in the section on teams, or in testing/deployment section?). There are a lot of pieces need to be reviewed!

I'm aware of a couple good blog posts on the topic, but I'm not sure anything definitive exists.