Einstieg in KI und Machine Learning, Teil 2 10 Open-Source- und Gratis-Tools für KI-Entwickler

Autor / Redakteur: Christian Rentrop / Stephan Augsten

Die Entwicklung von KI- und Machine-Learning-Systemen ist aufwändig. Zum Glück gibt es eine Reihe praktischer Gratis-Tools, die Softwareentwickler bei der Arbeit unterstützen können. Wir zeigen, welche das sind.

Firma zum Thema

Beim Einstieg in den Bereich der KI-Entwicklung helfen einige Gratis- und Open-Source-Tools.
Beim Einstieg in den Bereich der KI-Entwicklung helfen einige Gratis- und Open-Source-Tools.
(© besjunior - stock.adobe.com)

Wer sich mit der Entwicklung von Machine-Learning- und KI-Systemen beschäftigten möchte, braucht eine Menge Übung und gewisse Fähigkeiten im Bereich KI. Letztere sind in vielerlei Hinsicht eine Frage der persönlichen Charaktereigenschaften.

eBook Künstliche Intelligenz für Developer
eBook „Künstliche Intelligenz für Developer“
(Bild: Dev-Insider)

E-Book zum Thema

Das eBook „Künstliche Intelligenz für Developer“ vermittelt ein grundlegendes Verständnis für KI und Machine Learning und nennt essenzielle Werkzeuge.

Übung allerdings lässt sich aufbauen, und dabei können einige kostenlose Gratis-Plattformen und Tools für die KI-Entwicklung helfen. Dabei geht es auch darum, herumzuexperimentieren und KI-Software nicht von Grund auf neu modellieren zu müssen.

OpenAI Gym

Die Non-Profit-Organisation OpenAI ist eine von Microsoft und Elon Musk unterstützte Initiative, die dabei helfen soll, künstliche Intelligenz zu einem nützlichen Helfer für die Menschheit zu entwickeln. Einige große Denker wie Stephen Hawking haben oder hatten nämlich die berechtigte Befürchtung, eine sich selbst verbessernde KI könnte sich schnell zu einer Bedrohung für die Menschheit erweisen.

Um einem dystopischen Szenario entgegenzuwirken, unterstützt OpenAI die Forschung und Entwicklung hilfreicher künstlicher Intelligenz. KI-Entwickler können von dieser Idee profitieren: Neben der Idee, möglichst viel KI-Technologie quelloffen zur Verfügung zu stellen, gibt es mit dem OpenAI Gym ein einfaches Toolkit, um simple lernende Algorithmen zu entwickeln.

Auf diese Weise können sich Entwickler spielerisch mit der Funktionsweise von Deep-Learning-Algorithmen vertraut machen. Wer mehr möchte, kann sich über die OpenAI-API auch mit der Sprachverarbeitung von KI-Systemen beschäftigen, ein Blick auf den Beta-Kanal von OpenAI lohnt in jedem Fall.

Google TensorFlow

Google stellt ebenfalls eine kostenlose KI-Plattform für Entwickler zur Verfügung: Unter dem Namen TensorFlow bietet der Suchmaschinenriese eine quelloffene Library in Python für die KI-Entwicklung an. Als „End-to-End-Open-Source-Plattform für maschinelles Lernen“ (Google-Eigenwerbung) erlaubt TensorFlow Anfängern wie Profis angepasste API-Anbindungen, um sich mit der Entwicklung von KI-Systemen zu beschäftigen.

Der Name „Tensor“ stammt von den Rechenoperationen, die auf künstlichen neuronalen Netzwerken stattfinden. TensorFlow kommt bereits Google-intern zum Einsatz, weshalb es sich um eine sehr ausgereifte Plattform handelt und zahlreiche Programmiersprachen unterstützt.

Microsoft Cognitive Toolkit

Hocheffizient und auf Skalierbarkeit getrimmt – so lässt sich das Microsoft Cognitive Toolkit, kurz CNTK, am besten beschreiben. Um das zu gewährleisten, ist das Framework natürlich für den Einsatz auf Microsofts Azure optimiert.

Seine Stärken liegen dabei vor allem in der Echtzeit-Analyse von Daten. Microsoft selbst nutzt das Toolkit längst in Diensten wie Cortana oder Skype, wodurch das Cognitive Toolkit überall dort zum Einsatz kommen kann, wo große Datenmengen analysiert werden müssen.

PyTorch

Auch PyTorch stammt ursprünglich von einem der großen Player: Von Facebook-Ingenieuren aus der bereits seit 2002 existierenden Torch-Umgebung entwickelt, hat sich das Open-Source-Framework inzwischen zu einem der Standard-Tools für die KI-Entwicklung gemausert.

