N
NatiStream
Transcript
Hiển thị

Three Eras of Software

Andrej Karpathy introduces three paradigms of software: Software 1.0 (explicit code), Software 2.0 (neural network weights), and Software 3.0 (prompts for LLMs). He explains how LLMs are becoming a programmable utility, with companies providing metered API access similar to electricity. At Tesla, Software 2.0 replaced much of the C++ code in autopilot. LLMs are programmable in English, making prompts a new programming language.

Andrej Karpathy giới thiệu ba mô hình phần mềm: Phần mềm 1.0 (mã rõ ràng), Phần mềm 2.0 (trọng số mạng nơ-ron) và Phần mềm 3.0 (lời nhắc cho LLM). Ông giải thích cách LLM đang trở thành một tiện ích có thể lập trình, với các công ty cung cấp quyền truy cập API theo đồng hồ đo tương tự như điện. Tại Tesla, Phần mềm 2.0 đã thay thế phần lớn mã C++ trong hệ thống lái tự động. LLM có thể lập trình bằng tiếng Anh, biến lời nhắc thành một ngôn ngữ lập trình mới.

Please welcome former director of AI Tesla Andre Carpathy.

Xin chào mừng cựu giám đốc AI của Tesla, Andre Carpathy.

Music Hello.

[Nhạc] Xin chào.

Music Wow, a lot of people here.

[Nhạc] Wow, nhiều người ở đây quá.

Hello.

Xin chào.

Um, okay.

Ừm, được rồi.

Yeah.

Vâng.

So I'm excited to be here today to talk to you about software in the era of AI.

Vậy tôi rất hào hứng khi ở đây hôm nay để nói với các bạn về phần mềm trong kỷ nguyên AI.

And I'm told that many of you are students like bachelors, masters, PhD and so on.

Và tôi được biết rằng nhiều bạn là sinh viên như cử nhân, thạc sĩ, tiến sĩ v.v.

And you're about to enter the industry.

Và các bạn sắp bước vào ngành công nghiệp.

And I think it's actually like an extremely unique and very interesting time to enter the industry right now.

Và tôi nghĩ thực sự đây là một thời điểm cực kỳ độc đáo và rất thú vị để bước vào ngành công nghiệp ngay bây giờ.

And I think fundamentally the reason for that is

Và tôi nghĩ về cơ bản lý do cho điều đó là

that um software is changing uh again.

Phần mềm đang thay đổi một lần nữa.

And I say again because I actually gave this talk already.

Và tôi nói một lần nữa vì tôi thực sự đã có bài nói này rồi.

Um but the problem is that software keeps changing.

Ừm nhưng vấn đề là phần mềm cứ thay đổi mãi.

So I actually have a lot of material to create new talks and I think it's changing quite fundamentally.

Vì vậy tôi thực sự có rất nhiều tài liệu để tạo các bài nói mới và tôi nghĩ nó đang thay đổi khá căn bản.

I think roughly speaking software has not changed much on such a fundamental level for 70 years.

Tôi nghĩ nói chung phần mềm đã không thay đổi nhiều ở mức cơ bản trong suốt 70 năm.

And then it's changed I think about twice quite rapidly in the

Và sau đó nó đã thay đổi, tôi nghĩ khoảng hai lần khá nhanh chóng trong

last few years.

Vài năm qua.

And so there's just a huge amount of work to do a huge amount of software to write and rewrite.

Và vì vậy có rất nhiều việc phải làm, rất nhiều phần mềm phải viết và viết lại.

So let's take a look at maybe the realm of software.

Vậy hãy nhìn vào lĩnh vực phần mềm.

So if we kind of think of this as like the map of software this is a really cool tool called map of GitHub.

Nếu chúng ta nghĩ về điều này như bản đồ phần mềm, đây là một công cụ rất thú vị gọi là map of GitHub.

Um this is kind of like all the software that's written.

Ừm đây giống như tất cả phần mềm đã được viết.

Uh these are instructions to the computer for carrying out tasks in the digital space.

Đây là các hướng dẫn cho máy tính để thực hiện các tác vụ trong không gian kỹ thuật số.

So if you zoom in here, these are all different kinds of repositories and this is all the code that has been written.

Vì vậy nếu bạn phóng to, đây là tất cả các loại kho lưu trữ khác nhau và đây là tất cả mã đã được viết.

