PyTorch ist ein Open-Source-Deep-Learning-Framework, das Werkzeuge zum Erstellen, Trainieren und Bereitstellen von neuronalen Netzen bereitstellt und für sein Python-first-Design sowie seinen dynamischen, define-by-run-Berechnungsgraphen bekannt ist. Ursprünglich von Facebook AI Research entwickelt, später Meta AI, wurde es erstmals im September 2016 veröffentlicht und wurde bis in die frühen bis mittleren 2020er Jahre zum dominierenden Framework in der KI-Forschung.
Geschichte
PyTorch entstand aus Torch, einem früheren wissenschaftlichen Rechenframework, das auf der Programmiersprache Lua basierte, und wurde mit einer Python-Schnittstelle neu geschrieben, um natürlicher in das Python-zentrierte Data-Science-Ökosystem zu passen, das Forscher bereits nutzten. Seine frühen Designentscheidungen, insbesondere sein dynamischer Berechnungsgraph, der die Struktur des Netzwerks während der Codeausführung im laufenden Betrieb aufbaut, anstatt sie im Voraus zu definieren und zu kompilieren, machten das Debuggen und Experimentieren mit neuartigen Architekturen erheblich einfacher als beim Ansatz des statischen Graphen, den das frühe TensorFlow verwendete. Diese Entwicklerfreundlichkeit trieb die schnelle Übernahme in der akademischen Forschung voran: Bis in die frühen 2020er Jahre verwendete die große Mehrheit der Arbeiten auf großen Machine-Learning-Konferenzen PyTorch. Im September 2022 übertrug Meta die Leitung von PyTorch an die neu gegründete PyTorch Foundation unter der Linux Foundation, was seinen Status als kritische Open-Source-Infrastruktur widerspiegelt, die branchenweit genutzt wird, und nicht als internes Werkzeug eines einzelnen Unternehmens.
Design und Ökosystem
PyTorch stellt Daten als Tensoren dar, mehrdimensionale Arrays, die denen in NumPy ähneln, und bietet automatische Differenzierung, um Gradienten für die auf Gradientenabstieg basierende Optimierung automatisch zu berechnen. Es läuft effizient sowohl auf CPUs als auch, über CUDA, auf Nvidia-GPUs und wurde um Werkzeuge für verteiltes Training über viele GPUs, Modellkompilierung für Leistung sowie mobile und Edge-Bereitstellung erweitert. Ein großes Ökosystem von Bibliotheken, die auf PyTorch aufbauen, darunter die Transformers-Bibliothek von Hugging Face, hat es zum Standard-Substrat für das Training und Feintuning von Transformer-basierten Modellen gemacht, einschließlich der meisten großen Large Language Models mit offenen Gewichten, die in den 2020er Jahren veröffentlicht wurden.
Vergleich zu TensorFlow und Bedeutung
PyTorchs wichtigster historischer Rivale ist Googles TensorFlow, das ein Jahr früher im Jahr 2015 veröffentlicht wurde; der Wettbewerb der beiden Frameworks prägte einen Großteil der Deep-Learning-Tools bis in die späten 2010er Jahre, wobei TensorFlow zunächst für die Produktionsbereitstellung bevorzugt wurde und PyTorch für die Forschungsflexibilität. TensorFlow übernahm später die Eager Execution, um diese Lücke zu schließen, aber PyTorch hatte bereits einen entscheidenden Anteil an der Forschungs-Mindshare gewonnen und, da die Ära der Large Language Models die Zeit von der Forschung bis zur Produktion verkürzte, auch einen Großteil der Produktionsbereitstellung. Bis Mitte der 2020er Jahre war PyTorch das Framework, das den meisten weit verbreiteten Foundation-Modellen zugrunde lag, und wurde häufig neben CUDA und Nvidia-GPUs als eines der Infrastrukturteile genannt, von denen die moderne KI-Industrie am stärksten abhängt.