AI Discovers Faster Algorithms
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
😀 AIによる高速並べ替えアルゴリズムの発見
Alpha Devは強化学習を用いて新たなコンピューターサイエンスのアルゴリズムを発見し、従来の方法を超えた並べ替えアルゴリズムを開発しました。これはソートアルゴリズムの基礎を変革し、ソートは日常的に何十億回も使用されています。Alpha DevはC++ライブラリに新しいアルゴリズムをオープンソースで提供し、開発者や企業にその利点をもたらしました。
🤖 低レベル言語でのアルゴリズム最適化
Alpha DevはC++のような高レベル言語ではなく、アセンブリ言語のような低レベル言語でのアルゴリズムの改善に焦点を当てました。コンピュータの中央処理装置(CPU)の操作をより柔軟に行うことができ、より多くの改善の可能性を秘んでいます。Alpha DevはAlpha Zeroの強化学習モデルに基づいており、ゲームから科学問題、そしてシミュレーションから現実世界のアプリケーションへとモデルを転じています。
🚀 並べ替えアルゴリズムの改善と新しいアプローチ
Alpha Devは短いシーケンスに対する並べ替えアルゴリズムを改善し、その結果、lib C++のソートライブラリに最大70%の高速化、長いシーケンスでは1.7%の高速化を実現しました。また、新しい並べ替え手法であるAlpha Dev Swapとcopy moveを発見し、これらの手法はアルゴリズムをより効率的に行う新しいステップを提供しています。
🔄 ハッシングアルゴリズムの改善とAIの一般化
Alpha Devは並べ替えアルゴリズムの改善に加えて、ハッシング関数とデータ構造のアルゴリズムにも適用され、9から16バイトの範囲で30%高速化された新しいハッシングアルゴリズムを発見しました。このアルゴリズムはオープンソースのアンクライブラリにリリースされ、世界中の何百万人もの開発者が使用しています。Alpha Devはコンピューティング生態系全体を最適化し、社会に貢献する一般的なAIツールの開発に向けた一歩を表しています。
Mindmap
Keywords
💡アルファデブ
💡並べ替えアルゴリズム
💡強化学習
💡C++ライブラリ
💡アセンブリ言語
💡アルゴリズムの改善
💡アルファゼロ
💡ハッシュ関数
💡オープンソース
💡汎用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
all right Alpha Dev discovers faster
sorting algorithm are you ready for a
faster sorting algorithm here's the deal
though here's the deal AIS aren't going
to take your jobs they're just going to
take your algorithms okay they're going
to put their little hands on your
algorithms and take them all right new
algorithms will transform the
foundations of society wait of computing
sorry I thought I read that all
beforehand but I didn't okay uh
really is that what I'm reading here did
I just really read that here is the
dildo
hey I'm trying to like do some nice
YouTube content and look at do you see
what I have to deal with I'm turning
into actual asman gold
turning into actual asman gold okay
anyways Digital Society is driving
increasing demand for computation and
energy use for the last five decades we
relied on improvements and Hardware to
keep Pace but as microchips chips
approach their physical limits it's
critical to improve the code that runs
on them to make Computing more powerful
and sustainable that's why we're gonna
have Chad chipity generate all of our
code and then we're gonna have chat
Jeopardy healer code because chat
Jeopardy was wrong the first time that
way it's high performance code okay high
performance this is especially important
for the algorithms that make up the
coding uh make up the coding running
coding code running trillions of times a
day no I cannot speak today anyways here
we go in our paper published today in
nature
it's a weird place to publish a
Computing paper okay I didn't realize
nature I didn't realize nature was
coming out there we introduced Alpha Dev
and artificial intelligence AI system
that uses reinforcement learning to
discover enhance this way to discover
enhanced computer science algorithms
surpassing those honed by scientists and
Engineers over decades
pathetic
Engineers pathetic singular AI is
beating your pants off Alpha Dev
uncovered a faster algorithm for sorting
a method for ordering data billions of
people use these algorithms every day
without realizing it they underpin
everything from ranking online search
results and social posts to how data is
processed on computers and phones
generating better algorithms using AI
will transform wire just let just get to
the give me the meet and give it to me
raw okay I just want to know by let's
see by open sourcing our new algorithms
in the main C plus Library millions of
developers and companies you think
millions of developers are using C plus
plus okay hey guess what they are
actually they are so because everyone
that thinks they write JavaScript guess
what you're writing okay you're writing
syntactic sugar or C plus plus that's
all you're doing okay you got a little
jvm of JavaScript running underneath the
hood making your stupid code run
somewhat quick okay
so guess what this will benefit you too
millions of developers and companies
around the world now use it on AI
applications across industries from
cloud computing and online shopping to
Supply Chain management there's okay
just give me the meat what is sorting
you know what sorting is
we're skipping that whole thing okay
we're everybody you better know what
sorting is if you don't know what
sorting is we're gonna we're gonna have
some problems okay I'm gonna sort you
out
you got that punk
okay
okay maybe I should read a little bit
just to make sure that we're all on the
same page okay just in case any of you
feel you know stupid right now and you
feel like I don't know what sort of is
well okay sorting is a method for
organizing a number of items in a
particular order example includes
alphabetizing three letters arranging
five numbers from biggest to smallest or
ordering a database of millions of
Records okay
so if you were to sort say devs on a
access of most fit to least fit you'd
have like milky Dev on most fit side and
you'd have trash Dev on the other side
currently eating brownies as the limit
of T approaches zero trash Dev is either
making or eating brownies I don't know
if you know that but it's called the
theorem of trash okay it's been proven
it's proven it's proven actually
it's perfect you know how you know it's
proven watch this you go over to Twitter
right you go over to Twitter you don't
search up that you look up trash trash
death you jump on here I guarantee you
within five pages four pages there will
be a picture of brownies all right one
like I said
like I said okay not even two pages in
brownies ice cream trash Dev get your
life in order okay get your life in
order okay or else I'm gonna sentence
you to three weeks and Json
diesel okay
okay
anyways let's keep on going I think we
all know what sorting algorithms are uh
Alpha Dev uncovered faster algorithms by
starting from scratch interesting rather
than refining existing algorithms and
again looking where most humans don't
the computer's assembly instructions
okay okay okay
assembly instructions are used to create
binary code for computers to put into
action while developers write code in
languages like C plus known as a high
level language
you know whenever someone says C plus
plus is a high level language
I feel like you know like there's like a
whole
a debate gonna happen there right uh you
know I I like to call it like a really
strong mid you know C plus plus is mid
at best okay and I mean that in every
sense of that phrase uh we believe many
improvements exist at the lower level
that may be difficult to discover in a
higher level coding language computer
storage and operations are more flexible
at this level which means there's
significant but more potential okay so
look at this we got C plus plus that
turns into assembly that turns into a
bunch of ones and zeros
all right code is typically written in
high level programming language such as
C plus plus
sorry C plus there you go uh this is
even translated uh to low-level CPU
instructions called assembly
instructions using a compiler an
assembler then converts the assembly
instructions to execute machine code
that the computer can run okay boom boom
boom boom boom uh an example of C plus
plus algorithm that sorts up to two
elements up to two elements okay
interesting uh look at that length uh
zero one and two you know a lot of
people say a two element sword that
length is is pretty statistically
average you know what I mean lots of
algorithms only operate on on two you
know I don't I I don't think we should
be judging this kind of stuff you know
some people have longer sorting
algorithms and that's totally normal
the variation makes life beautiful okay
can we all agree to that variation makes
life beautiful okay
uh variable sort too okay uh we got I
don't know what EDI stands for I really
never do any sort of uh instructions all
I can tell you is that there's some
registers being moved around we're
comparing a little bit we're moving a
little here we're doing a little C movel
uh we're doing a little bit more we're
doing the old OG move G you know what
I'm talking about boom let's go finding
the best algorithm with a game Alpha Dev
is based on Alpha zero
classic our reinforcement learning model
that defeated world champions in games
like go chess and shelgi I don't know
this I don't know that one uh with Alpha
Dev we show how this model can transfer
from games to Scientific challenges and
from simulations to real world
applications to train Alpha Dev to
uncover new algorithms we transformed
sorting into a single player assembly
game uh at each turn Alpha Dev observes
the algorithm it has generated and the
information contained in the central
processing unit CPU then it plays a move
by choosing an instruction to add to the
algorithm
when the AIS get gamified it's just like
humans they're gonna get lazy uh they're
gonna only work on getting their
endorphins going as soon it's just like
these out of these these AIS are just
gonna be like hit me with that endorphin
rush I need some more gamification I
mean this is gonna end poorly okay this
is how skynet's born okay
uh the number of possible combinations
of instructions is similar to the number
of particles in the universe oh a
classic two to the 80 right uh or the
number of possible combinations of the
moves of the game in chess oh wow
there's a Google there's over a Google
of moves I didn't know that or the games
of go oh my goodness that's a that's
almost that's a that's a large ass
number a single wrong move can
invalidate an entire algorithm
absolutely
okay interesting reward yay we've done
it okay so it's obvious I assume it's
like a zero and a one right like either
you've done something good or you did
something bad okay let's see the figure
eight the assembly game uh the assembly
game the player Alpha Dev receives the
state of the system as input and plays a
move by selecting an assembly
instruction to add to the algorithm that
has been generated thus far the reward
computation after each move the
generated algorithm is fed test input
sequence for sort 3 this corresponds to
all combination of sequences of three
elements the algorithm then generates an
output which is compared to the expected
output of sorted sequences for the case
of sorting this agent is rewarded based
on the algorithm's correctness and
latency as the algorithm is built one
instruction at a time Alpha Dev checks
that it's correct by comparing the
algorithm's output with the expected
results for sorting algorithms this
means unordered numbers go in and
correctly sorted numbers come out we
reward Alpha Dev for both sorting the
numbers correctly and for how quickly
and efficiently it does so Alpha Dev
wins the game by discovering a correct
faster program
foreign
this is super interesting oh what kind
of
this is just like I mean is this just
like a standard MLP is that all they're
using here is just like a pretty simple
MLP
because this just sounds like they're
doing a little bit of that uh you know a
little bit of that error back
propagation
and just correcting or I don't
understand how adding and removing
instructions either way it's pretty it's
simple Clueless
I mean it sounds it sounds nutty
reinforcement learning yeah you you like
you put your output into your input baby
have you ever done that it's a pretty
good time must say sounds like a protein
folding algorithm you think so
I wouldn't know uh Alpha Dev uncover
let's see uncovered new sorting
algorithms that led to improvements in
the llvml lib C plus plus sorting
library that were up to 70 faster for
shorter sequences and about 1.7 faster
for sequences exceeding 250 000 elements
interesting
that number sounds like statistical
noise
hmm
oh man I've become super skeptical all
of a sudden we focused on improving
sorting algorithm I guess if you're
doing it in assembly you can kind of
like just look at the assembly and be
like this is faster interesting we
focused on improving sorting algorithms
for shorter sequences of three uh to
five elements these algorithms are among
the most widely used because they are
often called many times as a part of
larger sorting functions improving these
algorithms can lead to an overall speed
up for sorting any number of items to
make the new sorting algorithm more
usable for people we reverse engineered
the algorithm and translated them into C
plus one of the most popular coding
languages that developers use these
algorithms are now available I actually
kind of want to look at that
this sounds exciting okay finding the
novel approaches okay this is very
interesting uh Alpha Dev not only found
faster algorithms but it also uncovered
novel approaches its sorting algorithm
contained new sequences of instructions
that save a single instruction each time
they're applied
that can have huge impact in these
algorithms that are used trillions of
times a day we call these Alpha Dev Swap
and copy moves
like I understand all three of those
words individually
but when you put them together like that
I have no clue what that means do you
know what I mean uh this novel approach
is reminiscent of alpha moves go or move
37 okay okay okay lib soy 1.7 for small
sorts is noise yes but that was for a
large Story one point one point seven
percent was for uh the 250 000 element
sort whereas uh the the 70 was for small
sorts
you know I mean you know me oh my
goodness I hate when you like when you
make it smaller and larger and it
totally just loses your spot uh a
counter-intuitive play that stunned
onlookers and led to the defeat of
legendary go player with the Swap and
copy move Alpha Dev skips over a step to
connect items in a way that looks like a
mistake but it is actually a shortcut
wow this uh shows Alpha dev's ability to
uncover original Solutions and
challenges the way we think about how to
improve code I actually really want to
understand this okay
so we have some memory
all right so we have all some stuff here
so we do we do a lot of like we do a
little move a little compare
all everything looks the same we don't
do a move here
We compare here
see the problem is is I I can't quite
read this delicious
this deliciousness
yeah see I'm too stupid to re I'm too
stupid to read these instructions I'm
too stupid to actually read them I was
hoping that I could kind of like
visualize what it's actually doing
uh read comments
on
R equals to Max s equals the min
okay you kind of know which one's more
you either you have a or C and R
contains a s contains C or one of the uh
other way uh P contains either a or b q
contains the minimum
really it should contain s
yeah okay it does it contains s
the maximum of those three
and then reorders those huh
I'd have to think about this for a
little bit the stream's not for really
thinking but I think I think I could I
think I could kind of understand this
I'd have to like draw it out but that
sounds interesting okay I think I see
what's happening here it's effectively
just selecting out each one right so you
know
A and C is ordering
then you know
potentially bees ordering
and then you know the difference between
if B is less than or if B is greater
than or less than a or C which is q
and so then you can kind of apply these
right Q
interesting
interesting uh
yeah because effectively Q is position
two right so okay I see what's happening
here so you take the smallest of these
two
then you take the middle element there
so that would be the middle element
this is what I don't understand is right
here how do you know a and b c that's
what I don't understand right here how
do you know a and how do you know this
how do you know this
I see I've had to think about this uh
I'd have to I'd have to think about this
for a little bit all right but I uh
interesting all right
the original sort 3 implementation yeah
Dev swap uh move discovers that you only
need a Min a b okay and then I guess
here's a larger one I'm not going to try
to figure these things out the original
implementation with Max B uh okay so
it looks like it's effectively removing
an instruction here
removes the comparison here
removes a couple comparisons here and
another comparison here
interesting uh from sorting to hashing
and data structures after discovering
faster sorting algorithms we tested
whether Alpha Dev could generalize and
improve a different computer science
algorithm hashing okay so this one's
super interesting because
generalized hashing can still leave to
lead to huge problems have you ever seen
that uh that the causal profiler did
anyone ever watch the causal profiler it
showed that the causal profiler uh the
causal profiler showed that like O3
optimizations didn't actually improve
the speed but actually slowed down some
uh some operations like not all
optimizations were actually
optimizations in the end it was super
interesting and one of them and then one
of the things they found in hashing was
that like sometimes generalized hashing
produces really bad bucketing and these
bad bucketings create terrible
performance right
uh hashing is a function algorithm in
Computing used to retrieve store and
compress data like a librarian who uses
classification system okay blah blah
blah I think we all know about that we
applied Alpha Dev to one most commonly
used algorithms for hashing and data
structures and tried to discover a
faster algorithm when we applied it to a
9 to 16 byte range of hashing function
the algorithm discovered that or the
algorithm that Alpha Dev discovered was
30 faster again I'd love to know how
that works this year Alpha dev's new
hashing algorithm was released into an
open source ancl Library like uh you
let's see available to millions of
developers around the world and we
estimate now that it's being used a
trillion times a day very interesting
by optimizing and launching improved
sorting and hashing algorithms used by
developers all around the world Alpha
dev has demonstrated its ability to
generalize and discover new algorithms
with real world impact we see Alpha Dev
as a step towards developing general
purpose AI tools that can help optimize
the entire Computing ecosystem and solve
other problems that will benefit Society
I actually think this is a great use of
AI so to me this is a great use of AI
this is finally like because you know
like you know I'm not gonna lie to you
AI explaining react with an 87 accuracy
or whatever chat chipity 4 is isn't
necessarily like the great use of AI
right it's mostly correct and sometimes
it lies to you right like that's kind of
a shitty thing AI giving you 100 code
coverage kind of a shitty you know
it's kind of shitty uh but
oh we're starting here in one minute but
this idea that it can just improve like
really intense uh
just very specific instructions it seems
super cool uh until it starts cracking
encryption yeah that's why you get Pied
Piper to take the fall everyone knows
this you'd get Pi we've already seen the
episode buddy okay
I've already seen it damn it I hate when
see I hate this whole sites that do that
okay anyways while optimizing in the
space of low-level assembly instructions
is very powerful there are limitations
as the algorithm grows and we are
currently exploring Alpha dev's ability
to optimize algorithms directly in high
level languages such as C plus which
would be more useful for developers yeah
that makes sense Alpha dev's Discovery
such as the Swap and copy moves not only
show that it can improve algorithms but
also find new Solutions we hope these
discoveries Inspire researchers and
developers alike to create techniques
and approaches that can further optimize
fundamental algorithms to create a more
powerful and sustainable sustainable uh
Computing ecosystem I I am going to one
thing before we end this one thing I
want to do is I'm going to take this and
maybe in the next one or two streams I'm
actually going to try to go over this
and like write it out and try to
understand it like on paper because this
seems super cool like this idea seems
super cool
I'd like to like be able to visually see
what's happening I think I can see
what's happening right here but it would
be super cool to see this as well I
think it'd be a lot of fun right
um I think it'd be a lot of fun I think
I like that
anyways how to jerkate guys at a time
that's middle out algorithm that's the
difference okay completely different and
that's four Dudes okay you can't double
the performance middle out everybody
knows that
you can't there's no configuration in
which I mean the thetas alone would be
out of out of this world okay do you
realize how many
I mean the Sorting algorithm required
would require an AI just to properly
sort
the height differences it would be
insane
um
any anywho the name
is the middle outer gin
hey by the way like this video why did
you guys not like my videos like them
Ver Más Videos Relacionados
Hard Takeoff Inevitable? Causes, Constraints, Race Conditions - ALL GAS, NO BRAKES! (AI, AGI, ASI!)
シンギュラリティの世界|「AI」は神になれるのか?それとも、、【未来予測 2045】人工知能
AI News: AGI In 2 Years, Meta’s LEAK, AI Sarcasm Detector & More
注目AIニュース9選~iPhoneにChatGPT搭載!?、OpenAIの新発表、XのGrokいよいよリリース
シンギュラリティ×暴走×完全なる仮想世界|希少種となるオリジナル、そして、、【未来予測 2045】人工知能 AI AGI
OpenAI CEO Sam Altman and CTO Mira Murati on the Future of AI and ChatGPT | WSJ Tech Live 2023
5.0 / 5 (0 votes)