PaddlePaddle
Kostenloser Mehrwert
Komplette Liste an KI-Tools AI-Entwicklungsframeworks

PaddlePaddle

Open-Source-Plattformen für die Entwicklung von Deep Learning, Industriemodellen und Deployment-Tools

Tags:

Was ist PaddlePaddle?

PaddlePaddle ist eine Open-Source-Plattform für tiefes Lernen, die von Baidu ins Leben gerufen und weiterhin gewartet wird. Der englische Name leitet sich von „Parallel Distributed Deep Learning“ ab. Sie umfasst Funktionen für Tensorberechnungen, neuronale Netze, automatische Differentiation, Optimierer, gemischte Präzisionsarten, verteiltes Training sowie das Speichern und Bereitstellen von Modellen. Zudem stehen zahlreiche Industriemodellpakete sowie Entwicklungswerkzeuge zur Verfügung.

PaddlePaddle kann sowohl für Lehrzwecke sowie für traditionelle Aufgaben im Bereich Bildverarbeitung, Sprachverarbeitung und Empfehlungssysteme verwendet werden, als auch für die Vorkonfiguration, Feinabstimmung und Auswertung großer Modelle. Das Kernframework kann lokal oder auf Servern installiert werden. Die AI Studio Galaxy-Community bietet zudem Kurse, Notebooks, Datensätze, Modelle sowie Rechenkapazitäten in der Cloud. Beides sollte nicht als derselbe kostenpflichtige Produkt betrachtet werden.

Aktuelle Version von PaddlePaddle: 3.3

Stand dieser Überprüfung werden sowohl die Dokumente auf der offiziellen Website als auch GitHub als aktuelle stabile Version 3.3 angegeben. Die Version 3.x legt den Schwerpunkt auf eine einheitliche PIR-Interpretation, Compiler, automatische Parallelisierung, verteilter Trainingsprozess für große Modelle, Kompatibilität mit Checkpoints sowie Anpassung an verschiedene inländische Hardware-Systeme.

Die stabile Version eignet sich für Produktion und Lernen, während Develop und Nightly zur Erprobung neuester Funktionen dienen – es können dabei API-Änderungen und Kompatibilitätsprobleme auftreten. Bei der Bereitstellung sollte die vollständige Versionnummer festgelegt werden, und die Umgebungen für Training, Export und Inferenz sollten eine kompatible Version verwenden.

Dynamische und statische Diagramme

Die Darstellung von dynamischen Graphen ähnelt der des normalen Python – die Berechnungen werden sofort ausgeführt, was das Debuggen und die Forschung erleichtert. Bei statischen Graphen wird zunächst ein vollständiger Berechnungsgraph erstellt, anschließend kompiliert und ausgeführt – dies erleichtert die globale Optimierung sowie den Einsatz.

FeiJiang bietet die Fähigkeit, dynamische Modelle in eine statische Form umzuwandeln, die für die Inferenz geeignet ist.

Dynamik und Statisik stellen Einschränkungen für den Kontrollfluss in Python, benutzerdefinierte Operatoren sowie dynamische Shapes dar. Bei einem Fehlschlag der Konvertierung sollte der Umfang des Problems eingegrenzt werden, die nicht unterstützte Syntax überprüft werden und die Genauigkeit mit echten Eingaben getestet werden – anstatt lediglich zu prüfen, ob die Modelldatei erfolgreich exportiert wurde.

PIR und Kompilierungsoptimierung

PIR ist eine wichtige einheitliche Zwischenrepräsentation in PaddlePaddle 3.x und dient dazu, die Frontend-APIs, die automatische Parallelisierung, den Compiler sowie die Backend-Ausführung miteinander zu verbinden. Der CINN-Compiler kann Operator-Fusionen durchführen, Graphen optimieren und Code erzeugen, um die Kosten für Zwischenspeicher und Scheduling zu verringern.

