AI Discovers Faster Algorithms

ThePrimeTime
9 Jun 202319:29

Summary

TLDRこのスクリプトでは、アルゴリズムの改善にAIを活用する可能性が議論されています。アルファデブが新たに発見した並べ替えアルゴリズムは、従来の方法を超えており、C++ライブラリに実装されています。さらに、ハッシュ関数の最適化も行われ、AIによるアルゴリズムの改善が世界中の開発者に影響を与えていることを強調しています。アルファデブは、計算エコシステム全体を最適化し、社会に貢献する一般的なAIツールの開発に向けた一歩だと言えます。

Takeaways

  • 🧠 AIがアルゴリズムを改善し、社会の基盤を変革する可能性がある。
  • 🔍 微細化するマイクロチップの限界に直面し、ソフトウェアの改善が重要になってくる。
  • 📈 Alpha Devは強化学習を用いて、従来のアルゴリズムを超えるコンピューターサイエンスのアルゴリズムを発見した。
  • 🔄 並べ替えアルゴリズムは日常的に広く使用され、データの順序付けを可能にする。
  • 🤖 Alpha Devはアセンブリ言語のレベルから始め、より効率的な並べ替えアルゴリズムを発見した。
  • 🛠️ 改善された並べ替えアルゴリズムは、C++ライブラリにオープンソースで提供され、開発者により利用可能になった。
  • 🚀 Alpha Devは並べ替えアルゴリズムだけでなく、ハッシュ関数にも改善を加え、そのアルゴリズムを一般的に使用する可能性がある。
  • 🔑 Alpha Devは新しい「Swap and copy moves」を発見し、既存のアルゴリズムを改善する新しいアプローチを提案した。
  • 🌐 AIによるアルゴリズムの改善は、開発者と社会全体に実世界の影響をもたらす。
  • 🔑 Alpha Devの発見は、研究者や開発者に基本アルゴリズムをさらに最適化するための技術やアプローチを創造するインスピレーションとなる。

Q & A

  • アルファデブが発見した高速な並べ替えアルゴリズムとは何ですか?

    -アルファデブは、強化学習を用いてデータの並べ替え方を発見し、数十年にわたって科学者やエンジニアによって洗練されたアルゴリズムを超えました。これは、ソートアルゴリズムの基礎を形成しており、日常的に何億人もの人々が使用しています。

  • アルファデブがC++ライブラリに貢献した並べ替えアルゴリズムの改善点は何ですか?

    -アルファデブは、短いシーケンスのための並べ替えアルゴリズムを最適化し、短いシーケンスでは最大70%高速化、長いシーケンスでは約1.7%高速化することができました。

  • アルファデブのアルゴリズム改善は、どのようにして実現されたのでしょうか?

    -アルファデブは、アセンブリ命令のレベルから始めて、既存のアルゴリズムを改善するのではなく、ゼロから新しいアルゴリズムを発見しました。

  • アルファデブのアルゴリズム改善は、なぜC++ライブラリに影響を与える可能性があるとされていますか?

    -多くの開発者がC++を使用しており、この言語は広く使われるため、アルファデブの改善は多くの開発者や企業に影響を及ぼす可能性があります。

  • アルファデブはどのようにして新しいアルゴリズムを発見するのですか?

    -アルファデブは、アルファゼロに基づく強化学習モデルを用いて、並べ替えを単一プレイヤーのアセンブリゲームに変換し、各ターンでアルゴリズムに命令を追加することで新しいアルゴリズムを発見します。

  • アルファデブのアルゴリズム改善は、どのようにして評価されるのですか?

    -アルファデブは、生成されたアルゴリズムに対してテスト入力シーケンスを与え、期待されるソートされたシーケンスと出力が比較され、正確性と遅延に基づいて報酬を受け取ります。

  • アルファデブが発見したアルゴリズムの改善点は、どのようにして人間に伝えられるのですか?

    -アルファデブのアルゴリズムは、C++に逆工学され、最も人気のある開発者向けプログラミング言語に翻訳されています。

  • アルファデブは、並べ替えアルゴリズム以外にもどのようなコンピューターサイエンスの分野で改善を提案しましたか?

    -アルファデブは、ハッシュ関数とデータ構造のアルゴリズムにも改善を提案し、9から16バイトの範囲で30%高速化することができました。

  • アルファデブのアルゴリズム改善は、どのようにして世界中の開発者に利用されるようになったのですか?

    -アルファデブの新しいハッシュアルゴリズムはオープンソースのアンクルライブラリにリリースされ、世界中の何百万人もの開発者に利用可能になりました。

  • アルファデブのアルゴリズム改善は、今後のコンピュータサイエンスの分野でどのような影響を与えると予想されますか?

    -アルファデブは、一般的な目的のAIツールとして進化し、コンピューティングエコシステム全体を最適化し、社会に貢献する他の問題を解決する能力を示しています。

  • アルファデブのアルゴリズム改善は、なぜ開発者や研究者にインスパイアする可能性があるとされていますか?

    -アルファデブは、アルゴリズムを改善するだけでなく、新しい解決策を発見し、基本アルゴリズムをさらに最適化するための技術やアプローチを創造する可能性があります。

