I’ve been meaning to write this for a couple of months now, but simply haven’t found the time. Life has gotten quite busy for me lately, and I hope to explain why.
First, the elephant in the room – I have left Google and finally stepped into the ML industry. I’ve accepted a position as a research engineer at OpenAI. To say that I am over the moon about this would be to understate it. This is, quite literally, my dream job.
Somehow I have convinced someone to pay me to do the exact thing that I spend most of my free time doing anyways. Oh, and they’re going to give me access to a couple hundred GPUs on one of the fastest computing clusters known to mankind. Oh, and I get to work closely with some of the leading minds in ML. Oh, and I get to help build production ML systems that don’t do ads, recommendations or classification. Oh, and I get to work in Pytorch. Hot damn.
They are forcing me to use a mac, though. That deserves a few sad emojis. 😭😭😭
But.. OpenAI isn’t Open!
When I tell people I’ve joined OpenAI, the most frequent response I’ve gotten are eye rolls – or at least the digital version of them. OpenAI’s reputation is hardly sterling these days, but I think that this is quite unfair. To understand why I hold this view, let’s consider two systems, starting with Tortoise:
Tortoise is a system (built by me) comprised of five models. Let’s enumerate how much inspiration this system takes from OpenAI’s work:
- The VQVAE, AR and diffusion models all use hyperparameters released by OpenAI. Hyperparameters are expensive to discover. As a solo researcher, I did not have the compute to spend finding them. This project would have been a non-starter right here if OpenAI had not published these figures. This is not an industry norm.
- The AR model is a bog-standard GPT model, built by HuggingFace to the exact specifications of the original OpenAI paper.
- The interplay between VQVAE<->AR<->CLVP is heavily inspired by the original DALL-E.
- The diffusion decoder uses a lot of code open sourced by OpenAI for working with DDPMs in Pytorch. It would have taken me months to build something like this on my own.
Let’s also take a look at Stable Diffusion. In this case, I can only infer things based on the code that is available, but the evidence of influence seems pretty clear to me.
- The general approach is similar to GLIDE, applied to LAION 5B + latent diffusion.
- It uses the text encoder from CLIP open sourced from OpenAI.
- Both the u-net and the diffusion algorithms look “inspired” by OpenAI’s open source code to me. I hope this isn’t too bold of a claim to make, but let me posit that I am in a unique position to say this as I did my own extensive “borrowing” of this code when I wrote Tortoise.
I don’t mean to belittle my own work or the work of the Stable Diffusion team in saying these things. Both of these technologies bring a lot of new approaches to the table and have their own merit. I only mean to point out that these amazing technologies have been built on top of the work put out of a company that much of the open source community sees as being “closed”.
I had meant to write this article a few months ago when I got hired. Instead, I got swept up in all of the amazing things being done at OpenAI. With the compute that has been given to me, the only limitation to building all of the systems that I can dream up is my own mind, and my ability to convey these ideas to a computer. Let’s just say that I have a lot of ideas. Practically speaking, this means I’ve been “working” quite a bit lately.
I’m not alone here. OpenAI is full of brilliant people with a lot of ideas. Coming from Google, it is incredibly refreshing to work in an environment with this kind of ambition and passion. Independence is also highly respected here. What is done with any given research effort (e.g. whether it is productized, open sourced, etc.) is largely defined by the whim of the lead researcher on that project.
Let’s mix all that together in a pot: you have a lot of independent, smart people who have a lot of ideas and not a lot of time. You have an open source community that has become quite hostile lately. From personal experience, extracting a ML model from its training environment and providing a coherent open source API is challenging and time-consuming. Is it any surprise that many of the researchers at OpenAI prefer to spend their time doing something other than open source work? This is something the open source community could really help with: drop by and say “thank you” in your favorite GitHub repo from time to time. There are real humans that read these comments and your appreciation really means a lot.
Safety is Important
Many of OpenAI’s “closed-source” decisions are driven by safety concerns. I think this has been effectively conveyed to the world at large, but I think many people in the open source community do not believe it to be true.
I’m sure I’m coming across as a “corporate shill”, but I’m going with the company line on this one. AI systems are dangerous and becoming more dangerous. Critics are getting louder, and keep showing up in headlines. Every misstep is loudly celebrated at the cost of reputation.
Some research labs handle this problem by only releasing papers and never releasing code. With such an approach, the ethical concerns of their system can never truly be questioned. Others handle it by staying away from “problematic” research like generative models. Here, you can do a lot of “open source” work, but have very little impact on society. Still others operate in complete secrecy. This is the kind of company that OpenAI was built to fight. Imagine a world where Cellebrite developed Tortoise but didn’t tell anyone about it. That’s terrifying.
I think OpenAI may be the only company who is facing the challenge of deploying large, potentially dangerous models head-on, and I appreciate the courage it takes to do so.
There will be blunders along the way. In retrospect, I think we can all have a good laugh at the safety concerns surrounding GPT-2. I am also not sure I am convinced that image generative models need gender and race equity built in. But I’m glad that people are thinking about this. I’m glad that at least someone is trying to consider the long term effects of the systems being built. I hope you are too.
While I don’t think OpenAI gets the respect it deserves from the open source community, I do think the open source community is right that there is room for the company to improve. From an insiders perspective, I can tell you that this opinion has been heard loud and clear, and I truly believe that everyone – from management to individual researchers – is working to be transparent wherever it is possible. I have personally expressed my intent to open source some of the projects I have been working on and have received strong support to do so.