Die Vorteile der Kompilierungsoptimierung hängen von der Modellstruktur, der Form, der Hardware sowie vom Abdeckungsumfang der Operatoren ab. Nach Aktivierung sollten Genauigkeit der Ergebnisse, Zeit für die erste Kompilierung, Durchsatz sowie der Arbeitsspeicherverbrauch verglichen werden.

Bei Nichtunterstützung eines Operators kann es zu einem Rückfall kommen oder es ist notwendig, einige Passes auszuschalten.

Automatische Differentiation und API für neuronale Netze

paddle.Tensor, paddle.nn.Layer, Loss, Optimizer und DataLoader bilden die gängigen Trainingsinterfaces. Nachdem der Benutzer die Vorwärtslogik des Netzwerks definiert hat, erstellt das Framework automatisch die Rückwärtsberechnungen und aktualisiert die Parameter. Es sind Optimierer wie SGD, Adam, AdamW sowie Lernrate-Strategien verfügbar.

Bei der Bewertung des Modells sollte man neben dem Aufruf von eval auch no_grad verwenden, um die Aufzeichnung der Gradienten auszuschalten – andernfalls kann dies den Arbeitsspeicher belasten. Bei der Speicherung des Modells muss zwischen Parametern, Optimierer-Status und dem Modell für die Inferenz unterschieden werden; die Dateien zur Wiederaufnahme des Trainings dienen einem anderen Zweck als die Dateien zur Bereitstellung des Modells.

Automatische Mischung der Präzisionsstufen

AMP kann FP16 oder BF16 verwenden, um den Speicherbedarf zu verringern und die Leistung der Tensor Cores zu steigern. Zudem hilft GradScaler dabei, Abbrüche aufgrund von zu geringer Präzision zu vermeiden. Beim Trainieren großer Modelle können außerdem erneute Berechnungen, Gradientenakkumulation sowie optimierte Splitting-Methoden eingesetzt werden.

Niedrige Präzision kann zu NaN-Werten, Konvergenzproblemen oder Instabilität einzelner Operatoren führen. Es sollte eine FP32-Referenzbehandlung beibehalten werden, der Verlust sowie die Gradienten sollten überwacht werden, sensible Operatoren sollten durch eine Whitelist oder Blacklist kontrolliert werden, und schließlich sollten die endgültigen Geschäftsindikatoren überprüft werden.

Verteiltes Training und Fleet

paddle.distributed und Fleet unterstützen Modi wie mehrere Karten auf einem Rechner, mehrere Rechner mit mehreren Karten, Datenparallelismus, Modellparallelismus, Pipeline-Parallelismus, Tensor-Parallelismus sowie Parameterserver. Der Starter kann GPU oder Knoten angeben; Fleet nutzt die DistributedStrategy zur Konfiguration von Mischgenauigkeitsmodi, Neuberechnungen, Kommunikationsintegration und Parallelisierungsstrategien.

PaddlePaddle 3.3 setzt die Verbesserungen bei der automatischen Parallelisierung sowie den FSDP-Strategien fort und verbessert außerdem die Online-Verknüpfung und Neustrukturierung mit FlexCheckpoint. Die Leistung in verteilten Systemen hängt von Netzwerk, Topologie, Batch-Größe und der Datenabfrage ab;

Eine Zunahme der Anzahl der Karten führt nicht unbedingt zu einer linearen Beschleunigung; es ist notwendig, den Anteil der Kommunikation sowie die ungleiche Lastverteilung zu analysieren.

Training großer Modelle

Paddle bietet für große Sprachmodelle automatische Methoden zur Erkennung paralleler Verarbeitungsstrategien, verteilte Checkpoints, Optimierungen für den Hauptspeicher sowie leistungsstarke Operatoren. PaddleNLP und PaddleFleetX liefern Beispiele für Vortraining, Feinabstimmung, Ausrichtung sowie Inferenz – und können für inländische sowie open-source große Modelle verwendet werden.

