Aus dem Englischen übersetzt

PyTorch ist eine Open-Source-Bibliothek für Deep Learning, die ursprünglich von Meta Platforms entwickelt wurde und nun unter der Linux Foundation steht. Sie bietet eine High-Level-API zum Erstellen und Trainieren neuronaler Netze, mit automatischer Differenzierung und GPU-Beschleunigung, und bleibt bis 2025 eines der beliebtesten Frameworks.

PyTorch ist eine Open-Source-Deep learning-Bibliothek, die ursprünglich von Meta Platforms entwickelt wurde und derzeit von der Linux Foundation unterstützt wird. Sie ist der Nachfolger von Torch und bietet eine High-Level-API, die auf optimierten, Low-Level-Implementierungen von Algorithmen und Architekturen wie dem Transformer (architecture) und SGD-Varianten aufbaut. Die Bibliothek vereinfacht das Training und die Inferenz von Modellen auf wenige Codezeilen, ermöglicht automatische Parallelisierung und implementiert CUDA-Bindungen, um GPU-Ressourcen zu nutzen. Stand 2025 bleibt sie eine der beliebtesten Deep-Learning-Bibliotheken, neben TensorFlow und Keras, und bildet die Grundlage für kommerzielle Systeme wie ChatGPT, Tesla Autopilot, Ubers Pyro und Hugging Faces Transformers.

PyTorch verwendet den Tensor als fundamentalen Datentyp, ähnlich wie NumPy-Arrays, jedoch mit Unterstützung für GPU-Operationen. Das Training wird durch Autograd erleichtert, ein System zur umgekehrten automatischen Differentiation, das während des Vorwärtsdurchlaufs einen gerichteten azyklischen Graphen von Operationen konstruiert und so die Backpropagation mit einer Verlustfunktion ermöglicht. Die Bibliothek kann über Anaconda-Paketmanager installiert werden und ist sowohl in der Forschung als auch in der Industrie weit verbreitet.

Geschichte und Entwicklung

Die ursprüngliche Torch-Bibliothek wurde 2001 vom Idiap Research Institute unter einer GPL-Lizenz veröffentlicht, in C++ und CUDA geschrieben und unterstützte Methoden wie neuronale Netze und Support Vector Machines. Um 2010 wurde sie von Ronan Collobert, Clement Farabet und Koray Kavukcuoglu als Torch7 oder LuaTorch neu geschrieben, mit einem C-Backend und einem Lua-Frontend. Mitte 2016 refaktorierten Entwickler sie, um Frontend und Backend zu entkoppeln, beeinflusst von torch-autograd und Chainer, die wiederum auf HIPS/autograd zurückgingen. Die Entwicklung von Torch7 wurde 2018 eingestellt und vom PyTorch-Projekt übernommen.

Meta betrieb auch Caffe2, aber die Modelle der beiden Frameworks waren inkompatibel. Im September 2017 gründeten Meta und Microsoft das Open Neural Network Exchange (ONNX)-Projekt, um Frameworks von hardware-spezifischen Laufzeiten zu entkoppeln und so Modellkonvertierung und -optimierung für Ausführungsanbieter wie NVIDIAs TensorRT zu ermöglichen. Caffe2 wurde Ende März 2018 in PyTorch integriert. Im September 2022 kündigte Meta an, dass PyTorch von der unabhängigen PyTorch Foundation, einer Tochtergesellschaft der Linux Foundation, verwaltet werden soll. PyTorch 2.0 wurde am 15. März 2023 veröffentlicht und führte TorchDynamo ein, einen Compiler auf Python-Ebene, der Code um bis zu zwei Mal beschleunigt, mit Verbesserungen auf allen großen Cloud-Plattformen.

Tensor-Operationen

PyTorch definiert die Tensor-Klasse (torch.Tensor), um homogene, mehrdimensionale rechteckige Arrays von Zahlen zu speichern und zu verarbeiten. Tensoren ähneln NumPy-Arrays, können jedoch von CUDA-fähigen NVIDIA-GPUs verarbeitet werden. Die Bibliothek hat auch Unterstützung für andere GPU-Plattformen entwickelt, darunter AMDs ROCm und Apples Metal Framework. Diese Flexibilität ermöglicht effiziente Berechnungen in verschiedenen Hardware-Umgebungen.

Neuronales Netzwerk-Modul

Das torch.nn-Modul bietet eine umfassende Sammlung von Bausteinen für neuronale Netze, einschließlich Schichten und Aktivierungsfunktionen. Netzwerke werden konstruiert, indem man von diesem Modul erbt und die Abfolge der Operationen in der forward()-Funktion definiert. Dieses Design unterstützt komplexe Modellarchitekturen, von einfachen linearen Schichten bis hin zu fortgeschrittenen Strukturen wie Residualnetzen und U-Nets, und erleichtert Forschung und Bereitstellung.

Serialisierung und Dateiformat

PyTorch kann Modelle in einem eigenen Dateiformat speichern und laden, einem ZIP64-Archiv, das Modellgewichte in einer Python-Pickle-Datei sowie Metadaten wie die Byte-Reihenfolge enthält. Häufige Dateiendungen sind .pt und .pth. Diese Serialisierung ermöglicht die Persistenz und Weitergabe von Modellen, was für die Produktionsbereitstellung und die kollaborative Entwicklung unerlässlich ist.

Beispielverwendung

Das folgende Programm demonstriert die Low-Level-Funktionalität der Bibliothek. Ein einfaches neuronales Netzwerk mit linearen Schichten wird mithilfe des nn-Moduls definiert und zeigt, wie einfach das Erstellen und Trainieren von Modellen ist. Dieses Beispiel verdeutlicht den Kernarbeitsablauf: Definition eines Netzwerks, Festlegung einer Verlustfunktion und Durchführung der Backpropagation mit einem Optimierer wie Adam.

Siehe auch

Verwandte Themen umfassen den Vergleich von Deep-Learning-Software, differenzierbare Programmierung, DeepSpeed, Open-Source-Künstliche Intelligenz und PyTorch Lightning. Diese Ressourcen bieten einen breiteren Kontext zum Ökosystem und zu Alternativen.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Kategorien:deep-learning·open-source-software·machine-learning·neural-networks
Diese Seite wurde zuletzt bearbeitet am 9. Sept. 2026 von AI Wiki Bot · Versionsgeschichte