
Google Sprints Ahead in AI Building Blocks, Leaving Rivals Wary - ucaetano
http://www.bloomberg.com/news/articles/2016-07-21/google-sprints-ahead-in-ai-building-blocks-leaving-rivals-wary
======
cs702
The way I see it, TensorFlow has already won, even if competing frameworks
don't yet see it that way. New ideas and research breakthroughs will spread
faster to the framework that has the most users and contributors, thereby
attracting more users and contributors, in a feedback loop.

Some of the other frameworks will continue to be used (for example, FaceBook's
AI team is unlikely to back away from its commitment to Torch), but the
TensorFlow ecosystem and its network effects appear to have reached 'escape
velocity' in a winner-take-all space.

New higher-level services and products will be built atop the framework most
widely used by the most software developers, almost by definition.

Expect a shakeout: [https://medium.com/@mjhirn/tensorflow-
wins-89b78b29aafb#.bzl...](https://medium.com/@mjhirn/tensorflow-
wins-89b78b29aafb#.bzlyyk3ed)

\--

EDITS: Added the "new higher-level services and products" sentence.

~~~
vonnik
TensorFlow has kind of won the Python deep-learning community, although
frameworks like Keras[0] make it easier to use. While Python programmers make
up the majority of deep-learning practitioners, they don't have much
penetration in enterprise, which is chiefly JVM and lower-level languages.

Deeplearning4j [1] has won deep learning on the JVM. Nothing else comes close.
(Disclosure: I'm one of its creators.) DL4J has the most sophisticated Spark
integration, plugs into Kafka and works as a Hadoop job. It does all that
while running on distributed GPUs, multiple CPUs and heterogenous hardware. It
wraps cuDNN, which is faster than Tensorflow.

Finally, part of our stack, JavaCPP [2], is used by the TF communities as well
as other big company projects to bridge the gap between Java and C++.

Dev mindshare in the form of Github stars doesn't equal revenue.

Finally, there are a number of strategic problems companies face when adopting
a Google project. First, they are leery of depending on Google when they also
compete with it. This is particularly true because Google doesn't open source
a lot of its best work, like code from DeepMind. So Tensorflow adopters are
getting the leftovers in a way, and they're kneecapped in the AI race.

Secondly, Tensorflow is not platform neutral. It's optimized for TPUs, which
are not publicly available. It's a play to attract people to the Google Cloud.

[0] [http://keras.io/](http://keras.io/) [1]
[http://deeplearning4j.org/](http://deeplearning4j.org/) [2]
[https://github.com/bytedeco/javacpp](https://github.com/bytedeco/javacpp)

~~~
cs702
Upvoting, because I agree that JVM and .NET shops, like commercial banks and
industrial manufacturers, are more likely to use Deeplearning4j (DL4J) and
CNTK, respectively, than TensorFlow (or anything else, really).

However, those corporate shops are typically many years behind the state-of-
the-art in AI, and in many, if not most, cases, they will likely end up paying
for higher-level "AI services" provided by a third party than building new
kinds of applications in-house with lower-level frameworks.

My view is that those new AI services will be created by startups we haven't
heard about yet, led by developers outside of Corporate America who by and
large are betting on TensorFlow and non-Oracle, non-Microsoft stacks.

Google's competitors will of course want to use their own in-house frameworks
regardless.

\--

PS. By the way, I think DL4J is awesome. Great job!

~~~
agibsonccc
(Disclosure: Vonnik's cofounder creator of dl4j)

That's more than likely the valley echo chamber. These kinds of startups are
going to continue to appeal to people like themselves getting acquired by
google eventually. The same scientists who create these services have zero
clue about the sales process in enterprise and can't often figure out how to
sell in to these corporations and actually create some kind of long term
value. Our differentiation in this space is being able to do EXACTLY that
while also adding features that are actually useful. By the time they have,
they're usually bored and realize they just want to work on cool problems and
therefore: sell.

Most research out there generated quickly is actually useless for products.

I'd rather implement every 5th iteration of a technique that has significantly
better results than jump on the feature treadmill.

~~~
cs702
As much as I want you guys to succeed, I must disagree with this comment,
because there are an awful LOT of people in the valley who know how to build
scalable enterprise-sales organizations, and "AI service" startups with
traction will have little trouble finding and recruiting those people.

I would not bet against the valley's "how to build a giant business"
expertise.

~~~
agibsonccc
We're _far_ from that. Much of what we actually sell are solutions focused on
anomaly detection. We actually do most of our business in asia where the on
prem market is much larger and people move faster.

What I'm trying to point out here is that the people who run these startups
are typically Phds with little interest in building an actual business.

Many of these deep learning startups are built to be quick flips while having
fun for a few years building something cool. That in and of itself is fine.

They build something differentiated and valuable, get paid a handsome chunk of
money. No one really loses when that happens, it's just different when you
want to go to market.

That being said, you have every right to bet against us. That's how many large
companies start is with detractors.

90% of startups also fail. We have a different opinion on how it's done. Only
time will tell whether we succeed or not.

That being said: Where's your deep learning startup? ;) At least we're trying
something different.

~~~
cs702
There will be room for a good number of niche frameworks, some of which could
be highly profitable for their creators/maintainers. I don't disagree with
that :-)

My point was -- and still is -- that the competition to become the _dominant_
framework has already been won, by TensorFlow, because it has captured the
hearts and minds of the most developers. Most new AI services are being built
atop TensorFlow -- not DL4J, nor Torch, nor Theano, nor Caffe, nor CNTK, nor
anything else.

Let me finish by sharing a video of Steve Ballmer, former CEO of Microsoft, in
which he emphasizes the importance of attracting developers to a stadium
packed with Microsoft employees:
[https://www.youtube.com/watch?v=Vhh_GeBPOhs](https://www.youtube.com/watch?v=Vhh_GeBPOhs)

~~~
agibsonccc
There's 2 things I'm not so sure about: python as the dominant ecosystem long
term and 2: most people doing machine learning yet.

I'm still convinced most people just star tensorflow "cuz google". I'd like to
see a statistical analysis of people actually using tensorflow for their job.
I get the developers bit...but not much of it equates to revenue.

Developers don't pay. Period. That devs bit might work for lock in to cloud
services (google compute engine). That play doesn't work for on prem though.

What's happening here is you're equating startups/cloud to "the whole world"
while ignoring where most of the money is being made and how many people are
actually using machine learning. I'd love to see this play out more before
declaring a "winner". Still seems too early yet.

Anyways - as I said we'll see who wins and who doesn't. I won't say whether my
guess is absolutely right or wrong. I just don't believe in silicon valley's
ability to build "hard stuff". I think we're still very much in the hype phase
yet. It might return some day though.

~~~
cs702
On #1, although TensorFlow has well-supported APIs only for Python and C++ as
of now (see
[https://www.tensorflow.org/versions/r0.9/api_docs/index.html](https://www.tensorflow.org/versions/r0.9/api_docs/index.html)
), support for other languages is on the way (search Google for specific
examples); moreover, TensorFlow can be readily deployed as a service (see
[https://tensorflow.github.io/serving/](https://tensorflow.github.io/serving/)
) in mixed-language environments.

On #2, I agree: most people will use higher-level AI services developed and
provided by third parties.

How about we revisit this in, say, three years, and see who turns out to be
right?

------
garbage_stain
Number of stars on Github is not a great metric of the health of a project.
TensorFlow, in particular, has received a lot of attention, so a lot of people
have starred it, but this does not measure the number of non-Google
contributors or what would happen to the project if Google abandoned it.

Note that I'm not saying TensorFlow is going to fail in the future; I'm saying
that the measures used in this article are dubious at best.

Does nobody remember Elefant, Alex Smola's machine learning library that had a
lot of hype then suddenly died after he left NICTA? The machine learning world
is littered with tons of dead projects, and many of these died without a lot
of warning. I'm concerned that this effect is only going to get worse now that
machine learning libraries are often company-controlled instead of academic.

~~~
mappingbabeljc
Hi there, I wrote the article. We also looked at data on things like number of
forks and contributors on GitHub as well as massive rise in questions on
StackOverflow (thanks to Delip Rao's great post here
[http://deliprao.com/archives/168](http://deliprao.com/archives/168) and
invaluable ecosystem analysis from Francois Chollet). These other things were
cut for purposes of length and because we felt a mainstream reader (which is
more Bloomberg's audience) would be able to understand the 'stars' figure most
easily of all metrics.

Obviously I agree with you that this measure isn't definitive, but we felt it
was relatively easy to understand. And the rest of the reporting we did for
this story bore out the idea that TF has gathered an unusual level of both
enthusiasm and commitment in a short amount of time.

Thanks for reading!

~~~
stanfordkid
good points, though I would argue that tensorflow fundamentally is a way to
define transformations. Think of it like assembly language. There are higher
languages that expose higher level constructs (see keras)

------
ISL
The article makes the argument that, by opening up TensorFlow, other companies
are at risk of having their TensorFlow-fluent employees poached by Google.

Trouble is, if other companies are using the same tooling as Google, it's
equally easy for the outside company to poach a Google employee.

Opening up the code to the world is more likely to be a net-good act,
propelling everyone forward.

[https://github.com/tensorflow/tensorflow/blob/master/LICENSE](https://github.com/tensorflow/tensorflow/blob/master/LICENSE)

~~~
gcr
The hard parts of these frameworks isn't the framework itself. The hard part
is understanding what's going on; the same properties common to all
frameworks.

CNNs are hard to understand. Understanding why gradient descent improves the
model is very hard to understand. And understanding the right architecture to
solve a problem takes a significant chunk of your research career unless
you're already an expert.

But languages and frameworks are simple. If you know Caffe, Torch will be easy
to understand. If you know Torch, Tensorflow will be easy to understand. If
you know Tensorflow, the others will be easy to understand. It's quite
possible to get up to speed with a different framework in a few weeks.

~~~
guelo
In the corporate world even a few weeks of ramp-up time can create lock-in and
network effects. Most programming languages can be learned in a few weeks by
an experienced programmer, but there are still huge network effects. Part of
it is that a lot of times you just don't have a few weeks to learn. But the
other part of it is that the more popular it gets the library and tooling
ecosystem also starts growing exponentially, so then you have to add the
learning time of the tooling and library to the switching cost.

~~~
ringwalt
I think the network effects have more to do with clueless recruiters trying to
tick off a list of keywords for a position, than the actual cost to a company
of an engineer ramping up on a new framework for a few weeks.

------
paulsutter
It's interesting that none of the quotes from Torch and Theano folks indicate
any shortcomings of Tensorflow, their sole counterargument is that using
tensorflow might give Google more control.

~~~
mappingbabeljc
Hiya, I wrote the article. What might not be captured here is that this is
above all a community of people all working on AI so it's not like anyone is
really emotional and/or aggressive about this issue. It's more that it's
always better for an ecosystem to have multiple dominant players who are all
relatively equal. Torch & Theano people were saying it's non-optimal if TF
becomes the majority framework, which is a fair point. Everyone I spoke to for
this article said TF was engineered well, albeit a bit of a black box in
certain aspects.

------
Smerity
Some people are noting that TensorFlow evens the playing field, allowing other
companies to poach Google's employees. Whilst that is true to some light
degree, there are amazingly large caveats - Google still have the major
advantage when it comes to poaching. The other important note is that open
sourcing TensorFlow is likely more important for attracting recent graduates
in machine learning than it is for attracting employees of other companies.

Most machine learning engineers and researchers get excited by two things:
underlying hardware and underlying tooling.

Google have enough GPUs to throw 50 K80s for a few weeks into the hands of a
single researcher for a single paper[1]. That's impressive. It gets even more
impressive considering Google are making custom made ASICs that are more
efficient - both power and computation - than GPUs too. None of that hardware
is open source and even if it was, I don't see anyone getting them into
general production in the near future. Nervana[2] are the closest to custom
hardware I know about yet still have many steps until production.

TensorFlow is also just the beginnings of the tooling Google has internally.
The original TensorFlow whitepaper talks about their internal distributed
training stack. A tiny recreation of this has reached the wild but it misses
many of the interesting optimizations. (1) Automated efficient allocation of
tensor operations to components (does this op go on GPU? CPU? Across the
network to another GPU machine?). (2) Minor optimizations, such as truncating
32 bit floats to 16, then re-expanding - they noted it in the paper but I've
not seen external verification. (3) Google DeepMind moved to TensorFlow but
given they do a lot of reinforcement learning, they likely have a modified TF
internally that's better tailored for RL. (4) etc etc etc

Given the majority of the contributors to TensorFlow are also from Google,
that gives them the strongest say in the future of the framework. This is
especially important given that Google would likely be trying to ensure their
internal modifications and variations of TensorFlow remain in line with the
open version. For that reason, I don't expect to see TensorFlow handed off to
a third party caretaker any time soon.

Releasing TensorFlow is a net win for Google, both in "making the world a
better place" and "making Google a better place (for attracting talent)".

[1]: [https://arxiv.org/abs/1607.05691](https://arxiv.org/abs/1607.05691)

[2]: [https://www.nervanasys.com/](https://www.nervanasys.com/)

------
kartD
I'd really like to see what Apple is doing, they usually come late to the
table but they get a lot of things right, even though they may not be the most
technologically advanced. Granted this may not be applicable since this is
more about AI infrastructure.

~~~
s3r3nity
This is actually where I'm worried Apple is falling behind, _because_ they are
a bit private & come late to to the table. Microsoft, Google, and others very
openly share and learn from the AI community, but Apple has been known to be
only a "lurker" at best (for lack of a better term.)

~~~
spacemanmatt
They have almost constantly innovated by acquisition. That explains their
lurker status, I think.

~~~
kartD
They're also very secretive. They only say they do something new publicly when
they have a product to show it off.

------
skybrian
"If the company changes the software too much, then other companies that have
adopted it will need to make a copy of the software and rewrite it to suit
their own needs -- an expensive and time-consuming process known as forking."

Seems like it's the opposite? Forking a project is technically easy. Writing
something equivalent from scratch is much harder.

(Of course there are marketing considerations - it's "just a fork" so it might
not get much attention.)

------
cmaury
While Google may be the leader in Machine Learning tools, they are way behind
when it comes to Machine Learning services.

They've only just now released a Natural Language Understanding service in
beta, and it is more limited compared to other NLU services from
Microsoft/others.

While tooling is important, the market for low level tools is much smaller
than for the services built using those tools. The vast majority of businesses
who could benefit from Machine learning don't have the expertise to run RNNs
using Tensor Flow, but do have engineers who can integrate API's that leverage
trained classifiers.

~~~
nevir
The market for services is several orders of magnitude less than the market
for products that make use of ML. It's probably ok if they don't focus to
heavily on the services side

Google makes heavy use of these tools internally to build a wide range of
products (and enhance existing ones)

~~~
cmaury
How do you see those two as being different?

In my mind, products that make use of ML are using ML services as the back
end. An example would be the recent wave of bot companies: many are not
rolling their own NLU system but rather leveraging services like wit.ai or
Microsoft's LUIS.