Für das Training großer Modelle sind klare Richtlinien bezüglich der Modelllizenzen, der Datenrechte sowie der Fehlertoleranz des Clusters erforderlich. Es wird empfohlen, zunächst mit einer kleinen Konfiguration den Datenaustauschprozess sowie die Verlustfunktion zu überprüfen, bevor man auf mehrere Rechner ausweitet.

Checkpoints sollten in zuverlässiger Speicherung synchronisiert werden und regelmäßig Wiederherstellungsübungen durchgeführt werden.

Deduktive Implementierung

Paddle Inference wird für leistungsstarke Inferenz auf Serverseite eingesetzt und kann mit PIR, CINN, TensorRT, MKL sowie Hardware-Backends optimiert werden. Paddle Lite richtet sich an mobile Geräte und Edge-Geräte, Paddle Serving dient für Online-Dienste, und Paddle.js kann einige Browser- und Frontend-Szenarien abdecken.

Die von den verschiedenen Implementierungskomponenten unterstützten Modelle und Operatoren sind nicht vollständig identisch. Nach der Exportierung sollten auf dem Zielgerät Tests zur Korrektheit, zum Kaltstart, zur P95-Zeitverzögerung, zur Durchsatzrate, zum maximalen Speicherverbrauch sowie zur Langzeitteststabilität durchgeführt werden.

Hardware-Unterstützung

FeiJiang stellt Installationspakete für CPU und NVIDIA GPUs bereit und hat zudem Anpassungen für inländische Hardware wie Kunlun XPU, Ascend NPU und Hygon DCU entwickelt. Die offizielle Dokumentation 3.3 enthält Anleitungen zur separaten Installation, zum Erstellen von Images, zu Treibern sowie zur Überprüfung des Zustands der verschiedenen Chips.

Die Hardware-Installation muss mit dem Betriebssystem, Python, CUDA oder dem Hersteller-Runtime, den Treibern sowie den Framework-Paketen übereinstimmen. In einer normalen Umgebung dürfen nicht verschiedene Wheel-Dateien für unterschiedliche Backend-Systeme zusammen verwendet werden.

Container-Images sind in der Regel besser geeignet, um Abhängigkeiten festzulegen, erfordern aber dennoch Host-System-Drivertreue.

PaddleOCR

PaddleOCR ist ein in der Paddle-Ecosysteme weit verbreitetes OCR- und Dokumentverständnissystem, das Texterkennung, -identifizierung, Layout-Analyse, Tabellen, Formeln sowie die Analyse von Dokumenten umfasst. Es eignet sich zur Strukturierung von Quittungen, Scans, Bildtexten und PDF-Dateien.

Die Genauigkeit der OCR-Technologie hängt von der Schärfe, dem Winkel, der Sprache, dem Layout sowie den verwendeten Schriftarten ab. Die Produktionsysteme sollten an echten Beispielen getestet werden, und es sollten Nachweise für Fälle mit geringer Zuverlässigkeit, Koordinaten des Layouts sowie die ursprünglichen Bilder gespeichert werden.

PaddleNLP

PaddleNLP bietet Werkzeuge für die Textklassifizierung, Informationsextraktion, Embedding, vorgetrainierte Sprachmodelle sowie Tools zur Trainierung großer Modelle – einschließlich Tokenizer, Datensätzen, Trainern und Branchenbeispielen. Es kann mit den verteilten Fähigkeiten von Paddle zusammen verwendet werden, um großangelegte Trainingsprozesse durchzuführen.

Verschiedene Modelle können eigene Lizenzen sowie Quellen für die Gewichte verwenden. Die Offenlegung des PaddleNLP-Codebases bedeutet nicht, dass jedes Modell bedingungslos für kommerzielle Zwecke genutzt werden kann; vor dem Herunterladen muss man daher prüfen, ob das jeweilige Modell dafür geeignet ist.

Visuelles und Industriepaket

PaddleDetection umfasst die Objekterkennung, -verfolgung, die Erkennung von Schlüsselpunkten sowie die Segmentierung von Instanzen; PaddleSeg wird für die Bildsegmentierung verwendet.

