Mantium ist ein globaler Anbieter von Cloud-Plattformen zum Erstellen und Verwalten von KI-Anwendungen in großem Maßstab. Die End-to-End-Entwicklungsplattform von Mantium ermöglicht es Unternehmen und Unternehmen jeder Größe, KI-Anwendungen und -Automatisierung schneller und einfacher zu erstellen, als dies traditionell möglich war. Mit Mantium können technische und nicht-technische Teams KI-Anwendungen mit einem Low-Code-Ansatz prototypisieren, entwickeln, testen und bereitstellen. Durch automatische Protokollierung, Überwachung und Sicherheitsfunktionen befreit Mantium auch Software- und DevOps-Ingenieure davon, ihre Zeit damit zu verbringen, das Rad neu zu erfinden. Auf hohem Niveau liefert Mantium:
- Modernste KI – Experimentieren und entwickeln Sie mit einer umfangreichen Auswahl an Open-Source- und privaten großen Sprachmodellen mit einer einfachen Benutzeroberfläche oder API.
- KI-Prozessautomatisierung – Einfaches Erstellen von KI-gesteuerten Anwendungen mit einer wachsenden Bibliothek von Integrationen und dem grafischen KI-Builder von Mantium.
- Schnelle Bereitstellung – Verkürzen Sie den Produktionszeitplan von Monaten auf Wochen oder sogar Tage durch Bereitstellung mit einem Klick. Diese Funktion verwandelt KI-Anwendungen mit einem Klick in gemeinsam nutzbare Web-Apps.
- Sicherheit und Regulierung – Gewährleistung der Sicherheit und Einhaltung von Governance-Richtlinien und Unterstützung von Human-in-the-Loop-Prozessen.
Mit dem Mantium AI Builder können Sie anspruchsvolle Workflows entwickeln, die externe APIs, logische Operationen und KI-Modelle integrieren. Der folgende Screenshot zeigt ein Beispiel der Mantium-KI-App, die eine Twilio-Eingabe, eine Governance-Richtlinie, einen KI-Block (der sich auf ein Open-Source-Modell wie GPT-J stützen kann) und eine Twilio-Ausgabe miteinander verkettet.
Zur Unterstützung dieser App bietet Mantium umfassenden und einheitlichen Zugriff nicht nur auf Modell-APIs von KI-Anbietern wie Open AI, Co:here und AI21, sondern auch auf modernste Open-Source-Modelle. Wir bei Mantium glauben, dass jeder in der Lage sein sollte, moderne KI-Anwendungen, die er besitzt, End-to-End zu erstellen, und wir unterstützen dies, indem wir No-Code- und Low-Code-Zugriff auf leistungsoptimierte Open-Source-Modelle bieten.
Eines der wichtigsten Open-Source-Modelle von Mantium ist beispielsweise GPT-J, ein hochmodernes NLP-Modell (Natural Language Processing), entwickelt von Eleuther AI. Mit 6 Milliarden Parametern ist GPT-J eines der größten und leistungsstärksten Open-Source-Textgenerierungsmodelle. Mantium-Benutzer können GPT-J über Mantiums AI Builder in ihre KI-Anwendungen integrieren. Im Fall von GPT-J beinhaltet dies die Angabe von a Eingabeaufforderung (eine Darstellung in natürlicher Sprache dessen, was das Modell tun soll) und das Konfigurieren einiger optionaler Parameter.
Der folgende Screenshot zeigt beispielsweise eine verkürzte Demonstration einer Stimmungsanalyse-Eingabeaufforderung, die Erklärungen und Stimmungsvorhersagen liefert. In diesem Beispiel schrieb der Autor, dass das „Essen wunderbar war“ und dass ihr „Service außergewöhnlich“ war. Daher drückt dieser Text eine positive Stimmung aus.
Eine Herausforderung bei Open-Source-Modellen besteht jedoch darin, dass sie selten für eine Leistung auf Produktionsniveau ausgelegt sind. Bei großen Modellen wie GPT-J kann dies je nach Anwendungsfall die Bereitstellung in der Produktion unpraktisch und sogar unmöglich machen.
Um sicherzustellen, dass unsere Benutzer Zugriff auf erstklassige Leistung haben, suchen wir immer nach Möglichkeiten, die Latenz unserer Kernmodelle zu verringern. In diesem Beitrag beschreiben wir die Ergebnisse eines Inferenzoptimierungsexperiments, bei dem wir die Inferenz-Engine von DeepSpeed verwenden, um die Inferenzgeschwindigkeit von GPT-J um etwa 116 % zu erhöhen. Wir beschreiben auch, wie wir die Hugging Face Transformers-Implementierung von GPT-J mit DeepSpeed in unserem implementiert haben Amazon Sage Maker Inferenz Endpunkte.
Überblick über das GPT-J-Modell
GPT-J ist ein generatives vortrainiertes (GPT) Sprachmodell und in Bezug auf seine Architektur mit populären, privaten, großen Sprachmodellen wie GPT-3 von Open AI vergleichbar. Wie bereits erwähnt, besteht es aus ungefähr 6 Milliarden Parametern und 28 Schichten, die aus einem Feedforward-Block und einem Selbstaufmerksamkeitsblock bestehen. Als es zum ersten Mal veröffentlicht wurde, war GPT-J eines der ersten großen Sprachmodelle, das verwendet wurde rotierende Einbettungen, eine neue Positionscodierungsstrategie, die absolute und relative Positionscodierer vereint. Es verwendet auch eine innovative Parallelisierungsstrategie, bei der Dichte- und Feedforward-Schichten in einer einzigen Schicht kombiniert werden, wodurch der Kommunikationsaufwand minimiert wird.
Obwohl GPT-J nach heutigen Maßstäben möglicherweise nicht ganz so groß ist – große Modelle bestehen normalerweise aus mehr als 100 Milliarden Parametern – ist es immer noch beeindruckend leistungsfähig, und mit etwas schnellem Engineering oder minimaler Feinabstimmung können Sie es verwenden, um viele Probleme zu lösen. Darüber hinaus bedeutet seine relativ geringe Größe, dass Sie es schneller und zu viel geringeren Kosten als größere Modelle einsetzen können.
Trotzdem ist GPT-J immer noch ziemlich groß. Beispielsweise erfordert das Training von GPT-J in FP32 mit vollständigen Gewichtsaktualisierungen und dem Adam-Optimierer über 200 GB Speicher: 24 GB für die Modellparameter, 24 GB für die Gradienten, 24 GB für Adams quadratische Gradienten, 24 GB für die Optimiererzustände, und die zusätzlichen Speicheranforderungen zum Laden von Trainingsstapeln und Speichern von Aktivierungen. Natürlich reduziert das Training in FP16 diesen Speicherbedarf fast um die Hälfte, aber ein Speicherbedarf von über 100 GB erfordert immer noch innovative Trainingsstrategien. Beispielsweise entwickelte das NLP-Team von Mantium in Zusammenarbeit mit SageMaker a Arbeitsablauf. zum Trainieren (Feintuning) von GPT-J unter Verwendung der parallelen SageMaker-Modellbibliothek.
Im Gegensatz dazu hat die Bereitstellung von GPT-J für die Inferenz viel geringere Speicheranforderungen – in FP16 belegen die Modellgewichte weniger als 13 GB, was bedeutet, dass die Inferenz problemlos auf einer einzelnen 16-GB-GPU durchgeführt werden kann. Allerdings Rückschluss mit sofort einsatzbereiten Implementierungen von GPT-J, wie z. B. den Hugging Face Transformers Implementierung die wir verwenden, ist relativ langsam. Um Anwendungsfälle zu unterstützen, die eine äußerst reaktionsschnelle Textgenerierung erfordern, haben wir uns darauf konzentriert, die Inferenzlatenz von GPT-J zu reduzieren.
Reaktionslatenz-Herausforderungen von GPT-J
Die Antwortlatenz ist ein zentrales Hindernis für die generativen vortrainierten Transformatoren (GPTs) wie GPT-J, die die moderne Textgenerierung antreiben. GPT-Modelle generieren Text durch Sequenzen von Inferenzschritten. Bei jedem Inferenzschritt erhält das Modell Text als Eingabe, und abhängig von dieser Eingabe tastet es ein Wort aus seinem Vokabular ab, um es an den Text anzuhängen. Wenn zum Beispiel die Tokenfolge „Ich brauche einen Regenschirm, weil es so ist“ gegeben ist, könnte ein nächster Token mit hoher Wahrscheinlichkeit „regnen“. Es könnte aber auch „sonnig“ oder „gebunden“ sein, was der erste Schritt zu einer Textsequenz wie „Ich brauche einen Regenschirm, weil es bestimmt regnen wird“ sein könnte.
Szenarien wie dieses werfen einige interessante Herausforderungen für die Bereitstellung von GPT-Modellen auf, da reale Anwendungsfälle Dutzende, Hunderte oder sogar Tausende von Inferenzschritten umfassen können. Beispielsweise erfordert das Generieren einer 1,000-Token-Antwort 1,000 Inferenzschritte! Dementsprechend kann ein Modell zwar Inferenzgeschwindigkeiten bieten, die isoliert schnell genug erscheinen, die Latenz kann jedoch leicht ein unhaltbares Niveau erreichen, wenn lange Texte generiert werden. Wir haben eine durchschnittliche Latenz von 280 Millisekunden pro Inferenzschritt auf einer V100-GPU beobachtet. Dies mag für ein Modell mit 6.7 Milliarden Parametern schnell erscheinen, aber bei solchen Latenzen dauert es ungefähr 30 Sekunden, um eine 500-Token-Antwort zu generieren, was aus Sicht der Benutzererfahrung nicht ideal ist.
Optimierung der Inferenzgeschwindigkeit mit DeepSpeed Inference
Tiefgeschwindigkeit ist eine von Microsoft entwickelte Open-Source-Deep-Learning-Optimierungsbibliothek. Obwohl es sich in erster Linie auf die Optimierung des Trainings großer Modelle konzentriert, bietet DeepSpeed auch ein Inferenzoptimierungs-Framework, das eine ausgewählte Reihe von Modellen unterstützt, darunter BERT, Megatron, GPT-Neo, GPT2 und GPT-J. DeepSpeed Inference ermöglicht Hochleistungs-Inferenz mit großen Transformer-basierten Architekturen durch eine Kombination aus Modellparallelität, inferenzoptimierten CUDA-Kerneln und Quantisierung.
Um die Inferenzgeschwindigkeit mit GPT-J zu erhöhen, verwenden wir die Inferenz-Engine von DeepSpeed, um optimierte CUDA-Kernel in die GPT-J-Implementierung von Hugging Face Transformers einzufügen.
Um die Geschwindigkeitsvorteile der Inferenz-Engine von DeepSpeed zu bewerten, haben wir eine Reihe von Latenztests durchgeführt, in denen wir GPT-J unter verschiedenen Konfigurationen getaktet haben. Insbesondere haben wir variiert, ob DeepSpeed verwendet wurde oder nicht, die Hardware, die Länge der Ausgabesequenz und die Länge der Eingabesequenz. Wir haben uns sowohl auf die Länge der Ausgangs- als auch der Eingangssequenz konzentriert, da beide die Inferenzgeschwindigkeit beeinflussen. Um eine Ausgabesequenz von 50 Token zu generieren, muss das Modell 50 Inferenzschritte ausführen. Darüber hinaus hängt die zum Ausführen eines Inferenzschritts erforderliche Zeit von der Größe der Eingabesequenz ab – größere Eingaben erfordern mehr Verarbeitungszeit. Obwohl der Effekt der Größe der Ausgabesequenz viel größer ist als der Effekt der Größe der Eingabesequenz, müssen dennoch beide Faktoren berücksichtigt werden.
In unserem Experiment haben wir das folgende Design verwendet:
- DeepSpeed-Inferenz-Engine - An aus
- Hardware – T4 (ml.g4dn.2xlarge), V100 (ml.p3.2xlarge)
- Sequenzlänge eingeben – 50, 200, 500, 1000
- Sequenzlänge ausgeben – 50, 100, 150, 200
Insgesamt hat dieses Design 64 Kombinationen dieser vier Faktoren, und für jede Kombination haben wir 20 Latenztests durchgeführt. Jeder Test wurde auf einem vorinitialisierten SageMaker-Inferenzendpunkt ausgeführt, um sicherzustellen, dass unsere Latenztests Produktionszeiten widerspiegeln, einschließlich API-Austausch und Vorverarbeitung.
Unsere Tests zeigen, dass die GPT-J-Inferenz-Engine von DeepSpeed wesentlich schneller ist als die PyTorch-Basisimplementierung von Hugging Face Transformers. Die folgende Abbildung veranschaulicht die mittleren Latenzen bei der Textgenerierung für GPT-J mit und ohne DeepSpeed-Beschleunigung auf ml.g4dn.2xlarge- und ml.p3.2xlarge-SageMaker-Inferenzendpunkten.
Auf der ml.g4dn.2xlarge-Instanz, die mit einer 16-GB-NVIDIA-T4-GPU ausgestattet ist, beobachteten wir eine mittlere Latenzreduzierung von etwa 24 % [Standardabweichung (SD) = 0.05]. Dies entsprach einer Steigerung von durchschnittlich 12.5 (SD = 0.91) Token pro Sekunde auf durchschnittlich 16.5 (SD = 2.13) Token pro Sekunde. Insbesondere war der Beschleunigungseffekt von DeepSpeed auf der ml.p3.2xlarge-Instanz, die mit einer NVIDIA V100-GPU ausgestattet ist, noch stärker. Auf dieser Hardware beobachteten wir eine mittlere Latenzreduktion von 53 % (SD = 07). Bezogen auf Token pro Sekunde entsprach dies einem Anstieg von durchschnittlich 21.9 (SD = 1.97) Token pro Sekunde auf durchschnittlich 47.5 (SD = 5.8) Token pro Sekunde.
Wir haben auch beobachtet, dass die von DeepSpeed angebotene Beschleunigung bei beiden Hardwarekonfigurationen mit zunehmender Größe der Eingabesequenzen leicht abgeschwächt wurde. Unter allen Bedingungen war die Inferenz mit den GPT-J-Optimierungen von DeepSpeed jedoch immer noch wesentlich schneller als die Basislinie. Auf der g4dn-Instance betrugen die maximalen und minimalen Latenzreduktionen beispielsweise 31 % (Eingabesequenzgröße = 50) bzw. 15 % (Eingabesequenzgröße = 1000). Und auf der p3-Instanz betrug die maximale und minimale Latenzreduzierung 62 % (Eingabesequenzgröße = 50) bzw. 40 % (Eingabesequenzgröße = 1000).
Bereitstellung von GPT-J mit DeepSpeed auf einem SageMaker-Inferenzendpunkt
Zusätzlich zu den dramatisch erhöhten Textgenerierungsgeschwindigkeiten für GPT-J lässt sich die Inferenz-Engine von DeepSpeed einfach in einen SageMaker-Inferenzendpunkt integrieren. Bevor DeepSpeed zu unserem Inferenz-Stack hinzugefügt wurde, liefen unsere Endpunkte auf einem benutzerdefinierten Docker-Image, das auf einem offiziellen PyTorch-Image basiert. SageMaker macht es sehr einfach, benutzerdefinierte Inferenzendpunkte bereitzustellen, und die Integration von DeepSpeed war so einfach wie das Einfügen der Abhängigkeit und das Schreiben einiger Codezeilen. Der Open-Source-Leitfaden zum Bereitstellungs-Workflow zum Bereitstellen von GPT-J mit DeepSpeed ist verfügbar unter GitHub.
Zusammenfassung
Mantium widmet sich führenden Innovationen, damit jeder schnell mit KI bauen kann. Von der KI-gesteuerten Prozessautomatisierung bis hin zu strengen Sicherheits- und Compliance-Einstellungen bietet unsere vollständige Plattform alle Tools, die für die Entwicklung und Verwaltung robuster, verantwortungsbewusster KI-Anwendungen in großem Maßstab erforderlich sind, und senkt die Eintrittsbarriere. SageMaker hilft Unternehmen wie Mantium, schnell auf den Markt zu kommen.
Um zu erfahren, wie Mantium Ihnen helfen kann, komplexe KI-gesteuerte Workflows für Ihr Unternehmen zu erstellen, besuchen Sie www.mantiumai.com.
Über die Autoren
Joe Hoover ist Senior Applied Scientist im KI-Forschungs- und Entwicklungsteam von Mantium. Seine Leidenschaft gilt der Entwicklung von Modellen, Methoden und Infrastrukturen, die Menschen helfen, reale Probleme mit modernsten NLP-Systemen zu lösen. In seiner Freizeit wandert er gerne mit dem Rucksack, arbeitet im Garten, kocht und trifft sich mit seiner Familie.
Dhawal Patel ist Principal Machine Learning Architect bei AWS. Er hat mit Organisationen von großen Unternehmen bis hin zu mittelständischen Startups an Problemen im Zusammenhang mit verteiltem Computing und künstlicher Intelligenz gearbeitet. Er konzentriert sich auf Deep Learning, einschließlich NLP- und Computer Vision-Domänen. Er hilft Kunden, hochleistungsfähige Modellinferenz auf SageMaker zu erreichen.
Sunil Padmanabhan ist Startup Solutions Architect bei AWS. Als ehemaliger Startup-Gründer und CTO beschäftigt er sich leidenschaftlich mit maschinellem Lernen und konzentriert sich darauf, Startups dabei zu helfen, KI/ML für ihre Geschäftsergebnisse zu nutzen und ML/KI-Lösungen in großem Maßstab zu entwerfen und einzusetzen.
- Coinsmart. Europas beste Bitcoin- und Krypto-Börse.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. DEN FREIEN ZUGANG.
- CryptoHawk. Altcoin-Radar. Kostenlose Testphase.
- Quelle: https://aws.amazon.com/blogs/machine-learning/how-mantium-achieves-low-latency-gpt-j-inference-with-deepspeed-on-amazon-sagemaker/
- "
- 000
- 100
- 28
- 7
- 9
- a
- Über uns
- Absolute
- Zugang
- entsprechend
- Konto
- Erreichen
- über
- Zusatz
- Zusätzliche
- beeinflussen
- AI
- Alle
- Obwohl
- immer
- Amazon
- Analyse
- jemand
- Bienen
- APIs
- App
- Anwendungen
- angewandt
- Ansatz
- ca.
- Apps
- Architektur
- künstlich
- künstliche Intelligenz
- automatische
- Automation
- verfügbar
- durchschnittlich
- AWS
- Barriere
- Baseline
- weil
- Bevor
- Vorteile
- Milliarde
- Blockieren
- bauen
- Baumeister
- Building
- Geschäft
- Unternehmen
- Fälle
- challenges
- Herausforderungen
- Cloud
- Cloud-Plattform
- Code
- Zusammenarbeit
- Kombination
- Kombinationen
- kombiniert
- Kommunikation
- Unternehmen
- abschließen
- Komplex
- Compliance
- umfassend
- Computer
- Computing
- Bedingungen
- Kernbereich
- könnte
- CTO
- Original
- Kunden
- innovativ, auf dem neuesten Stand
- gewidmet
- tief
- liefert
- zeigen
- Abhängig
- hängt
- einsetzen
- Einsatz
- Bereitstellen
- Einsatz
- beschreiben
- Design
- entworfen
- entwickeln
- entwickelt
- Entwicklung
- Entwicklung
- verteilt
- Verteiltes rechnen
- Docker
- Domains
- Dramatisch
- leicht
- bewirken
- beschäftigt
- ermöglicht
- End-to-End
- Endpunkt
- Motor
- Entwicklung
- Ingenieure
- Gewährleistung
- Unternehmen
- ausgestattet
- bewerten
- jedermann
- Beispiel
- Warenumtausch
- ERFAHRUNGEN
- Experiment
- umfangreiche
- ausgewählte Produkte
- Gesicht
- Faktoren
- Familie
- FAST
- beschleunigt
- Merkmal
- Eigenschaften
- Abbildung
- Vorname
- konzentriert
- konzentriert
- Folgende
- Fußabdruck
- Gründer
- Unser Ansatz
- für
- voller
- Außerdem
- erzeugen
- Erzeugung
- Generation
- generativ
- Global
- Governance
- GPU
- persönlichem Wachstum
- Guide
- Hardware
- Hilfe
- Unternehmen
- hilft
- hier
- High
- hoch
- Ultraschall
- aber
- HTTPS
- hunderte
- ideal
- Image
- Implementierung
- Einschließlich
- Erhöhung
- zunehmend
- Innovation
- innovativ
- Varianten des Eingangssignals:
- Instanz
- integrieren
- Integrationen
- Intelligenz
- Isolierung
- IT
- Sprache
- grosse
- größer
- höchste
- Schicht
- führenden
- LERNEN
- lernen
- Niveau
- Cholesterinspiegel
- Hebelwirkung
- Bibliothek
- Linien
- Laden
- Lang
- suchen
- Maschine
- Maschinelles Lernen
- um
- MACHT
- verwalten
- flächendeckende Gesundheitsprogramme
- Markt
- Mittel
- Memory
- Methoden
- Microsoft
- könnte
- Minimum
- ML
- Modell
- für
- Überwachung
- Monat
- mehr
- Natürliche
- notwendig,
- Nvidia
- Hindernis
- bieten
- angeboten
- offiziell
- XNUMXh geöffnet
- Open-Source-
- Einkauf & Prozesse
- Optimierung
- optimiert
- Optimierung
- Organisation
- Organisationen
- besitzen
- leidenschaftlich
- Personen
- Leistung
- Perspektive
- Plattform
- Politik durchzulesen
- Datenschutzrichtlinien
- Beliebt
- Position
- positiv
- möglich
- Werkzeuge
- Prognosen
- ziemlich
- Principal
- privat
- Probleme
- Prozessdefinierung
- Automatisierung von Prozessen
- anpassen
- Verarbeitung
- Produktion
- Versorger
- Anbieter
- bietet
- Bereitstellung
- qualifizieren
- schnell
- F&E
- erhöhen
- Bereich
- erreichen
- Reduzierung
- reflektieren
- freigegeben
- Mitteilungen
- Darstellung
- erfordern
- falls angefordert
- Voraussetzungen:
- erfordert
- Antwort
- für ihren Verlust verantwortlich.
- Die Ergebnisse
- Führen Sie
- Laufen
- Sicherheit
- Said
- Skalieren
- Wissenschaftler
- Sekunden
- Auswahl
- Gefühl
- Modellreihe
- Dienst
- kompensieren
- Einfacher
- Single
- Größe
- So
- Software
- Lösungen
- LÖSEN
- einige
- anspruchsvoll
- speziell
- Geschwindigkeit
- Geschwindigkeiten
- Ausgabe
- Stapel
- Standard
- Anfang
- Anfang
- Startups
- State-of-the-art
- Staaten
- Immer noch
- Strategien
- Strategie
- stärker
- Support
- Unterstützt
- Systeme und Techniken
- Team
- Technische
- AGB
- Test
- Tests
- Das
- deswegen
- Tausende
- Durch
- Zeit
- mal
- heutigen
- gemeinsam
- Zeichen
- Tokens
- Werkzeuge
- traditionell
- Ausbildung
- typisch
- ui
- für
- Updates
- -
- Nutzer
- verschiedene
- Seh-
- Wege
- Netz
- Was
- Rad
- ob
- ohne
- gearbeitet
- Workflows
- Schreiben
- Ihr