And a few years ago I kind of observed that um software was kind of changing and there was kind of like a new type of software around and I called this software 2.0 at the time and the idea here was that software 1.0 is the code you write for the computer.

Vài năm trước, tôi nhận thấy rằng phần mềm đang thay đổi và có một loại phần mềm mới xuất hiện, tôi gọi nó là Software 2.0 vào thời điểm đó, và ý tưởng ở đây là Software 1.0 là mã bạn viết cho máy tính.

Software 2.0 know are basically neural networks and in particular the weights of a neural network and you're not writing this code

Software 2.0 về cơ bản là mạng nơ-ron và đặc biệt là các trọng số của mạng nơ-ron, và bạn không viết mã này

directly you are most you are more kind of like tuning the data sets and then you're running an optimizer to create to create the parameters of this neural net and I think like at the time neural nets were kind of seen as like just a different kind of classifier like a decision tree or something like that and so I think it was kind of like um I think this framing was a lot more

Trực tiếp, bạn chủ yếu điều chỉnh các tập dữ liệu và sau đó chạy một bộ tối ưu hóa để tạo ra các tham số của mạng nơ-ron này, và tôi nghĩ vào thời điểm đó mạng nơ-ron được xem như một loại bộ phân loại khác như cây quyết định, và tôi nghĩ cách đặt vấn đề này phù hợp hơn nhiều.

appropriate and now actually what we have is kind of like an equivalent of GitHub in the realm of software 2.0 And I think the hugging face is basically equivalent of GitHub in software 2.0.

Và bây giờ thực sự chúng ta có một thứ tương đương với GitHub trong lĩnh vực Software 2.0. Và tôi nghĩ Hugging Face về cơ bản là tương đương với GitHub trong Software 2.0.

And there's also model atlas and you can visualize all the code written there.

Và cũng có Model Atlas và bạn có thể hình dung tất cả mã được viết ở đó.

In case you're curious, by the way, the giant circle, the point in the middle, uh these are the parameters of flux, the image generator.

Nhân tiện, nếu bạn tò mò, vòng tròn khổng lồ, điểm ở giữa, đây là các tham số của Flux, trình tạo hình ảnh.

And so anytime someone tunes a on top of a flux model, you basically create a git commit uh in this space and uh you create a different kind of a image generator.

Và bất cứ khi nào ai đó tinh chỉnh trên mô hình Flux, về cơ bản bạn tạo một git commit trong không gian này và bạn tạo ra một loại trình tạo hình ảnh khác.

So basically what

Vậy về cơ bản những gì

we have is software 1.0 is the computer code that programs a computer.

Chúng ta có là Software 1.0 là mã máy tính lập trình máy tính.

Software 2.0 are the weights which program neural networks.

Software 2.0 là các trọng số lập trình mạng nơ-ron.

Uh and here's an example of Alexet image recognizer neural network.

Và đây là một ví dụ về mạng nơ-ron nhận dạng hình ảnh AlexNet.

Now so far all of the neural networks that we've been familiar with until recently where kind of like fixed function computers image to categories or something like that.

Cho đến nay, tất cả các mạng nơ-ron mà chúng ta quen thuộc cho đến gần đây đều giống như các máy tính chức năng cố định, hình ảnh đến danh mục hoặc thứ gì đó tương tự.

And I think what's changed and I think is a quite fundamental change is that neural networks became programmable with large language models.

Và tôi nghĩ điều đã thay đổi và là một thay đổi khá căn bản là mạng nơ-ron đã trở nên có thể lập trình được với các mô hình ngôn ngữ lớn.

And so I see this as quite new, unique.

Và vì vậy tôi thấy điều này khá mới, độc đáo.

It's a new kind of a

Đó là một loại máy tính mới và trong tâm trí tôi, nó đáng được đặt tên mới là Software 3.0.

computer and uh so in my mind it's uh worth giving it a new designation of software 3.0.

Và về cơ bản, các prompt của bạn bây giờ là các chương trình lập trình LLM.

And basically your prompts are now programs that program the LLM.

Và đáng chú ý, các prompt này được viết bằng tiếng Anh.

And uh remarkably uh these uh prompts are written in English.

Vì vậy, nó là một loại ngôn ngữ lập trình rất thú vị.

So it's kind of a very interesting programming language.