Outlines

00:00

😀 AIによる高速並べ替えアルゴリズムの発見

Alpha Devは強化学習を用いて新たなコンピューターサイエンスのアルゴリズムを発見し、従来の方法を超えた並べ替えアルゴリズムを開発しました。これはソートアルゴリズムの基礎を変革し、ソートは日常的に何十億回も使用されています。Alpha DevはC++ライブラリに新しいアルゴリズムをオープンソースで提供し、開発者や企業にその利点をもたらしました。

05:00

🤖 低レベル言語でのアルゴリズム最適化

Alpha DevはC++のような高レベル言語ではなく、アセンブリ言語のような低レベル言語でのアルゴリズムの改善に焦点を当てました。コンピュータの中央処理装置(CPU)の操作をより柔軟に行うことができ、より多くの改善の可能性を秘んでいます。Alpha DevはAlpha Zeroの強化学習モデルに基づいており、ゲームから科学問題、そしてシミュレーションから現実世界のアプリケーションへとモデルを転じています。

10:02

🚀 並べ替えアルゴリズムの改善と新しいアプローチ

Alpha Devは短いシーケンスに対する並べ替えアルゴリズムを改善し、その結果、lib C++のソートライブラリに最大70%の高速化、長いシーケンスでは1.7%の高速化を実現しました。また、新しい並べ替え手法であるAlpha Dev Swapとcopy moveを発見し、これらの手法はアルゴリズムをより効率的に行う新しいステップを提供しています。

15:03

🔄 ハッシングアルゴリズムの改善とAIの一般化

Alpha Devは並べ替えアルゴリズムの改善に加えて、ハッシング関数とデータ構造のアルゴリズムにも適用され、9から16バイトの範囲で30%高速化された新しいハッシングアルゴリズムを発見しました。このアルゴリズムはオープンソースのアンクライブラリにリリースされ、世界中の何百万人もの開発者が使用しています。Alpha Devはコンピューティング生態系全体を最適化し、社会に貢献する一般的なAIツールの開発に向けた一歩を表しています。

Mindmap

Keywords

💡アルファデブ

アルファデブは、人工知能システムのことで、このビデオでは強化学習を用いてより良いコンピューターサイエンスのアルゴリズムを発見する役割を果たしています。ビデオのテーマは、AIが既存のアルゴリズムを改善し、社会の基盤となる技術を革新する能力に関連しています。

💡並べ替えアルゴリズム

並べ替えアルゴリズムとは、データを特定の順序で並べ替えるための方法です。ビデオでは、アルファデブが日常的に使用される並べ替えアルゴリズムを改善し、ソートの速度を向上させることに焦点を当てています。

💡強化学習

強化学習は、アルファデブが使用する機械学習の手法で、エージェントが環境と相互作用しながら最適な戦略を学習するプロセスです。ビデオでは、強化学習がアルゴリズムの改善にどのように役立つかを示しています。

💡C++ライブラリ

C++ライブラリは、C++言語で書かれたプログラムで使用されるコードのコレクションです。ビデオでは、アルファデブがC++ライブラリに新しい並べ替えアルゴリズムを提供し、開発者がより効率的なコードを書くことができるようにする取り組みについて説明しています。

💡アセンブリ言語

アセンブリ言語は、コンピュータのCPUが実行できる命令を含む低レベルプログラミング言語です。ビデオでは、アルファデブがアセンブリ言語の命令を最適化することで、より高速な並べ替えアルゴリズムを開発していることが強調されています。

💡アルゴリズムの改善

