AI Democratization in the Era of GPT-3
thegradient.pub
thegradient.pub
It seems like this two steps forward, one step back pattern might be the rule rather than the exception. Even the article defines AI democratization in terms of using models rather than training models, as the costs of training sophisticated models seems beyond the common developer even according to idealists.
AI in particular seems to be a centralizing technology at this point, given that a model is often a black box to the user. The amount of data as well requires a massive telemetry apparatus, and designing likely models seems the province of people with PhDs.
So yes I'm a bit pessimistic that AI will have a democratizing effect on technology or society, at least in the near future.
I do iPhone apps these days; even though I can follow the various tutorials for how to train an AI to recognise handwritten digits [1], I don’t actually grok the maths behind the back-propagation algorithm and why it’s better than, say, simulated annealing of the weights (which I do grok).
True democracy puts the power in the hands of the masses; making it available to all developers and only developers is like giving the vote to only the richest half of all millionaires. Packaging AI into a simple magic black box makes it available to everyone.
I don’t know if normal people have the right expectations of the tech for that to be generally wise, but that is a separate problem and black boxes are the only way I can see to achieve the goal.
[0] https://www.daxx.com/blog/development-trends/number-software...
[1] https://kitsunesoftware.wordpress.com/2018/03/16/speed-of-ma...
I can follow each of the steps in online lectures, tutorials, etc., but something about it never clicks.
Imagine you have a black box, such that when it produces an output, you can compare it against a target. The black box has a ton of little dials (weights) you can turn up or down, which affect what the output will be.
Say the output of the box was too small relative to the target. Now you want to know how to tweak each of the dials (weights) to increase the output a little, so that next time the output will be closer to the target.
How do you do that? You could do it by trial and error, changing one dial at a time to see how it affects the output (find the derivative of the output relative to the weight). That works but it is very inefficient.
So, what if it was not a black box? What if you could peek into some of the circuitry right before the output is produced? There are fewer knobs there to tweak. More efficient!
You could then figure out how sensitive the output is to each of those end-knobs (weight gradients), and even to the inputs to those end-knobs (activation gradients). Your life is getting easier.
But wait, why stop there? Now that you know how the circuitry close to the end output works, you can repeat the same process iteratively working backwards towards the inputs of the black box (chain rule). In the process, you will know exactly how much each dial affects the final output.
Instead of doing all this numerically by playing with the dials, you can do the same analytically if you know the (derivable) functions that compose this big box of dials.
That's how it's done, basically.
Technology can be a rollercoaster ride of benefit and detriment.
But people are also capable of unspeakable cruelty. Depending on your outlook on humanity, that insight may or may not give you sympathy for neo-Luddites.
Transfer learning takes care of your first point. The second is taken care of by the plethora of open source libraries such as fast.ai that abstract away most of the decisions one needs to make when creating a deep learning model.
Oh did I also mention Kaggle and Google Collab offer free GPU to train your models, in addition to the thousands of publicly available datasets?
It was?
And Microsoft's mission for many years was "a computer in every home".
GTP-3 is so complex the model requires large cloud computing resources to run. Ergo, it is also very expensive to run.
Assumption: Bleeding edge AI will require tens of millions of dollars of computation before new network architectures fall out of state space. After this, the models can be pruned to be ran by mere mortals.
If this is true, OpenAI will not be able to move to the next level without partnering with very wealthy institutions a la Microsoft.
If this is true, those calling for OpenAI to not monetize intermittent progress are essentially preventing next generation discovery, unless they have alternative monetization ideas to generate 8 figures for research.
A key concern here with regards to the ethics-of-AI issue is that last year OpenAI refused to release GPT-2 because it was too ‘dangerous’. This year, GPT-3 is suddenly a revenue-generating Microsoft product. The Gradient article linked is one of the more diplomatic ways of calling BS on OpenAI’s strategy. Financial interests taint research in subtle ways, it has for decades, and OpenAI employees being paid $1m in cash salary need reminders of this fact.
Wether thats too expensive depends on what you are doing, and how much what you are doing creates value.More disturbingly is that the whole approach seems to scale linearly in quality based on the amount of training. This implies that the NLP market at least, will not be conquored by start-ups from somebody's garage, but will be owned by whoever already had a shit load of money. Whoever gets more funding will have the best model. Not arguing that people involved don't have a lot of skill, but within this space, its funding (not skill) that will determine who wins the market.
So, unless you can get more funding than the other guys, don't even try the NLP space.
>If this is true, those calling for OpenAI to not monetize intermittent progress are essentially preventing next generation discovery, unless they have alternative monetization ideas to generate 8 figures for research
I suspect they will share the models directly with select customers (with too much money), because the negotation position of these counterparties will be different. The results are easy to replicate with a lot of money. So if you have enough money to do so, your price negotation with them would be more like 'ill pay you 1/3 of that price to liscense your model and save me the time'.
If you dont have enough money to pay the electricity bill to train this much data, however, you can be forced to comply with this bussiness model. Obviously, there will be competitors. Obviously the big boys will likely try to replicate these results (and be succesfull at it). The hope is one of them just open-sources a 'good-enough' model.
Its a bit like Colombus 'discovering America'. Once you know its there the risk/reward of trying to go there drastically changes.
The cost wouldn't be the cost of the hardware because it still exists afterwards. You'd have to discount it for the amount of time it was in use.
Until it's immediate sign up and not some insider walled garden waitlist, from a developer perspective, OpenAI and GPT-3 is anything but Open.
If I was overly pushed to get access, my best chance of success right now appears to be a search on Github for somebody elses leaked API key in a repo somewhere.
The most practical approach that I can see would be to minimize the cost of accessing the model, making it free like author suggests for research, students, non-profits etc. and charging more for commercial usage, basically extending the existing cloud model.
One thing that I think should be free for everyone would be testing the model for biases. Basically if every AI API to check bias on any topic was free, then it could be improved by anyone including marginalized groups. If GPT-3 thinks all Indians are either doctors, coders, or gas station owners then I would like to be able to test, verify, and offer a patch without any cost, maybe even a reward. Otherwise GPT-4-5-6 will end up throwing away all Indian sounding last names applying for a construction job.
It seems like for super gigantic models, good infra to train on cloud deployment (for which many labs can have credits / grants) would be the first priority, followed perhaps by good compression/pruning tech so after training inference can be done on one/fewer GPUs. Any other things?
I think ml models should be public unless the data itself isn't.
You can't translate a commerical book without paying the copyright holder. You own the copyright for the translation but everything else still remains that of the original author. Why wouldn't this apply in case of a machine learning model trained on my images, messages, intents, likeness, etc?
Your data? It’s their data now. (And Microsoft’s.)
One aspect of this is that historically statistical models calculated from large volumes of text (which is a notion that predates computers, e.g. frequency dictionaries and the whole [sub]field of quantitative corpus linguistics) have been considered facts about that corpus of text and thus not copyrightable at all or (depending on jurisdiction) entitled to different set of protections/limitations assigned to compilations of facts, which give some rights to the people who compiled the facts but no rights to the source of these facts (since facts as such can't be copyrighted).
This also applies to many forms of analysis of audiovisual data, where the copyrights of the source works do not transfer to the results of the statistical or qualitative analysis and can't limit their creation, distribution or sale.
The appropriate analogy to a commercial book or movie is not a translation, but some analysis of it - e.g. a thorough literary review and critique of some book or movie is a separate work with its own copyright, and the original author has no claim on it despite the fact that is (obviously) based on the contents of the work and describes it in great detail. Including verbatim fragments of the work is limited (fair use allows some inclusions but not all), but all the other details are not.
Also, the whole notion of copyrightability of ML model weight files is interesting and IMHO not settled. You could argue that there is some creative expression in forming the model (which would support it being copyrightable) or you could argue that it's a mechanistic result of the application of some algorithm and settings (which have the creative part, and are copyrightable on their own), and so the output can't be copyrightable, no matter how much work (human or machine), time and cost it took - at least in USA copyright law doctrine (e.g. Feist Publications v. Rural Telephone Service) is that mere "sweat of the brow" (no matter how much) does not entitle a work to copyright protection; it requires application of human creativity to create an original work, and automated processes can't satisfy that requirement.
So from the perspective of GPT-3 authors it might be prudent to distribute the model only to people who agree to specific, explicit contractual/licensing restrictions on redistribution and usage of the model instead of simply relying on the default application of copyright laws.
And crucially, if some output is not copyrightable, it can't be considered a derived work to which the authors of a source work could have some claim.
1. Artistic/creative expression in my comments.
2. Direct commerical interest. If you are not benefiting from my comment directly, it can be considered fair use and hard to prove otherwise.
In gpt3's case, it outputs artistic expression in the form of poetry/stories and direct commerical interest from data used by common crawl and their api service.
You can argue about derivatives and so on. It's not clear cut in any way but your analogy isn't a good one. We can also give some leeway to humans compared to machines as latter is more deterministic. We know that gpt 3 was trained on which data. We can't say that for sure about you.
Okay, so you don't own part of my brain, but StackOverflow would? Because I definitely commercially use information I've read there.
And I mean, I know English because of all the English material I've read. If I write poetry, I'm working off training data I've read online. It would be borderline impossible to be an artist under these rules.
> We know that gpt 3 was trained on which data.
We don't know what data GPT uses for a given answer. We don't know what data I use for a given answer. But we know what data I read, and we know what data GPT read.
Far as I can tell, the brain analogy is 1:1 here.
They have a well established license you need to follow to use the answers posted on their site and what freedom it provides you.
Using stackoverflow answer to add little bit of code in your codebase is different than reselling stackoverflow answers behind a pay wall.
> But we know what data I read, and we know what data GPT read
No unless you are under surveillance 24/7.
And as I already said, machines are different than people. Copyright laws acknowledge that so human situation wouldn't be comparable. You aren't mass producing creativity and selling it.
Working for a company using information I learnt on SO is exactly equivalent to reselling SO understanding behind a pay wall.
> No unless you are under surveillance 24/7.
So if I'm under surveillance, that means I'm affected by copyright?
> And as I already said, machines are different than people.
I disagree.
> You aren't mass producing creativity and selling it.
As a software developer: yes I am!
https://www.copyright.gov/comp3/
Also see: https://stackoverflow.com/help/licensing
> As a software developer: yes I am!
No. Another reason why the copyright protection not applying to purely automatic processes make sense. A machine could theoretically generate every potential expression understandable by the compiler or interpreter. You can't. You aren't capable of the same mass production. You will die at some point and your work will be released for public but same won't happen to machines.
> So if I'm under surveillance, that means I'm affected by copyright?
No. It just makes it easier to prove original sources.
The reason why I proposed my initial argument is simply for accountability and right to information.
1. Unlike stackoverflow which every participant agrees on a license when they signup, common crawl is different. I believe everyone has right to the weights derived from their data unless they explicitly sell them or give permission.
2. When gpt3 is used for interviews and other filtration: it is important for anyone to be able discern it.
Sure I can, it'll just take a while.
> You will die at some point and your work will be released for public but same won't happen to machines.
I'm not arguing machine produced work should be copyright protected. This is about quite the opposite, about how copyright protection relates to the process of learning as exercised by machines vs. humans.
> 1. Unlike stackoverflow which every participant agrees on a license when they signup, common crawl is different. I believe everyone has right to the weights derived from their data unless they explicitly sell them or give permission.
The big disagreement here is that I think posting anything on the internet gives an implicit license for "brainlike consumption" - reading, understanding and learning. GPT isn't doing anything while training that I'm not doing while reading. It would be impossible for a human to read the text at all without engaging in these processes, and so it must likewise be permissible for GPT.
Consider the futuristic scenario of a brain implant extending your memory for Alzheimer's patients. GPT is not so dissimilar from such an implant operating in standalone mode. I don't see how screwing a brain onto it should change the ethical algebra to make it more permissible.
That's another disagreement. I consider the scale and classification (machine?) to be an important distinction.
I would like to think more about this. I probably won't change my initial stance on requiring ml models to be public if they are used commerically even if point 1 shouldn't apply. However, whether they get IP protection of any sort and who owns it depends on sorting out other points I have considered after this.
Democratizing AI is a fine goal, but it’s secondary to not dying. At least, for OpenAI it is. And that should be obvious.
This article mixes both “should research be open” and “is this work cheaply reproduced / accessible”:
For smaller, open models:
> The average person could not recreate models of this size from scratch, but the models can run on a single machine with a single GPU.
but about GPT-3:
> GPT-3 represents a new circumstance. For the first time, a model is so big it cannot be easily moved to another cloud and certainly does not run on a single computer with a single or small number of GPUs. Instead OpenAI is providing an API so that the model can be run on their cloud.
While I’d quibble with “for the first time” (it’s easy to generate mega models! Plenty of distributed mesh tensorflow stuff does that, etc.), I don’t think this is any different than large physics simulations.
Is it “wrong” to have some groups push the boundary of what’s possible with supercomputers? I certainly don’t think so. If anything, it shows what’s possible and others can do the valuable work of “miniaturization”. In this specific area, PRADO is a good example relative to BERT. For my historic area of ray tracing research, we did lots of things on an SGI Origin that let us “jump ahead a few years” versus what we could have done on any basic workstation.
You could argue that it’s not academically interesting (“you just ran this really big because you had the budget / hardware, whatever”) and reject the paper. [Edit: I consider this kind of work interesting from a systems perspective, not “ML”, but it’s still interesting!] I don’t think it makes sense to suggest that we should hold back progress based on NSF grant funding or least common denominator computing resources. How would you decide what’s acceptable? Is a single A100 affordable? Only a T4? Only a laptop?
tl;dr: it’s fine to argue about openness and democratization being hollow marketing words. I’m not sure I would conflate openness with “everyone, everywhere should be able to run any scientific work without expense”.
On our Cloud TPU product page [1], we have a single TPU v3 pod with 32 TB of memory. For the most recent MLperf submission, the TPU folks hooked up four of them [2]. There’s obviously a reduction in scalability from doing so (see weak scaling versus strong scaling terminology), but that’s the interesting co-design question: what kind of models can you usefully train in an “even more distributed” mode?
Outside of TPUs though, even our single 16x A100 offering has 640 GB all connected by NVLINK (other providers went with 8, so 320 GB of “system memory”) and there are at least a few in a single rack. So the era of TiB scale models is certainly “semi feasible” and “open to all”.
The challenge is that you need to also train these for quite some time. 1000 V100s would cost you at least $2000/hr to rent. Many models are sufficiently complicated (not just large) that you end up training them for days and weeks, even with this much compute. So the numbers add up quickly.
But just being “big” doesn’t mean “trained for a month on a supercomputer”.
[1] https://cloud.google.com/tpu
[2] https://www.google.com/amp/s/cloudblog.withgoogle.com/produc...
But I personally find the complaints to be understandable, especially as someone that didn't get a response for my requests for GPT-3 beta access, it felt pretty bad to watch everyone else have fun building cool things with the world's best text AI while I sat there and couldn't do anything, even if I was willing to pay for access.
Hopefully there will be other relevant players here besides just OpenAI sooner or later.
Like, okay, the model's big and unwieldy to run. But hardware's always getting better, and there are lots of research use-cases where it's okay if it takes ten minutes to page the model in and out of SSD while generating predictions. Plus, maybe we'd get some more discoveries in the field of efficiently running huge models.
The arguments about "safety" were PR nonsense when they were making them about GPT-2, and they're nonsense now. It's a robot that blends up Reddit posts in a food processor, it's barely more advanced than tapping the iPhone predict-next-word button over and over, it's not going to hack the Pentagon or take over the world. The only reason OpenAI has ever had to not publish their models -- and I am ashamed that this industry doesn't call them out more often on this -- is so that they can generate positive press coverage on launch day with unrefutable cherry-picked examples.
I don’t doubt that they’ll profit handsomely from this approach, but it’s the height of cynicism to engage in this kind of stuff and their statements around the practice should be taken in kind.
I’m not saying I agree or disagree with the openness argument, but the equality argument is separate.
The amount of cheap GPU access floating out there is nuts. You can spin up a GPU instance to do best-in-class ML stuff using Fast.Ai on services like Paperspace or Colab, right now, for free.
> especially as someone that didn't get a response for my requests for GPT-3 beta access
We are still working our way through the beta list — we've received tens of thousands of applications and we're trying to grow responsibly. We will definitely get to you (and everyone else who applies), but it may take some time.
We are generally prioritizing people with a specific application they'd like to build, if you email me directly (gdb@openai.com) I may be able to accelerate an invite to you.
Why?
Prioritizing people with concrete project ideas helps them in both areas: they're more likely to convert into paid customers down the line, and they're more likely to generate "OpenAI technology is now being used for X" press releases.
Just framing it in terms of money and "generating positive press coverage" is a little cynical IMO. Is prioritizing any cool use cases of their technology that push the boundaries of today's technology to create real use cases besides "haha look I can make GPT3 parody VC Medium/LinkedIn articles" just press optics? I don't think so but can also understand the concern especially given this article is about democratization.
Assuming you used single precision the model is 350 gigabytes (175 billion * 2 bytes). For fast inference the model needs to be in GPU memory. Most GPUs have 16GB of memory, so you would need 22 GPUs just to hold the model in memory and that doesn't even include the memory for activations.
If you wanted to do fine tuning, you would need 3x as much memory for gradients and momentum.
Running inference on this massive model would be a really interesting challenge for people working on model compression and pruning as well as those working on low memory training. New challenges are always a good thing for research.
Personally, I just wish it was easier to get an access to their API. I have an experiment in mind that I can't wait to try.
If there are millions of ASIC, GPU, etc devices mining cryptocurrencies it is fair to speculate that democratizing AI has a special room in this model.
How did come up the one minute estimate? According to a quick google search I did, the fastest SSDs these days have a bandwidth of 3100 MB/s. So it would take 112s just to read the weights.
Weights loading is embarrassingly simple to parallelize. Just use madam with 3 or 4 NVMe SSD sticks are sufficiently enough. You are more likely bounded by PCIe bandwidth than the SSD bandwidth. Newer NVIDIA cards with PCIe-4 support helps.
Are these big firms are beholden to open up their work to the public for this utopian ideal of democratization?
It's useless.
We've seen this over and over again and there is no reason to believe this is different.
They are also trained powerful infrastructure that most people do not have access to.
So, to speak of democratization is interpreting the current state of affairs incorrectly.
While GPT-3 is trained on a massive V100 cluster, you could probably do so with a much smaller one / there exist interesting smaller models. It’s expensive to rent this class of equipment, but it is available.
The distinction is that OpenAI made a focused bet. Most research funding and labs spread their bets heavily (e.g., each institution or researcher gets $50k/yr of funding). OpenAI takes a different stance, but it’s not clear that they’re spending even as much as say Google, Facebook or other large institutions. It’s also not obvious that you even have to play the same game to get similar results.
Powerfull infrastructure can be democratized in similar way that SETI@home, cryptocurriencies and other P2P projects do it.
In theory this can be done.
GPT-3 is singular; it is one model, one dataset, one training. Yet it will be the only one that will exist for quite some time (or by far the most available), and now it will underwrite productization and malfeasance, a la mode pay to play.
For example, I recently read a paper supposedly written by a Chinese dissident virologist, which report was disseminated by a group with questionable membership. Most of the jargon in the report going over my head, I had to wonder if the otherwise convincing verbiage wasn't the work of GPT-3.