4 comments

  • gleenn 1895 days ago
    Somewhat unfortunate name clash with the now-back-burnered deep learning framework written in Clojure, also called Cortex: https://github.com/originrose/cortex
    • TaupeRanger 1895 days ago
      LOL...every other AI related project these days is called some variation or part of: Cortex Mental Mind Neural/Neurons

      Which is, of course, hilarious, since none of them have anything to do with the brain or mind whatsoever, being slightly advanced computational statistics programs.

    • SlowRobotAhead 1895 days ago
      And as far as SEO goes, ARM Cortex.

      Really, if you want people to use your thing, make it easy for them to find.

    • mrmrcoleman 1893 days ago
      And this from Weaveworks: https://www.weave.works/oss/cortex/
    • deliahu 1895 days ago
      Thanks for letting us know, we'll take a look
  • ipsum2 1895 days ago
    I work on ML infrastructure at some big company, so I'm always interested to see whats new in this field. This seems to be a thin wrapper around tf.estimator, which provides a majority of the functionality. The only novel things are yaml config for defining some basic transformations and data format. It doesn't seem super useful, am I missing something?
    • deliahu 1895 days ago
      The main thing we try to help with is orchestrating Spark, TensorFlow, TensorFlow Serving, and other workloads without requiring you to manage the infrastructure. You’re right that we have a thin layer around tf.estimator (by design) because our goal is to make it easy to create scalable and reproducible pipelines from building blocks that people are familiar with. We translate the YAML blocks into workloads that run as a DAG on Kubernetes behind the scenes.
    • doppenhe 1895 days ago
      curious what kind of infrastructure have you built for deployment, serving and managing models?
      • deliahu 1895 days ago
        We use TesnorFlow serving (https://www.tensorflow.org/serving) for serving the trained models. We also run Flask to transform the incoming JSON to match the way the data has been transformed at training time.
  • camuel 1895 days ago
    How does this compare to KubeFlow?
    • deliahu 1895 days ago
      We have a lot of respect for the work that the KubeFlow team is doing. Their focus seems to be on helping you deploy a wide variety of open source ML tooling to Kubernetes. We use a more narrow stack and focus more on automating common workflows.

      For example, we take a fully declarative approach; the “cortex deploy” command is a request to “make it so”, rather than “run this training job”. Cortex determines at runtime exactly what pipeline needs to be created to achieve the desired state, caching as aggressively as it can (e.g. if a hyperparameter to one model changes, only that model is re-trained and re-deployed, whereas if a transformer is updated, all transformed_columns which use that transformer are regenerated, all models which use those columns are re-trained, etc). We view it as an always-on ML application, rather than a one-off ML workload.

  • weitingster 1896 days ago
    Congrats!