1,236 karma · joined January 28, 2012
Founder of: http://konduit.ai/
Deep Learning guy. www.linkedin.com/in/agibsonccc/
Github: https://github.com/agibsonccc/
Twitter: @agibsonccc
Author: http://deeplearning4j.konduit.ai/
Based in Tokyo (yes not San Francisco)
What's wrong here with many of the guesses people are making though: They think simple open standards are enough.
It's a lot more than that. Don't alienate the market forces that also need to move to make this work. Too many coders write off the real business incentives side of this.
Viable competition will come from multiple vendors and possibly backwards compatible/interchangeable standards that don't require many changes in code. Give me a path forward as a vendor. Show me the money. Put code out there and maintain it/keep it up. Show me it's going to stick around.
It's like any SAAS you'd pay for or an IDE you invest in, vendors want to see an ecosystem that fulfills a set of requirements and allows them to get work done for their customers.
Right now cuda is still that best tool. I covered what will likely need to be considered in my parent post so I won't reiterate that here.
I only ask that folks don't assume that "open source linux drivers and open standards and 1 open source framework with opencl support" are enough to unseat nvidia. The market won't move for that.
Re: AMD/Intel. We've been waiting for them to get their act together for years. Nervana could be great but I'm going to wait on that one. So far their "launches" have been nothing more than marketing fluff.
As for your projections about tensorflow. It won't be tensorflow. Tensorflow will be 1 of many frameworks. Look I like HOPS but you guys push tensorflow explicitly. A startup running its own hadoop distro that happens to push tensorflow isn't going to move the needle. You guys are great middleware I'm sure but I haven't seen the customers where it might be viable. I hope you guys continue to grow though! While you're doing that, most hadoop vendors are focused on moving up the stack. It will take people with actual resources to move the needle in terms of enterprise adoption.
Amazon is doing this with mxnet and EMR, MapR is pushing tensorflow in their serving. CNTK is being pushed in SQL server and HDInsights. There's some competition there.
What I'm getting at here is: it will take multiple vendors and competition. I'm going to place my bet on the bigger players already involved with the foundations first though. Open standards (addressed below) where it commoditizes the chip will be key. The storage infra will follow from that. It should be something that doesn't displace current infra but allows interop.
Things like nvvm from the mxnet folks, onnx (where the framework doesn't matter anymore!) being pushed by the various hardware vendors etc will move the needle. You need buy in from the actual big players who can upfront the development time in to making these things viable alternatives.
For your "seamless transition" I'm not sure that would be that hard done right. Supporting "great tensorflow" can come in multiple flavors. As a separate issue, tensorflow's production story is horrible. That's another topic I could rant about all day though. It ultimately comes from abstracting it away though. That by itself is a hard problem (Disclosure: I have my own solution for this that I won't talk about here just know I'm biased :D)
Lastly, I question whether opencl can even be a viable alternative. It's a fragmented inconsistent standard with a worse API than cuda. One reason it "won" is because it's in general cleaner and a clear leader in the space.
There's always big companies that get disrupted because they kill good will. That's the start to something. It takes more than 1 move. Will NVIDIA make this mistake over time? Likely.
Will it be AMD and Tensorflow support that does it? Not by a long shot. It will be by a series of players providing the right incentives. My response (nor any response to this) should not be treated as binary. Ultimately in order for a company to be "disrupted" you need to actually analyze and exploit the market forces involved here. just writing this off as "open ecosystem is all we need" is dangerous.
There's also just not much incentive for people to move to AMD here. There's a reason NVIDIA gives out these graphics cards like candy to academia. It's because they want to make their margins in data center while keeping the broader developer community locked in to cuda.
People on HN make broad and sweeping comments about "if you open it they will come and everything will be magically better".
It's a lot more complicated than that. The market incentives just aren't quite there yet. Could it happen one day? Yes. Will it happen today? No. It's going to take a lot more than this for other vendors to start supporting AMD.
What I will say: There will be competition and the space is heating up. AMD is one player.
Now let me put my commercial hat on here: What would it take for me as a deep learning vendor to support/care about AMD?
1. Show me the money. I need a clear revenue stream. AMD has some hope here. Customers don't care about which gpu they use as long as it fulfills a use case they care about.
2. Code: Show me something that's actually a robust. A 1 off fork of any deep learning framework (see the random 1 off caffe forks that aren't actually caffe by nvidia, intel,amd)
3. Share the burden. Put the code out there and support the broader community. Actually maintain and follow up with the latest innovations (hint: this is hard. throwing code over the wall once doesn't mean anything)
4. Amazon will be key here. Google cloud (look google is great but they aren't the leading cloud player by a long shot and likely won't be anytime soon) - get them on board with some AMD cards.
5. (Disclaimer I know the founders) - make opencl not suck. https://vertex.ai/ is an interesting player in this space.
So look, I won't say it's impossible. Let's just not ignore the actual commercial market forces that are also at play here.
We also make sure folks understand that mistakes are allowed, not communicating is not. It helps we hired a ton of folks from our open source community. It takes a certain kind of hire for this to work well.
You might not use the tools immediately but the fact you can debug java stack traces using one of the more "fun" languges certainly doesn't hurt.
Another perspective: if you ever get in to data engineering it's usually a big requirement to know something java related.
We spread our decision makers across 4 countries and ensure that there are multiple points of contact, otherwise you end up with exactly what you're describing. It's a real shame when this happens. Remote is harder and you definitely need to account for it.
So let me turn this on its head. Why does it matter? Use what you find works for you. If you already know the concepts, what's stopping you from just using pytorch for now?
I would suggest stepping back and asking yourself that first. Don't learn something "cuz hype".
Granted, TF has the new eager api that just came out. That might help you?
I guess what I wanted to do was add a bit of nuance. It can help reduce the amount of feature engineering needed. Of course you still need a baseline representation though. More feature engineering also doesn't hurt. I always think of deep learning in the time series context as a neat SVM kernel with some compression built in. With the right tuning it can give you a better representation which you can use with clustering and whatever else you'd like.
While you are right that some feature engineering is needed, there's no reason DL can't be a part of your workflow.
https://www.slideshare.net/agibsonccc/anomaly-detection-and-...
https://www.slideshare.net/pacoid/humanintheloop-a-design-pa...
For more of the basics, my book on deep learning might help as well (minimal math vs the standard text book):
Let me correct myself a bit. I guess what I should have said was public places? For example cafes or mcdonalds you can find tons of people sleeping in there, another example is train stations.
Obviously yes these are very different things, hence my correction.
I've lived in tokyo a year now and SF 2.5 years and I don't regret my move at all.
The guys lying in the street like that (even if not homeless) is actually culturally accepted. You see people sleeping in all sorts of places in Tokyo.
I won't comment on whether that's "good" or "bad" but it's definitely different than the US. I still heavily prefer Tokyo despite that (I don't see it that often in practice)
The worst areas are by far Roppongi and Shibuya. Admittedly, I don't go to Shinjuku as much.
I now live in Japan full time.
I'll echo other replies and say more mature market and it's what I like to call a source of money rather than an aggregator.
Singapore's main benefit is being a "hub". If you have access to the direct sources of money though, it's a hard justification (By that I mean more mature markets in east asia that might not speak english)
I just came back from Singapore a few days ago and my assessment of the market is still the same. I talked to enough companies there to see it still doesn't make sense for us to be there yet. In general, I also feel like I can make more of a difference in Japan than SG (everyone speaks english but there aren't as many resources and companies are really conservative when it comes to buying software)
Ironically, I've created jobs in Japan so I feel like I'm contributing actually. I'm happy with my position in the country and hope to stay for a long time. My co also employs people in the US though.
Being that I'm a founder myself, I strongly advocate for US immigrants where possible. I wouldn't have been able to get my start anywhere else (even japan) if I didn't have US resources (especially being YC backed)
It really depends on what your definition is I guess. I also don't really feel like I've integrated with the culture. I've really only been here a year. I don't know a lick of the language (I mean I can do basic things like order food, have basic conversation etc) but ultimately I don't think I'll consider myself an "immigrant" till after that happens. Hope that helps. I'm sure other folks would define it as well.
It's a gray area. I still get paid by america (while living in japan)
FWIW, JETRO is like that too. A lot of the process happens in Japanese (it's basically only foreigner friendly in name)
It's still a good start but it's definitely not what it's spun to be.
I have people I'm complaining to and they are changing though (even if it's taking them a few months)
The willingness to change is definitely new for Japan.
I setup my company and then got my bank account. I still don't use it.
I'm assuming anyone in this thread looking seriously at japan will be hiring the right operations person to help you. Otherwise, you can't get much done without speaking the language (day to day is fine,
but for example the immigration office expects you to know some japanese if not just bringing someone with you to help you)
While it has not been too bad, the paperwork and initial startup was a bit of a hassle.
I would be careful around this route.
In my case my first hire helped us set it up, and then he handed director over to me. You obviously have to do this with someone you trust. Would not recommend this for every situation.
Edit: I obviously hit a nerve here somewhere. I stand by my position here. Get the right legal help. I can say it was a pain to find but once I did the process was smooth. It's not impossible like people make it out to be. Any process has bumps.
Don't be crazy and do it yourself though.
Just like anything, there's right and wrong ways to do it. If you do it the traditional way with a japanese speaking landlord who mistrust foreigners, yes it can be hard. That is a significant portion of the market.
One thing I will say, there are real estate companies that actually cater to foreigners.
This has been my landlord for a year and I just renewed: http://tokyoeasyrent.com/en/
There are other companies like this in the space. Look on places like gaijinpot for more information like this: https://gaijinpot.com/
It's just like any real estate market, do your research beforehand.
Where I will admit it can be harder is when you want to procure a larger house. They don't tend to ask too many questions for studios (which should be enough for entrepreneurs family aside).
That being said, if you do have family, spend your time finding right place and ask for referrals.
Japan has its downsides but it's by far the best place I have ever lived (especially compared to SF) both food wise and price wise.
Re: Kinetica. They are doing visualization as well as things like machine learning.
I like your guys' approach a lot better. I see a clear bridge from the mass market commodity storage to something useful actually leveraging GPUs. That's why I commented. Best of luck to you!
Like us you're kind of strattling the line between the hadoop ecosystem and GPUs. Mesos does this as well.
It seems like most folks in the GPU space still don't get Hadoop or S3 as a data source yet though (despite it being the dominant source of data warehousing S3 or otherwise).
How are you guys coping with this? Have you found a different experience than me?
It seems like a lot of the big data companies are at least adding some sort of gpu management as a checkbox now so the spaces will likely converge with or without the MPI crowd.
The other trend I'm seeing is you have folks like MapD and Kinetica trying to run the whole stack themselves. I'm not sure how well that will go overall (especially given how you can't really have everything in 1 warehouse typically). Could you comment on this? Are you going to try this as well after integrating?
I hope to see more companies in this space actually exploring this intersection.
Many make the mistake of boiling the ocean and doing nothing well though. Due to that it ends up being consulting. How will you guys over come that? Reworded, what is the initial focus vs the long term strategy?
As a maintainer, seeing it every does tend to annoy me a bit. I always try to remind myself people dont usually mean ill though. All bets are off if people continue to disregard the framework for engagement though.
Most people are a bit surprised I do this but are generally receptive after the initial explanation.
My main philosophy in these interactions is just to treat people professionally while being stern on things out of scope.