ビデオの主題の一つは、アルゴリズムを改善することでコンピューティングの力を高め、持続可能性を確保することです。アルファデブは、数十年にわたって科学者やエンジニアによって洗練されたアルゴリズムを超えています。

💡アルファゼロ

アルファゼロは、強化学習モデルのことで、ビデオではアルファデブの基礎モデルとして提唱されています。アルファゼロは、囲碁やチェスなどのゲームで世界チャンピオンを破るほどの性能を示しており、アルファデブが科学的な課題にもその力を発揮できることを示しています。

💡ハッシュ関数

ハッシュ関数は、コンピューティングでデータを格納、取得、圧縮するためのアルゴリズムです。ビデオでは、アルファデブがハッシュ関数を改善し、データ構造のパフォーマンスを向上させる能力を持っていることを示しています。

💡オープンソース

オープンソースとは、ソフトウェアのソースコードが公開され、誰でも自由に使用・改変できることを指します。ビデオでは、アルファデブが発見したアルゴリズムをオープンソースライブラリにリリースし、世界中の開発者が利用できるようにしたと述べています。

💡汎用AIツール

ビデオでは、アルファデブがコンピューティングの全般的な最適化や、社会に貢献する他の問題を解決する汎用AIツールの開発の一歩と見なされています。汎用AIツールは、特定の問題に特化されたものではなく、多様な問題に適用できる柔軟性を持つAIシステムです。

Highlights

Alpha Dev是一个使用强化学习来发现改进计算机科学算法的人工智能系统。

Alpha Dev发现的算法在排序速度上超越了科学家和工程师数十年的成果。

Alpha Dev通过开源新算法,使得数百万开发者和公司受益。

Alpha Dev的算法改进对云计算、在线购物和供应链管理等行业有实际应用。

Alpha Dev从零开始发现更快的排序算法,而不是改进现有算法。

Alpha Dev通过观察CPU状态和选择指令来生成算法。

Alpha Dev基于Alpha Zero模型,该模型曾在围棋、国际象棋和西洋跳棋中战胜世界冠军。

Alpha Dev在训练过程中将排序问题转化为单人汇编游戏。

Alpha Dev的算法发现在llvm lib C++排序库中实现了高达70%的速度提升。

Alpha Dev不仅发现更快的算法,还发现了节省指令的新方法。

Alpha Dev的Swap和copy移动展示了算法的创新解决方案。

Alpha Dev的算法改进被翻译成C++,这是一种广泛使用的编程语言。

Alpha Dev在哈希算法上也显示出其泛化能力,发现了一个速度提升30%的新算法。

Alpha Dev的新哈希算法被发布到开源的ANCL库中,每天被使用高达一万亿次。

Alpha Dev的发现推动了开发通用AI工具,以优化整个计算生态系统。

Alpha Dev的局限性在于它目前主要优化低级汇编指令,正在探索直接在高级语言如C++中优化算法。

Alpha Dev的发现激发了研究人员和开发者进一步优化基础算法,以创造更强大的计算生态系统。

Transcripts

play00:00

all right Alpha Dev discovers faster

play00:02

sorting algorithm are you ready for a

play00:04

faster sorting algorithm here's the deal

play00:06

though here's the deal AIS aren't going

play00:08

to take your jobs they're just going to

play00:09

take your algorithms okay they're going

play00:11

to put their little hands on your

play00:12

algorithms and take them all right new

play00:14

algorithms will transform the

play00:16

foundations of society wait of computing

play00:21

sorry I thought I read that all

play00:22

beforehand but I didn't okay uh

play00:26

really is that what I'm reading here did

play00:28

I just really read that here is the

play00:30

dildo

play00:34

hey I'm trying to like do some nice

play00:35

YouTube content and look at do you see

play00:39

what I have to deal with I'm turning

play00:40

into actual asman gold

play00:42

turning into actual asman gold okay

play00:44

anyways Digital Society is driving

play00:46

increasing demand for computation and

play00:48

energy use for the last five decades we

play00:50

relied on improvements and Hardware to

play00:52

keep Pace but as microchips chips

play00:55

approach their physical limits it's

play00:56

critical to improve the code that runs

play00:58

on them to make Computing more powerful

play01:00

and sustainable that's why we're gonna

play01:02

have Chad chipity generate all of our

play01:04

code and then we're gonna have chat

play01:06

Jeopardy healer code because chat

play01:08

Jeopardy was wrong the first time that

play01:09