Ừm, vậy để tóm tắt sự khác biệt, nếu bạn đang thực hiện phân loại cảm xúc chẳng hạn, bạn có thể tưởng tượng viết một lượng Python để thực hiện phân loại cảm xúc, hoặc bạn có thể huấn luyện một mạng nơ-ron, hoặc bạn có thể prompt một mô hình ngôn ngữ lớn.

Um so maybe uh to summarize the difference if you're doing sentiment classification for example you can imagine writing some uh amount of Python to basically do sentiment classification or you can train a neural net or you can prompt a large language model.

Vậy đây là một prompt ngắn và bạn có thể tưởng tượng thay đổi nó và lập trình máy tính theo một cách hơi khác.

Uh so here this is a few short prompt and you can imagine changing it and programming the computer in a

Vậy về cơ bản chúng ta có Software 1.0, Software 2.0 và tôi nghĩ chúng ta đang thấy, có thể bạn đã thấy rất nhiều mã GitHub không chỉ là mã nữa.

slightly different way.

Có một loạt tiếng Anh xen kẽ với mã, và vì vậy tôi nghĩ có một loại mã mới đang phát triển.

So basically we have software 1.0 software 2.0 and I think we're seeing maybe you've seen a lot of GitHub code is not just like code anymore.

Vì vậy không chỉ là một mô hình lập trình mới, mà còn đáng chú ý với tôi rằng nó bằng ngôn ngữ mẹ đẻ của chúng ta là tiếng Anh.

there's a bunch of like English interspersed with code and so I think kind of there's a growing category of new kind of code.

So not only is it a new programming paradigm, it's also remarkable to me that it's in our native

language of English.

And so when this blew my mind a few uh I guess years ago now I tweeted this and um I think it captured the attention of a lot of people and this is my currently pinned tweet uh is that remarkably we're now programming computers in English.

Và vì vậy, khi điều này làm tôi kinh ngạc vài năm trước, tôi đã tweet nó và tôi nghĩ nó đã thu hút sự chú ý của nhiều người, và đây là tweet được ghim hiện tại của tôi, rằng đáng chú ý là chúng ta đang lập trình máy tính bằng tiếng Anh.

Now, when I was at uh Tesla, um we were working on the uh autopilot and uh we were trying to get the car to drive and

Bây giờ, khi tôi ở Tesla, chúng tôi đang làm việc trên hệ thống lái tự động và chúng tôi đang cố gắng để xe tự lái và

I sort of showed this slide at the time where you can imagine that the inputs to the car are on the bottom and they're going through a software stack to produce the steering and acceleration and I made the observation at the time that there was a ton of C++ code around in the autopilot which was the software 1.0 code and then there was some neural nets in there doing image recognition

Tôi đã trình bày slide này vào thời điểm đó, nơi bạn có thể tưởng tượng rằng đầu vào cho xe ở phía dưới và chúng đi qua một ngăn xếp phần mềm để tạo ra lái và tăng tốc, và tôi đã nhận xét rằng có rất nhiều mã C++ trong hệ thống lái tự động, đó là mã phần mềm 1.0, và sau đó có một số mạng nơ-ron thực hiện nhận dạng hình ảnh

and uh I kind of observed that over time as we made the autopilot better basically the neural network grew in capability and size and in addition to that all the C++ code was being deleted and kind of like was um and a lot of the kind of capabilities and functionality that was originally written in 1.0 was migrated to 2.0.

Và tôi nhận thấy rằng theo thời gian khi chúng tôi cải thiện hệ thống lái tự động, về cơ bản mạng nơ-ron phát triển về khả năng và kích thước, và ngoài ra, tất cả mã C++ đã bị xóa và nhiều khả năng và chức năng ban đầu được viết bằng 1.0 đã được chuyển sang 2.0.

So as an example, a lot of the stitching up of information

Ví dụ, rất nhiều việc ghép nối thông tin

across images from the different cameras and across time was done by a neural network and we were able to delete a lot of code and so the software 2.0 stack quite literally ate through the software stack of the autopilot.

qua các hình ảnh từ các camera khác nhau và qua thời gian được thực hiện bởi một mạng nơ-ron và chúng tôi đã có thể xóa rất nhiều mã, và do đó ngăn xếp phần mềm 2.0 đã thực sự ăn qua ngăn xếp phần mềm của hệ thống lái tự động.

