The new business of AI and how it’s different from traditional software
a16z.com
a16z.com
I don't really follow. Nobody thinks a guy driving a forklift is working just as hard as a guy lifting crates by hand. But he's doing more lifting! Why wouldn't you want your job to look easier? The easier it is, the more you can do.
Because you want to be highly paid?
In your warehouse example, both guys are being paid hourly, but the forklift license holder makes more, because he is clearly both more productive and more skilled.
Are you sure? Anyone can shift boxes by hand it requires no training or experience whatsoever. Whereas operating a forklift is a skill that you have to be trained in and are tested on.
From my experiences at the time, there are a lot of such start-ups around, most of which did not actually entirely (or often at all) meet the needs of their customers, and were promising a lot more than they actually delivered. Whereas having data scientists in your organisation meant that at the very least, they were able to develop a proper understanding of your business, and actually create real value.
Automation has taught us that if your job looks easier, it takes substantially fewer of you to do it. Data scientists, in this instance, seem to be protecting themselves from what has happened in manufacturing for the last 50 years.
They will work with whatever let's them focus on the actual domain problem, or a toolchain they are familiar with, or with something forced on them by org (while ranting). You know, exactly like developers
Too true.
Now, you are a business person in a room with your thoughts. A presenter talks and you listen, but you watch the posture, the haircut, the order of speech .. very carefully But you have no idea about how the data moves, or the learning curve to use the tools, or even more how to innovate against "ordinary" .. you have no idea ! How could you.. so you watch the presenter carefully..
Basically, everyone has an idea of lifting a box.. so no matter how detached your life in the office is, you can appreciate a fork-lift. However, you have no idea about thirty years of *nix development, the toolkit evolution, the language wars.. etc
Here is the hard part -- many small-minded people (who run money) think NOTHING of learning.. its not important.. they care about control of the situation, and who gets the profit. Some leaders actually cultivate a smug disdain for "workers" .. some of those leaders have money.. etc...
Know this well - it is hard to believe how true it is, but perhaps you will find out over the years.
I've worked as a data scientist on both sides of the table. As a customer facing data scientist for a product company selling to data scientists and for 2 companies that sell physical products and employ data scientists.
I've been in sales situation where I'm telling the sales rep the product we are selling isn't going to work for the data scientists we are selling to. And their response is to go above their heads because the Data Scientists "Are too technical and don't want to pay for anything."
I evaluate data science products on a semi-regular bases and many that "make my life easier" actually make one thing easier and 10 other things harder. Lots of these products are also new and they are trying to be competitive in a space that people are only starting to understand. So if something is broken I can't fix it. I'm stuck pointing fingers while my management gets frustrated with me because this solution was supposed to make life easier.
There's also the reality that right now open-source is king and if I want to hire somebody it's much easier to find people with those skills. And yes, I have a selfish desire to use open-source tools because I want to be employed in the future.
Don't get me wrong, there are product areas (e.g. Data Science DevOps) where it absolutely makes sense for a Data Scientist to buy something to make their lives easier. And a lot of them do.
They would probably rather advance their skills in woodworking than as a specialist in XYZ Woodco button-pushing.
Building a startup in the "AI" space myself since more than 2yrs now, I'm more convinced than ever that this one major elemnent of a successful strategy for such companies: focus on 1 vertical.
question - what is the best tool in this exact space right now ? (minus deployment)
No one really can really define what precisely AI is. Just in autonomous driving alone, there are 6 different "levels" of AI. If I write a decision tree algorithm, is that AI?
My point is, you can basically use the term AI to justify virtually anything when it comes to the value of software, which just makes articles like this not valuable at all. Why not just call it "this is what software is capable of doing for a business"?
One thing is for sure about "AI", and really just "advancements in software", is that repeatable human tasks are and will be replaced by automated systems. The only thing left for non-software business interaction will be to simply deal with other humans beings.
I don't think IoT is stretched at all, the name implies "refrigerators but with GSM" and "cars, but they report your every move to the manufacturer," and that's what we have. They're "things" (objects) on the "internet" (a data collection system for marketers).
Nicely put. For some months I posted essentially this description to Fred Wilson's AVC.COM. Good to see that I'm not the Lone Ranger in this view.
IIRC I also mentioned that SQL database could be both fault tolerant, including redundant, and distributed. Also last time I read on SQL (e.g., Microsoft's SQL Server) it seemed that the opportunities for security, authentication, capabilities, access control lists, and encryption were good.
"AI" can be stretched very far. If I apply linear regression on user-entered numbers to suggest them something, I can call it "AI" and be less dishonest with it than a lot of startups on the market.
(LR at least isn't a glorified RNG, which a DNN can become if one's not careful, or apply it to a domain that doesn't give obvious, visual feedback.)
LR typically has number of layers = 1, though I bet someone imaginative enough could create "deep linear regression", if that was useful for anything.
It's just that now we're so used to the idea of a computer searching for the best flight, the best map, the best way to optimize your code, the best way to execute your SQL query, that it doesn't seem like "magic" any more.
When you say "no dataset, no training" you're talking about machine learning. And when you say "layers", you're talking about deep learning.
The bigger picture is that function approximation is ubiquitous in applied mathematics, whether it be numerical calculus or statistics. Machine learning encompasses the state-of-the-art, big-compute techniques that have made statistical function approximation so much more useful.
Training is getting computers to recognize a pattern by giving positive and negative examples. It uses huge compute and you get a model.
Inference is using that model to recognize that pattern in new data. It uses less resources, so it can process lots of data quickly or work on a small system.
So when I hear hand-wavy stuff, I just sort of mentally think - what pattern are they looking for, what is their source data and what data will they use it on.
I think you are only talking about binary classification. Even multi class classification is at a significant state of the art level now. But yes, ultimately this is a pattern recognition process.
The article has SOME value!!!! E.g., a nice list of what can go wrong!
I won't defend the article or AI, but the article did at least hint at what it meant by "AI" -- training from data or some such. Or, one might say, large scale empirical curve fitting justified from its performance on the test data (there are some questions here, too, i.e., maybe some missing assumptions).
So, it appears that the article was relatively focused on what it regarded as "AI" and did not fall for the hype practice of calling nearly any software (from statistics, applied probability, optimization, simulation, etc.) AI. Uh, is the prediction of the motions of the planets and moons in our solar system from differential equations and Newton's laws "AI"? How about other applications of calculus, e.g., a little viral growth model
y'(t) = k y(t) (b - y(t))
Is that "AI"? I'd say no, but then want other work called AI should not be?
And then there's the feedback loop. Media keeps telling that "AI" is going to change the future (for better or worse), which makes it seem important. This creates a fertile ground for investors to make money (whether because they believe a product will be revolutionary, or that they can sell it to a greater fool before it blows up). Resulting influx of money incentivizes everyone to try and attach "AI" to anything they can, no matter how hare-brained it is, in order to capture some of that money. Then the media notices all these new companies and report on how AI will change everything, for better or worse. Lather, rinse, repeat.
It depends how that decision tree is produced. If you wrote it all by yourself, it's not. I mean, you just wrote a plain algorithm by yourself. A decision tree is a program, and vice versa.
If, OTOH, the tree is inferred from examples (good old CART for instance) or if it is generated on the fly (good old alpha-beta for instance), it definitely AI.
And actually, I'd say it's a good definition for AI. AI starts at the moment you don't write the decision trees / algorithms yourself but, instead, write a program that will produce the actual decision tree / algorithm.
Writing a program? Not AI. Writing a program that writes a program? Definitely AI.
But optimizing compilers that analyze your code and find that portion of your code can be rewritten to make the produced executable more efficient? I'd say it sound a lot like AI, yeah. I woulnd't be shocked if someone told me "gcc's -O3 option uses AI techniques".
The latter is called Programming By Example, and the pattern-finding process needed to infer generalities from specific samples does benefit from machine learning techniques.
So do you think the following is AI? print("print('Hello World!')")
It is a program which writes a program, so by what you've just said, it's AI...
Aside: For people interested in programs that write programs (that write programs, that write programs, that write programs ...), the following repo might be interesting: https://github.com/semitrivial/ions
Anyway nobody's able to give a compact definition of AI that cannot be destroyed by a ton of counter-examples.
AI in research, as best as I can judge, means "Solving a problem where there isn't a simple polynomial-time algorithm which produces a predictable answer". I once heard someone say "Problems are AI until we know how to do them".
Philosophy sits in a similar niche. Physics, Chemistry, etc were all philosophical problems until we learnt better more specific ways to study them.
Buzzwords are very similar to phatic expressions (aka small talk). They're words that don't convey much information, because they lack stringent definitions. As so, they do little other than feed confirmation biases. Which is why you often find these types of terms effectively used in marketing... and amongst those in management...
When Matt and Adam started the company there was no Tensorflow and outside of Hinton/Bengio/LeCun triangle nobody was doing deep learning yet. Matt just beat Google on ImageNet (around the time when he was doing an internship at Google Brain under Jeff Dean) and was one of the few experts in the field as he was lucky enough to have Hinton as his masters thesis advisor at UofT and did a PhD at NYU under Rob Fergus and Yann LeCun.
We had a clear technological advantage for about 2 years but thanks to the open nature of deep learning research (arxiv and willingness to open source code) the whole field caught up. Google giving out tensorflow and pretrained models for free made a bit of a dent as well.
A big problem with the "machine learning model as a service" business model is that each customer has slightly different needs and a different source of data so an off the shelf solution is usually not good enough. Because of that you end up being forced into doing consulting for large companies that don't know how to hire machine learning engineers. You end up spending months building them a model that they won't even know how to use and move on to the next customer.
IMHO there are only two viable AI business models right now:
1. Spin out your research lab into a company and keep churning out papers without ever thinking about having real customers and make enough noise to get acquired by FAANG, ala Deepmind, Metamind, etc.
2. Find a problem with a lot of repetitive manual labor and slowly wedge a machine learning model into the process. Design a good feedback loop by first augmenting the workers and use their feedback to keep improving the model until it's good enough to replace them. Doing so requires you to actually build a real product in that domain so you'll need much more diverse team than a paper mill. Most companies doing this shouldn't even call themselves "AI" companies since their customers don't care how the solution works as long as it solves their problem.
I believe that companies pursuing option 2 will take over a lot of large established players because building machine learning driven products requires buy in from the whole organization and it's not something that's easy to do at large enterprises. You need to be able to design the product in a way that helps you collect feedback, build data infrastructure to collect it and be willing to accept a solution that won't always be right.
What do you think about the auto ml business model?
I.e. give each customer the ability to create its own models (using thier own data), but automating the model training and deployment?
The intersection of people who can't train a machine learning model but can properly use and evaluate one is really small. Doing a brute force architecture search to squeeze out an extra percentage point of accuracy is not that useful.
Few shot learning is a much more interesting proposition and it's something that Clarifai offers.
Last I checked, "AI" is software.
Nowhere in here did I read anything about the fundamental truth of modern AI in production:
[AI] is a feature inside a successful product.
There are no "AI" companies, or "AI" products. There are companies which provide services to do inference on data, or in some cases tools/platforms so you can do it on your own.
They also confuse me by using the term services to mean bespoke Non Recurring Engineering efforts, instead of including something like a REST based API service that reflects most "pure" AI companies. Amazon Rekognition or MS Cognitive Services API are perfect examples of SaaS like AI services, but they aren't products exactly because they are used inside some other product as a feature.
At the end of the day, if you look at successful uses of AI in products they are one tiny piece of a larger product, that helps the product scale where it couldn't have before. That's pretty much the only place where it is proving very successful.
Even then, more and more of that is being done in house with the rise of things like Sagemaker and other turnkey ML inference tools.
- Gmail's Smart Compose - Netflix's Recommendation Engine - Uber's ETA Prediction
ML functionality is becoming a standard feature in software, and in my opinion, that's the real "ML Revolution." As you mention, turnkey inference tools like Cortex (full disclosure/shameless plug: I'm a contributor) are making this accessible to virtually all eng teams.
The services that ML based SaaS are offering are currently harder than the majority of other services.
However you could have said the same about any number of services/products over the years that were in the early adopter curve, which I will state confidently that we're still in for ML.
At the end of the day it's a hard SaaS just like VoIP and search and geoservices once were.
Investor-focused or not, that seems like a category error.
If you define AI company from what AI means from a tech perspective, then yes, it's a useless categorization. But if you define AI company as any company that makes money through offering optimization through data as a service, then I think that's a useful definition, in that you can lump many companies together and make sensible generalizations about their business models, which the article does:
Saas business model - 80% margins, exponential scaling, 0 marginal costs, competitive moats through tech
AI business model - 30-50% margins, linear scaling, higher marginal costs, data isn't a great moat
Under the hood it could be deep learning or basic statistics, but it doesn't matter what technology they employ, the method of making money for these types of companies is the same.
(In large/mature markets though, it matters a lot what tech you use since these methods can be copied by your competitors and improved upon - you can't use basic statistics to beat top of the line models forever, so most if not all data companies can be treated as eventual AI companies. I suspect this is why they use the term AI company rather than data company).
You might be underestimating the importance of data to apply that software onto. I might have some real estate ideas but unless I get some data about properties and actual prices, etc I am just writing a research paper.
Maybe in the US real estate data is more accessible but in other places very much not or it is very expensive. Just an example.
The same is true today for deep learning models. The tech has advanced to the point where there are clearly products waiting to be built upon advances that are largely open-sourced (if not pretrained). But building a product that is useful hasn’t changed from being a very difficult task to easy simply because a new technology exists. Moreover, as the article points out, costs in terms of dollars and manpower are currently higher than a making another web or mobile app.
All this should make hackers salivate. The higher than challenge and the more advanced the stack, the greater an opportunity becomes.
A useful way of thinking about this moment is that we have another platform to launch products from: first desktop, then web, then mobile, now “AI”. Each platform enabled a new kind of product. Unlike the other platforms, which were essentially hardware mechanisms of software delivery, ML/DL is a software mechanism of delivering software. It is a fundamentally different way of creating software that produces fundamentally different kinds of software — the kind you couldn’t make any other way.
The article is right to throw the cold-water of reality on the hype of AI. But the backdrop is one of breakthrough technologies that are just waiting to be leveraged.
I had a similar thought reading the comments here about AI hype. In the mid to late nineties, there was a lot of hype about the Internet, and a lot of smart people dismissed the Internet as nothing more than hype. In the end, though, the Internet changed our world. I suspect that, eventually, AI will do the same.
I wrote it to be tongue-in-cheek in a ranting style, but essentially "AI" businesses and the technology underpinning it are not the silver bullet the media and marketing hype has made it out to be. The linked a16z article shows how AI is the same story everywhere - enormous capital to get the data and engineers to automate, but even the "good" AI still gets it wrong much of the time, necessitating endless edge-cases, human intervention, and eventually it's a giant ball of poorly-understand and impossible to maintain pipelines that don't even provide a better result than a few humans with a spreadsheet.
A few more comments:
Cloud infra For a traditional web app you can quickly deploy it on a cheap AWS on Heroku VM for a few dollars/mo and later scale as you get more traffic. With AI you now need expensive training VMs. There are free options such as Google Collab but it doesn't scale for anything else than toy projects or prototyping. AWS entry point GPU instance (p2.xlarge) is at $0.900/hour i.e. $648/mo, and a more performant one (p3.2xlarge) at $2160/mo. Yes, you should shut them down when you are done with training but still. You can also use spot instances to reduce cost but it's not straightforward to set up.
For inference, you also need a VM with enough memory for your model to fit in, so again an expensive VM from day one.
Datasets if you rely on a publicly available dataset, chances are there are already 10 startups doing the same product. In order to have a somewhat unique and differentiated product, you need a way to acquire and label a private dataset.
Humans in the loop The labeling part is very tedious and costly both in terms of time and money. You can hire experts or do it yourself at great cost, or you can hire cheap outsourced labor who will deliver low-quality annotations that you will spend a lot of time controlling, filtering, sending back, etc.
For inference, depending on your domain, even with state-of-the-art performance you may end up with say 90% accuracy, ie 1 angry customer out of 10. that's probably not acceptable, but it gets worse: chances are you will attract early-adopter customers who are faced with hard cases, whose current solution doesn't work so that's why they want to use your fancy AI in the first place. In that context, your accuracy for this kind of customer might actually be much worse. So again you need significant human resources to control inferences in production. It will be hard to offer real-time results, so you may have to design your product to be async and introduce some delay in responses, which is maybe not the UX you initially had in mind.
I still think there are tremendous opportunities in applied AI products and services, but it's important to have these challenges in mind when planning a new product or startup.
Most of the business use cases are deterministic in nature. It is really hard to shoe in a probabilistic response in such use cases, as illustrated in this article. It's even harder to convert this probabilistic response to a deterministic response (humans in the loop), at a cost comparable to just maintaining the deterministic system.
There are a few business cases that naturally are probabilistic - ad bidding, stock price prediction, recommendations. The giants have taken over this already.
I am still scratching my head to find a use case for a startup to jump in, use machine learning and solve a growing business use case. Probably there are some healthcare related use cases but I have no idea about that domain.
I'm not convinced that is a good thing, because it just gives you an excuse to not understand your own manufacturing process and how it can go wrong.
Not that ML code is bug-free. But it seems like most traditional software is probabilistically correct, despite not being thought of that way.
For example, I don't theoretically need Netflix/Spotify/YouTube to have a great recommendation system. All I need them to do is stream media to my device. However, their recommendation systems add immense value to their product for me.
A similar example would be navigation services (Uber/Google Map's ETA prediction, for example). I don't necessarily need those apps to give me predictions about traffic patterns—their core functionality is just giving me directions—but it makes the product much more valuable to me.
For those businesses, this increase in value leads to an increase in usage and therefore revenue—it's not simply an abstract "nice to have."
I think oftentimes the argument about the value of ML comes down to a binary decision of whether or not ML can 100% replace humans in a given domain, and that this is a flawed model. ML is capable of improving most products, in my opinion, and we're already seeing it happen.
What the poster above you is getting at, whether they realize it or not, is that they are trying to identify markets where ML could exist solely as the service or product.
I don't think the latter is ever going to be possible for ML much like that same comment alludes too.
Maybe makes ML a bit less sexy, but also is probably true of any innovative technology.
--------
In particular, many AI companies have:
1. Lower gross margins due to heavy cloud infrastructure usage and ongoing human support ---> Their product is actually an army of expensive humans
2. Scaling challenges due to the thorny problem of edge cases ---> Their products don't actually work
3. Weaker defensive moats due to the commoditization of AI models and challenges with data network effects ---> No truely valuable technology or systems
2. No, they don’t work in all cases. Think Tesla autopilot versus a Level 5 car without a steering wheel.
3. True. I wonder if more ai innovation will start happening behind close doors as a result?
Even a simple deep learning paper will require you to have at least a NVIDIA 1080ti if you are lucky and for NLP I needed to buy a RTX Titan ($2500 graphics card).
A large part of my job is this. Generally reproducing a paper with no code is months of work.
Doing GPT-2 from scratch is around $50k or compute time and data collection.
It's extraordinarily rare you need to do this though. I know a few who have (mostly for foreign languages) and all have been able to access TPU grants from Google or multi-node GPU clusters (which are pretty easy to find if you work in the field - plenty of vendors want someone to test their "supercomputer" for a a week)
Even a simple deep learning paper will require you to have at least a NVIDIA 1080ti if you are lucky and for NLP I needed to buy a RTX Titan ($2500 graphics card
Most of my work is in NLP and I do a large amount of it on a 1070.
My point I think was unclear was the issue of reproducing the paper from scratch (I guess the model is enough ?) not sure how those papers are peer reviewed unless they also send the dataset to the reviewers ?
I also was unclear was when I said reproducing I mean to just get a model that has already been pretrained. I agree with your points .
A peer review isn't an adversarial process where you think that the person has done something wrong. Instead, it's extra eyes on it to make sure they have thought of everything, and to say what additional tests might be needed and why.
The actual problem is the basically what GP actually said; Making a working neural network doesn't mean it provides any value in the real world.
I would venture that the most hyped stuff (deep learning) doesn’t really work very well in practice, and the stuff that works reliably well is boring enough to barely register on the hype train as “AI”. To be fair, that’s probably an exaggerated caricature, but that is my reading between the lines of SOTA AI results.
Very few people (even among ML researchers) appreciate the fundamental limitations of associational reasoning (rather than causal reasoning). It’s going to be an interesting time when this message actually sinks in...
/s
Traditional software: input + program = output
AI: input + output = programThere are lots of business workflows that AI can improve or enable in the first place, and you might be able to make a business out of that, but you should be aware of the difference.
If you want to be in the business of enabling / improving business workflows, you should be very explicit about that, and AI could be one of many techniques in your tool belt -- but hopefully not the only one.
Starting an "AI business" sounds like "I've got a shiny new hammer, what nails can I hit with it?", which is kinda backwards from my understanding of how businesses should be run. It might work, but it's also easy to fall into the trap thinking AI should be your only tool.
The place where AI has had the most impact is image recognition—and that's cool, but that's a very small part of what we use computers for. As someone who spends almost every waking hour in front a computer, I don't think I use any software that employs AI for any useful purpose except maybe search engines—and I'm pretty sure that they were a lot better before they used AI. GPT-2 is neat, but there's literally no circumstance under which I would want to use GPT-2-generated text for anything except experiments or toys. And while I'm sure Google makes good use of AI for spying on people and recommending YouTube videos to turn my brother into a nazi, I'd much prefer if they didn't do that.
Your activity online triggers 10s of AI models for every hour. AI is just not much of a consumer technology, but it is what the producers increasingly use.
GPT-2 is useful way way beyond text generation, it has very powerful embeddings useful for many other tasks. The text generation and cat picture classification is what pulled it into the mainstream: how you know about it, while not familiar with the particulars.
Stop putting the sole blame on recommendation algorithms for radicalization. Or paint everything with the same brush and start blaming Youtube too for radical thoughts on climate change, veganism, identity politics, etc.
I suspect your brother is not even a Nazi anyway, just has differing views on immigrants and black crime statistics. Let's hope some other Youtuber does not get recommended a video on how to punch a Nazi, as by your reasoning, people could not help themselves.
Unfortunately, there’s not that many companies with that problem, and the market never materialized to the necessary degree and they sold the existing contracts and pivoted. That said, it was a home run for what it did.
If you find the right problem, AI can create massive value. The hard part is never the learning, it’s finding and framing the right problem.
Simple example: FMCG/Retail would like to use apps to scan shelves for their own product placement and their competitors. Simple, right? But getting those packshots, account for lighting and placement conditions, ... you need an army of people to do QC.
AI really just moves the analytics/BI load from a company to a vendor - hence it is consulting. Good business to have, but human labor always has shittier margins than software.
I'd like to have some of whatever you're smoking. NLP is one of the hardest areas of science with many problems that will not be conclusively solved in my lifetime, both technical and scientific.
Neural networks are in a way pertinent, I reckon, however I'm not enthusiastic about the fact that using it forbids us to 'explain how it solves the problem'. It also apply, albeit somewhat to a lesser extent(?), to bayesians and such.
Does it appear more intelligent than repeated slight shifts more or less toward the first order gradient?
The second seems to be more similar to how humans learn, but the former more similar to how we rationalize after learning.
Still, the first is still repeated, relatively simple applied math. I’m not sure either case jumps out as being qualitatively different in a meaningful way when it comes to intelligence.
As in David Freedman's books?
Uh, statistics tries to be applied probability with some assumptions, theorems, proofs, results, and applications. E.g., the assumptions for regression analysis that let us use and F-ratio and t-tests hypothesis testing and confidence intervals.
Does current AI with neural networks have such assumptions and results? Maybe with the test data could develop some such results. And AI seems to have and assumption that the training data and the test data are independent and identically distributed (i.i.d.) random variables. Uh, arguing i.i.d. for some enormous collections of data might be difficult? How 'bout some concept of approximately independent? M. Talagrand has some such in his "A New Look at Independence"?
For one thing this ignores image recognition, which is probably the most successful field for neural network deployments.
And most modern NLP is "download all the written text on the entire internet, filter it for the good stuff (somehow), throw it into a neural network that is bigger than anything that has been successfully trained before, and wait a week before you can see if it worked". I wouldn't describe it as simple.
Now that we're in a phase where we're making our DNNs deeper and deeper, what are some new successful businesses, services, and products that are springing up as a consequence? I can think of Amazon Echo. Any others?
Machine Learning techniques have been applied to numerous different fields. Right now, they're often more subsidizing than a product in itself. But they are out there. And while I agree that a lot of companies are just throwing out buzzwords, it's definitely not all snake oil.
This is pretty cool, can save a lot of time in some cases, and doesn't disappoint because object recognition (even by humans) is unreliable by nature.
>use an online translator to translate almost anything in any language (including idioms) using something like google translate
That's debatable at best. Google Translate at least is still horrible, to the point where it is actually pretty much completely useless, at translating Asian languages to English. For longer texts, even German to English or Spanish to English produces a lot of nonsense, although it is usually at least somewhat intelligible if you're familiar with the sort of mistakes that Google Translate tends to make.
Anecdotally, I don't use Google Translate any differently than I did 7 years ago. It's good for single words or expressions, it's okay for single sentences if you are aware of it's pitfalls, it's pretty useless for large articles unless all you want is getting a general idea of what the article is talking about.
>AI Dungeon
I mean everything we've seen from AI Dungeon was hilarious because of it's nonsensical flaws. If those flaws can somehow be removed in the future we'll be stuck with a version where every individual sentence kind of makes sense but there is no coherent connection or story line, i.e. a product that nobody would use.
I can't really argue with anecdotes, but I can ensure you that a whole lot has changed in Machine Translation in the past 7 years, starting with Google introducing Neural Machine Translation[1] to replace their statistical model, which would often behave in the way you described. That's why I specifically included idioms, which hadn't really been possible until then. It's not yet perfect, but it's crazy good at what it does and only getting better.
I know AI Dungeon was really wonky, but I also said it gives us a glimpse of what may be possible. Because the way it interprets natural language is really something else (granted, that's the underlying model, of course). It's really a product still entirely in its infancy. And I don't think AI Dungeon will take the world by storm much more than it has done thus far, but I could imagine countless applications for a similar but improved technology.
I don't know, OP was asking for products and services, and I gave some examples. Are they flawless? No. Is most technology flawless? No. Will there be growing market for somewhat imperfect AI-based applications? I surely think so. In the end, humans aren't flawless either.
[1] https://en.wikipedia.org/wiki/Google_Neural_Machine_Translat..., https://arxiv.org/pdf/1609.08144.pdf
I believe, but have no conceivable way to prove, that all of the easy wins have been won by the first movers.
It's weird. I have almost irrational optimism about the unbounded potential for deep learning, ML, big data, and so forth. Amazing, almost magical, stuff like KP figuring out that Vioxx was killing their patients once they had enough data and asked the right questions.
But I'm also completely skeptical about using these techniques for culture and entertainment and advertising. Methinks that ceiling has already been hit and there's nothing on the horizon.
Too bad. I really wanted our internal version of Stitchfix to actually work. Now I'm not sure it's possible. Or that we (or maybe just me) were asking the wrong questions.
- new OS paradigm: skunkworks in a garage somewhere in the world
- new hardware paradigm: skunkworks in a garage somewhere in the world
- new AI business: quietly disrupting a niche of a niche
AI may just be a buzzword, but neural networks and ML are not. The tech has just arrived, this is fresh, evergreen territory, and the first wave of applied machine learning is quickly approaching, in quiet development across industries. Things are about to get really interesting with the academic explosion of neural network architectures and theory, and I would strongly recommend to any developer to spend a few months getting up to speed!
Hold on for a moment, and name three. Because I honestly haven't seen a blockchain that isn't either a) scam, b) naive mistake, or c) an ecological disaster if ever scaled up (therefore unworkable).
AI, for all the hype and nonsense around it, isn't even approaching the blockchain levels of bullshit.
1. Bitcoin - I have hedged currency successfully using Bitcoin
2. Maker - Check it out. It really does show power of smart contracts
3. Oracles - Although, I am not familiar with the tech but they are beginning to show real world adoption. Maker uses Oracles for e.g. Check Chainlink
Edit: Telegram? I use it
Half of these altcoins do not have working software. In 2017 the ICOs did not have any software at all, just a promise on a homepage with a button to send money. The other half do not scale or do not meet their own basic requirements. The oldest, most venerable project Bitcoin had an inflation bug a couple years ago that would have let anyone counterfeit an unlimited amount of coins.
At least the AI scammers show up with code.
Hey - you can save your customer database in a really cool convoluted and slow database. Because bitcoin. Plus your clients can run this fun app that drains their batteries.
Smart contracts have the fundamental problem of people having to write perfect, error free code (as it can't be changed later), i.e. an impossibility. Often these smart contracts deal with a monetary value (as people strangely assign value to those "coins"), so something like the DAO hack on the Ethereum blockchain is inevitable. Also to do anything on a blockchain, even just add 1+1, on any hardware, no matter how expensive, no matter how far in the future, has to work at full capacity to hack some crypto. Your laptop will heat up and the fans go on full. Sounds trivial but if you've experienced it it's weird.
Oracles are a fundamental problem of blockchain: If you trust an outside source of truth, why need the blockchain? Go straight to the oracle.
What's about to happen is that people who have been convinced to invest in ML infra are about to start pulling budgets because they've had no results.
We're clearly entering a world where computers can make complicated, gut-feel decisions. This is an amazing new capability; with the fall of the best human Go players there are no longer any well-defined tasks that a human can outperform a computer in. If we can simulate a situation correctly then computers are now better than us.
It will be challenging for this new capability not to not reshape all our control systems over the next two or three decades.
The kind of people attracted to this area is also a factor. The automation revolution is a marketing conceit
If by "well-defined" you mean "complete information", then yes. If by well-defined you mean... well-defined, then no. Humans are better at a lot of things still, including video games for example. OpenAI has been working for years on a DotA AI, and while very technologically interesting, it still can only play (well) with and against a fraction of heroes and mechanics, and even within those limitations humans have quickly been able to find weaknesses and outmaneuver it.
AI really hasn't over the last 5 years (and probably won't during the next 5) changed the world that much. There are some problem domains that saw big interesting leaps (mainly image recognition, image reconstruction and game AI), but that's about it.
Self-driving cars, if they ever come to market properly, will be the biggest change. And that's certainly a big change, but it's not really the "software industry revolutionizing" change that some people seem to expect.
They weren't even trying to abuse the reaction time of the computer, or train one agent to coordinate a team as one entity. There isn't really a question; if humans needed to win games of DotA for some reason we'd send machines. It just happens that DotA is a spectator sport and that would be boring.
Exploiting the AI ... maybe? The experience with AlphaGo is that peak computer performance is just going to be better than peak human performance. Dota isn't fundamentally more complicated than Go. A few orders of magnitude harder to engineer, but OpenAI's work suggests they're about 20% of the way through a 10 year process and they've covered the interesting parts - so they stopped. With more resourcing that could be solved quickly but it isn't enough of a challenge any more.
There isn't anything left to prove in DotA. Bots can play the game really well and would crush humans if it was important to anyone. Nobody cares enough to actually finish the project but if there was money on the line it is obvious how it would play out.
That's an interesting interpretation. My interpretation is that they simply weren't able to do it yet (not for a lack of trying though), and so they gave up. It's not obvious at all to me that there is a way to simply scale their approach to the real game. I mean, certainly there is a way with infinite computing power, but it's not clear to me that even with all the computing power on earth currently this approach would work. 18 out of 117 heroes does reduce complexity quite a lot, especially when you pick ones with less complex mechanics.
>They weren't even trying to abuse the reaction time of the computer
They introduced a constant reaction time, but they still "abused" the interface they are provided. If this was a task in the real world, the AI would have the same interface as humans: The screen. They would have to move the screen and run object recognition algorithms on the rendered values, and they would have to "click" on units (not physically) instead of being able to internally select them. This would introduce completely different (and more realistic) reaction time parameters, because if a hero starts an animation it might not be immediately clear which animation it is in the first 5 frames, but the API will provide the value immediately.
AlphaStar's strength dropped considerably for example when they realized that the AI being able to perceive the entire map at once was an unfair advantage and restricted it so that it had to move the camera around. But still even AlphaStar is using an API instead of just the rendered output, which enables things like selecting units that are hidden behind other units, which for a human player is literally impossible without moving it out of the way first.
I think for AI to be able to claim that it is better at a game than humans, the AI ought to be playing the actual game, and use the same interface. (Not necessarily physically, you don't need a camera and a robot, but the AI's input should be the rendered output of the game, and the AI's output should be mouse movement / key strokes.)
You might think that would be a trivial and useless exercise (like it would be in Chess/Go), but I'm really not convinced of that for video games. There are a lot of examples where even playing a frame-by-frame recording of a fight you just can't tell what exactly is going on in a fight until a couple frames later, but the API will always provide floating-point accurate data of everything. This is a huge advantage that just doesn't translate into real world tasks when the AI has to use cameras and sensors to make sense of the world (in automated driving for example) just like we have to.
Sure; but you can train one agent/hero so the training scales in a somewhat linear fashion once they get beyond ~15-20 heros. The computer won't be able to nail the full complexity of the game - but neither can a human, and the evidence from Go is the amount of the game a computer can grasp is much greater than a human.
Humans can't fully understand full DotA either; it is common for pros to be surprised by mechanical interactions or quirks on specific heros.
It might be an interesting theoretical challenge, but there would need to be some solid evidence of that beyond OpenAI calling it done and going home. Especially given the breakneck speed that the first 17 heros got trained. The AI was improving faster than a human does in MMR/day rates for specific heros. It looks like they got bored once the outcome became clear but needed a lot o work to achieve.
> If this was a task in the real world, the AI would have the same interface as humans: The screen.
This part of your argument is weak; you are relying on a computer having human limitations to show that it is superior. Computers don't have human limitations; that is a significant part of why humans can't compete with computers.
> I think for AI to be able to claim that it is better at a game than humans, the AI ought to be playing the actual game, and use the same interface.
What could you do if the bot people don't agree with you? When TeamDotaBot2000 is winning every game on the DotA ladder you can write them an angry all-chat message saying they didn't really win while your hero dead and their destroying your tree. That'd blend right in with the usual DotA crowd.
> You might think that would be a trivial and useless exercise (like it would be in Chess/Go), but I'm really not convinced of that for video games...
It isn't trivial; but it also isn't hard. It is time consuming and there are a lot of practical things that need to be solved. But if the resources are spent, it is expected that computers beat humans in any field with formally defined rules and objectives. That is a big deal.
No, you can't. The problem isn't training the AI to actually play all the heroes, that's the easy part (and also it's not even required to play the full game, no human can play every single hero), the problem is training the AI to play against all the heroes. That's the challenge - and that's the part that doesn't scale linearly at all. The more heroes the opponent can pick, the more complex your "behavior tree" has to become to think about every possible combination of what they could do.
>you are relying on a computer having human limitations to show that it is superior.
No, I rely on a computer playing the same actual game and not cheat. Because that's pretty much exactly what they're doing right now. It's like modding the game so that every animation is color coded by if it would currently hit you, every minion perfectly marked if it is in execution range, every champion running around with circles that show their ability ranges, with your champion being color coded depending on which ranges, etc. (Except actually even worse than that.)
Again, in the actual real world an AI might have a 360 degree view of the environment, but it still has cameras and it still needs to do naturally imperfect object recognition algorithms on everything - it doesn't just get floating point values for every object's position and trajectory from God.
>When TeamDotaBot2000 is winning every game on the DotA ladder
If TeamDotaBot2000 wasn't directly affiliated with Valve, they would literally get banned for cheating. Because they're not interacting with the game like a normal player would, and they are doing things even a perfect, god-given AI playing the game through the same interface couldn't.
>it is expected that computers beat humans in any field with formally defined rules and objectives.
I expect this to be eventually true in any field. By so much that humans will be fundamentally useless in terms of advancing knowledge, culture, or anything in between. But if that's going to happen in 20, 50, 100 or 10,000 years really isn't clear to me, and neither is that all they'd have to do is put a realistic amount of hardware into their current approach to learn the entire game. The complexity of this task is definitely scaling exponentially, and just like you can't just throw twice the compute at a 128-bit cryptographic key because it worked so well for 64-bits, you can't just throw more compute at a game to learn to play against more champions.
Yea billions went on chatbots that were no smarter than some very basic procedural logic and grepping a text file. Worked in an investment bank who put one in front of customer service and got rid of the phoneline. It was utterly infuriating. You'd log an issue (used to be done via a form) by answering questions to this bot. What did that achieve?
As someone who spent more than a few months on a couple courses on various platforms, a few months is NOTHING in this field.
ML is not something where most people out of bootcamps can make a living out of.
ML is the ultimate winner-take all technology.
Sure, there might be some fast.ai examples of self taught ML scientists, but it is orders of magnitude harder than software development, mainly because of much longer learning feed-back -- you can't just printf or debug your code and expect to learn something new every 5 minutes.
The order of magnitude point is just wrong. You might argue that it's harder because it's essentially software development and a lot of applied math. But that certainly doesn't account for orders of magnitude difference.
I'm a java developer and during my first 3 years I was able to investigate bugs not only in my code, but inside jboss or hibernate ORM; I can look up core java code and understand it just fine.
How many of the ML self-taught crowd can write framework-level code, or debug a ML algorithm bug?
Fooling management wanting to get into ML with some scikit code is easy, mastery of ML is orders of magnitudes harder than mastering a programming language/frameworks.
This isn't specific to ML though - I don't see why the number should be different from the number of self-taught web developers who can write framework-level code.
Hence the flood of ML grads which will only get bigger and bigger as time goes on.
As a general observation of business, returns per unit of labor can range from completely linear (factories, hospitals) to more nonlinear in things like software or art. ML researcher is on the far end of this. Yes, Bengio and Goodfellow get paid 7 figures, but that's because even if you pay 100 amateurs 1/100th of that, they will still produce worse work.
If you want to be a good ML researcher, the time to get in was 10 years ago.
Deep learning brings some new paradigms to the table but it’s not fundamentally different from other optimization / ML methods, so with a background in statistics, math, natural sciences or quantitative economics (to name only a few) and a good understanding of programming (which most people from these fields have) you can do just fine. If you start out with zero knowledge of university-level math and no programming ability it will be much harder of course.
> revolutionizing and democratizing
> perception
> alarming rate
Well done. How can I send you money?
This tech is "revolutionary" in that nothing like it has ever performed anywhere near the current level. MNIST is effectively a solved, toy problem now, and many image classification problems are as well.
Democratized in the sense that you can for the first time write and test these state of the art algorithms on your personal machine and, while a couple years ago you needed something beefy like a 1080 TI, even that requirements has been relaxed with many optimized architectures.
More importantly, all of this has literally exploded in the last 5-10 years, no doubt due in part because of the open access nature of arxiv and open source.
That's totally fine though, while comparisons to blockchain are a little insulting, all of this cynicism means less competition for me!
DL is useful obviously. Some of the biggest products in the world depend on it for almost their entire value propositions e.g. YouTube, Netflix, Tesla. (This is a power law; the long tail of commercial AI are jokes or borderline frauds.)
But I wouldn't recommend already practicing programmers to FOMO into the field this late in the game. First of all, it's very much a different animal. ML is in the statistics/continuous world whereas programming is in the algorithmic/discrete world. Knuth said something about how it's a different type of mind (a more normal one) that's attracted to ML, not the same as the 2% computer mind. Not only will you be doing something you're potentially not as talented at, you will also have to start from scratch up against the seemingly endless stream of ML specialist PhD candidates.
You can implement neural nets from descriptions in papers and blog posts. Honestly though there's not much to it with all the dead simple libraries e.g. Keras, Pytorch.
Putting together the whole system is a much harder problem and requires actual software expertise.
It seems the infrastructure game is very new for realistic, production ready, machine learning. I mean Uber was the first to really describe the idea of having a feature store back in 2017 with their Michelangelo[0] framework. We are just now starting to see feature stores pop up as a SAAS model (Hopworks, Google's feast, etc.)
I think we'll see "Machine Learning Engineers" start to pop up like crazy the next 2-3 years as people with a mixture of data engineering, machine learning, and software engineering experience begin to take these infrastructure roles.
1) Using containers, the SASS software can be downloaded to the client cluster and managed by Kubernetes operators. Hence the cost of training and storage will be bare by the clients themself and not by the SASS company.
2) Second, the use of AutoML should increase the productivity of the startup employees (especially with the ongoing retraining of models, deployment, monitoring, etc).
The one problem that will always be there is new data and edge cases in the data. I do believe that this would be the major obstacle for the next 5 years.
Also, I would expect to see the number of models actually explode (assuming that they are trained and deployed by AutoML). Case in point is Uber with models per city/ time of day (with 1000's of models in production).
That is a good case-in-point, because one of the arguments in the article is that AI is expensive.
At what point does 40,000 compute-hours and a few million dollars spent on hundreds of city models become a better use of time and money than an afternoon noodling with ARIMA or some Fourier analysis on a $5,000 workstation?
Perhaps -- perhaps -- at Uber's scale, squeaking out a tenth of a percent is worth the time and money. But the rest of us schmoes can do pretty well with an SQL query, some R or Python or Julia and a generous dollop of good old-fashioned all-American hubris.
There should always be a tradeoff between performance and cost.
But it is much better to give customer the option, instead of forcing her to the said SASS architecture.
You can now train a State of the art image classifier with nothing more than a google colab notebook (free to use).
That’s for deep learning. For classical ML (I.e. XGboost) it really doesn’t take much time or compute to create a model that has business value