way it's high performance code okay high

play01:13

performance this is especially important

play01:15

for the algorithms that make up the

play01:16

coding uh make up the coding running

play01:18

coding code running trillions of times a

play01:21

day no I cannot speak today anyways here

play01:24

we go in our paper published today in

play01:27

nature

play01:28

it's a weird place to publish a

play01:29

Computing paper okay I didn't realize

play01:31

nature I didn't realize nature was

play01:34

coming out there we introduced Alpha Dev

play01:35

and artificial intelligence AI system

play01:37

that uses reinforcement learning to

play01:39

discover enhance this way to discover

play01:41

enhanced computer science algorithms

play01:43

surpassing those honed by scientists and

play01:46

Engineers over decades

play01:48

pathetic

play01:49

Engineers pathetic singular AI is

play01:52

beating your pants off Alpha Dev

play01:54

uncovered a faster algorithm for sorting

play01:56

a method for ordering data billions of

play01:57

people use these algorithms every day

play01:59

without realizing it they underpin

play02:01

everything from ranking online search

play02:03

results and social posts to how data is

play02:05

processed on computers and phones

play02:06

generating better algorithms using AI

play02:08

will transform wire just let just get to

play02:11

the give me the meet and give it to me

play02:13

raw okay I just want to know by let's

play02:16

see by open sourcing our new algorithms

play02:19

in the main C plus Library millions of

play02:21

developers and companies you think

play02:24

millions of developers are using C plus

play02:25

plus okay hey guess what they are

play02:27

actually they are so because everyone

play02:29

that thinks they write JavaScript guess

play02:31

what you're writing okay you're writing

play02:32

syntactic sugar or C plus plus that's

play02:35

all you're doing okay you got a little

play02:37

jvm of JavaScript running underneath the

play02:40

hood making your stupid code run

play02:42

somewhat quick okay

play02:45

so guess what this will benefit you too

play02:46

millions of developers and companies

play02:48

around the world now use it on AI

play02:50

applications across industries from

play02:51

cloud computing and online shopping to

play02:53

Supply Chain management there's okay

play02:55

just give me the meat what is sorting

play02:57

you know what sorting is

play03:00

we're skipping that whole thing okay

play03:01

we're everybody you better know what

play03:03

sorting is if you don't know what

play03:05

sorting is we're gonna we're gonna have

play03:07

some problems okay I'm gonna sort you

play03:08

out

play03:09

you got that punk

play03:11

okay

play03:13

okay maybe I should read a little bit

play03:14

just to make sure that we're all on the

play03:16

same page okay just in case any of you

play03:17

feel you know stupid right now and you

play03:19

feel like I don't know what sort of is

play03:20

well okay sorting is a method for

play03:22

organizing a number of items in a

play03:23

particular order example includes

play03:25

alphabetizing three letters arranging

play03:28

five numbers from biggest to smallest or

play03:30

ordering a database of millions of

play03:31

Records okay

play03:33

so if you were to sort say devs on a

play03:36

access of most fit to least fit you'd

play03:39

have like milky Dev on most fit side and

play03:42

you'd have trash Dev on the other side

play03:44

currently eating brownies as the limit

play03:47

of T approaches zero trash Dev is either

play03:50

making or eating brownies I don't know

play03:52

if you know that but it's called the

play03:54

theorem of trash okay it's been proven

play03:56

it's proven it's proven actually

play03:58

it's perfect you know how you know it's

play04:00

proven watch this you go over to Twitter

play04:02

right you go over to Twitter you don't

play04:04

search up that you look up trash trash

play04:05

death you jump on here I guarantee you

play04:07

within five pages four pages there will

play04:11

be a picture of brownies all right one

play04:17

like I said

play04:19

like I said okay not even two pages in

play04:26

brownies ice cream trash Dev get your

play04:29

life in order okay get your life in

play04:32

order okay or else I'm gonna sentence

play04:34

you to three weeks and Json

play04:38

diesel okay

play04:40

okay

play04:41

anyways let's keep on going I think we

play04:42

all know what sorting algorithms are uh

play04:44

Alpha Dev uncovered faster algorithms by

play04:46

starting from scratch interesting rather

play04:49

than refining existing algorithms and

play04:51

again looking where most humans don't

play04:52

the computer's assembly instructions

play04:54

okay okay okay

play04:56

assembly instructions are used to create

play04:58

binary code for computers to put into