So I thought this was really remarkable at the time and I think we're seeing the same thing again where uh basically we have a new kind of software and it's eating through

Vì vậy, tôi nghĩ điều này thực sự đáng chú ý vào thời điểm đó và tôi nghĩ chúng ta đang thấy điều tương tự một lần nữa, về cơ bản chúng ta có một loại phần mềm mới và nó đang ăn qua

the stack.

ngăn xếp.

We have three completely different programming paradigms and I think if you're entering the industry it's a very good idea to be fluent in all of them because they all have slight pros and cons and you may want to program some functionality in 1.0 or 2.0 or 3.0.

Chúng ta có ba mô hình lập trình hoàn toàn khác nhau và tôi nghĩ nếu bạn đang bước vào ngành, đó là một ý tưởng rất tốt để thành thạo tất cả chúng vì mỗi cái đều có ưu và nhược điểm nhẹ và bạn có thể muốn lập trình một số chức năng trong 1.0, 2.0 hoặc 3.0.

Are you going to train neurallet?

Bạn sẽ huấn luyện mạng nơ-ron?

Are you going to just prompt an LLM?

Bạn sẽ chỉ nhắc LLM?

Should this be a piece of code

Đây có nên là một đoạn mã

that's explicit etc.

rõ ràng, v.v.

So we all have to make these decisions and actually potentially uh fluidly trans transition between these paradigms.

Vì vậy, tất cả chúng ta phải đưa ra những quyết định này và thực sự có thể chuyển đổi linh hoạt giữa các mô hình này.

So what I wanted to get into now is first I want to in the first part talk about LLMs and how to kind of like think of this new paradigm and the ecosystem and what that looks like.

Vì vậy, điều tôi muốn nói đến bây giờ là trước hết tôi muốn nói về LLM và cách suy nghĩ về mô hình mới này và hệ sinh thái trông như thế nào.

Uh like what are what is this new computer?

Máy tính mới này là gì?

What does it look

Nó trông như thế nào

like and what does the ecosystem look like?

và hệ sinh thái trông như thế nào?

Um I was struck by this quote from Anduring actually uh many years ago now I think and I think Andrew is going to be speaking right after me.

Tôi đã bị ấn tượng bởi câu nói này của Andrew Ng thực ra nhiều năm trước và tôi nghĩ Andrew sẽ phát biểu ngay sau tôi.

Uh but he said at the time AI is the new electricity and I do think that it um kind of captures something very interesting in that LLMs certainly feel like they have properties of utilities right now.

Nhưng ông ấy đã nói vào thời điểm đó AI là điện mới và tôi nghĩ nó nắm bắt được điều gì đó rất thú vị ở chỗ LLM chắc chắn có cảm giác như có các thuộc tính của tiện ích ngay bây giờ.

So

Vì vậy,

um LLM labs like OpenAI, Gemini, Enthropic etc.

Các phòng thí nghiệm LLM như OpenAI, Gemini, Anthropic, v.v.

They spend capex to train the LLMs and this is kind of equivalent to building out a grid and then there's opex to serve that intelligence over APIs to all of us and this is done through metered access where we pay per million tokens or something like that and we have a lot of demands that are very utility- like demands out of this

Họ chi tiêu vốn để huấn luyện LLM và điều này tương đương với việc xây dựng lưới điện, và sau đó có chi phí vận hành để phục vụ trí thông minh đó qua API cho tất cả chúng ta và điều này được thực hiện thông qua truy cập đo đếm, nơi chúng ta trả tiền cho mỗi triệu token hoặc tương tự, và chúng ta có nhiều yêu cầu rất giống tiện ích từ API này

API we demand low latency high uptime consistent quality etc.

API, chúng tôi yêu cầu độ trễ thấp, thời gian hoạt động cao, chất lượng nhất quán, v.v.

In electricity, you would have a transfer switch.

Trong điện, bạn sẽ có một công tắc chuyển đổi.

So you can transfer your electricity source from like grid and solar or battery or generator.

Vì vậy, bạn có thể chuyển nguồn điện của mình từ lưới điện và năng lượng mặt trời hoặc pin hoặc máy phát điện.

In LLM, we have maybe open router and easily switch between the different types of LLMs that exist.

Trong LLM, chúng ta có thể có open router và dễ dàng chuyển đổi giữa các loại LLM khác nhau tồn tại.

1 / 6