top | item 8900633

Facebook open-sources deep-learning modules

389 points| darklrd | 11 years ago |research.facebook.com | reply

71 comments

order
[+] DannyBee|11 years ago|reply
Sadly, this has facebook's new, horrible patent clause.

For those who aren't aware, it says

1. If facebook sues you, and you counterclaim over patents (whether about software or not), you will lose rights under all these patent grants.

So essentially you can't defend yourself.

This is different than the typical apache style patent grant, which instead would say "if you sue me over patents in apache licensed software x, you lose rights to software x" (IE it's limited to software, and limited to the thing you sued over)

2. It terminates if you challenge the validity of any facebook patent in any way. So no shitty software patent busting!

[+] bitL|11 years ago|reply
Does this apply in continental Europe as well? I doubt so. You can't give away your rights via any form of contract.
[+] jongraehl|11 years ago|reply
As long as you're doing your training offline and shipping the resulting learned models, I don't see this is a big risk. If you're planning on shipping software that can learn online, then sure, use something else for that, or ask for a better deal from FB.

I wonder what would happen if every company offered patented algorithms under these terms. Still wouldn't stop patent trolls, I'd guess.

[+] tim333|11 years ago|reply
As I read it is basically says you can use Facebook's patents unless you turn around and sue them in which case the deal's off. I'm not sure it's that awful - I mean how many companies are planing to use Facebook's patents and then sue them?
[+] mcintyre1994|11 years ago|reply
This does look terrible but I'm not sure about number 2 - can you quote the part of the clause that suggested that?
[+] swatow|11 years ago|reply
I understand the concern. For reference, what are the worst patents that Facebook owns? Do they own patents that should not have been granted?
[+] bpodgursky|11 years ago|reply
I appreciate that Facebook open-sources their libraries, but they have an awful habit of dumping source code on Github and then continuing to develop it internally without pushing those changes back out.

For example, Facebook open-sourced Thrift, then proceeded to develop it internally, and recently released out a fork of thrift, not merging anything back into the original tree.

Likewise, they open-sourced Corona a few years ago, their Hadoop fork, and I'm pretty sure that branch has been abandoned too.

So I'm really hesitant to start using any projects out of Facebook unless they develop some processes to actually maintain these projects.

[+] choppaface|11 years ago|reply
Agree that their stewardship has been lacking (especially in comparison to say Apache, Docker, etc), but for research code this is a pretty nice release in terms of the scope of problems solved. For research it's more important to have an implementation of what worked (and what /didn't/) than a polished solution + well-kept community because a lot of the current code will probably get thrown away eventually anyways. The service here is research done rather than software provided.
[+] amelius|11 years ago|reply
From the article:

> We hope that these high-quality code releases will be a catalyst to the research community and we will continue to update them from time to time.

[+] nightski|11 years ago|reply
Too bad it is Torch. Working in the lua environment is not enjoyable at all. Every error becomes a long procedure of looking deep into the source of the framework since there is no type information or stack traces to go off whatsoever. You are constantly guessing about the shape of the data or what parameters are supposed to look like.
[+] smhx|11 years ago|reply
there's clear and well stack-traces at the lua level. there's great debugger (in fblualib, called fb.debugger). there's an inbuilt profiler into LuaJIT. too bad you've had a bad experience.
[+] vonnik|11 years ago|reply
This is a recruiting move. Facebook is building its DL team, and to do that, they need to grow the community using their tools.
[+] publicfig|11 years ago|reply
I see no issue with open sourcing tools to recruit developers. Honestly, that's one of the best methods I can think of.
[+] ghayes|11 years ago|reply
And yet we should applaud the move. I will always appreciate a company moving proprietary technology into the public sphere.
[+] technologia|11 years ago|reply
We've been using Torch for a while at work, really appreciate Facebook doing this. Some of us had a hard time adjusting to Lua, but it was well worth it.
[+] chubot|11 years ago|reply
I'm curious what your team experience was with Lua.

IIRC, Lua is even more liberal than Python in that if you mistype a variable name, it will silently give you 'nil' rather than throwing an exception.

Also, the prototype system is a little wonky. It seems overly flexible and makes you do too much work yourself, which would make it hard on a large team all getting started at once.

If Torch gets popular I wonder if something like TypeScript or Facebook's own Flow would start to make sense.

[+] muser|11 years ago|reply
Could you provide some steps how you could bring everyone one board? We are still having python/R migration issues.
[+] Houshalter|11 years ago|reply
Torch is really cool. I wish I could use it more. Sadly it isn't supported on Windows.
[+] UXDork|11 years ago|reply
Does anyone know what Facebook is using the AI for?
[+] raverbashing|11 years ago|reply
Basically everything in FB has one main goal: Ads

Secondary goals might be: Spam detection and extracting info from the graph/pictures, etc

FB identify people from your Social Graph in Pictures, for example

[+] anantzoid|11 years ago|reply
To further personalise the user feed.
[+] frik|11 years ago|reply
Wow great. I dreamed of an AI platform based on LuaJIT a few years ago. Torch and FB's deep-learning module sound amazing!