PaddleClas wird zur Klassifizierung und Erkennung verwendet; PaddleRec dient der Empfehlung.

PaddleSpeech umfasst Spracherkennung und -synthese; der PaddleHelix-Dienst beschäftigt sich mit Bioinformatik.

PaddleX bietet einen Low-Code-Entwicklungsansatz sowie eine einheitliche Plattform, die es ermöglicht, Funktionen wie OCR, Erkennung, Klassifizierung und Segmentierung zu kombinieren, um Anwendungen zu erstellen. Es gibt eine Kompatibilitätsmatrix zwischen den verschiedenen Versionen des Suites und dem Kernframework – bei der Installation sollte daher entsprechend den jeweiligen Dokumentationen die richtige Kombination gewählt werden.

Modell-Speichern und Migration

Während des Trainings können Parameter und der Zustand des Optimizers gespeichert werden, um das Training später fortzusetzen. Vor der Bereitstellung wird mithilfe von JIT oder entsprechenden Exportfunktionen ein Modell für die Inferenz erzeugt. 3.3 Die verteilt arbeitende Architektur ermöglicht eine flexiblere Handhabung von Checkpoints und es ist möglich, Teile der im offenen Format von Hugging Face bereitgestellten Checkpoints zu laden.

Die Formatkompatibilität garantiert keine vollständige Übereinstimmung der Modellstruktur und der numerischen Ergebnisse. Bei der Migration zwischen Frameworks sollten Tokenizer, Gewichtskarten, Positionskodierungen, Präzisionsarten sowie Generierungsparameter verglichen werden, und mit festgelegten Beispielen eine Schicht für Schicht oder im Vergleich zur endgültigen Ausgabe geprüft werden.

Installationsmethode

Die CPU-Version wird in der Regel mit pip installiert, während für die GPU-Version paddlepaddle-gpu verwendet wird – dabei wird die offizielle Quelle oder ein Wheel, das zu CUDA passt, ausgewählt. Nach der Installation kann man die Version überprüfen und paddle.utils.run_check ausführen, um eine grundlegende Überprüfung der Funktionalität durchzuführen.

Die Unterstützung für Windows, Linux, macOS sowie verschiedene Architekturen kann variieren. Bevor man mit der Installation beginnt, sollte man mithilfe des Installationswahlers auf der offiziellen Website die Kombination aus Python, Betriebssystem und Hardware überprüfen. Man sollte nicht einfach den CUDA-Suffix aus alten Anleitungen übernehmen.

AI Studio Galaxy-Community

AI Studio ist eine Lern- und Übungsgemeinschaft, die zu PaddlePaddle gehört. Sie bietet Online-Notebooks, Kurse, Projekte, Datensätze, Wettbewerbe, eine Community für Modelle, einen Raum für Anwendungen sowie Cloud-GPU-Ressourcen. Anfänger können Beispiele direkt im Browser ausführen, ohne zunächst eine lokale Umgebung einrichten zu müssen.

Die Plattform bietet kostenlose Rechenleistung für bestimmte Aktionen an. Zudem sind durch Mitgliedschaften sowie den Tausch von A-Münzen hochleistungsstarke GPUs verfügbar. Die Vorteile für Mitglieder, der Verbrauch an A-Münzen sowie die Mengen an Ressourcen, die in Aktionen zur Verfügung stehen, können sich ändern. Die täglich festgelegte Anzahl an V100-Stunden aus den historischen Daten darf nicht als dauerhafte Zusage angesehen werden.

Preise und Kosten

Das Kernframework von PaddlePaddle, der offizielle Quellcode sowie die meisten zugehörigen Repositorys sind kostenlos verfügbar – es fallen keine Abonnementsgebühren an. Der Benutzer trägt die Kosten für Server, GPU, Strom, Speicher und Wartung selbst.

