• Frage: Guten Tag, ich habe eine Frage bezüglich der Dominanz von Python in der KI-Programmierung. Jedoch frag ich mich, ob es nicht schneller gehen könnte andere Sprachen zu benutzen, selbst für vermeidlich einfache Aufgaben wie Organisierung MfG

    Frage gestellt ARM am 27 Feb 2024.
    • Foto: Xenia Klinge

      Xenia Klinge Beantwortet am 27 Feb 2024:


      Schneller in welcher Hinsicht?

      Das Erlernen von Python geht relativ schnell, weil die Sprache im Unterschied zu anderen recht verständlich und flexibel ist. Das Einarbeiten in die KI-Programmierung mit Python ist ebenfalls komfortabel, weil es so viele fertige Bibliotheken und Tutorials gibt. So kann man schon innerhalb weniger Stunden oder Tage erste Erfolge erzielen und direkt mit KI arbeiten.

      Auf technologischer Seite ist Python tatsächlich nicht immer besonders schnell. Kompilierte Sprachen wie C, das bekannt ist für Geschwindigkeit und Effizienz auf niedriger Ebene, sind vielleicht für bestimmte Bereiche von KI eine bessere Wahl, wie für Anwendungen, die sehr rechenintensiv sind und eine optimierte Leistung erfordern. Dafür sind die oft unhandlicher zu verwenden und erfordern viel Wissen und Erfahrung, um diese Effizienz auch tatsächlich zu erreichen.

      Letzten Endes ist die Wahl der Programmiersprache von verschiedenen Faktoren abhängt, darunter die Art der Anwendung, die vorhandenen Ressourcen, die Teampräferenzen und die Anforderungen des Projekts. Oft werden übrigens Python und C in Kombination verwendet, um die Vorteile beider Sprachen zu nutzen – dann greifen die einfach zu benutzenden Pythonbibliotheken „unter der Haube“ auf C-Code zu.

    • Foto: Daniel Braun

      Daniel Braun Beantwortet am 27 Feb 2024:


      Für das Vorbereiten der Daten spielt Performance keine so große Rolle. Ja viele Operationen wären mit C oder anderen Sprachen schneller aber hier ist der Komfort von Python und die verfügbaren Standardbibliotheken zur Vorbereitung der Daten wichtiger als die Geschwindigkeit.

      Wenn es dann an die Teile geht bei denen Performance wichtig ist (also insbesondere das Trainieren der Modelle), dann sind die verwendeten Python-Bibliotheken (wie PyTorch) häufig nur ein sogenannter „Wrapper“ für C-Code. Also der Programmierer ruft die Python-Bibliothek auf und die Python-Bibliothek ruft dann C-Code auf. So unterstützen die Python-Bibliotheken dann auch Programmierschnittstellen wie CUDA, die direkt auf den Chip der Grafikkarte zugreifen können und so besonders effizient und schnell arbeiten können.

    • Foto: Annegret Janzso

      Annegret Janzso Beantwortet am 27 Feb 2024:


      Ich möchte auch zusätzlich zu den bisherigen Antworten anmerken: Viele Modellarchitekturen bauen bereits auf Python auf, was dann die Programmiersprache für die KI-Modellierung vorgibt. Viele Leute können Python, oder können es zumindest einfach lernen, was dann auch dafür sorgt, dass diese Architekturen vielseitig verwendet werden können. Da hat sich Python schon als eine Art Standard etabliert. Natürlich kann man auch andere Programmiersprachen verwenden, gegebenenfalls mit etwas initialem Mehraufwand – aber meistens ist es einfacher, direkt bei Python zu bleiben.

    • Foto: Knut Linke

      Knut Linke Beantwortet am 28 Feb 2024:


      Python ist selber recht einfach und schneller zu erlernen, da es auf einige Regeln verzichtet. Mit Python kann man relativ unkompliziert programmieren. Zudem gibt es im Bereich KI eine gute Auswahl an Bibliotheken, die man schnell importieren kann. Hierdurch hat sich die Sprache etwas in diesem Bereich etabliert. Aufgrund des Aufbaus von Python ist Python selber auch recht schnell und soll unter den richtigen Umständen an die Geschwindigkeit von C oder C++ herankommen, die sehr hardwarenah sein (um so näher an der Hardware um so schneller ist ein Programm von der Theorie her).

      Wenn du KI Systeme wie ChatGPT über eine Schnittstelle nutzen willst, dann geht das auch per Php o. ä.

    • Foto: Karsten Weber

      Karsten Weber Beantwortet am 28 Feb 2024:


      Einige wichtige Aspekte haben meine Kolleg*innen schon genannt; ich möchte noch darauf hinweisen, dass die Wahl einer Programmiersprache oft auch eine Frage der Verfügbarkeit von Menschen ist, die programmieren können. Python „sprechen“ viele Leute, also nutzt man Python. Dadurch entsteht ein großer Bestand an Python-Programmen, so dass noch mehr Leute Python lernen, weil offensichtlich Python gebraucht wird … und so weiter.

    • Foto: Jens-Bastian Eppler

      Jens-Bastian Eppler Beantwortet am 28 Feb 2024:


      Wie schon bereits von vielen Kollegen gesagt:
      1. auf menschlicher Seite gibt es wenige Sprachen die einfacher verständlich und dadurch schneller zu programmieren sind.
      2. Die Details der KI Anwendungen, die rechen-intensiv sind, greifen typischerweise auf C/C++ Libraries zurück, sodass auch das schnell geht.

    • Foto: Diana Schneider

      Diana Schneider Beantwortet am 29 Feb 2024:


      Die Frage kann ich Dir leider nicht beantworten. Ich kann nicht programmieren.

Kommentare