From the physical world to the virtual world, algorithms are seemingly everywhere. David J. Malan, Professor of Computer Science at Harvard University, has been challenged to explain the science of algorithms to 5 different people; a child, a teen, a college student, a grad student, and an expert.
Director: Wendi Jonassen
Director of Photography: Zach Eisen
Editor: Louville Moore
Host: David J. Malan
Guests:
Level 1: Addison Vincent
Level 2: Lexi Kemmer
Level 3: Patricia Guirao
Level 4: Mahi Shafiullah
Level 5: Chris Wiggins
Creative Producer: Maya Dangerfield
Line Producer: Joseph Buscemi
Associate Producer: Paul Gulyas; Kameryn Hamilton
Production Manager: D. Eric Martinez
Production Coordinator: Fernando Davila
Casting Producer: Vanessas Brown; Nicholas Sawyer
Camera Operator: Brittany Berger
Gaffer: Gautam Kadian
Sound Mixer: Lily Van Leeuwen
Production Assistant: Ryan Coppola
Hair & Make-Up: Yev Wright-Mason
Post Production Supervisor: Alexa Deutsch
Post Production Coordinator: Ian Bryant
Supervising Editor: Doug Larsen
Assistant Editor: Lauren Worona
Director: Wendi Jonassen
Director of Photography: Zach Eisen
Editor: Louville Moore
Host: David J. Malan
Guests:
Level 1: Addison Vincent
Level 2: Lexi Kemmer
Level 3: Patricia Guirao
Level 4: Mahi Shafiullah
Level 5: Chris Wiggins
Creative Producer: Maya Dangerfield
Line Producer: Joseph Buscemi
Associate Producer: Paul Gulyas; Kameryn Hamilton
Production Manager: D. Eric Martinez
Production Coordinator: Fernando Davila
Casting Producer: Vanessas Brown; Nicholas Sawyer
Camera Operator: Brittany Berger
Gaffer: Gautam Kadian
Sound Mixer: Lily Van Leeuwen
Production Assistant: Ryan Coppola
Hair & Make-Up: Yev Wright-Mason
Post Production Supervisor: Alexa Deutsch
Post Production Coordinator: Ian Bryant
Supervising Editor: Doug Larsen
Assistant Editor: Lauren Worona
Category
🤖
TechTranscript
00:00 Hello world, my name is David J. Malan and I'm a professor of computer science at Harvard
00:04 University.
00:05 Today I've been asked to explain algorithms in five levels of increasing difficulty.
00:10 Algorithms are important because they really are everywhere, not only in the physical world
00:14 but certainly in the virtual world as well.
00:16 And in fact what excites me about algorithms is that they really represent an opportunity
00:20 to solve problems.
00:21 And I dare say no matter what you do in life, all of us have problems to solve.
00:28 So I'm a computer science professor so I spend a lot of time with computers.
00:31 How would you define a computer for them?
00:33 Well a computer is electronic, like a phone, but it's a rectangle and you like can type
00:42 like tick tick tick and you work on it.
00:45 Nice.
00:46 Do you know any of the parts that are inside of a computer?
00:50 Um, no.
00:51 Can I explain a couple of them to you?
00:53 Yeah.
00:54 So like inside of every computer is some kind of brain and the technical term for that is
00:58 CPU or central processing unit.
01:00 And those are the pieces of hardware that know how to respond to those instructions
01:06 like moving up or down or left or right.
01:08 It knows how to do math like addition and subtraction.
01:12 And then there's at least one other type of hardware inside of a computer called memory
01:16 or RAM if you've heard of this.
01:17 I know memory because you have to memorize stuff.
01:20 Yeah exactly and computers have even different types of memory.
01:23 They have what's called RAM, random access memory, which is where your games, where your
01:28 programs are stored while they're being used.
01:31 But then it also has a hard drive or a solid state drive, which is where your data, your
01:35 high scores, your documents once you start writing essays and stories in the future.
01:40 It stays there.
01:41 It stays permanently.
01:42 So even if the power goes out, the computer can still remember that information.
01:46 It's still there because the computer can't just like delete all the words itself because
01:53 your fingers can only do that.
01:55 Like you have to use your finger to delete all the stuff.
01:59 Exactly.
02:00 Right.
02:01 Have you heard of an algorithm before?
02:02 Yes.
02:03 Algorithm is a list of instructions to tell people what to do or like a robot what to
02:09 do.
02:10 Yeah exactly.
02:11 It's sort of just step by step instructions for doing something for solving a problem
02:15 for instance.
02:16 So like if you have a bedtime routine, then first you say, I get dressed, I brush my teeth,
02:23 I read a little story and then I go to bed.
02:26 All right.
02:27 Well how about another algorithm?
02:28 Like what do you tend to eat for lunch?
02:30 Any types of sandwiches you like?
02:31 I eat pita butter.
02:33 Let me get some supplies from the cupboard here.
02:35 So should we make an algorithm together?
02:37 Why don't we do it this way?
02:39 Why don't we pretend like I'm a computer or maybe I'm a robot so I only understand your
02:43 instructions and so I want you to feed me, no pun intended, an algorithm.
02:48 So step by step instructions for solving this problem.
02:51 But remember, algorithms, you have to be precise.
02:54 You have to give the right instructions.
02:58 Just do it for me.
02:59 So step one was what?
03:01 Open the bag.
03:02 Okay.
03:03 Opening the bag of bread.
03:04 Stop.
03:05 Grab the bread and put it on the plate.
03:07 Grab the bread and put it on the plate.
03:11 Take all the bread back and put it back in there.
03:14 So that's like an undo command.
03:16 Little control Z. Okay.
03:18 Take one bread and put it on the plate.
03:21 Take the lid off the pita butter.
03:23 Take the lid off the pita butter.
03:24 Put the lid down.
03:27 Take the knife.
03:28 Take the knife.
03:29 Put the blade inside the pita butter and spread the pita butter on the bread.
03:35 I'm going to take out some pita butter and I'm going to spread the pita butter on the
03:39 bread.
03:40 I put a lot of pita butter on because I love pita butter.
03:43 Apparently I thought I was messing with you here but I think you're apparently happy with
03:46 this.
03:47 Put the bread down and then grab one bread and put it on top of the second bread sideways.
03:53 Sideways.
03:54 Like put it flat on.
03:58 Oh, flat ways.
03:59 Okay.
04:00 And now done.
04:01 You're done with your sandwich.
04:02 Should we take a delicious bite?
04:04 Yep.
04:05 Let's take a bite.
04:06 Okay.
04:07 Here we go.
04:08 What would be the next step be here?
04:10 Clean all this mess up.
04:12 Clean all this mess up.
04:13 Right.
04:14 We made an algorithm.
04:15 Step by step instructions.
04:16 Yeah.
04:17 That's the problem.
04:18 And if you think about now how we made peanut butter and jelly sandwiches, sometimes we
04:21 were imprecise and you didn't give me quite enough information to do the algorithm correctly
04:25 and that's why I took out so much bread.
04:28 Precision.
04:29 Being very, very correct with your instructions is so important in the real world because
04:33 for instance when you're using the World Wide Web and you're searching for something on
04:36 Google or Bing.
04:38 You want to do the right thing.
04:40 Exactly.
04:41 So like if you type in just Google then you won't find the answer to your question.
04:46 Pretty much everything we do in life is an algorithm even if we don't use that fancy
04:50 word to describe it because you and I are sort of following instructions either that
04:54 we came up with ourselves or maybe our parents told us how to do these things and so those
04:59 are just algorithms.
05:00 But when you start using algorithms in computers that's when you start writing code.
05:09 What do you know about algorithms?
05:11 Nothing really.
05:12 At all honestly.
05:13 I think it's just probably a way to store information in computers.
05:17 And I dare say even though you might not have put this word on it odds are you executed
05:21 as a human multiple algorithms today even before you came here today.
05:26 Like what were a few things that you did?
05:28 I got ready.
05:29 Okay and get ready.
05:30 What does that mean?
05:31 Brushing my teeth.
05:32 Brushing my hair.
05:33 Okay.
05:34 Getting dressed.
05:35 Okay so all of those frankly if we really dove more deeply could be broken down into
05:38 step by step instructions and presumably your mom your dad someone in the past sort of programmed
05:44 you as a human to know what to do and then after that as a smart human you can sort of
05:49 take it from there and you don't need their help anymore.
05:50 But that's kind of what we're doing when we program computers.
05:54 Something maybe even more familiar nowadays like odds are you have a cell phone your contacts
05:58 or your address book.
05:59 But let me ask you why that is.
06:01 Like why does Apple or Google or anyone else bother alphabetizing your contacts?
06:05 I just assumed it would be easier to navigate.
06:07 What if your friend happened to be at the very bottom of this randomly organized list?
06:12 Like why is that a problem?
06:13 Like he or she is still there.
06:14 I guess it would take a while to get to while you're scrolling.
06:17 That in of itself is kind of a problem or it's an inefficient solution to the problem.
06:21 So it turns out that back in my day before there were cell phones like everyone's numbers
06:24 from high school were literally printed in a book and everyone in my town and my city
06:29 my state was printed in an actual phone book.
06:31 Even if you've never seen this technology before how would you propose verbally to find
06:35 John in this phone book?
06:36 I would just flip through and just look for the days I guess.
06:39 Yeah, so let me propose that we start that way.
06:41 I could just start at the beginning and step by step I could just look at each page looking
06:46 for John, looking for John.
06:48 Now even if you've never seen this here technology before it turns out this is exactly what your
06:52 phone could be doing in software.
06:55 Like someone from Google or Apple or the like they could write software that uses a technique
06:59 in programming known as a loop.
07:01 And a loop as the word implies is just sort of do something again and again.
07:04 What if instead of starting from the beginning and going one page at a time what if I or
07:07 what if your phone goes like two pages or two names at a time?
07:11 Would this be correct do you think?
07:12 Well you could skip over John I think.
07:15 In what sense?
07:16 If he's in one of the middle pages that you skipped over.
07:18 Yeah, so sort of accidentally and frankly with like 50/50 probability John could get
07:22 sandwiched in between two pages but does that mean I have to throw that algorithm out altogether?
07:27 Maybe you could use that strategy until you get close to the section and then switch to
07:31 going one by one.
07:32 Right, that's nice.
07:33 So you could kind of like go twice as fast but then kind of pump the brakes as you near
07:36 your exit on the highway or in this case near the J section of the book.
07:40 And maybe alternatively if I get to like A, B, C, D, E, F, G, H, I, J, K.
07:44 If I get to the K section then I could just double back like one page just to make sure
07:49 John didn't get sandwiched between those pages.
07:51 So the nice thing about that second algorithm is that I'm flying through the phone book
07:54 like two pages at a time.
07:56 So two, four, six, eight, ten, twelve.
07:58 It's not perfect, it's not necessarily correct but it is if I just take like one extra step.
08:02 So I think it's fixable.
08:03 But what your phone is probably doing and frankly what I and like my parents and grandparents
08:07 used to do back in the day is we'd probably go roughly to the middle of the phone book
08:10 here.
08:11 And just intuitively if this is an alphabetized phone book in English what section am I probably
08:16 going to find myself in roughly?
08:17 K.
08:18 Okay, so I'm in the K section.
08:20 Is John going to be to the left or to the right?
08:21 To the left.
08:22 Yeah, so John is going to be to the left or the right and what we can do here, though
08:25 your phone does something smarter, tear the problem in half.
08:28 Throw half of the problem away being left with just 500 pages now.
08:32 But what might I next do?
08:34 I could sort of naively just start at the beginning again but we've learned to do better.
08:37 I can go roughly to the middle here.
08:39 And do it again.
08:40 Yeah, exactly.
08:41 So now maybe I'm in the E section which is a little to the left.
08:45 So John is clearly going to be to the right.
08:47 So I can again tear the problem poorly in half, throw this half of the problem away
08:53 and I claim now that if we started with a thousand pages, now we've gone to 500, 250.
08:57 Now we're really moving quickly.
08:59 And so eventually I'm hopefully dramatically left with just one single page at which point
09:05 John is either on that page or not on that page and I can call him.
09:09 Roughly how many steps might this third algorithm take if I started with a thousand pages then
09:14 went to 500, 250, 125?
09:17 Like how many times can you divide 1000 in half?
09:20 Maybe.
09:21 Ten.
09:22 Ten.
09:23 Ten.
09:24 Because in the first algorithm, looking again for someone like Zoe in the worst case, might
09:26 have to go all the way through a thousand pages.
09:28 But the second algorithm you said was 500, maybe 501, essentially the same thing.
09:33 So twice as fast.
09:34 But this third and final algorithm is sort of fundamentally faster because you're sort
09:38 of dividing and conquering it in half, in half, in half, not just taking one or two
09:43 bytes out of it at a time.
09:45 So this of course is not how we used to use phone books back in the day since otherwise
09:48 they'd be single use only, but it is how your phone is actually searching for Zoe, for John,
09:53 for anyone else.
09:54 But it's doing it in software.
09:55 Oh, that's cool.
09:56 So here we've happened to focus on searching algorithms, looking for John in the phone
10:00 book.
10:01 But the technique we just used can indeed be called divide and conquer, where you take
10:03 a big problem and you divide and conquer it.
10:06 That is, you try to chop it up into smaller, smaller, smaller pieces.
10:09 A more sophisticated type of algorithm, at least depending on how you implement it, something
10:13 known as a recursive algorithm.
10:16 Recursive algorithm is essentially an algorithm that uses itself to solve the exact same problem
10:21 again and again, but chops it smaller and smaller and smaller ultimately.
10:26 Hi, my name is Patricia.
10:28 Patricia, nice to meet you.
10:31 Where are you a student at?
10:32 I'm starting my senior year now at NYU.
10:34 Oh, nice.
10:35 And what have you been studying the past few years?
10:36 I studied computer science and data science.
10:38 If you were chatting with a non-CS, non-data science friend of yours, how would you explain
10:42 to them what an algorithm is?
10:44 Some kind of systematic way of solving a problem, or a set of steps to solve a certain problem
10:51 you have.
10:52 So you probably recall learning topics like binary search versus linear search and the
10:56 like.
10:57 So I've come here, complete with an actual chalkboard with some magnetic numbers on it
11:01 here.
11:02 How would you tell a friend to sort these?
11:04 I think one of the first things we learned was something called bubble sort.
11:08 It was kind of like focusing on smaller bubbles, I guess I would say, of the problem, looking
11:14 at smaller segments rather than the whole thing at once.
11:17 What is, I think, very true about what you're hinting at is that bubble sort really focuses
11:22 on local, small problems.
11:25 Rather than taking a step back, trying to fix the whole thing, let's just fix the obvious
11:28 problems in front of us.
11:29 So for instance, when we're trying to get from smallest to largest, and the first two
11:32 things we see are eight followed by one, this looks like a problem because it's out of order.
11:37 So what would be the simplest fix, the least amount of work we can do to at least fix one
11:41 problem?
11:42 Just switch those two numbers because one is obviously smaller than eight.
11:45 Perfect.
11:46 So we just swap those two then.
11:47 You would switch those again.
11:48 Yeah.
11:49 So that further improves the situation.
11:51 And you can kind of see it, that the one and the two are now in place.
11:54 How about eight and six?
11:55 Switch it again.
11:56 Switch those again.
11:57 Eight and three?
11:58 Switch it again.
12:00 And conversely, now the one and the two are closer to, and coincidentally, are exactly
12:05 where we want them to be.
12:07 So are we done?
12:08 No.
12:09 OK.
12:10 So obviously not.
12:11 But what could we do now to further improve the situation?
12:15 Go through it again, but you don't need to check the last one anymore because we know
12:20 that number is bubbled up to the top.
12:21 Yeah.
12:22 Because eight has indeed bubbled all the way to the top.
12:24 So one and two?
12:25 Yeah.
12:26 Keep it as is.
12:27 OK.
12:28 Two and six?
12:29 Keep it as is.
12:30 OK.
12:31 Six and three?
12:32 Then you switch it.
12:33 OK.
12:34 We'll switch or swap those.
12:35 Six and four?
12:36 OK.
12:37 Seven and five?
12:38 Swap it.
12:39 OK.
12:40 And then I think, per your point, we're pretty darn close.
12:41 Let's go through once more.
12:43 One and two?
12:44 Keep it.
12:45 Two, three?
12:46 Keep it.
12:47 Three, four?
12:48 Keep it.
12:49 Four, six?
12:50 Keep it.
12:51 Six, five?
12:52 And then switch it.
12:53 All right.
12:54 We'll switch this.
12:55 And now, to your point, we don't need to bother with the ones that already bubbled
12:56 their way up.
12:57 Now we're 100% sure it's sorted.
12:58 Yeah.
12:59 And certainly the search engines of the world, Google and Bing and so forth, they probably
13:00 don't keep web pages in sorted order because that would be a crazy long list when you're
13:04 just trying to search the data.
13:06 But there's probably some algorithm underlying what they do.
13:08 And they probably similarly, just like we, do a bit of work up front to get things organized,
13:14 even if it's not strictly sorted in the same way, so that people like you and me and others
13:17 can find that same information.
13:20 So how about social media?
13:21 Can you envision where the algorithms are in that world?
13:25 Like maybe, for example, like TikTok, like the For You page.
13:28 It's kind of like-- because those are like recommendations, right?
13:31 It's like sort of like Netflix recommendations, except more constant because it's just like
13:36 every video you scroll, it's like that's a new recommendation, basically.
13:39 And it's like based on what you've liked previously, what you've saved previously, what you search
13:43 up.
13:44 So I would assume there's some kind of algorithm there, kind of figuring out what to put on
13:47 your For You page.
13:48 Absolutely.
13:49 Just trying to keep you presumably more engaged.
13:51 So the better the algorithm is, the better your engagement is.
13:54 Maybe the more money the company then makes on the platform and so forth.
13:57 So it all sort of feeds together.
13:59 But what you're describing really is more artificially intelligent, if I may.
14:03 Because presumably, there's not someone at TikTok or any of these social media companies
14:07 saying, if Patricia likes this post, then show her this post.
14:10 If she likes this post, then show her this other post.
14:13 Because the code would sort of grow infinitely long.
14:15 And there's just way too much content for a programmer to be having those kinds of conditionals,
14:21 those decisions being made behind the scenes.
14:24 So it's probably a little more artificially intelligent.
14:26 And in that sense, you have topics like neural networks and machine learning, which really
14:30 describe taking as input things like what you watch, what you click on, what your friends
14:35 watch, what they click on, and sort of trying to infer from that instead, what should we
14:38 show Patricia or her friends next?
14:41 OK.
14:42 Yeah, yeah.
14:43 That makes the distinction more-- makes more sense now.
14:46 Nice.
14:47 Yeah.
14:48 I am currently a fourth year PhD student at NYU.
14:52 I do robot learning.
14:53 So that's half and half robotics and machine learning.
14:56 Sounds like you've dabbled with quite a few algorithms.
14:59 So how does one actually research algorithms or invent algorithms?
15:02 The most important was just trying to think about inefficiencies and also think about
15:06 connecting threads.
15:07 The way I think about it is that algorithm, for me, is not just about the way of doing
15:12 something, but it's about doing something efficiently.
15:15 Learning algorithms are practically everywhere now.
15:16 Google, I would say, for example, is learning every day about, like, oh, what articles,
15:22 what links might be better than others, and re-ranking them.
15:26 There are recommender systems all around us, right, like content feeds and social media
15:31 or, you know, like YouTube or Netflix.
15:34 What we see is, in a large part, determined by this kind of learning algorithms.
15:38 Nowadays, there's a lot of concerns around some applications of machine learning and,
15:43 like, deep fakes, where it can kind of learn how I talk and learn how you talk and even
15:47 how we look and generate videos of us.
15:50 We're doing this for real, but you could imagine a computer synthesizing this conversation
15:53 eventually.
15:54 Right.
15:55 But how does it even know what I sound like and what I look like and how to replicate
15:58 that?
15:59 All of this learning algorithms that we talk about, right, a lot, like, what goes in there
16:04 is just lots and lots of data.
16:06 So data goes in, something else comes out.
16:08 What comes out is whatever objective function that you optimize for.
16:11 Like, where is the line between algorithms that, like, play games with and without AI?
16:17 Because I think when I started off my undergrad, the current AI machine learning was not very
16:23 much synonymous.
16:24 Okay.
16:25 And even in my undergraduate, in the AI class, they learned a lot of classical algorithms
16:28 for game plays.
16:29 Like, for example, the A* search, right?
16:32 That's a very simple example of how you can play a game without having anything learned.
16:37 This is very much, oh, you are at a game state, you just search down, see what are the possibilities,
16:43 and then you pick the best possibility that it can see, versus what you think about when
16:48 you think about AI as game play, like the Alpha Zero, for example, or Alpha Star, or
16:54 there are a lot of, you know, like, fancy new machine learning agents that are, you
16:58 know, even, like, learning very difficult games like Go.
17:01 And those are learned agents, as in they are getting better as they play more and more
17:07 games.
17:08 And as they get more games, they kind of refine their strategy based on the data that they
17:12 have seen.
17:13 So, again, this high level of abstraction is still the same.
17:15 You see a lot of data, and you learn from that, right?
17:18 But the question is, what is the objective function that you're optimizing for?
17:22 Is it winning this game?
17:24 Is it forcing a tie?
17:25 Or is it, you know, like opening a door in the kitchen?
17:27 So if the world is very much focused on supervised, unsupervised reinforcement learning now, like,
17:32 what comes next?
17:33 Five, ten years.
17:34 Where is the world going?
17:35 I think that this is just going to be more and more, I don't want to use the word encroachment,
17:41 but that's what it feels like of algorithms into our everyday life.
17:44 Like even when I was taking the train here, right?
17:46 The trains are being routed with algorithms, but this has existed for, you know, like 50
17:51 years, probably.
17:52 But as I was coming here, as I was checking my phone, those are different algorithms.
17:56 And you know, they're kind of getting all around us, getting there with us all the time.
18:01 They're making our life better, most places, most cases.
18:05 And I think that's just going to be a continuation of all of those.
18:08 And it feels like they're even in places you wouldn't expect, and there's just so much
18:11 data about you and me and everyone else online.
18:13 And this data is being mined and analyzed and influencing things we see and hear.
18:17 So there is sort of a counterpoint, which might be good for the marketers, but not necessarily
18:21 good for you and me as individuals.
18:23 You know, like we're human beings, but for someone, we might be just a pair of eyes who
18:28 are, you know, carrying a wallet and are there to buy things.
18:32 But there is so much more potential for these algorithms to just make our life better without,
18:37 you know, like changing much about our life.
18:39 [MUSIC PLAYING]
18:43 I'm Chris Wiggins, an associate professor of applied mathematics at Columbia.
18:46 I'm also the chief data scientist of The New York Times.
18:48 The data science team at The New York Times develops and deploys machine learning for
18:51 newsroom and business problems.
18:53 But I would say the things that we do, mostly you don't see.
18:56 But it might be things like personalization algorithms or recommending different content.
19:00 And do data scientists, which is rather distinct from the phrase computer scientists, do data
19:04 scientists still think in terms of algorithms as driving a lot of it?
19:08 Oh, absolutely.
19:09 In fact, so in data science and academia, often the role of the algorithm is the optimization
19:14 algorithm that helps you find the best model or the best description of a data set.
19:18 In data science and industry, the goal often is centered around an algorithm, which becomes
19:23 a data product.
19:24 So a data scientist in industry might be developing and deploying the algorithm, which means not
19:29 only understanding the algorithm and its statistical performance, but also all of the software
19:33 engineering around systems integration, making sure that that algorithm receives input that's
19:39 reliable and has output that's useful, as well as I would say the organizational integration,
19:44 which is how does a community of people, like the set of people working at The New York
19:47 Times, integrate that algorithm into their process.
19:49 Interesting.
19:50 And I feel like AI-based startups are all the rage, and certainly within academia.
19:54 Are there connections between AI and the world of data science?
19:56 Oh, absolutely.
19:57 The algorithms that they're in, can you connect those dots for us?
19:59 You're right that AI as a field has really exploded.
20:02 I would say particularly many people experienced a chatbot that was really, really good.
20:06 Today, when people say AI, they're often thinking about large language models, or they're thinking
20:11 about generative AI, or they might be thinking about a chatbot.
20:14 One thing to keep in mind is a chatbot is a special case of generative AI, which is
20:18 a special case of using large language models, which is a special case of using machine learning
20:23 generally, which is what most people mean by AI.
20:25 You may have moments that are what John McCarthy called "look, Ma, no hands" results, where
20:30 you do some fantastic trick and you're not quite sure how it worked.
20:33 I think it's still very much early days.
20:35 Large language models is still in the point of what might be called alchemy, and that
20:38 people are building large language models without a real clear a priori sense of what
20:42 the right design is for a right problem.
20:45 Many people are trying different things out, often in large companies where they can afford
20:48 to have many people trying things out, seeing what works, publishing that, instantiating
20:52 it as a product.
20:53 And that itself is part of the scientific process, I would think, too.
20:56 Yeah, very much.
20:57 Well, science and engineering, because often you're building a thing and the thing does
21:01 something amazing.
21:02 To a large extent, we are still looking for basic theoretical results around why deep
21:07 neural networks generally work.
21:09 Why are they able to learn so well?
21:11 They're huge, billions of parameter models, and it's difficult for us to interpret how
21:15 they are able to do what they do.
21:16 And is this a good thing, do you think, or an inevitable thing that we, the programmers,
21:21 we the computer scientists, the data scientists who are inventing these things, can't actually
21:25 explain how they work?
21:27 Because I feel like friends of mine in industry, even when it's something simple and relatively
21:30 familiar, like autocomplete, they can't actually tell me why that name is appearing at the
21:34 top of the list.
21:35 Whereas years ago, when these algorithms were more deterministic and more procedural, you
21:40 could even point to the line that made that name bubble up to the top.
21:44 So is this a good thing, a bad thing, that we're sort of losing control, perhaps, in
21:47 some sense, of the algorithm?
21:48 It has risks.
21:49 I don't know that I would say that it's good or bad, but I would say there's lots of scientific
21:52 precedent.
21:53 There are times when an algorithm works really well and we have a finite understanding of
21:56 why it works, or a model works really well and sometimes we have very little understanding
22:01 of why it works the way it does.
22:03 In classes I teach, certainly spend a lot of time on fundamentals, algorithms that have
22:06 been taught in classes for decades now, whether it's binary search, linear search, bubble
22:11 sort, selection sort, or the like.
22:13 But if we're already at the point where I can pull up ChatGPT, copy/paste a whole bunch
22:17 of numbers or words and say, "Sort these for me," does it really matter how ChatGPT is
22:23 sorting it?
22:24 Does it really matter to me as the user how the software is sorting it?
22:27 Do these fundamentals become more dated and less important, do you think?
22:30 Now you're talking about the ways in which code and computation is a special case of
22:35 technology.
22:36 So, for driving a car, you may not necessarily need to know much about organic chemistry,
22:41 even if the organic chemistry is how the car works.
22:44 So you can drive the car and use it in different ways without understanding much about the
22:49 fundamentals.
22:50 So, similarly with computation, we're at a point where the computation is so high level,
22:54 because you can import Scikit-learn and you can go from zero to machine learning in 30
22:58 seconds.
22:59 It's depending on what level you want to understand the technology, where in the stack, so to
23:02 speak, it's possible to understand it and make wonderful things and advance the world
23:07 without understanding it at the particular level of somebody who actually might have
23:10 originally designed the actual optimization algorithm.
23:13 I should say, though, for many of the optimization algorithms, there are cases where an algorithm
23:16 works really well and we publish a paper and there's a proof in the paper, and then years
23:21 later people realize actually that proof was wrong and we're really still not sure why
23:24 that optimization works, but it works really well.
23:27 Or it inspires people to make new optimization algorithms.
23:30 So I do think that the goal of understanding algorithms is loosely coupled to our progress
23:36 in advancing great algorithms, but they don't always necessarily have to require each other.
23:40 And for those students especially, or even adults who are thinking of now steering into
23:45 computer science, into programming, who were really jazzed about heading in that direction
23:49 up until, for instance, November of 2022, when all of a sudden for many people it looked
23:53 like the world was now changing and now maybe this isn't such a promising path, this isn't
23:58 such a lucrative path anymore.
24:00 Are LLMs, are tools like Chachupiti reason not to perhaps steer into the field?
24:05 Large language models are a particular architecture for predicting, let's say, the next word or
24:09 a set of tokens more generally.
24:11 The algorithm comes in when you think about how is that LLM to be trained or also how
24:16 to be fine-tuned.
24:18 So the P of GPT is a pre-trained algorithm.
24:22 The idea is that you train a large language model on some corpus of text.
24:27 Could be encyclopedias or textbooks or what have you.
24:31 And then you might want to fine-tune that model around some particular task or some
24:36 particular subset of texts.
24:39 So both of those are examples of training algorithms.
24:41 So I would say people's perception of artificial intelligence has really changed a lot in the
24:45 last six months, particularly around November of 2022 when people experienced a really good
24:52 chatbot.
24:53 The technology, though, had been around already before.
24:56 Academics had already been working with Chachupiti 3 before that and Chachupiti 2 and Chachupiti
25:00 1.
25:01 And for many people, it sort of opened up this conversation about what is artificial
25:04 intelligence and what could we do with this and what are the possible good and bad.
25:08 Like any other piece of technology, Kranzberg's first law of technology, technology is neither
25:12 good nor bad nor is it neutral.
25:14 Every time we have some new technology, we should think about its capabilities and the
25:17 good and the possible bad.
25:20 As with any area of study, algorithms offer a spectrum from the most basic to the most
25:24 advanced.
25:25 And even if right now the most advanced of those algorithms feels out of reach because
25:29 you just don't have that background, with each lesson you learn, with each algorithm
25:33 you study, that endgame becomes closer and closer such that it will before long be accessible
25:38 to you and you will be at the end of that most advanced spectrum.
25:41 [MUSIC PLAYING]
25:45 [BLANK_AUDIO]