8/19/2023 0 Comments Set timer 5 minutes from now![]() ![]() One of the fundamental questions in computer science is how to sort a sequence 17, 18, 19, 20. Using deep reinforcement learning (DRL), we can take this a step further by generating correct and performant algorithms by optimizing for actual measured latency at the CPU instruction level, by more efficiently searching and considering the space of correct and fast programs compared to previous work. ![]() These include enumerative search techniques 4, 5, 6, 7 and stochastic search 5, 6, 8, 9, 10 as well as the more recent trend of using deep learning in program synthesis for generating correct programs 11, 12, 13, 14, 15, 16. ![]() The work in classical program synthesis literature, spanning many decades, aims to generate correct programs and/or optimize programs using proxies for latency. However, many algorithms have reached a stage whereby human experts have not been able to optimize them further, leading to an ever-growing computational bottleneck. Human intuition and know-how have been crucial in improving algorithms. We also present results in extra domains, showcasing the generality of the approach. This change to this part of the sort library represents the replacement of a component with an algorithm that has been automatically discovered using reinforcement learning. These algorithms have been integrated into the LLVM standard C++ sort library 3. AlphaDev discovered small sorting algorithms from scratch that outperformed previously known human benchmarks. We then trained a new deep reinforcement learning agent, AlphaDev, to play this game. To realize this, we formulated the task of finding a better sorting routine as a single-player game. Here we show how artificial intelligence can go beyond the current state of the art by discovering hitherto unknown routines. Whereas remarkable progress has been achieved in the past 2, making further improvements on the efficiency of these routines has proved challenging for both human scientists and computational approaches. As demand for computation grows, it has become critical for these algorithms to be as performant as possible. Fundamental algorithms such as sorting or hashing are used trillions of times on any given day 1. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |