Neben all dem, man entschuldige bitte meine Wortwahl, Bullshit, der gegenwärtig mit KI veranstaltet wird – Schreibassistenten, oh my! – gibt es doch auch nützliche und gewinnbringende Anwendungen von KI. Konkreter, von „deep reinforcement learning“. Zum Beispiel soetwas ganz Fundamentales wie einen neuen Sortieralgorithmus.
Was ist ein Sortieralgorithmus? Vor ein paar Jahren habe ich hier einen Artikel zum Thema Sortieralgorithmen veröffentlicht, in dem verschiedene Algorithmen und ihre Vor-und Nachteile am Beispiel einer Bücherlieferung an eine Bibliothek veranschaulicht werden. Der Bibliothekar steht vor der Aufgabe, die unerwartet gelieferten 1.280 Bücher so schnell wie möglich alphabetisch zu sortieren. Wer sich mit Sortieralgorithmen noch nie beschäftigt hat und eine richtig gut gemachte Einführung ins Thema haben will, sollte sich den Artikel durchlesen, bevor es hier weitergeht.
Natürlich gibt es viele weitere Sortieralgorithmen und wer sich eine Visualisierung (samt richtig hässlicher Geräuschuntermalung) von 15 Sortieralgorithmen geben will, für den ist dieses zweite Video gedacht. Bubble, Insertion und QuickSort kommen hier auch wieder vor, aber eben auch viele weitere, teils absurd anmutende Algorithmen. (Vorwarnung: die Sortierung wird auch akustisch wiedergegeben, wer also gerade Kopfhörer aufhat, dreht besser den Ton leiser.)
Und wer noch nicht genug hat und sich 80 (!) Sortierverfahren geben will, bitte hier entlang.
Wer Sortieralgorithmen entwickelt, hat oftmals einen konkreten Anlass, nach Alternativen zu vorhandenen Algorithmen zu suchen. Zum Beispiel, weil sie nicht effizient sind und für einfachste Sortierungen zu lange brauchen. Das Beispiel mit der Bibliothek zeigt auch ganz klar auf, wie lange verschiedene Algorithmen für die Sortierung benötigen. Das Problem dabei ist, dass die Suche nach einer Alternative von der menschlichen Intuition und Vorstellungskraft abhängig ist und das Universum der Vorstellung die natürliche Grenze der Kreativität darstellt. Die ist auf der einen Seite nahezu endlos, auf der anderen aber stark eingeschränkt. Zum Beispiel dann, wenn es ums Optimieren von Algorithmen geht.
In einem neuen Paper in nature, wird genau dieser Aspekt angesprochen.
Human intuition and know-how have been crucial in improving algorithms. 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. […] 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.
Mankowitz et al.
Was haben die 30 (!) Autor:innen des Papers also gemacht? Sie haben sich einer Künstlichen Intelligenz bedient und sie ein Spiel spielen lassen, dessen Herausforderung die Optimierung von Sortieralgorithmen ist, wobei Effizienz und Geschwindigkeit belohnt und ihre Gegenteile quasi bestraft werden. Die KI sollte das Spiel gewinnen wollen.
We formulate the problem of discovering new, efficient sorting algorithms as a single-player game […]. In this game, the player selects a series of low-level CPU instructions, which we refer to as assembly instructions, to combine to yield a new and efficient sorting algorithm. This is challenging as the player needs to consider the combinatorial space of assembly instructions to yield an algorithm that is both provably correct and fast. The hardness of the [game] arises not only from the size of the search space […] but also from the nature of the reward function. A single incorrect instruction […] can potentially invalidate the entire algorithm, making exploration in this space of games incredibly challenging.
To play the game, we introduce AlphaDev, a learning agent that is trained to search for correct and efficient algorithms. […] Using AlphaDev, we have discovered fixed and variable sort algorithms from scratch that are both new and more efficient than the state-of-the-art human benchmarks.
Das ist nun eine sinnvolle Anwendung von KI. Das Paper gibt es bei nature frei zugänglich: Faster sorting algorithms diescovered usind deep reinforcement learning.
Erwähnt habe ich die ganze Sache hier auf meinem Blog aus dem simplen Grund, um der allgemeinen Wahrnehmung, künstliche Intelligenz sei de facto nur ChatGPT, ein wenig entgegenzuwirken und aufzuzeigen, dass sie auch für ganz grundlegende, die Welt ein wenig besser machende Tasks eingesetzt werden kann.
Es ist schon ein sehr breiter Horizont, den KI abdeckt. Auf der einen Seite arbeitet sie hochgradig spezifische Instruktionen zur Verbesserung eines so dermaßen grundlegenden Problems, dass niemand von uns im Alltag darüber nachdenkt, ab, auf der anderen Seite holt sie die verlorenen Seelen, die sich irgendwie in Marketingagenturen geschummelt haben ab und unterstützt sie im Verfassen zweifelhaft lesbarer Texte. Die Auswirkungen auf die Gesellschaft sind hier nicht zu unterschätzen und der Knackpunkt einer potentiellen Durchmischung ebenso: Ich frage mich, wie lange es dauern wird, bis der Vorteil der Nutzung von KI selbst als Produkt erkannt und, zur Serviceleistung deklariert, monetarisiert wird. Und nein, damit meine ich nicht das ChatGPT Plug-Abo, sondern bestimmte Funktionen, die den Nutzer:innen entscheidende Vorteile bringen ohne die sie ihre Tasks nicht erledigen könnten.