play05:00

action while developers write code in

play05:01

languages like C plus known as a high

play05:03

level language

play05:06

you know whenever someone says C plus

play05:08

plus is a high level language

play05:10

I feel like you know like there's like a

play05:12

whole

play05:13

a debate gonna happen there right uh you

play05:17

know I I like to call it like a really

play05:19

strong mid you know C plus plus is mid

play05:22

at best okay and I mean that in every

play05:24

sense of that phrase uh we believe many

play05:27

improvements exist at the lower level

play05:28

that may be difficult to discover in a

play05:30

higher level coding language computer

play05:32

storage and operations are more flexible

play05:33

at this level which means there's

play05:35

significant but more potential okay so

play05:36

look at this we got C plus plus that

play05:38

turns into assembly that turns into a

play05:40

bunch of ones and zeros

play05:42

all right code is typically written in

play05:44

high level programming language such as

play05:45

C plus plus

play05:47

sorry C plus there you go uh this is

play05:51

even translated uh to low-level CPU

play05:53

instructions called assembly

play05:54

instructions using a compiler an

play05:56

assembler then converts the assembly

play05:57

instructions to execute machine code

play05:59

that the computer can run okay boom boom

play06:01

boom boom boom uh an example of C plus

play06:04

plus algorithm that sorts up to two

play06:05

elements up to two elements okay

play06:07

interesting uh look at that length uh

play06:10

zero one and two you know a lot of

play06:12

people say a two element sword that

play06:14

length is is pretty statistically

play06:15

average you know what I mean lots of

play06:18

algorithms only operate on on two you

play06:21

know I don't I I don't think we should

play06:23

be judging this kind of stuff you know

play06:25

some people have longer sorting

play06:28

algorithms and that's totally normal

play06:31

the variation makes life beautiful okay

play06:34

can we all agree to that variation makes

play06:36

life beautiful okay

play06:38

uh variable sort too okay uh we got I

play06:41

don't know what EDI stands for I really

play06:43

never do any sort of uh instructions all

play06:45

I can tell you is that there's some

play06:47

registers being moved around we're

play06:48

comparing a little bit we're moving a

play06:49

little here we're doing a little C movel

play06:51

uh we're doing a little bit more we're

play06:53

doing the old OG move G you know what

play06:55

I'm talking about boom let's go finding

play06:57

the best algorithm with a game Alpha Dev

play06:59

is based on Alpha zero

play07:01

classic our reinforcement learning model

play07:04

that defeated world champions in games

play07:06

like go chess and shelgi I don't know

play07:08

this I don't know that one uh with Alpha

play07:11

Dev we show how this model can transfer

play07:14

from games to Scientific challenges and

play07:16

from simulations to real world

play07:17

applications to train Alpha Dev to

play07:19

uncover new algorithms we transformed

play07:21

sorting into a single player assembly

play07:23

game uh at each turn Alpha Dev observes

play07:26

the algorithm it has generated and the

play07:28

information contained in the central

play07:29

processing unit CPU then it plays a move

play07:32

by choosing an instruction to add to the

play07:34

algorithm

play07:38

when the AIS get gamified it's just like

play07:41

humans they're gonna get lazy uh they're

play07:44

gonna only work on getting their

play07:46

endorphins going as soon it's just like

play07:48

these out of these these AIS are just

play07:49

gonna be like hit me with that endorphin

play07:51

rush I need some more gamification I

play07:52

mean this is gonna end poorly okay this

play07:54

is how skynet's born okay

play07:57

uh the number of possible combinations

play07:59

of instructions is similar to the number

play08:01

of particles in the universe oh a

play08:03

classic two to the 80 right uh or the

play08:05

number of possible combinations of the

play08:06

moves of the game in chess oh wow

play08:08

there's a Google there's over a Google

play08:10

of moves I didn't know that or the games

play08:12

of go oh my goodness that's a that's

play08:13

almost that's a that's a large ass

play08:15

number a single wrong move can

play08:17

invalidate an entire algorithm

play08:18

absolutely

play08:19

okay interesting reward yay we've done

play08:23

it okay so it's obvious I assume it's

play08:25

like a zero and a one right like either

play08:27

you've done something good or you did

play08:28

something bad okay let's see the figure

play08:30

eight the assembly game uh the assembly

play08:32

game the player Alpha Dev receives the

play08:34

state of the system as input and plays a

play08:36

