


Offizielle Version von PyTorch 2.0 veröffentlicht! Eine Codezeile beschleunigt sich um das Zweifache, 100 % abwärtskompatibel
Die offizielle Version von PyTorch 2.0 ist endlich da!
Im vergangenen Dezember veröffentlichte die PyTorch Foundation auf der PyTorch-Konferenz 2022 die erste Vorschauversion von PyTorch 2.0.
Im Vergleich zur Vorgängerversion 1.0 hat 2.0 subversive Änderungen erfahren. In PyTorch 2.0 ist Torch.compile die größte Verbesserung.
Der neue Compiler kann Code im laufenden Betrieb viel schneller generieren als der standardmäßige „Eager-Modus“ in PyTorch 1.0, wodurch die Leistung von PyTorch weiter verbessert wird.
Zusätzlich zu 2.0 wurde eine Reihe von Beta-Updates für PyTorch-Domänenbibliotheken veröffentlicht, einschließlich der Bibliotheken im Baum, sowie für eigenständige Bibliotheken wie TorchAudio, TorchVision und TorchText. Gleichzeitig werden auch Updates für TorchX veröffentlicht, um den Community-Supportmodus bereitzustellen.
Zusammenfassung der Highlights
- Torch.compile ist die Haupt-API von PyTorch 2.0, sie umschließt das kompilierte Modell und gibt es zurück, Torch.compile ist also eine vollständig zusätzliche (und optionale) Funktion Die Version 2.0 ist 100 % abwärtskompatibel.
– Als zugrunde liegende Technologie von Torch.compile wird TorchInductor mit Nvidia- und AMD-GPUs auf den Deep-Learning-Compiler OpenAI Triton setzen, um leistungsstarken Code zu generieren und Hardwaredetails auf niedriger Ebene zu verbergen. Die Leistung der von OpenAI Triton generierten Kernel-Implementierungen ist vergleichbar mit handgeschriebenen Kerneln und spezialisierten CUDA-Bibliotheken wie Cublas.
– Accelerated Transformers führen leistungsstarke Unterstützung für Training und Inferenz ein und verwenden eine benutzerdefinierte Kernel-Architektur zur Implementierung von Scaled Dot Product Attention (SPDA). Die API ist in Torch.compile() integriert, und Modellentwickler können Scaled-Dot-Product-Attention-Kernel auch direkt verwenden, indem sie den neuen Scaled_dot_product_attention()-Operator aufrufen.
– Das Metal Performance Shaders (MPS)-Backend bietet GPU-beschleunigtes PyTorch-Training auf der Mac-Plattform und bietet Unterstützung für die 60 am häufigsten verwendeten Vorgänge, die mehr als 300 Operatoren abdecken.
– Amazon AWS optimiert die PyTorch-CPU-Inferenz auf C7g-Instanzen basierend auf AWS Graviton3. PyTorch 2.0 verbessert die Inferenzleistung von Graviton im Vergleich zu früheren Versionen, einschließlich Verbesserungen an Resnet50 und Bert.
– Neue Prototyping-Funktionen und -Techniken für TensorParallel, DTensor, 2D Parallel, TorchDynamo, AOTAutograd, PrimTorch und TorchInductor.
Kompilieren, immer noch kompilieren!
Zu den neuesten Compiler-Technologien von PyTorch 2.0 gehören: TorchDynamo, AOTAutograd, PrimTorch und TorchInductor. All dies wird in Python entwickelt, nicht in C++ (mit dem Python kompatibel ist).
Und es unterstützt auch dynamische Formen, die Vektoren unterschiedlicher Größe ohne Neukompilierung senden können. Es ist flexibel und leicht zu erlernen.
- TorchDynamo
Mit Hilfe von Python Frame Evaluation Hooks können PyTorch-Programme sicher abgerufen werden. Diese wichtige Innovation ist eine Zusammenfassung der Forschungs- und Entwicklungsergebnisse von PyTorch zur sicheren Diagrammerfassung (sichere Diagrammerfassung) in den letzten fünf Jahren.
- AOTAutograd
überlastet die PyTorch-Autograd-Engine als Tracing-Autodiff zum Generieren erweiterter Rückwärtsverfolgungen.
- PrimTorch
fasst über 2000 PyTorch-Operatoren in etwa 250 geschlossenen Sätzen primitiver Operatoren (geschlossene Sätze) zusammen. Entwickler können ein vollständiges PyTorch-Backend für diese Operatoren erstellen. PrimTorch vereinfacht das Schreiben von PyTorch-Funktionen oder Backends erheblich.
- TorchInductor
TorchInductor ist ein Deep-Learning-Compiler, der schnellen Code für mehrere Beschleuniger und Backends generieren kann. Für NVIDIA-GPUs wird OpenAI Triton als Schlüsselbaustein verwendet.
Die PyTorch Foundation sagte, dass die Einführung von 2.0 „die Rückkehr von C++ zu Python“ fördern werde, und fügte hinzu, dass es sich um einen PyTorch handele Wesentliche neue Wege. „Vom ersten Tag an kannten wir die Leistungsgrenzen einer eifrigen Ausführung. Im Juli 2017 starteten wir unser erstes Forschungsprojekt, die Entwicklung eines Compilers für PyTorch. Der Compiler muss dafür sorgen, dass PyTorch-Programme schnell ausgeführt werden, jedoch nicht auf Kosten der PyTorch-Erfahrung. Gleichzeitig muss die Flexibilität und Benutzerfreundlichkeit erhalten bleiben, damit Forscher dynamische Modelle und Programme in verschiedenen Phasen der Erforschung verwenden können. "
Natürlich verwendet der nicht kompilierte „Eager-Modus“ einen dynamischen Just-in-Time-Codegenerator und ist weiterhin verfügbar in 2.0. Entwickler können mit dem Befehl porch.compile schnell ein Upgrade auf den kompilierten Modus durchführen, indem sie nur eine Codezeile hinzufügen.
Benutzer können sehen, dass die Kompilierungszeit von 2.0 im Vergleich zu 1.0 um 43 % erhöht wurde.
Diese Daten stammen aus dem Benchmarking der PyTorch Foundation von 163 Open-Source-Modellen, die PyTorch 2.0 auf Nvidia A100-GPUs verwenden, einschließlich Aufgaben wie Bildklassifizierung, Zielerkennung, Bildgenerierung und verschiedene NLP-Aufgaben.
Diese Benchmarks sind in drei Kategorien unterteilt: HuggingFace Transformers, TIMM und TorchBench. #? Modelle
Laut der PyTorch Foundation läuft der neue Compiler 21 % schneller, wenn er den Float32-Präzisionsmodus und die automatische Mischung verwendet Die Geschwindigkeit wird im Präzisionsmodus (AMP) um 51 % erhöht.
„In der Roadmap von PyTorch 2.x hoffen wir, das Kompilierungsmodell in Bezug auf Leistung und Leistung immer weiter voranzutreiben Skalierbarkeit: Einige Arbeiten wurden noch nicht umgesetzt, da die Bandbreite nicht ausreicht.
2.0, und es ist auch ein Schwerpunkt, den die Entwickler großzügig gefördert haben.
Tatsächlich ist eines der Highlights der neuen Funktion Accelerated Transformers, früher bekannt als Better Transformers.
Darüber hinaus enthält die offizielle Version von PyTorch 2.0 eine neue leistungsstarke PyTorch TransformAPI-Implementierung. Eines der Ziele des PyTorch-Projekts besteht darin, das Training und den Einsatz modernster Transformatormodelle einfacher und schneller zu machen.
Transformer sind die Basistechnologie, die dabei hilft, das moderne Zeitalter der generativen künstlichen Intelligenz zu verwirklichen, einschließlich OpenAI-Modellen wie GPT-3 und GPT- 4 .
In PyTorch 2.0 Accelerated Transformers wird eine benutzerdefinierte Kernelarchitektur verwendet ( (auch bekannt als Scaled Dot Product Attention SDPA) bietet leistungsstarke Unterstützung für Training und Inferenz.
Da es viele Arten von Hardware gibt, die Transformers unterstützen können, kann PyTorch 2.0 mehrere benutzerdefinierte SDPA-Kernel unterstützen. Um noch einen Schritt weiter zu gehen, integriert PyTorch eine benutzerdefinierte Kernel-Auswahllogik, die den leistungsstärksten Kernel für ein bestimmtes Modell und einen bestimmten Hardwaretyp auswählt.
Die Auswirkungen der Beschleunigung sind erheblich, da sie es Entwicklern ermöglicht, Modelle schneller zu trainieren als frühere Iterationen von PyTorch.
Die neue Version ermöglicht Hochleistungsunterstützung für Training und Inferenz, indem sie eine angepasste Kernel-Architektur für die Verarbeitung von Scaled Dot Product Attention (SPDA) verwendet und die Fast-Path-Architektur für Inferenz erweitert.
Ähnlich wie bei der Fastpath-Architektur ist der benutzerdefinierte Kernel vollständig in die PyTorch-Transformer-API integriert – daher ermöglicht die Verwendung des nativen Transformers und der MultiHeadAttention-API den Benutzern:
– deutliche Geschwindigkeitsverbesserungen zu sehen; ?? des Selbstaufmerksamkeitsmechanismus.
Um die Vorteile verschiedener Hardwaremodelle und Transformer-Anwendungsfälle voll auszuschöpfen, werden mehrere benutzerdefinierte SDPA-Kerne unterstützt, und die benutzerdefinierte Kernauswahllogik wählt den leistungsstärksten Kern für das jeweilige Modell und den Hardwaretyp aus.
Zusätzlich zur bestehenden Transformer-API können Entwickler den Aufmerksamkeitskernel für skalierte Punktprodukte direkt verwenden, indem sie den neuen Operator Scaled_dot_product_attention() aufrufen und so die Integration von PyTorch 2 Transformers mit Torch.compile() beschleunigen.
Um die zusätzliche Beschleunigung der PT2-Kompilierung (für Inferenz oder Training) während der Verwendung des Modells zu erhalten, können Sie model = Torch.compile(model) verwenden, um das Modell vorzuverarbeiten.
Derzeit wird eine Kombination aus benutzerdefinierten Kerneln und Torch.compile() verwendet, um eine erhebliche Beschleunigung beim Training von Transformer-Modellen zu erreichen, insbesondere bei großen Sprachmodellen mit dem beschleunigten PyTorch 2 Transformer.
Verwendung eines benutzerdefinierten Kernels und von Torch.compile, um das Training großer Sprachmodelle erheblich zu beschleunigen
Sylvain Gugger, der Hauptbetreuer von HuggingFace Transformers, schrieb in einer von PyTorch veröffentlichten Erklärung Projekt „Mit nur einer hinzugefügten Codezeile liefert PyTorch 2.0 eine 1,5- bis 2,0-fache Beschleunigung beim Training von Transformers-Modellen. Das ist das Aufregendste seit der Einführung des gemischten Präzisionstrainings!“ die beiden beliebtesten Deep-Learning-Frameworks. Tausende Institutionen auf der ganzen Welt nutzen PyTorch zur Entwicklung von Deep-Learning-Anwendungen, und die Nutzung nimmt zu.
Die Einführung von PyTorch 2.0 wird dazu beitragen, die Entwicklung von Anwendungen für Deep Learning und künstliche Intelligenz zu beschleunigen, sagte Luca Antiga, Chief Technology Officer von Lightning AI und einer der Hauptbetreuer von PyTorch Lightning:
„PyTorch 2.0 verkörpert die Zukunft von Deep-Learning-Frameworks. Die Fähigkeit, PyTorch-Programme ohne Benutzereingriff zu erfassen, sofort einsatzbereite Programmgenerierung und enorme Beschleunigung auf dem Gerät, eröffnet KI-Entwicklern völlig neue Möglichkeiten.“
Referenz:
https://www.php.cn/link/d6f84c02e2a54908d96f410083beb6e0
https://www.php.cn/link/89b9e0a6f6d15 05fe13dea0f18a2dcfa
https://www.php.cn/link/3b2acfe2e38102074656ed938abf4ac3
Das obige ist der detaillierte Inhalt vonOffizielle Version von PyTorch 2.0 veröffentlicht! Eine Codezeile beschleunigt sich um das Zweifache, 100 % abwärtskompatibel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Diese Seite berichtete am 27. Juni, dass Jianying eine von FaceMeng Technology, einer Tochtergesellschaft von ByteDance, entwickelte Videobearbeitungssoftware ist, die auf der Douyin-Plattform basiert und grundsätzlich kurze Videoinhalte für Benutzer der Plattform produziert Windows, MacOS und andere Betriebssysteme. Jianying kündigte offiziell die Aktualisierung seines Mitgliedschaftssystems an und führte ein neues SVIP ein, das eine Vielzahl von KI-Schwarztechnologien umfasst, wie z. B. intelligente Übersetzung, intelligente Hervorhebung, intelligente Verpackung, digitale menschliche Synthese usw. Preislich beträgt die monatliche Gebühr für das Clipping von SVIP 79 Yuan, die Jahresgebühr 599 Yuan (Hinweis auf dieser Website: entspricht 49,9 Yuan pro Monat), das fortlaufende Monatsabonnement beträgt 59 Yuan pro Monat und das fortlaufende Jahresabonnement beträgt 499 Yuan pro Jahr (entspricht 41,6 Yuan pro Monat). Darüber hinaus erklärte der Cut-Beamte auch, dass diejenigen, die den ursprünglichen VIP abonniert haben, das Benutzererlebnis verbessern sollen

Verbessern Sie die Produktivität, Effizienz und Genauigkeit der Entwickler, indem Sie eine abrufgestützte Generierung und ein semantisches Gedächtnis in KI-Codierungsassistenten integrieren. Übersetzt aus EnhancingAICodingAssistantswithContextUsingRAGandSEM-RAG, Autor JanakiramMSV. Obwohl grundlegende KI-Programmierassistenten natürlich hilfreich sind, können sie oft nicht die relevantesten und korrektesten Codevorschläge liefern, da sie auf einem allgemeinen Verständnis der Softwaresprache und den gängigsten Mustern beim Schreiben von Software basieren. Der von diesen Coding-Assistenten generierte Code eignet sich zur Lösung der von ihnen zu lösenden Probleme, entspricht jedoch häufig nicht den Coding-Standards, -Konventionen und -Stilen der einzelnen Teams. Dabei entstehen häufig Vorschläge, die geändert oder verfeinert werden müssen, damit der Code in die Anwendung übernommen wird

Large Language Models (LLMs) werden auf riesigen Textdatenbanken trainiert und erwerben dort große Mengen an realem Wissen. Dieses Wissen wird in ihre Parameter eingebettet und kann dann bei Bedarf genutzt werden. Das Wissen über diese Modelle wird am Ende der Ausbildung „verdinglicht“. Am Ende des Vortrainings hört das Modell tatsächlich auf zu lernen. Richten Sie das Modell aus oder verfeinern Sie es, um zu erfahren, wie Sie dieses Wissen nutzen und natürlicher auf Benutzerfragen reagieren können. Aber manchmal reicht Modellwissen nicht aus, und obwohl das Modell über RAG auf externe Inhalte zugreifen kann, wird es als vorteilhaft angesehen, das Modell durch Feinabstimmung an neue Domänen anzupassen. Diese Feinabstimmung erfolgt mithilfe von Eingaben menschlicher Annotatoren oder anderer LLM-Kreationen, wobei das Modell auf zusätzliches Wissen aus der realen Welt trifft und dieses integriert

Um mehr über AIGC zu erfahren, besuchen Sie bitte: 51CTOAI.x Community https://www.51cto.com/aigc/Translator|Jingyan Reviewer|Chonglou unterscheidet sich von der traditionellen Fragendatenbank, die überall im Internet zu sehen ist erfordert einen Blick über den Tellerrand hinaus. Large Language Models (LLMs) gewinnen in den Bereichen Datenwissenschaft, generative künstliche Intelligenz (GenAI) und künstliche Intelligenz zunehmend an Bedeutung. Diese komplexen Algorithmen verbessern die menschlichen Fähigkeiten, treiben Effizienz und Innovation in vielen Branchen voran und werden zum Schlüssel für Unternehmen, um wettbewerbsfähig zu bleiben. LLM hat ein breites Anwendungsspektrum und kann in Bereichen wie der Verarbeitung natürlicher Sprache, der Textgenerierung, der Spracherkennung und Empfehlungssystemen eingesetzt werden. Durch das Lernen aus großen Datenmengen ist LLM in der Lage, Text zu generieren

Herausgeber | Der Frage-Antwort-Datensatz (QA) von ScienceAI spielt eine entscheidende Rolle bei der Förderung der Forschung zur Verarbeitung natürlicher Sprache (NLP). Hochwertige QS-Datensätze können nicht nur zur Feinabstimmung von Modellen verwendet werden, sondern auch effektiv die Fähigkeiten großer Sprachmodelle (LLMs) bewerten, insbesondere die Fähigkeit, wissenschaftliche Erkenntnisse zu verstehen und zu begründen. Obwohl es derzeit viele wissenschaftliche QS-Datensätze aus den Bereichen Medizin, Chemie, Biologie und anderen Bereichen gibt, weisen diese Datensätze immer noch einige Mängel auf. Erstens ist das Datenformular relativ einfach, die meisten davon sind Multiple-Choice-Fragen. Sie sind leicht auszuwerten, schränken jedoch den Antwortauswahlbereich des Modells ein und können die Fähigkeit des Modells zur Beantwortung wissenschaftlicher Fragen nicht vollständig testen. Im Gegensatz dazu offene Fragen und Antworten

Maschinelles Lernen ist ein wichtiger Zweig der künstlichen Intelligenz, der Computern die Möglichkeit gibt, aus Daten zu lernen und ihre Fähigkeiten zu verbessern, ohne explizit programmiert zu werden. Maschinelles Lernen hat ein breites Anwendungsspektrum in verschiedenen Bereichen, von der Bilderkennung und der Verarbeitung natürlicher Sprache bis hin zu Empfehlungssystemen und Betrugserkennung, und es verändert unsere Lebensweise. Im Bereich des maschinellen Lernens gibt es viele verschiedene Methoden und Theorien, von denen die fünf einflussreichsten Methoden als „Fünf Schulen des maschinellen Lernens“ bezeichnet werden. Die fünf Hauptschulen sind die symbolische Schule, die konnektionistische Schule, die evolutionäre Schule, die Bayes'sche Schule und die Analogieschule. 1. Der Symbolismus, auch Symbolismus genannt, betont die Verwendung von Symbolen zum logischen Denken und zum Ausdruck von Wissen. Diese Denkrichtung glaubt, dass Lernen ein Prozess der umgekehrten Schlussfolgerung durch das Vorhandene ist

Herausgeber |. KX Im Bereich der Arzneimittelforschung und -entwicklung ist die genaue und effektive Vorhersage der Bindungsaffinität von Proteinen und Liganden für das Arzneimittelscreening und die Arzneimitteloptimierung von entscheidender Bedeutung. Aktuelle Studien berücksichtigen jedoch nicht die wichtige Rolle molekularer Oberflächeninformationen bei Protein-Ligand-Wechselwirkungen. Auf dieser Grundlage schlugen Forscher der Universität Xiamen ein neuartiges Framework zur multimodalen Merkmalsextraktion (MFE) vor, das erstmals Informationen über Proteinoberfläche, 3D-Struktur und -Sequenz kombiniert und einen Kreuzaufmerksamkeitsmechanismus verwendet, um verschiedene Modalitäten zu vergleichen Ausrichtung. Experimentelle Ergebnisse zeigen, dass diese Methode bei der Vorhersage von Protein-Ligand-Bindungsaffinitäten Spitzenleistungen erbringt. Darüber hinaus belegen Ablationsstudien die Wirksamkeit und Notwendigkeit der Proteinoberflächeninformation und der multimodalen Merkmalsausrichtung innerhalb dieses Rahmens. Verwandte Forschungen beginnen mit „S

Laut Nachrichten dieser Website vom 5. Juli veröffentlichte GlobalFoundries am 1. Juli dieses Jahres eine Pressemitteilung, in der die Übernahme der Power-Galliumnitrid (GaN)-Technologie und des Portfolios an geistigem Eigentum von Tagore Technology angekündigt wurde, in der Hoffnung, seinen Marktanteil in den Bereichen Automobile und Internet auszubauen Anwendungsbereiche für Rechenzentren mit künstlicher Intelligenz, um höhere Effizienz und bessere Leistung zu erforschen. Da sich Technologien wie generative künstliche Intelligenz (GenerativeAI) in der digitalen Welt weiterentwickeln, ist Galliumnitrid (GaN) zu einer Schlüssellösung für nachhaltiges und effizientes Energiemanagement, insbesondere in Rechenzentren, geworden. Auf dieser Website wurde die offizielle Ankündigung zitiert, dass sich das Ingenieurteam von Tagore Technology im Rahmen dieser Übernahme mit GF zusammenschließen wird, um die Galliumnitrid-Technologie weiterzuentwickeln. G