OpenAI setzt das Open-Source-Framework inzwischen ebenfalls ein, da es ausgesprochen viele Möglichkeiten für die Entwicklung intelligenter Systeme bietet. So gibt es Bibliotheken für alle wichtigen Bereiche des Machine Learnings, darunter Bilderkennung, Sprachverarbeitung, Mustererkennung oder das Training neuronaler Netze. Eine solide Basis also, um Machine-Learning-Projekte zu realisieren.

Shogun

Bei Shogun handelt es sich um eine Open-Source-Library für KI-Entwicklung unter GPLv3-Lizenz. Die unter C++ verfasste Toolbox bietet Entwicklern eine Vielzahl von Werkzeugen, um Machine-Learning-Anwendungen zu gestalten.

Neben Interfaces für beliebte Programmiersprachen wie Python, Java, Ruby und C# gibt es Unterstützung für verschiedene Vector-Modelle sowie Cluster- und Online-Learning-Algorithmen. Bei der Entwicklung wurde auch die Bioinformatik im Auge behalten, wodurch Shogun in der Lage ist, enorme Datenmengen zu verarbeiten.

FluxML

FluxML ist ein Machine-Learning-Framework unter MIT-Lizenz. Es bezeichnet sich selbst als das „elegantes Machinen Learning Stack“ und wird deshalb gerne von KI-Forschern zur Hand genommen, weshalb auch namhafte Universitäten bei dem Projekt beteiligt sind.

Flux ist darauf ausgelegt, Machine-Learning-Anwendungen möglichst intuitiv und mathematisch zu gestalten, weshalb das Framework auch auf Julia als Programmiersprache setzt. FluxML verfügt über eine Vielzahl von Paketen und Skripten, die spezifische Funktionen zur Verfügung stellen, darunter auch GPU- und TPU-Unterstützung.

Apache Mahout

Die Apache-Foundation ist vor allem für ihren Webserver bekannt. Allerdings gibt es mit Mahout auch ein KI-Framework, das sich vor allem für die Entwicklung statistischer und mathematischer Machine-Learning-Anwendungen eignet. Möglich wird das durch die Verwendung linearer Algebra, wodurch mit wenigen Zeilen Code eine erhebliche Effekte erzielt werden können.

Mahout setzt durch Java als Basis außerdem auf die Skalierbarkeit der entwickelten Anwendungen. Anders als andere ML-Toolkits kommt Mahout allerdings mit einer eigenen, R-ähnlichen Sprache, ohne andere Sprachen zu übersetzen, was die Konvertierung vorhandener Lösungen erschweren kann.

Deeplearning4j

Ebenfalls auf Java basiert Deeplearning4j und kann für die Entwicklung von Deep-Learning-Anwendungen und neurale Netzwerke eingesetzt werden. Durch seinen effizienten Umgang mit verteiltem Rechnen per CPU und GPU via Spark und Hadoop ist es möglich, hier besonders leistungsstarke und gut skalierbare Algorithmen zu entwickeln.

scikit-learn

Die Machine-Learning-Bibliothek scikit-learn basiert auf Python und bietet sich vor allem für die vorhersagende Datenanalyse an: Verschiedene Algorithmen zur Klassifizierung und Sortierung von Daten sind an Bord, die ganze Bibliothek ist darauf optimiert, mit Python und den zugehörigen wissenschaftlichen Bibliotheken NumPy und SciPy zusammen zu arbeiten. Dadurch, und weil es im Lehreinsatz beliebt ist, gehört scikit-learn zu den wichtigsten und interessantesten Tools für die KI-Entwicklung.

E-Book zum Thema

Künstliche Intelligenz für Developer

eBook Künstliche Intelligenz für Developer
eBook „Künstliche Intelligenz für Developer“
(Bild: Dev-Insider)

Entwickler mit Erfahrung in Sachen Künstlicher Intelligenz (KI) und Machine Learning (ML) sind gesucht, die Einsatzszenarien vielfältig. Das eBook „Künstliche Intelligenz für Developer“ vermittelt ein grundlegendes Verständnis für KI und Machine Learning und nennt essenzielle Werkzeuge.<

Das eBook behandelt folgende Bereiche:

  • Programmiersprachen und Bibliotheken
  • Entwicklungsumgebungen und Cloud-Plattformen
  • Testing von Software für Machine Learning

(ID:46973820)

Über den Autor

 Christian Rentrop

Christian Rentrop

IT-Fachautor