move by selecting an assembly

play08:37

instruction to add to the algorithm that

play08:39

has been generated thus far the reward

play08:41

computation after each move the

play08:42

generated algorithm is fed test input

play08:44

sequence for sort 3 this corresponds to

play08:47

all combination of sequences of three

play08:48

elements the algorithm then generates an

play08:50

output which is compared to the expected

play08:52

output of sorted sequences for the case

play08:54

of sorting this agent is rewarded based

play08:56

on the algorithm's correctness and

play08:57

latency as the algorithm is built one

play08:59

instruction at a time Alpha Dev checks

play09:01

that it's correct by comparing the

play09:02

algorithm's output with the expected

play09:04

results for sorting algorithms this

play09:05

means unordered numbers go in and

play09:07

correctly sorted numbers come out we

play09:09

reward Alpha Dev for both sorting the

play09:12

numbers correctly and for how quickly

play09:14

and efficiently it does so Alpha Dev

play09:16

wins the game by discovering a correct

play09:18

faster program

play09:21

foreign

play09:27

this is super interesting oh what kind

play09:29

of

play09:31

this is just like I mean is this just

play09:33

like a standard MLP is that all they're

play09:34

using here is just like a pretty simple

play09:36

MLP

play09:37

because this just sounds like they're

play09:38

doing a little bit of that uh you know a

play09:40

little bit of that error back

play09:41

propagation

play09:45

and just correcting or I don't

play09:47

understand how adding and removing

play09:48

instructions either way it's pretty it's

play09:50

simple Clueless

play09:53

I mean it sounds it sounds nutty

play09:55

reinforcement learning yeah you you like

play09:57

you put your output into your input baby

play09:59

have you ever done that it's a pretty

play10:01

good time must say sounds like a protein

play10:03

folding algorithm you think so

play10:05

I wouldn't know uh Alpha Dev uncover

play10:08

let's see uncovered new sorting

play10:09

algorithms that led to improvements in

play10:10

the llvml lib C plus plus sorting

play10:13

library that were up to 70 faster for

play10:15

shorter sequences and about 1.7 faster

play10:18

for sequences exceeding 250 000 elements

play10:21

interesting

play10:23

that number sounds like statistical

play10:25

noise

play10:27

hmm

play10:29

oh man I've become super skeptical all

play10:31

of a sudden we focused on improving

play10:32

sorting algorithm I guess if you're

play10:33

doing it in assembly you can kind of

play10:35

like just look at the assembly and be

play10:36

like this is faster interesting we

play10:38

focused on improving sorting algorithms

play10:40

for shorter sequences of three uh to

play10:42

five elements these algorithms are among

play10:44

the most widely used because they are

play10:45

often called many times as a part of

play10:47

larger sorting functions improving these

play10:48

algorithms can lead to an overall speed

play10:50

up for sorting any number of items to

play10:52

make the new sorting algorithm more

play10:54

usable for people we reverse engineered

play10:56

the algorithm and translated them into C

play10:58

plus one of the most popular coding

play11:00

languages that developers use these

play11:01

algorithms are now available I actually

play11:03

kind of want to look at that

play11:05

this sounds exciting okay finding the

play11:07

novel approaches okay this is very

play11:08

interesting uh Alpha Dev not only found

play11:10

faster algorithms but it also uncovered

play11:12

novel approaches its sorting algorithm

play11:14

contained new sequences of instructions

play11:16

that save a single instruction each time

play11:18

they're applied

play11:19

that can have huge impact in these

play11:21

algorithms that are used trillions of

play11:22

times a day we call these Alpha Dev Swap

play11:24

and copy moves

play11:26

like I understand all three of those

play11:28

words individually

play11:30

but when you put them together like that

play11:31

I have no clue what that means do you

play11:33

know what I mean uh this novel approach

play11:35

is reminiscent of alpha moves go or move

play11:38

37 okay okay okay lib soy 1.7 for small

play11:43

sorts is noise yes but that was for a

play11:45

large Story one point one point seven

play11:47

percent was for uh the 250 000 element

play11:50

sort whereas uh the the 70 was for small

play11:54

sorts

play11:55

you know I mean you know me oh my

play11:57

goodness I hate when you like when you

play11:59

make it smaller and larger and it

play12:00

totally just loses your spot uh a

play12:02

counter-intuitive play that stunned

play12:03

onlookers and led to the defeat of

play12:05

