Devreal

Cognifest NYC 2017: Dennis Mortensen, Machine Agents in the Real World

Cognifest NYC 2017: Dennis Mortensen, Machine Agents in the Real World

Recording: Cognifest NYC 2017: Dennis Mortensen, Machine Agents in the Real World

[Music] two elements or reminders really that I want to leave you with tonight assuming that I can't really teach you much is one of the importance in being able to define the universe in which your agent exists and to try to figure out whether you are a low accuracy or high accuracy application and I certainly think having some sort of understanding of those two and it's not that it's difficult to understand but making a choice of those two will allow you to make fewer mistakes than we might have so title was solving real-world problems with Scala that is very descriptive so we are exactly what our friend from IBM defined before a company which set out to solve a very easy to understand pain so we're not trying to bring people to Mars we're not trying to electrify all vehicles in North America we're just trying to schedule meetings no more no less there's no ambition of us doing travel doing your receipts helping you in your inbox or doing 14 other things we just schedule meetings and it's not that's this idea of setting up meetings it's something which you don't understand I'm sure everybody in here if I asked you have you done a meeting this week or the week prior you would say yes if I asked you did you like kind of setting it up that kind of lovable ping-pong back and forth way I say Thursday you say Wednesday I say Friday you say 1:00 I say - I say my office your office and we send out an invite you'll probably say no I [ __ ] hate it but somehow my lot in life is to do this myself and the only way I can escape it is if you somehow win the corporate lottery and become SVP or flim-flam at Time Inc and you get a human assistant to manage your the way we've attacked this and you're very welcome to call [ __ ] on this and this is obviously something for we are highly biased it's wonderful way I don't believe that there's yet another app or extension or plugin or web service or tunngle me a doodle me that's gonna solve the pain that comes along with setting up meetings I actually do think we agreed what we want which was that human assistant Tom which I wanted to sit in my front office and manage my calendar I just can't afford sixty thousand dollars a year for Tom to sit around and work my calendar so it's on me but if it's on me and I actually like Tom then I actually think it's on us as a company X today I to figure out how do we then replicate that experience don't reinvent the process figure out some real-world pain and figure out if it's not time if that's not this moment for where you might actually be able to not fully replicate the human which is completely ludicrous to suggest but this sliver for where whenever somebody emails me and says hey Dennis can we meet up for a diet coke first week of December I can reply back and say yeah I'm up for that and this example here I think describes it very well you've all seen either this slides or some version of this email and you haven't seen this email go to your inbox right now because there'll be one of these emails in your inbox it'll say something like this hey Michael good to talk to you yesterday do you have time to meet up later today tomorrow perhaps early next week I'm free most days after 1 p.m. you've seen a hundred of those emails but really look at it that's not an email that's the [ __ ] riddle so rebel which you want me to solve and somehow overlap your little riddle with my calendar and then figure out when to meet up early what does that even mean most days after 1 p.m. perhaps later today it's like I'll look at this later and later means me in my underwear at 11 p.m. at home trying to solve this the solution though certainly as we see it is this agent setting for where you have no application just an agent which you can see see in and then describe the objective for the job which you want done to the agent then it's now the agents job so hey John I'd be happy to meet up I've seized it in my assistant and she can help putting on something on my calendar her job is now to remove me from the conversation have this very human like negotiation really back-and-forth on this single subject matter and drive it towards conclusion not round in circles it's not about answering questions it's about knowing where am I in this negotiation and how do I Drive it towards conclusion this here and the one reminder from this setting is that if you want any agent in any setting to be able to operate you need to be able to define that universe in full just like self-driving cars obviously anyone who's working on that is not trying to create a model of the real world as in then you're insane so you'll try to create some sort of simplistic model of the world cars roads signs pedestrians concepts that can exist in that and that becomes your universe and now you need to kind of be able to exist within this universe that you've created and you might say Dennis don't use the word universe together with the word setting up meetings as him I call [ __ ] on that I wish that was the case as then it feels like one of those things you and me can go to the whiteboard right now and map out the meetings getting in universes in new meeting council meeting reschedule running late your mandatory your optional samantha is the assistant tom is going to be the coordinator how many things can exist in that universe and what we found this certainly that there was way more complex than we had anticipated that is always the case but when we set out to kind of solve this about three and a half years ago we suddenly pitched our investors on a slightly shorter journey then it really was and we can have a laugh about that but certainly a slightly shorter journey but the important thing which I certainly didn't fully appreciate on that kind of December when I got the team back together was the importance of being able to define that there's two things for why this is super important one if the universe isn't finite then I don't think you can create an agent that can exist in it because that means you have outcomes that you're unaware of so you can't have some part of it there's no level of intelligence today for it they can invent new outcomes they can generally be more accurate on your predictions can be better tomorrow based on the fact that you collected more data but they're not going to create new pathways so if you cannot come up with that finite definition you are doomed but you also need to make sure once you make it that you are very comfortable and you having reached the end of that definition now comes just in closing on this party and that is the first reminder go out and see if you can define that universe and fall I was somehow cocky stupid naive all of the above to believe that that very first version you come up with was it but if you have a version what do you do then then you hire a whole bunch of data label ISM just to give you an idea here we're still a tiny startup in Manhattan but we have a hundred people that does nothing but labeling that is one part of the team labeling what do you do then if you figure out that your initial version of how you define time isn't robust enough do you flush all your past data down the toilet I said give me another kind of version of what I just said do you call off Softbank and say hey remember that two million dollars yeah we pissed it away but we think we're closer now so we're gonna make two changes then we're gonna collect a whole nother set of data first reminder focus on that universe now second remind and you knew this already so I'm not saying anything new I'm just kind of underlining something that you've probably had in mind already second one is be very strict about whether you play in the low accuracy or high accuracy application space and there's a massive difference in how we go about implementing this and this will be my in that little Venn diagram of what we're trying to talk about tonight's overlap with Scala and I'll tell you why I think that's noble up here and again you can say that seems stretched but I should do think that's true this though just to give you an idea of what is a low accuracy AI application pick something as simple as and big as quotes Facebook's ability to pick up people in the pictures that you upload and suggest whether the your friends are not and if they pick up three out of five I'm kind of a happy chap so pick up two out of five I'm happy don't pick up anybody be super tart picture I'm kind of okay I might not even want to label them but whatever they do thank you very much I appreciate it on the other end we kind of came a long way in those self-driving cars I seen we could probably send them out on the highway today we just need kind of a footnote saying hey by the way for every year 2,000 miles we're gonna hit a pedestrian that's probably not gonna fly still pretty fantastic software but it's not gonna fly you're in a space where you're not allowed to make many errors we happen to be in this space here we're not in a space where the outcomes are so dramatic as with self-driving cars but if you and me agree to meet at 8 a.m. on a Saturday morning in Westchester I live on Wall Street and you don't turn up I'm gonna be a little bit pissy as am i took the train it took forever to get to Westchester and now you're not there not cool Amy not [ __ ] cool and in that setting you have this responsibility to yours towards your customers where there's an expectation that I asked you to do a job you didn't do that job and if you don't do your job X number of times I gotta let you go and it's not like you're letting Facebook go if they don't find all your friends and your pictures and this year is equally important and that is a strong reminder that if you have no idea of whether you wanted the other I think you are setting yourself up for some struggles the reason and the connects here to Scala is that if you want and we picked Scala as a backdrop for really all of our national language understanding our reasoning engine all our natural language generation and pretty much anything else which is kind of fun than labeling for our label us have been done in JavaScript but the whole system is really built on Scala but what we get from this is one you get to hire people I believe and you can now disagree that are already mentally in the high-accuracy space does that make sense or did you see that connector that suddenly connect we tried to make - we need applications for where a lot of those traditional silly mistakes remember the system is autonomous so anything for where it fails it fails right for where I didn't turn up I didn't get the invite I sent the wrong address I stepped something which was saying complete disconnect to what was being asked we cannot supervise that so once we get the agent to work it is fully autonomous and all of the traditional kind of fails you have for where you can just do another query whatever piece of software it might be there is not really a setting like this so we certainly believe that the language have given us some pains up front but some security down the line and we've hired people who kind of floor us in that environment that's us that's me and my 150 some odd propellerhead friends having spent come December for years trying to create a reasonably II an agent that schedules meetings click 12 minutes we're okay should we do one question at least this one for you say Dennis you're making no sense here go home oh my gosh we [ __ ] up i Scylla Scylla is some sauce could you elaborate or more about the language is that if you want to live in a high accuracy application space you need people who rye who write applications for where you have very few errors and you and I can talk about any decent engineer we'll try to write an application for where there's very few errors do we agree but we must also agree that not that's a spectrum right that any application some will have more errors than others that's the spectrum and the people which you hire will have a different level of tolerance for what they're willing to accept that's also a spectrum so what I thought we could get from Scala outside of us kind of making a bed on a compiled language just type safe early on was actually a pool of people that wanted to write error free applications and wouldn't tolerate the whole idea of having some sort of acceptable fallback in our infrastructure that's certainly our reasoning doesn't mean that we couldn't have survived on Java I'm sure I hope this is not being recorded because one of my ideas see this that will stab me in the heart but now suddenly you know one of the ideas and backdrops and I'll tell you how we got started we reached out to assemble that initial team of very senior style engineers and found one in Germany found one in Brazil and one in San Francisco's only the best of the best that we could find and somehow persuaded them to say hey New York will be your new home and if we could assemble those three guys then the remainder would kind of come behind them and I think we were somewhat successful they have a reasonably large we still a small start-up but reasonably large Scala engineering team and one of our engineers will actually come and chat a bit more about some of the details one of these days cool thank you very much [Applause] [Music]