
Cloud AI Platform Pipelines - jamesblonde
https://cloud.google.com/blog/products/ai-machine-learning/introducing-cloud-ai-platform-pipelines
======
thefounder
Just make sure you build some abstractions and have a backup plan. Don't get
locked-in their API. It may/will ruin your business.

~~~
siganakis
Cloud AI Platform Pipelines appear to use Kubeflow Pipelines on the backend,
which is open source [1] and runs on Kubernetes. The Kubeflow team has
invested a lot of time on making it simple to deploy across a variety of
public clouds [2], [3].

If Google were to kill it, you could easily run it on any other hosted
Kubernetes service.

I haven't used Cloud AI Platform Pipelines, but have spent a lot of time
working with Kubeflow Pipelines and its pretty great!

[1]
[https://github.com/kubeflow/pipelines](https://github.com/kubeflow/pipelines)

[2] [https://www.kubeflow.org/docs/aws/](https://www.kubeflow.org/docs/aws/)
(Deploy to AWS)

[3]
[https://www.kubeflow.org/docs/azure/](https://www.kubeflow.org/docs/azure/)
(Deploy to Azure)

------
minimaxir
This product appears to have a lot of overlap with Cloud Composer
([https://cloud.google.com/composer](https://cloud.google.com/composer))
except with more of an AI focus.

Does that mean Cloud Composer might get depreciated?

~~~
boulos
Disclosure: I work on Google Cloud.

Different things! Composer (based on Apache Airflow, which we contribute to)
is a general purpose workflow system. Cloud AI Platform Pipelines is really
focused on ML pipelines, specifically, like Kubeflow (the related OSS project
that we contribute to) is meant to be.

Instead, I would argue that Kubeflow has lots of overlap with Airflow. But I
don't think either will be cancelled :).

~~~
tixocloud
Curious but what’s driving the need to have a different pipeline system? As
you say, Kubeflow has lots of overlap with Airflow so what’s different?

------
mandelken
I wonder how this might work with NLP workflows that use a custom embedding? I
have not found a documentation or blog describing such a memory intensive step
in the pipeline without running a custom instance/docker. In that case I can
just run the whole model on that instance..

------
mycpuorg
Trying to understand how is any this is new or different from AWS SageMaker or
even Azure ML? IIUC AWS has way better tools/services to integrate with.

Most Google's Cloud Services have been very flaky and inconsistent.

------
plexicle
The pre-built pipeline components look interesting.

I wish Cloud AI offered an API for the kind of results that I get when I use
Google Lens. None of the ML offerings seem to come even close with labels.

~~~
sologuardsman2
Their Cloud Vision API [1] might be what you're looking for.

[1] [https://cloud.google.com/vision](https://cloud.google.com/vision)

~~~
plexicle
Yeah that's the one I was talking about. It gives some labels about stuff in
the image and it works well. But Google Lens is on a different level -- you
can send it a picture of a breed or a snake and it will return species and
subspecies. Can't find anything like that in the GCP offering.

~~~
tixocloud
What sort of results do you get back from Cloud Vision API? The Google Lens
example you mentioned is what I assumed it would do.

~~~
plexicle
Nothing near that specific unfortunately. Not much more than "snake" (and
occasionally wildly inaccurate species). At least with the ~20 or so photos
that I just tested with.

~~~
tixocloud
Looks like you're not the only one who's interested:
[https://support.google.com/photos/thread/17424160?hl=en](https://support.google.com/photos/thread/17424160?hl=en)

~~~
plexicle
Ah, thanks for pointing that out. Added my upvote. Cheers!

------
talolard
My first thought was how long till it’s discontinued?

~~~
mav3rick
Longer than the time it will take for the anti Google HN bubble to burst.

~~~
dna_polymerase
I'm sorry but GP is exactly right. Google has a horrible track record for
their products. They can't even profit from vendor-lockin, as they kill off
all the products sooner or later leaving a lot of angry customers.

~~~
snug
Name the GCP products that have been killed off?

~~~
rllin
google deployment manager. it has incredibly subpar support for other GCP
services. all support interactions resort to them suggesting migration to
Terraform. we do use it in production, but not without great headache.

this isn't an explicit kill-off, but certainly purposefully offering bad
support

~~~
dodobirdlord
When AWS continues to run a service looong after it stops being actively
developed (looking at you, SimpleDB), they get praised. When Google does the
same thing, it's paradoxically more proof that Google deprecates things!

~~~
mav3rick
Just another day on HN

------
jamesblonde
I have a couple of quick takes on this:

* Remember kubeflow - the open-source ML platform? Well, on GCP, it doesn't look so open-source anymore.

* It looks like TensorFlow Extended has been subsumed (killed off?) by this new managed platform. No Beam support - to be replaced by tf.data service? [https://github.com/aaudiber/community/blob/rfc-data-service/...](https://github.com/aaudiber/community/blob/rfc-data-service/rfcs/20200113-tf-data-service.md)

~~~
doomslice
This looks like it's basically just an installer for Kubeflow -- this is not
"managed" at all.

And where did you get that TFX has been replaced by this? You can run Kubeflow
pipelines (including those created by TFX) on this.

~~~
jamesblonde
"Kubeflow pipelines SDX and TFX SDK ... Over time, these two SDK experiences
will merge" from the article.

~~~
doomslice
That's just the SDK that they're saying is merging (with TFX being the one
that "wins"). If you've used them you'll know they have huge overlap but TFX
abstracts a ton of what it's actually doing.

~~~
jamesblonde
TFX is just a SDK (with a few libraries - like data validation, model
analysis, statistics). So, i don't know about saying it wins? The battle of ML
pipeline ecosystems is the engine - not so much the API. It had been Beam vs
Spark. Now, Google are changing tack and saying it is TensorFlow on Kubernetes
with distributed processing vs Spark-based ML pipelines (that may use
PyTorch/Tf for training).

~~~
wjarek
I work on TFX. TFX started as an internal Google project [1] but over the
years we've been steadily open sourcing more and more of it. Portability and
interoperability are key focus areas for our project, more information in [2].
TFX OSS currently consists of libraries, components, and some binaries. It is
up to the developer to pick the right level of abstraction for the task at
hand. More information about this in [3]. Many of the ideas in TFX were
inspired by an earlier production ML system at Google called Sibyl, more
information about Sibyl in [4]. The two systems combined represent over a
decade of production ML experience of many engineers and we hope other
engineers will find it useful, too.

Also of interest may be this overview blog post [5] by yours truly :)

[1] ACM KDD '17 "TFX: A TensorFlow-Based Production-Scale Machine Learning
Platform"
[https://dl.acm.org/doi/10.1145/3097983.3098021](https://dl.acm.org/doi/10.1145/3097983.3098021)
[2]
[https://www.tensorflow.org/tfx/guide#portability_and_interop...](https://www.tensorflow.org/tfx/guide#portability_and_interoperability)
[3]
[https://www.youtube.com/watch?v=zxd3Q2gdArY](https://www.youtube.com/watch?v=zxd3Q2gdArY)
[4]
[https://www.youtube.com/watch?v=3SaZ5UAQrQM](https://www.youtube.com/watch?v=3SaZ5UAQrQM)
[5] [https://blog.tensorflow.org/2019/05/research-to-
production-w...](https://blog.tensorflow.org/2019/05/research-to-production-
with-tfx-ml.html)

~~~
jamesblonde
I am getting downvoted here without anybody actually addressing my arguments -
TFX/Beam being replaced by TFX/KubeflowPipelines and the new platform being
plugged in tightly to Google's managed services (AI platform, BigQuery, GCS,
etc). I didn't think my tone was negative - they are observations that nobody
in this subthread is addressing. As a systems person, TFX to me was a layer on
top of Beam to tie ML pipelines together. Now, Beam is gone - dataflow appears
as a managed service you can use in your pipelines (see the figure on the blog
post). TFX is being repackaged as the API for Kubeflow pipelines. That was my
take and what i wanted to discuss.

~~~
doomslice
For what it's worth, I can't even downvote :)

I don't know the _eventual_ direction of Kubeflow/TFX -- but in our TFX
pipelines you still get to choose where it runs. From the docs:

> Apache Beam is an open source, unified model for defining both batch and
> streaming data-parallel processing pipelines. TFX uses Apache Beam to
> implement data-parallel pipelines. The pipeline is then executed by one of
> Beam's supported distributed processing back-ends, which include Apache
> Flink, Apache Spark, Google Cloud Dataflow, and others.

You can also choose to run it on Kubeflow itself.