Die Cloud-Rechenleistung von AI Studio ist ein eigenständiger Service. Derzeit gelten für die Nutzungsrechte das Mitgliedschaftsmodell sowie das A-Coin-System. Die Ressourcen mit hoher Leistungsfähigkeit für Projekte oder Anwendungen werden gemäß den auf der Seite festgelegten Regeln verbraucht. Die genauen Preise für Mitgliedschaften sowie die Menge an GPU-Ressourcen, die eingetauscht werden können, können auf der Seite zum sofortigen Kauf abgefragt werden.

Für die Privatisierung von Unternehmen sowie für Schulungen und technische Dienstleistungen bitte eine gesonderte Anfrage stellen.

GitHub und Open-Source-Lizenzen

Der Haupt-Repository ist PaddlePaddle/Paddle und wird unter der Apache License 2.0 lizenziert, was die Nutzung, Änderung und Verteilung unter Einhaltung der Lizenz- und Angabevorgaben ermöglicht. Dokumentationen, PaddleOCR, PaddleNLP, PaddleDetection usw. werden von ihren jeweiligen offiziellen Repositories verwaltet.

Eine Rahmenlizenz deckt nicht automatisch Drittanbieter-Datensätze, Modellgewichte und generierte Inhalte ab. Für kommerzielle Projekte sollten getrennt Lizenzlisten für Code, Modelle, Daten und Inhalte erstellt werden.

Anleitung zur Verwendung von PaddlePaddle

Eine grundlegende Aufgabe erledigen

  1. Registrieren Sie PaddlePaddle und erstellen Sie eine API-Key, die ausschließlich für den Testumfeld verwendet wird;
  2. Wählen Sie das Modell entsprechend der Eingabetypen, des Kontexts, der Qualität, der Geschwindigkeit und des Preises aus;
  3. Rufen Sie zunächst die aktuelle Version von PaddlePaddle 3.3 auf, um die minimale Anfrage durchzuführen und die zurückgegebene Struktur zu überprüfen;
  4. Testen Sie den Flussausgang, Parameter und die Reaktion auf Ausnahmen mit dynamischen und statischen Diagrammen;
  5. Protokollieren Sie Tokens, Anrufanzahl, Verzögerung, Fehlerrate und Kosten pro Aufruf;
  6. Tragen Sie den Schlüssel in den Server-basierten Schlüsselmanager ein, bevor Sie die eigentliche Anwendung anschließen;

Erstellung wiederverwendbarer professioneller Workflows

  1. Für die Entwicklungs-, Test- und Produktionsumgebungen werden unterschiedliche Schlüssel und Limits verwendet;
  2. Basierend auf der aktuellen Version PaddlePaddle 3.3 werden repräsentative Bewertungssätze für dynamische und statische Graphen sowie für PIR und Kompilierungsoptimierungen erstellt.
  3. Einstellen von Timeout, Konkurrenz, Wiederholungsversuchen, Limitierung sowie Budgetobergrenzen;
  4. Durchführung von Überprüfungen hinsichtlich Fakten, Sicherheit, Formatierung und sensibler Informationen am Ausgangsinhalt;
  5. Überwachung von Änderungen bei Modellversionen, Preisen, Verzögerungen und Ausfallraten;
  6. Vorbereitung von Plänen für die Herabstufung des Modells, Schutzmaßnahmen sowie manuelle Übernahme.

Für welche Nutzer geeignet?

  • Studenten und Dozenten, die sich mit Deep Learning und dem Training von Python-Modellen beschäftigen;
  • Engineering-Teams zur Entwicklung von OCR-, Visual-, NLP-, Sprach- und Empfehlungssystemen;
  • Forscher, die für das verteilte Training mit mehreren Maschinen, mehreren Karten und großen Modellen benötigt werden;
  • Unternehmen, die sich an inländische Hardware wie Kunlun, Ascend und Haiguang anpassen müssen;
  • Entwickler, die die Kurse von AI Studio, Notebooks sowie Wettbewerbsressourcen nutzen möchten.

