Turbogeladenes Python: KI beschleunigt die Rechengeschwindigkeit um das Tausendfache
Von der University of Massachusetts Amherst, 30. August 2023
Forscher der University of Massachusetts Amherst stellten Scalene vor, einen hochmodernen Python-Profiler. Im Gegensatz zu herkömmlichen Profilern nutzt Scalene KI, um Code-Ineffizienzen zu identifizieren und Korrekturen dafür vorzuschlagen. Diese Entwicklung gewinnt an Bedeutung, da in Zukunft eine bessere Programmierung zur Geschwindigkeitsverbesserung im Vordergrund steht.
Ihre Entwicklung Scalene, ein Open-Source-Tool zur drastischen Beschleunigung der Programmiersprache Python, umgeht Hardwareprobleme, die die Verarbeitungsgeschwindigkeit von Computern einschränken.
Ein Team von Informatikern der University of Massachusetts Amherst unter der Leitung von Emery Berger hat kürzlich einen preisgekrönten Python-Profiler namens Scalene vorgestellt. Mit Python geschriebene Programme sind bekanntermaßen langsam – bis zu 60.000 Mal langsamer als in anderen Programmiersprachen geschriebener Code – und Scalene erkennt effizient genau, wo Python hinterherhinkt, sodass Programmierer Fehler beheben und ihren Code optimieren können, um eine höhere Leistung zu erzielen.
Es gibt viele verschiedene Programmiersprachen – C++, Fortran und Java gehören zu den bekannteren –, aber in den letzten Jahren ist eine Sprache nahezu allgegenwärtig geworden: Python.
“Python is a ‘batteries-included’ language,” says Berger, who is a professor of computer science in the Manning College of Information and Computer Sciences at UMass Amherst, “and it has become very popular in the age of data science and machine learningMachine learning is a subset of artificial intelligence (AI) that deals with the development of algorithms and statistical models that enable computers to learn from data and make predictions or decisions without being explicitly programmed to do so. Machine learning is used to identify patterns in data, classify data into different categories, or make predictions about future events. It can be categorized into three main types of learning: supervised, unsupervised and reinforcement learning." data-gt-translate-attributes="[{"attribute":"data-cmtooltip", "format":"html"}]"> maschinelles Lernen, weil es so benutzerfreundlich ist.“ Die Sprache verfügt über Bibliotheken benutzerfreundlicher Tools und eine intuitive und lesbare Syntax, sodass Benutzer schnell mit dem Schreiben von Python-Code beginnen können.
„Computer werden nicht mehr schneller. Zukünftige Geschwindigkeitsverbesserungen werden weniger von besserer Hardware als vielmehr von einer schnelleren und effizienteren Programmierung herrühren.“
– Emery Berger, Professorin für Informatik am Manning College of Information and Computer Sciences der UMass Amherst
„Aber Python ist wahnsinnig ineffizient“, sagt Berger. „Es läuft leicht zwischen 100 und 1.000 Mal langsamer als andere Sprachen, und einige Aufgaben könnten in Python 60.000 Mal so lange dauern.“
UMass Amherst Professor für Informatik Emery Berger. Bildnachweis: UMass Amherst
Programmierer wissen das schon lange, und um die Ineffizienz von Python zu bekämpfen, können sie Tools namens „Profiler“ verwenden. Profiler führen Programme aus und ermitteln dann, warum und welche Teile langsam sind.
Leider helfen vorhandene Profiler Python-Programmierern überraschend wenig. Im besten Fall zeigen sie an, dass ein Codebereich langsam ist, und überlassen es dem Programmierer, herauszufinden, was, wenn überhaupt, getan werden kann.
Bergers Team, zu dem auch die UMass-Informatikstudenten Sam Stern und Juan Altmayer Pizzorno gehörten, entwickelte Scalene zum ersten Profiler, der nicht nur Ineffizienzen im Python-Code genau identifiziert, sondern auch KI nutzt, um Vorschläge zur Verbesserung des Codes zu machen.
„Scalene ermittelt zunächst, wo Ihr Programm Zeit verschwendet“, sagt Berger. Es konzentriert sich auf drei Schlüsselbereiche – die CPU-, GPU- und Speichernutzung –, die für den Großteil der langsamen Geschwindigkeit von Python verantwortlich sind.
Sobald Scalene erkannt hat, wo Python Schwierigkeiten hat, mitzuhalten, nutzt es dann KI – und nutzt dabei die gleiche Technologie, die ChatGPT zugrunde liegt –, um Möglichkeiten zur Optimierung einzelner Zeilen oder sogar Codegruppierungen vorzuschlagen.
„Das ist ein umsetzbares Dashboard“, sagt Berger. „Es ist nicht nur ein Tacho, der Ihnen anzeigt, wie schnell oder langsam Ihr Auto fährt, er sagt Ihnen auch, ob Sie schneller fahren könnten, warum Ihre Geschwindigkeit beeinträchtigt wird und was Sie tun können, um die Höchstgeschwindigkeit zu erreichen.“
„Computer werden nicht mehr schneller“, sagt Berger. „Zukünftige Geschwindigkeitsverbesserungen werden weniger von besserer Hardware als vielmehr von einer schnelleren und effizienteren Programmierung herrühren.“
Scalene ist bereits weit verbreitet und wurde seit seiner öffentlichen Vorstellung auf GitHub mehr als 750.000 Mal heruntergeladen. Die Forschung, die zur Entwicklung von Scalene führte, wurde von der National Science Foundation unterstützt. Ein Artikel, der diese Arbeit beschreibt, erschien auf der diesjährigen USENIX-Konferenz für Betriebssystemdesign und -implementierung und gewann dort die Auszeichnung „Best“.
Ihre Entwicklung Scalene, ein Open-Source-Tool zur drastischen Beschleunigung der Programmiersprache Python, umgeht Hardwareprobleme, die die Verarbeitungsgeschwindigkeit von Computern einschränken.