legendary go player with the Swap and

play12:07

copy move Alpha Dev skips over a step to

play12:09

connect items in a way that looks like a

play12:11

mistake but it is actually a shortcut

play12:13

wow this uh shows Alpha dev's ability to

play12:16

uncover original Solutions and

play12:18

challenges the way we think about how to

play12:19

improve code I actually really want to

play12:20

understand this okay

play12:22

so we have some memory

play12:25

all right so we have all some stuff here

play12:27

so we do we do a lot of like we do a

play12:30

little move a little compare

play12:32

all everything looks the same we don't

play12:33

do a move here

play12:36

We compare here

play12:38

see the problem is is I I can't quite

play12:40

read this delicious

play12:42

this deliciousness

play12:49

yeah see I'm too stupid to re I'm too

play12:50

stupid to read these instructions I'm

play12:52

too stupid to actually read them I was

play12:54

hoping that I could kind of like

play12:54

visualize what it's actually doing

play12:57

uh read comments

play13:00

on

play13:05

R equals to Max s equals the min

play13:08

okay you kind of know which one's more

play13:10

you either you have a or C and R

play13:13

contains a s contains C or one of the uh

play13:16

other way uh P contains either a or b q

play13:20

contains the minimum

play13:22

really it should contain s

play13:24

yeah okay it does it contains s

play13:29

the maximum of those three

play13:32

and then reorders those huh

play13:41

I'd have to think about this for a

play13:43

little bit the stream's not for really

play13:44

thinking but I think I think I could I

play13:46

think I could kind of understand this

play13:47

I'd have to like draw it out but that

play13:49

sounds interesting okay I think I see

play13:51

what's happening here it's effectively

play13:52

just selecting out each one right so you

play13:55

know

play13:56

A and C is ordering

play13:58

then you know

play14:00

potentially bees ordering

play14:03

and then you know the difference between

play14:05

if B is less than or if B is greater

play14:08

than or less than a or C which is q

play14:11

and so then you can kind of apply these

play14:12

right Q

play14:15

interesting

play14:17

interesting uh

play14:20

yeah because effectively Q is position

play14:22

two right so okay I see what's happening

play14:24

here so you take the smallest of these

play14:26

two

play14:27

then you take the middle element there

play14:28

so that would be the middle element

play14:32

this is what I don't understand is right

play14:35

here how do you know a and b c that's

play14:36

what I don't understand right here how

play14:38

do you know a and how do you know this

play14:40

how do you know this

play14:42

I see I've had to think about this uh

play14:45

I'd have to I'd have to think about this

play14:47

for a little bit all right but I uh

play14:49

interesting all right

play14:51

the original sort 3 implementation yeah

play14:52

Dev swap uh move discovers that you only

play14:54

need a Min a b okay and then I guess

play14:56

here's a larger one I'm not going to try

play14:58

to figure these things out the original

play14:59

implementation with Max B uh okay so

play15:02

it looks like it's effectively removing

play15:04

an instruction here

play15:05

removes the comparison here

play15:08

removes a couple comparisons here and

play15:10

another comparison here

play15:12

interesting uh from sorting to hashing

play15:14

and data structures after discovering

play15:16

faster sorting algorithms we tested

play15:18

whether Alpha Dev could generalize and

play15:19

improve a different computer science

play15:20

algorithm hashing okay so this one's

play15:22

super interesting because

play15:24

generalized hashing can still leave to

play15:26

lead to huge problems have you ever seen

play15:27

that uh that the causal profiler did

play15:30

anyone ever watch the causal profiler it

play15:32

showed that the causal profiler uh the

play15:35

causal profiler showed that like O3

play15:37

optimizations didn't actually improve

play15:40

the speed but actually slowed down some

play15:42

uh some operations like not all

play15:45

optimizations were actually

play15:46

optimizations in the end it was super

play15:48

interesting and one of them and then one

play15:51

of the things they found in hashing was

play15:53

that like sometimes generalized hashing

play15:55

produces really bad bucketing and these

play15:57

bad bucketings create terrible

play15:59

performance right

play16:01

uh hashing is a function algorithm in

play16:03

Computing used to retrieve store and

play16:05

compress data like a librarian who uses

play16:07

classification system okay blah blah

play16:08

blah I think we all know about that we

play16:10

applied Alpha Dev to one most commonly

play16:12

used algorithms for hashing and data

play16:13