Vorteile des Produkts

  • Von dem Kernframework über Modelle bis hin zu Deployment-Tools – alles ist recht umfassend vorhanden.
  • Unterstützt gleichzeitig dynamische Bilder, statische Bilder, den Übergang von dynamisch zu statisch sowie Kompilierungsoptimierungen;
  • Automatische Parallelisierung, Fleet und Checkpoint decken großskaliges Training ab;
  • Industrielle Suite wie PaddleOCR, PaddleNLP usw. sind ausgereift;
  • Unterstützung für NVIDIA-GPUs sowie verschiedene inländische AI-Chips;
  • Apache 2.0 ist open source und verfügt über Dokumentation auf Chinesisch sowie eine Lern-Community.

Einschränkungen und Hinweise

  • Es gibt viele Komponenten in der Paddle-Ecosystem-Plattform, und es sind häufig Probleme damit verbunden, dass die Kernframeworks, CUDA, Treiber, Pakete sowie die Versionen des Hardware-Backends nicht übereinstimmen.
  • Die alte FluidAPI wird schrittweise abgeschafft; bei der Migration alter Projekte sollten die Schnittstellen gemäß der Dokumentation 3.3 ersetzt werden.
  • Dass der Rahmen selbst kostenlos ist, bedeutet nicht, dass das Training sowie die Cloud-Rechenleistung kostenlos sind.
  • Die Modellgewichte können auch unter anderen Lizenzen verwendet werden;
  • Vor der Produkt-Upgrade-Schritte sollten Abhängigkeiten festgelegt, Regressionstests durchgeführt, die Genauigkeit der Werte überprüft und das Modell exportiert werden, sowie eine Rollback-Version vorbereitet werden;

Häufige Fragen

Ist PaddlePaddle kostenlos?

Der Kernrahmen ist kostenlos und open source – es fallen keine Abonnementsgebühren an. Für das eigenständige Training sind die Kosten für die Hardware zu tragen. Die leistungsstarken Cloud-Rechenressourcen von AI Studio können Mitgliedsrechte oder A-Münzen in Anspruch nehmen.

Welche ist die aktuellste stabile Version von PyTorch?

Stand dieser Überprüfung ist es PaddlePaddle 3.3. Die nightly- und develop-Versionen werden schneller aktualisiert, doch für die Produktumgebung wird empfohlen, die stabile Version mit fester Minor-Version zu verwenden.

Welche Hardware wird von Paddle unterstützt?

Es werden CPU- und NVIDIA-GPU-Systeme unterstützt, außerdem stehen Backend-Lösungen wie Kunlun XPU, Ascend NPU und Hygon DCU zur Verfügung; für konkrete Modelle und Umgebungen ist die entsprechende Installationsdokumentation zu konsultieren.

Eignet sich PaddlePaddle für große Modelle?

Passend. Das Framework bietet automatische Parallelisierung, Fleet, FSDP, gemischte Präzision, Neuberechnung und verteilte Checkpoints; PaddleNLP stellt Werkzeuge für den Trainings- und Inferenzbetrieb großer Modelle bereit.

Kann PaddlePaddle für kommerzielle Zwecke verwendet werden?

Der Kernrahmen basiert auf Apache 2.0 und kann unter der jeweiligen Lizenz kommerziell genutzt werden. Für spezifische Modelle, Datensätze sowie Drittanbieterkomponenten müssen die jeweiligen Lizenzen separat überprüft werden.

©️ Urheberrechtshinweis: Sofern nicht anders angegeben, liegen die Urheberrechte an allen Artikeln auf dieser Website beiTeilen von AI-ToolsAlle Urheberrechte liegen bei uns. Ohne Genehmigung darf keine Person, kein Medienunternehmen, keine Website oder irgendeine Gruppe den Inhalt dieser Website kopieren, nachahmen oder auf andere Weise verbreiten. Ebenso ist es nicht gestattet, Spiegelseiten auf Servern zu erstellen, die nicht uns gehören. Andernfalls behalten wir uns das Recht vor, rechtliche Schritte gegen die Verantwortlichen einzuleiten.

Werkzeuge, die dem PaddlePaddle ähneln