Why I Left Red Hat
My first time with Linux was transcendent.
It’s hard to imagine a cold command line as sexy but it was to me. Inside that tiny blinking cube of light was sheer power, just waiting to be unleashed. Linux was something magical, something radical, something that could change the world.
And like anything revolutionary it was a little dangerous and mysterious too. It threatened to topple the old orders of power.
Up until that time every major company on Earth developed their software behind closed doors. The only people who ever saw their source code were the army of coders the company hired to crank it out. Microsoft was the king of the proprietary software. The WinTel dynasty of Windows and Intel ruled the desktop with 95% of the market. It was a true monopoly, like John D. Rockefeller’s Standard Oil in the 1800s which dominated 91% of oil production in the United States.
I joined Red Hat in 2010 when the company was still “the world’s biggest startup” with only a thousand plus employees. I’d run my own consulting company for a decade building early Linux web farms and SaaS companies but I was burned out, working all night and all day, living in data centers, eating burgers and fries endlessly and pounding energy drinks.
It may seem crazy now but there was a time when nobody knew if open source was a flash in the pan.
Companies feared it. Legal departments banned it. I spent my first few years at the Hat trying to convince skeptical, curmudgeonly Unix engineers that Linux could stand against the titans of Solaris and AIX and that it wouldn’t crash and cost them their jobs.
A decade later there’s no question about which dev model won.
Even Ballmer knows he was dead wrong. Visionary Microsoft CEO Satya Nadella morphed the company from a “Windows everywhere” monoculture to playing nice in the sandbox with everybody. They became a game and cloud company that loves Linux. They even bought Github, the nerve center of distributed, open source development.
Today, open source has eaten the world.
Every major technology starts there, whether that’s cloud, AI, mobile or containers. If you’re young and just getting started in tech, you never lived without it. It’s like a tree or a river, just a default part of your reality that was always there.
But as the Linux changed the world, I changed too.
Red Hat grew from half a billion dollars in revenue to three billion. Every time I turned around there were strange new faces at the company BBQ who I didn’t know as it mushroomed to 13,000 employees.
And in a moment of terrifying clarity I realized the company didn’t need a guy like me anymore.
I’m a risk taker. I color outside the lines. I’m the kind of person you need when you’re trying to get something started and there’s no blueprint.
Paul Graham wrote that the kind of person you want at a startup is “a hacker who will stay up till 4:00 AM rather than go to bed leaving code with a bug in it; a PR person who will cold-call New York Times reporters on their cell phones; a graphic designer who feels physical pain when something is two millimeters out of place.”
Maybe you’d thought I’d say cryptocurrency?
Don’t worry. I haven’t lost my passion for crypto and I’ll keep writing on it and working on it as it continues to change the way money and power work in the world.
But when it comes to AI, no technology holds more promise and peril in the coming decades. There’s not a single business, industry, person or country that won’t be touched by its power and influence.
But this time is different. I’m not just a passenger in the boat, going along for the ride on the Internet revolution or the open source uprising. I’ve seen how technology can start with a twinkle in an engineer’s eyes and go badly wrong. Too often tech promises to free us all and then one day we wake up and we’ve created a surveillance economy instead of an “information just wants to be free” utopia.
This time I plan to do something about it. I won’t just ride the winds of fate and hope we luck into a fortunate future.
I’m going to help make the future I want to see. As Sarah Conner once said “There’s no fate but what we make for ourselves.”
But where to start?
I knew I needed a multi-pronged plan of attack. It wasn’t just enough to go work in AI. I needed to think bigger and weave together a thousand threads to help change the world.
I’ve decided to attack those problems on two very different fronts:
Practical AI Ethics
Both are part of the same tapestry but let’s start with ethics and move to infrastructure.
The Age of Intelligent Machines
AI is capable of doing amazing good in the world.
Too often popular Hollywood fantasy fears of Terminators and super AI’s taking over everything make people terrified of phantoms and blinds them to all the good it can do.
Imagine you had a little app on your phone that could detect skin cancer.
You point it at the spot and it tells you whether you should call your doctor. Then you call the doctor and send the results of the scan to the triage nurse on the other side of the phone. Now she can make better decisions about who gets to see the doctor instead of just scheduling everyone on a first come, first serve basis.
We already have algorithms deciding if people should go to jail or get bail. Tomorrow they’ll help decide who gets a job, who gets a loan, gets into school, or gets insurance. That doesn’t have to be a bad thing but when it goes wrong it can go horribly wrong.
Today there’s very little transparency in machine learning. Cathy O’Neil, author of Weapons of Math Destruction, talked about the case of Tim Clifford, a teacher in the New York City public schools, who was teaching for twenty years, won multiple awards and got rated a 6 out of 100 one year and 96 out of 100 the next year even though he didn’t change a single thing in his teaching style.
A friend of mine looked to an AI SaaS startup to help them hire great people. At first the SaaS company’s demos looked great. But after a bit my friend started to sense something odd about the candidates it was picking. They asked the AI company to show them what kinds of features the computer had picked out as good characteristics for new hires. What was one of the key characteristics the machine lasered in on?
If the candidate was named Jerry he would make a fantastic marketing person.
All it takes is a company to develop a slick looking demo and a flashy website and sell it to a school administrator who doesn’t know AI from a broom handle and then we have no idea if it’s making good assessments or assessments from the insane asylum in One Flew Over the Cuckoo’s Nest.
As a society we can’t accept that. That’s why we need a framework for practical AI ethics and that’s my first major post-Red Hat project, a practical AI Ethics program.
“Practical” is the key word here.
Most companies do ethics totally wrong.
Here’s the broken template that every single company seems to follow. They form a committee with great fanfare. They sing Kumbaya, put out a report on how AI should be “inclusive and fair.” Inclusive and fair sounds great but it means absolutely nothing. It’s a platitude. It’s no surprise that after a year nothing changes and the group gets disbanded.
I call this approach “AI Ethics Theater.”
Nothing gets done but everyone feels like they did something.
We need a better approach because in the future when people don’t get hired, or they get fired, or they go to jail because of an algorithm people are going to get mad and they’re going to ask hard questions. You better have the answers if you built the system. And the answer better be a lot better than “it just works that way” or “we don’t know why the machine did that.”
So how do we do ethics right?
To start with I know I can’t do it by myself. I need lots of great minds working on the issue. So I’m starting by forming the Practical AI Ethics Foundation. Right now it’s a foundation in the loosest sense of the word. It’s a grass roots project that will grow. I’m willing it into reality because it needs to exist and I want to bring together as many great people as I can to focus on this problem in a real way instead of pumping out platitudes.
There are three pillars to Practical AI Ethics:
A process for discovering and implementing ethics in code
Let’s start with the first because nobody seems to get it right.
How would a real ethics process work?
I’ve given the AI Ethics Foundation a head start by designing a blueprint with the help of the 2bAhead think-tank in Berlin and with the good folks at Pachyderm where I’m the Chief Technical Evangelist.
Let’s pretend your company is creating an algorithm that’s handing out loans. That means it’s actively “discriminating” against people who can’t pay it back. That’s all right. Companies don’t need to go bankrupt lending to people who will never pay them back.
But there might be a problem with the historical lending pattern of the company. Maybe they didn’t give loans to many women. Now the company decides they want to discover more women who can pay back those loans. This might be for a few reasons.
But we can’t stop there. These systems are not perfect. Not even close. They’re flawed like everything else in life. They make mistakes and they make different kinds of mistakes than humans do. Sometimes that make outlandish errors that a human would never make, like identifying the name “Jerry” as a good sign of someone you should hire. Other times they make subtle or unforeseen errors.
That’s because they’re making decisions in an infinitely complex environment where we can’t process all the variables called real life. In the early days of AI we could brute force our way through all the possible decisions. Deep Blue beat Kasperov with raw compute power. But more complex decisions are just too variable to know all the possibilities.
The game of Go has more possibilities than atoms in the known universe and there’s no way AlphaGo could search them all. It sometimes had to make do searching random branches on a tree of decisions with Monte Carlo tree search and sometimes there still wasn’t a good answer.
Machines and people make predictions based on incomplete information in a chaotic system. They process as many of the possibilities as they can before they’re overwhelmed with too many variables.
In other words, they make guesses.
Those are good guesses but they’re still guesses.
Sometimes those guesses are wrong and lead to mistakes even when we’re really good at making predictions. A ball player knows how to predict which way a fly ball is going and time his jump to catch it but he doesn’t get it right every time and he can’t no matter how good he gets or how much he practices.
And when you step outside of the field of sports into a super complex environment like driving a car on real streets with rain and dust and other cars and street signs covered over or broken you can’t see every problem coming before it happens. Inevitably, you get a problem that nobody saw coming.
Sometimes it’s a big PR nightmare, like when Google’s visual recognition systems started identifying people of color as gorillas. Other times it’s a super subtle problem that might not show up easily without a lot of time going by, like women not getting loans who were really qualified to pay that money back.
Maybe, you need to take that system offline for a period of time, or roll it back to an earlier version, or put in a rule to stop it from making it go off the rails temporarily until you can fix the bigger problem?
That’s what Google did. They triaged the problem by no longer allowing the system to label anything as a gorilla. Believe it or not, that’s actually a good emergency response but it’s just the first step. But that’s where they stopped. Instead, they needed to then go back and actually fix the problem.
To do that they needed to figure out a better way to train the model and they needed to follow that up with coders who could write unit tests to make sure the problem doesn’t come back. We spend a lot of time in AI just judging everything by accuracy scores but that’s not enough. Right now data science needs to evolve to take on the best ideas we’ve used in IT for decades, snapshots and roll backs to known good states, logging, forensic analysis, smoke tests and unit tests.
Most of the breakthroughs in AI have come out of mega-tech companies like Google with their in-house research lab DeepMind. They’ve got incredibly fine tuned, hyper-advanced infrastructures and researchers can throw virtually any problem at the engineers manning those infrastructures. They’re not using off the shelf, AI at scale in a box software. If the key software pieces a researcher needs don’t exist, Google’s engineers can just code it up in house.
But not everyone has an army of in-house programmers and a webscale infrastructure they can modify on the fly. As AI trickles down into enterprises, companies struggle to cobble together a coherent stack of tools to keep their AI/ML pipelines running like a well oiled machine. An explosion of open source projects, data lakes that have grown into data oceans, and a confusing array of complex infrastructure pieces only make it tougher.
And that’s what my work with the AI Infrastructure Foundation is all about, to gather together all the people, organizations, projects and companies that are working on building out the roads and plumbing of the AI driven future.