structures and tried to discover a

play16:14

faster algorithm when we applied it to a

play16:17

9 to 16 byte range of hashing function

play16:19

the algorithm discovered that or the

play16:21

algorithm that Alpha Dev discovered was

play16:23

30 faster again I'd love to know how

play16:24

that works this year Alpha dev's new

play16:26

hashing algorithm was released into an

play16:28

open source ancl Library like uh you

play16:31

let's see available to millions of

play16:32

developers around the world and we

play16:33

estimate now that it's being used a

play16:35

trillion times a day very interesting

play16:37

by optimizing and launching improved

play16:39

sorting and hashing algorithms used by

play16:41

developers all around the world Alpha

play16:42

dev has demonstrated its ability to

play16:43

generalize and discover new algorithms

play16:45

with real world impact we see Alpha Dev

play16:47

as a step towards developing general

play16:49

purpose AI tools that can help optimize

play16:51

the entire Computing ecosystem and solve

play16:53

other problems that will benefit Society

play16:54

I actually think this is a great use of

play16:56

AI so to me this is a great use of AI

play16:58

this is finally like because you know

play17:00

like you know I'm not gonna lie to you

play17:03

AI explaining react with an 87 accuracy

play17:07

or whatever chat chipity 4 is isn't

play17:09

necessarily like the great use of AI

play17:11

right it's mostly correct and sometimes

play17:14

it lies to you right like that's kind of

play17:16

a shitty thing AI giving you 100 code

play17:18

coverage kind of a shitty you know

play17:22

it's kind of shitty uh but

play17:25

oh we're starting here in one minute but

play17:27

this idea that it can just improve like

play17:29

really intense uh

play17:32

just very specific instructions it seems

play17:34

super cool uh until it starts cracking

play17:37

encryption yeah that's why you get Pied

play17:39

Piper to take the fall everyone knows

play17:41

this you'd get Pi we've already seen the

play17:43

episode buddy okay

play17:46

I've already seen it damn it I hate when

play17:48

see I hate this whole sites that do that

play17:50

okay anyways while optimizing in the

play17:52

space of low-level assembly instructions

play17:53

is very powerful there are limitations

play17:55

as the algorithm grows and we are

play17:56

currently exploring Alpha dev's ability

play17:57

to optimize algorithms directly in high

play17:59

level languages such as C plus which

play18:01

would be more useful for developers yeah

play18:03

that makes sense Alpha dev's Discovery

play18:05

such as the Swap and copy moves not only

play18:08

show that it can improve algorithms but

play18:10

also find new Solutions we hope these

play18:11

discoveries Inspire researchers and

play18:13

developers alike to create techniques

play18:14

and approaches that can further optimize

play18:16

fundamental algorithms to create a more

play18:18

powerful and sustainable sustainable uh

play18:20

Computing ecosystem I I am going to one

play18:23

thing before we end this one thing I

play18:25

want to do is I'm going to take this and

play18:27

maybe in the next one or two streams I'm

play18:28

actually going to try to go over this

play18:30

and like write it out and try to

play18:32

understand it like on paper because this

play18:34

seems super cool like this idea seems

play18:36

super cool

play18:38

I'd like to like be able to visually see

play18:40

what's happening I think I can see

play18:41

what's happening right here but it would

play18:43

be super cool to see this as well I

play18:44

think it'd be a lot of fun right

play18:47

um I think it'd be a lot of fun I think

play18:50

I like that

play18:53

anyways how to jerkate guys at a time

play18:55

that's middle out algorithm that's the

play18:56

difference okay completely different and

play18:58

that's four Dudes okay you can't double

play19:00

the performance middle out everybody

play19:01

knows that

play19:02

you can't there's no configuration in

play19:05

which I mean the thetas alone would be

play19:08

out of out of this world okay do you

play19:09

realize how many

play19:11

I mean the Sorting algorithm required

play19:13

would require an AI just to properly

play19:15

sort

play19:16

the height differences it would be

play19:18

insane

play19:19

um

play19:21

any anywho the name

play19:23

is the middle outer gin

play19:25

hey by the way like this video why did

play19:27

you guys not like my videos like them

Rate This

5.0 / 5 (0 votes)

Related Tags
AIアルゴリズムソートアルゴリズム並べ替えデータ構造ハッシュ関数C++ライブラリアルファゼロ強化学習コード最適化科学技術
Do you need a summary in English?