Making Artificial Intelligence easy for developers with Keen Browne
Interviewed by Christophe Limpalair on 11/17/2017
If implementing artificial intelligence sounds as intimidating to you as it does to me, then this may peak your interest. Usually, if you're interested in giving your systems intelligence, you're either stuck with something complex, or you have to use a black box and you end up losing control. We met up with Keen Browne, the co-founder and Head of Product at Bons.ai, because they are working on a way to make it much easier for programmers to integrate AI in their systems. How does Bons.ai do it? How did they get started? Find out in this in-person interview.
Links and Resources
Today I'm joined by Keen Browne who is the head of products and co-founder of a company called Bonsai. This is a very interesting company. I think you guys are still in Beta, right?
Yes, we're fairly early in the process. We have users that we're inviting to come on over time.
Tell us a little bit more about yourself.
Mark Hammond and I founded this company about three years ago. We actually met in Microsoft back in the 2003-2004 time frame. We didn't talk to one another for about a decade, but there was a time when I was on my way back to California, and I was looking for friends, and I called up Mark again. He has always had an interest in AI. He studied computational neural systems at Caltech. He has worked with startups before.
He came to me with some really cool ideas and was looking for someone to go on an adventure with him ... this company. That's how we got started.
You were in China before you moved to Berkeley, right? Tell us about that.
I left Microsoft in 2007 and I moved to China. A Chinese friend and another American friend and I had a video game that we built; a Chinese startup. It was a crazy experience. I thought I'd only be there for a couple of years and ended up being there for seven. During the last three years, I spent about half of my time back in the States.
This was a VR game?
A virtual world game, not VR, which has only recently become practical. This was more in that Second Life timeframe ... a cute game where you could log in and have a character, decorate a house, kind of like the Sims, and then there were a bunch of mini-games in the world. There was a pet fighting game like Pokemon, a trivia game, etc. We made money off virtual items.
So you sold that company and then moved here?
Yes, we sold that company in 2011 to YY, which is a company in southern China. There was a transition period where I was leaving one company and looking toward what I wanted to when I came back to the US. I met my wife while I was abroad. At that time, while the company was being sold, she had just gotten back from LA. We had been separated while she was in school, and I didn't want to move to southern China.
Then you met up with Mark, the co-founder and CEO, and started Bonsai with him. Did you have any experience in AI at that time?
I did not. Mark did. My background really was around things like developer tools, programming experiences and building that game.
Before that experience, you had no experience in gaming or creating a game. You had managed a team. Then you came into Bonsai with no experience in AI. One question I get a lot is, "How do you stay ahead of the curve?" Say you want to switch to an industry where you have zero experience, such as from a Microsoft background to AWS. How do you get up to speed as fast as possible while making as few mistakes as possible?
As far as "making as few mistakes as possible," it's the opposite. "I try to make as many mistakes as I can that are not dangerous as quickly as possible."
Part of it is that you need to be passionate about learning and curious. There is a bravery element. It is risky and scary when you make these moves, but you just "keep driving through." Technologically, I am a voracious consumer of media. Whether it is the web or video or podcasts, I love getting as much information as I can and thinking about it.
Lately, I have a new daughter that has compressed my time. It has been interesting. Before, I was a little more passive about learning, but now I have to prioritize and be like, "If I want to know this material, I have to do it now ... this is the window, and there is no time like the present."
Chris: So you were forced to become more efficient.
Right, I like to think that I'm like everybody else and if I say, "Oh, I'll get to that tomorrow," it probably won't happen.
Chris: To be fair, I know that having a baby can be a drastic experience. I don't have kids yet. I may have some eventually, but you hear these stories of people having kids and how it completely changes their perspective or it makes them more efficient like in your case.
I think you can also mimic that kind of behavior by setting specific goals for achievement and making something that keeps you accountable. Otherwise, it's too easy to diverge from it.
I want to dig deeply into Bonsai; what it is, how it is built, and what you are doing with it. To get started, just explain the Bonsai platform, what it is, and how it works.
Right now, AI technology is trapped up into tens of thousands of scientists in the world. The technology is pretty opaque to most of us. It demands an understanding of things like linear algebra and statistics; at least to understand it deeply. One of our insights at the product level is that we believe there are people out there that would have an easier time learning and utilizing AI if what they had to learn is a programming language, instead of having to learn all the mathematics.
"Bonsai abstracts away the complexity of machine learning learning libraries and algorithms, making the programing and management of AI models more accessible to developers."
To create that language or programming experience, my partner had this insight that machine learning algorithms are getting better and better. It's almost as if they can learn anything, but if you had that perfect algorithm that could learn anything, you'd still have to program it.
"If it's learning, the way you program it is you teach it."
What we've built is a really formal way of teaching. We have a programming language where you lay out the kind of concepts you want a computer to learn, the way you want to teach those concepts, and the data you are going to teach it with.
If it's something like open AI, it's the game the AI is going to play in order to learn what it needs to learn. You feed that script and that formal definition of instruction along with links to those training sources to our AI engine (to our server technology), and then our server technology generates the learning. It generates the algorithms. It trains those algorithms and then hosts them as an API endpoint that you can then call from your code.
It almost sounds like you have an AI in the backend that's creating an AI. Because you are feeding it this information and it knows what to do with this information, it creates the AI based off what you feed it.
That's right. There are several techniques that we use to know how to pick that algorithm. One is heuristics, kind of like a compiler. We look at the source code and the data set and its statistical distribution and we say, "Well, you're training to solve this Openai Gym problem. That's a reinforcement learning task, here are the half dozen state of the art algorithms for reinforcement learning. Let's go in that direction to solve this problem."
The other thing we are doing is that for every time we generate a model to solve this problem, we keep a table. For example, "this" Inkling code with "this" data sample gives "this" model with "this" performance. We can learn from that table of data. We call that meta learning.
The system is literally learning how to learn over time.
Chris: Over time it gets better, more efficient ... it can bridge those gaps faster. Interesting!
What kind of tools do you use to build that kind of platform and where do you start?
Getting started was interesting. Actually, the first year of this company, we didn't write that much code. We spent a lot of time out with customers understanding the kind of models they wanted to build, understanding when models went bad (when they had a data science project and it failed, and why), and what the pain points were in building those.
Then we paper prototyped this scripting language as an approach that could possibly solve it and then we would grab random programmers off the street and ask them, "Hey, can you read this code and what do you think it does?" Through that process, we honed in on both a product design and a problem statement and a solution statement for our company.
At one point in that process we started to say, "We really have to start 'demoing' this now."
I took that example code we had and wrote an interpreter that could at least fake run it enough that I could put it in front of someone and they could say, "Here's a streaming data system and I have this language. I can send it to the server and it does x,y,z."
Once we got that far and could hone in on the message, that's where we were able to attract a couple of million dollars of investment. Then, I went out to find someone who really knows how to write an interpreter and who really understands things like reinforcement learning.
Then we began working with that team as a group to build the platform and bring it together.
You are based in Berkeley California?
Every company has a lot of difficulty right now finding the right talent to hire. I can't imagine the difficulty you have in this space where you have something that is really starting to take off, which means the skills gap is probably pretty big. How do you find that talent? (Especially in California with such a competitive market.)
It's incredibly difficult. For data scientists that are really familiar with this stuff, Google is offering comp packages of nearly $300,000 per year. As a startup, that's difficult to stomach. As a company, there are a couple of things we do. The environment is small and tight-knit, which is very appealing to a certain kind of person.
We're looking for people who are excited about AI and that kind of atmosphere. Our mission is also very exciting. Things like Google DeepMind and also OpenAI are very important, but their goal is not to build a tool that makes any programmer be able to use this technology, so we have people very excited our mission.
I won't lie. It's very hard. Marcos Campos, who heads up out team on our AI efforts, is constantly calling people. He reaches out to people to introduce them to it and bring them in to interview them.
The Bay Area is tough because there is a lot of competition, but the competition also brings a lot of talented folks. There is a lot of flow. It's hard to grab people out of that and get them excited. It takes time.
Your co-founder having AI experience probably helps. If you don't have a lot of AI experience, how do you know you're hiring someone that's not just talking a lot of game, but can actually execute on their ability to do whatever you are hiring them for?
The honest answer is that I don't. Three years ago I knew zero about AI. Now, I can program with TensorFlow. I wouldn't market myself as a AI expert, but I have an understanding.
It's important to find partners that are complimentary. While I might be passionate about programmer experiences and API design and program language design, it's not enough. I needed someone else. Even between Mark and me, we needed someone who knew about marketing, so that's why we hired Dave Cahill.
Looking at a team and realizing there's something missing and that we need to find somebody else is good. I actually like this project that requires a wide array of expertise. It's risky in a startup context because you don't have a lot of resources. It's hard to have a big team, but at the same time it's interesting and fun for me because every day I go into work, it's a new kind of problem from a different kind of space.
I get really excited about having to jump around and tackle that.
Chris: Yes, and sometimes you lose that in a bigger company. As you grow, you can't wear as many hats, which has its benefits but also downsides. You don't have the ability to switch between different tasks and really get out of your comfort zone which I really enjoy doing.
You are head of Product and you mentioned that you enjoy building the API experience or building the entire experience itself, what else do you do as head of Products?
I see product management as existing in three core areas:
- understanding users
- understanding the market and the relationship with competitor businesses
- understanding technology
In this space right now, the technology is complex, so there is a heavy technology component.
I wouldn't undersell the importance of understanding programmers and what they need.
There is a lot of work that needs to go into having a programmer be satisfied in their tool.
As a founder, I am exposed to and interact in a lot of stuff. I'm involved in fundraising and some of the higher level strategic decisions and hiring decisions. There's a lot going on.
I have designers that report to me as well who are PMs (project managers). We all, as a group, try to work with the programmers to make sure we're building the right product, for the right person, for the right market.
To wrap up, if someone is listening, gets really excited about your project, and wants to join the team, and how do they stay on top of your releases? How do they reach out to you?
How did this interview help you?
If you learned anything from this interview, please thank our guest for their time.
Oh, and help your followers learn by clicking the Tweet button below :)