Shipping machine learned systems
For the last 3 years I have been working on shipping a large distributed system where many subsystems are powered by machine learned models.
Before this I used to work in building cloud services, developing operating system protocols and services. Here are some lessons from this transition so far.
Feature begins after you ship the code: Earlier feature design and development stage is where majority of the energy is spent. You write your functional specification, do detailed design , implement the feature, unit test, functional test, end2 end test, stress test and after the feature passes release criterion you release the feature.
In machine learned system you need to all of the above, but that's just stage 1 of the feature. Many of these features to work well need large amount of data, for your v1 feature you will not have all the data you need, feature is not yet available in real world so you cannot fully anticipate what will be the real usage of your feature is.
Before this I used to work in building cloud services, developing operating system protocols and services. Here are some lessons from this transition so far.
Feature begins after you ship the code: Earlier feature design and development stage is where majority of the energy is spent. You write your functional specification, do detailed design , implement the feature, unit test, functional test, end2 end test, stress test and after the feature passes release criterion you release the feature.
In machine learned system you need to all of the above, but that's just stage 1 of the feature. Many of these features to work well need large amount of data, for your v1 feature you will not have all the data you need, feature is not yet available in real world so you cannot fully anticipate what will be the real usage of your feature is.
Comments
Post a Comment