DS5: How to assure scalability of AI systems?

Note: differentiate between the DS and A perspective

 

  • modularize code and decouple different development steps

    • it is more about the building blocks than it is about the overall design

  • define well the applicability domain

    • scaling up does not mean you apply the same tool everywhere w/o any adaptation

  • create tests to validate any change that might occur in the system

    • every time you create sth, think how it can break or be misused and create a simple test to make sure it continues to do what it was built to do

  • use data management tools that allow scaling

    • try not to lock-in your development with tools that are inflexible

  • optimize the performance of you code

    • from parallelization to just vectorising the for-loops blocks in your code

  • document your code well

  • use software management tools (e.g. reporting, monitoring, etc)

  • be mindful of the cost/benefit ratio in training the model vs. making it better