In diesem Beitrag zeigen wir Ihnen, wie Sie eines der am häufigsten heruntergeladenen vortrainierten Hugging Face-Modelle implementieren, das für die Textzusammenfassung verwendet wird. BART-CNN-12-6 destillieren, in einem Jupyter-Notebook mit Amazon Sage Maker und für SageMaker Hugging Face Inference Toolkit. Basierend auf den in diesem Beitrag gezeigten Schritten können Sie versuchen, Text aus dem zusammenzufassen WikiText-2 Datensatz verwaltet von fast.ai, erhältlich bei der Registrierung von Open Data in AWS.
Das weltweite Datenvolumen wächst im Zettabyte-Maßstab, da Unternehmen und Verbraucher ihre Nutzung digitaler Produkte und Online-Dienste ausweiten. Um diese wachsenden Datenmengen besser zu verstehen, wurden Techniken des maschinellen Lernens (ML) zur Verarbeitung natürlicher Sprache (NLP) für die Textanalyse entwickelt, um Anwendungsfälle wie Textzusammenfassung, Entitätserkennung, Klassifizierung, Übersetzung und mehr zu adressieren. AWS bietet vortrainierte AWS AI-Dienste die über API-Aufrufe in Anwendungen integriert werden können und keine ML-Erfahrung erfordern. Zum Beispiel, Amazon verstehen kann NLP-Aufgaben wie benutzerdefinierte Entitätserkennung, Stimmungsanalyse, Extraktion von Schlüsselsätzen, Themenmodellierung und mehr ausführen, um Erkenntnisse aus Text zu gewinnen. Es kann funktionieren Textanalyse in einer Vielzahl von Sprachen für seine verschiedenen Funktionen.
Die Textzusammenfassung ist eine hilfreiche Technik zum Verständnis großer Mengen von Textdaten, da sie eine Teilmenge kontextbedeutungsvoller Informationen aus Quelldokumenten erstellt. Sie können diese NLP-Technik auf längere Textdokumente und Artikel anwenden, was eine schnellere Nutzung und eine effektivere Indexierung von Dokumenten ermöglicht, beispielsweise um Anrufnotizen von Besprechungen zusammenzufassen.
Gesicht umarmen ist eine beliebte Open-Source-Bibliothek für NLP mit über 49,000 vortrainierten Modellen in mehr als 185 Sprachen mit Unterstützung für verschiedene Frameworks. AWS und Hugging Face haben a Partnerschaft Dies ermöglicht eine nahtlose Integration durch SageMaker mit einer Reihe von AWS Deep Learning Containers (DLCs) für Training und Inferenz in PyTorch oder TensorFlow sowie Hugging Face-Schätzern und -Prädiktoren für das SageMaker Python SDK. Diese Funktionen in SageMaker helfen Entwicklern und Datenwissenschaftlern, einfacher mit NLP auf AWS zu beginnen. Die Verarbeitung von Texten mit Transformern in Deep-Learning-Frameworks wie PyTorch ist typischerweise eine komplexe und zeitaufwändige Aufgabe für Data Scientists, die oft zu Frustration und mangelnder Effizienz bei der Entwicklung von NLP-Projekten führt. Der Aufstieg von KI-Communities wie Hugging Face, kombiniert mit der Leistungsfähigkeit von ML-Diensten in der Cloud wie SageMaker, beschleunigt und vereinfacht die Entwicklung dieser Textverarbeitungsaufgaben. SageMaker unterstützt Sie beim Erstellen, Trainieren, Bereitstellen und Operationalisieren von Hugging-Face-Modellen.
Übersicht über die Textzusammenfassung
Sie können die Textzusammenfassung anwenden, um Schlüsselsätze in einem Dokument oder Schlüsselsätze in mehreren Dokumenten zu identifizieren. Die Textzusammenfassung kann zwei Arten von Zusammenfassungen erzeugen: extraktiv und abstrakt. Extrahierende Zusammenfassungen enthalten keinen maschinell generierten Text und sind eine Sammlung wichtiger Sätze, die aus dem Eingabedokument ausgewählt wurden. Abstrakte Zusammenfassungen enthalten neue, für Menschen lesbare Phrasen und Sätze, die vom Textzusammenfassungsmodell generiert wurden. Die meisten Textzusammenfassungssysteme basieren auf einer extraktiven Zusammenfassung, da eine genaue abstrakte Textzusammenfassung schwierig zu erreichen ist.
Hugging Face hat über 400 vortrainierte State-of-the-Art Textzusammenfassungsmodelle verfügbar, Implementierung verschiedener Kombinationen von NLP-Techniken. Diese Modelle werden mit verschiedenen Datensätzen trainiert, die von Technologieunternehmen und Mitgliedern der Hugging Face-Community hochgeladen und gepflegt werden. Sie können die Modelle nach den am häufigsten heruntergeladenen oder beliebtesten filtern und sie direkt laden, wenn Sie die verwenden Zusammenfassungspipeline Hugging Face Transformer API. Der Hugging Face Transformer vereinfacht den NLP-Implementierungsprozess, sodass leistungsstarke NLP-Modelle feinabgestimmt werden können, um Textzusammenfassungen zu liefern, ohne dass umfassende ML-Betriebskenntnisse erforderlich sind.
Hugging Face-Textzusammenfassungsmodelle auf AWS
SageMaker bietet Geschäftsanalysten, Datenwissenschaftlern und MLOps-Ingenieuren eine Auswahl an Tools zum Entwerfen und Betreiben von ML-Workloads auf AWS. Mit diesen Tools können Sie ML-Modelle schneller implementieren und testen, um optimale Ergebnisse zu erzielen.
Von dem SageMaker Hugging Face Inference Toolkit, einer Open-Source-Bibliothek, skizzieren wir drei verschiedene Möglichkeiten zum Implementieren und Hosten von Hugging Face-Textzusammenfassungsmodellen mit einem Jupyter-Notebook:
- Hugging Face-Zusammenfassungspipeline - Ein ... kreieren Hugging Face-Zusammenfassungspipeline Verwendung der "
summarization
”-Aufgaben-ID verwenden, um ein standardmäßiges Textzusammenfassungsmodell für Rückschlüsse in Ihrem Jupyter-Notebook zu verwenden. Diese Pipelines abstrahieren den komplexen Code und bieten unerfahrenen ML-Praktikern eine einfache API, um die Textzusammenfassung schnell zu implementieren, ohne einen Inferenzendpunkt zu konfigurieren. Die Pipeline ermöglicht es dem ML-Praktiker auch, ein bestimmtes vortrainiertes Modell und den zugehörigen Tokenizer auszuwählen. Tokenizer bereiten Text als Eingabe für das Modell vor, indem sie Text in Wörter oder Teilwörter aufteilen, die dann über eine Nachschlagetabelle in IDs umgewandelt werden. Der Einfachheit halber stellt das folgende Code-Snippet den Standardfall bei der Verwendung von Pipelines bereit. Das BART-CNN-12-6 destillieren model ist eines der am häufigsten heruntergeladenen Zusammenfassungsmodelle auf Hugging Face und ist das Standardmodell für die Zusammenfassungspipeline. Die letzte Zeile ruft das vortrainierte Modell auf, um eine Zusammenfassung für den übergebenen Text mit den bereitgestellten zwei Argumenten zu erhalten. - SageMaker-Endpunkt mit vortrainiertem Modell – Erstellen Sie einen SageMaker-Endpunkt mit einem vortrainierten Modell aus der Modellhub mit umarmendem Gesicht und stellen Sie es auf einem Inferenzendpunkt bereit, z. B. der ml.m5.xlarge-Instanz im folgenden Codeausschnitt. Diese Methode ermöglicht es erfahrenen ML-Praktikern, schnell spezifische Open-Source-Modelle auszuwählen, sie zu optimieren und die Modelle auf leistungsstarken Inferenzinstanzen bereitzustellen.
- SageMaker-Endpunkt mit einem trainierten Modell – Erstellen Sie einen SageMaker-Modellendpunkt mit einem trainierten Modell, das in einer gespeichert ist Amazon Simple Storage-Service (Amazon S3)-Bucket und stellen Sie ihn auf einem Inferenzendpunkt bereit. Diese Methode ermöglicht es erfahrenen ML-Praktikern, ihre eigenen in Amazon S3 gespeicherten Modelle schnell auf leistungsstarken Inferenzinstanzen bereitzustellen. Das Modell selbst wird von Hugging Face heruntergeladen und komprimiert und kann dann auf Amazon S3 hochgeladen werden. Dieser Schritt wird im folgenden Code-Snippet veranschaulicht:
AWS stellt mehrere Ressourcen zur Verfügung, die Sie bei der Bereitstellung Ihrer ML-Workloads unterstützen. Das Linse für maschinelles Lernen dauert ebenfalls 3 Jahre. Das erste Jahr ist das sog. AWS Well Architected Framework empfiehlt Best Practices für ML-Workloads, einschließlich der Optimierung von Ressourcen und der Reduzierung von Kosten. Diese empfohlenen Designprinzipien stellen sicher, dass gut strukturierte ML-Workloads auf AWS in der Produktion bereitgestellt werden. Amazon SageMaker Inference Recommender hilft Ihnen bei der Auswahl der richtigen Instanz zur Bereitstellung Ihrer ML-Modelle mit optimaler Inferenzleistung und optimalen Kosten. Inference Recommender beschleunigt die Modellbereitstellung und verkürzt die Markteinführungszeit, indem Lasttests automatisiert und die Modellleistung über ML-Instanzen hinweg optimiert werden.
In den nächsten Abschnitten zeigen wir, wie Sie ein trainiertes Modell aus einem S3-Bucket laden und in einer geeigneten Inferenzinstanz bereitstellen.
Voraussetzungen:
Für diese exemplarische Vorgehensweise sollten Sie die folgenden Voraussetzungen erfüllen:
- An AWS-Konto.
- Darin befindet sich ein Jupyter-Notebook Amazon SageMaker-Studio oder SageMaker-Notebook-Instances. In diesem Beitrag verwenden wir das „Python 3 (PyTorch 1.4 Python 3.6 CPU Optimized)“-Image mit den bereitgestellten Code-Snippets, aber Sie können jedes andere PyTorch-Image der höheren Version verwenden verfügbare SageMaker-Kernel.
- Ein Datensatz in Ihrem S3-Bucket, wie z WikiText-2 Datensatz aus dem Registrierung von Open Data in AWS.
Laden Sie das Hugging Face-Modell in SageMaker für Textzusammenfassungsrückschlüsse
Verwenden Sie den folgenden Code, um das vortrainierte Textzusammenfassungsmodell Hugging Face herunterzuladen BART-CNN-12-6 destillieren und seinen Tokenizer und speichern Sie sie lokal in SageMaker in Ihrem Jupyter-Notebook-Verzeichnis:
Komprimieren Sie das gespeicherte Textzusammenfassungsmodell und seinen Tokenizer in das tar.gz-Format und laden Sie das komprimierte Modellartefakt in einen S3-Bucket hoch:
Wählen Sie eine aus Inferenz-Docker-Container-Image um die Textzusammenfassungsinferenz durchzuführen. Definieren Sie das Linux-Betriebssystem, das PyTorch-Framework und die Hugging Face Transformer-Version und geben Sie die Amazon Elastic Compute-Cloud (Amazon EC2)-Instance-Typ zum Ausführen des Containers.
Das Docker-Image ist in der verfügbar Amazon Elastic Container-Registrierung (Amazon ECR) desselben AWS-Kontos, und der Link für dieses Container-Image wird als URI zurückgegeben.
Definieren Sie das Textzusammenfassungsmodell, das vom ausgewählten Container-Image bereitgestellt werden soll, das eine Inferenz durchführt. Im folgenden Codeausschnitt wird das auf Amazon S3 hochgeladene komprimierte Modell bereitgestellt:
Testen Sie das bereitgestellte Textzusammenfassungsmodell an einer Beispieleingabe:
Verwenden Sie Inference Recommender, um die optimale EC2-Instance für die Inferenzaufgabe zu evaluieren
Erstellen Sie als Nächstes mehrere Payload-Beispiele des Eingabetexts im JSON-Format und komprimieren Sie sie in eine einzige Payload-Datei. Diese Nutzlastbeispiele werden vom Inference Recommender verwendet, um die Inferenzleistung zwischen verschiedenen EC2-Instance-Typen zu vergleichen. Jede der Beispielnutzlasten muss mit dem zuvor gezeigten JSON-Format übereinstimmen. Beispiele finden Sie unter WikiText-2 Datensatz verwaltet von fast.ai, erhältlich bei der Registrierung von Open Data in AWS.
Laden Sie das Modellartefakt der komprimierten Textzusammenfassung und die komprimierte Beispielnutzlastdatei in den S3-Bucket hoch. Wir haben das Modell in einem früheren Schritt hochgeladen, aber der Übersichtlichkeit halber fügen wir den Code hinzu, um es erneut hochzuladen:
Überprüfen Sie die Liste der standardmäßigen ML-Modelle, die auf SageMaker across verfügbar sind Gemeinsame Musterzoos, wie NLP und Computer Vision. Wählen Sie ein NLP-Modell aus, um die Textzusammenfassungsinferenz durchzuführen:
Das folgende Beispiel verwendet die bert-base-cased
NLP-Modell. Registrieren Sie das Textzusammenfassungsmodell in der SageMaker-Modellregistrierung mit der korrekt identifizierten Domäne, dem Framework und der Aufgabe aus dem vorherigen Schritt. Die Parameter für dieses Beispiel werden am Anfang des folgenden Codeausschnitts angezeigt.
Beachten Sie den Bereich der EC2-Instance-Typen, die von Inference Recommender bewertet werden sollen, unter SupportedRealtimeInferenceInstanceTypes
im folgenden Code. Stellen Sie sicher, dass die Servicelimits für das AWS-Konto ermöglichen die Bereitstellung dieser Arten von Inferenzknoten.
Erstellen Sie einen Standardjob für Inference Recommender mithilfe von ModelPackageVersion
resultierend aus dem vorherigen Schritt. Das uuid
Die Python-Bibliothek wird verwendet, um einen eindeutigen Namen für den Job zu generieren.
Sie können den Status des Inference Recommender-Jobs abrufen, indem Sie den folgenden Code ausführen:
Wenn der Auftragsstatus ist COMPLETED
, vergleichen Sie die Inferenzlatenz, Laufzeit und andere Metriken der EC2-Instance-Typen, die vom Standardjob des Inference Recommender ausgewertet werden. Wählen Sie basierend auf Ihren Anwendungsfallanforderungen den geeigneten Knotentyp aus.
Zusammenfassung
SageMaker bietet mehrere Möglichkeiten, Hugging Face-Modelle zu verwenden; Weitere Beispiele finden Sie unter AWS-Beispiele GitHub. Abhängig von der Komplexität des Anwendungsfalls und der Notwendigkeit, das Modell zu verfeinern, können Sie die optimale Methode zur Verwendung dieser Modelle auswählen. Die Hugging Face-Pipelines können ein guter Ausgangspunkt sein, um schnell zu experimentieren und geeignete Modelle auszuwählen. Wenn Sie die ausgewählten Modelle anpassen und parametrisieren müssen, können Sie die Modelle herunterladen und auf benutzerdefinierten Inferenzendpunkten bereitstellen. Um das Modell für einen bestimmten Anwendungsfall weiter zu optimieren, müssen Sie das Modell nach dem Herunterladen trainieren.
NLP-Modelle im Allgemeinen, einschließlich Textzusammenfassungsmodellen, funktionieren besser, nachdem sie mit einem Datensatz trainiert wurden, der für den Anwendungsfall spezifisch ist. Die MLOPs und Modellüberwachungsfunktionen von SageMaker stellen sicher, dass das bereitgestellte Modell weiterhin die Erwartungen erfüllt. In diesem Beitrag haben wir Inference Recommender verwendet, um den am besten geeigneten Instanztyp für die Bereitstellung des Textzusammenfassungsmodells zu evaluieren. Diese Empfehlungen können Leistung und Kosten für Ihren ML-Anwendungsfall optimieren.
Über die Autoren
Nidal AlBeiruti ist Senior Solutions Architect bei Amazon Web Services mit einer Leidenschaft für maschinelle Lernlösungen. Nidal verfügt über mehr als 25 Jahre Erfahrung in verschiedenen globalen IT-Rollen auf verschiedenen Ebenen und Branchen. Nidal fungiert als vertrauenswürdiger Berater für viele AWS-Kunden, um ihre Cloud-Einführung zu unterstützen und zu beschleunigen.
Darren Ko ist ein Lösungsarchitekt mit Sitz in London. Er berät KMU-Kunden in Großbritannien und Irland bei der Neugestaltung und Innovation in der Cloud. Darren interessiert sich für Anwendungen, die mit serverlosen Architekturen erstellt wurden, und er ist leidenschaftlich daran interessiert, Nachhaltigkeitsherausforderungen mit maschinellem Lernen zu lösen.
- '
- "
- 000
- 10
- 100
- 28
- a
- Über uns
- ABSTRACT
- beschleunigen
- Konto
- genau
- Erreichen
- über
- Adresse
- Adoption
- Berater
- AI
- erlaubt
- Amazon
- Amazon Web Services
- Beträge
- Analyse
- Bienen
- Apple
- Anwendungen
- Jetzt bewerben
- Argumente
- Artikel
- damit verbundenen
- automatisieren
- verfügbar
- ausgezeichnet
- AWS
- weil
- Anfang
- Sein
- BESTE
- Best Practices
- zwischen
- bauen
- Geschäft
- rufen Sie uns an!
- Kann bekommen
- Fähigkeiten
- Häuser
- Fälle
- Herausforderungen
- Wahl
- Klasse
- Einstufung
- Cloud
- Code
- Sammlung
- Kombinationen
- kombiniert
- Communities
- community
- Unternehmen
- Komplex
- Berechnen
- Computer
- Konfiguration
- KUNDEN
- Verbrauch
- Container
- Behälter
- weiter
- erstellen
- schafft
- Original
- Kunden
- anpassen
- technische Daten
- Tag
- tief
- Lieferanten
- zeigen
- weisen nach, dass
- Abhängig
- einsetzen
- Einsatz
- Bereitstellen
- Einsatz
- Design
- Entwickler
- Entwicklung
- Entwicklung
- anders
- schwer
- digital
- Direkt
- Display
- Docker
- Arzt
- Unterlagen
- Domain
- Domains
- herunterladen
- jeder
- leicht
- Effektiv
- Effizienz
- ermöglichen
- Endpunkt
- Ingenieure
- Einheit
- Arbeitsumfeld
- bewerten
- Beispiel
- Beispiele
- Erweitern Sie die Funktionalität der
- Erwartungen
- ERFAHRUNGEN
- erfahrensten
- Experiment
- umfangreiche
- Gesicht
- FAST
- beschleunigt
- Eigenschaften
- Folgende
- Format
- Unser Ansatz
- Gerüste
- für
- Allgemeines
- erzeugen
- erzeugt
- Global
- gut
- persönlichem Wachstum
- Hilfe
- hilfreich
- hilft
- höher
- Ultraschall
- Hilfe
- HTTPS
- Nabe
- für Menschen lesbar
- identifizieren
- Image
- implementieren
- Implementierung
- Umsetzung
- wichtig
- das
- Einschließlich
- Information
- innovativ
- Varianten des Eingangssignals:
- Einblicke
- Instanz
- integriert
- Integration
- interessiert
- Irland
- IT
- selbst
- Job
- Reise
- Wesentliche
- Wissen
- Sprache
- Sprachen
- grosse
- führenden
- lernen
- Cholesterinspiegel
- Bibliothek
- Grenzen
- Line
- LINK
- linux
- Liste
- Belastung
- örtlich
- London
- Nachschlagen
- Maschine
- Maschinelles Lernen
- um
- Markt
- Spiel
- sinnvoll
- Tagungen
- Mitglieder
- Metrik
- ML
- Modell
- für
- Überwachung
- mehr
- vor allem warme
- mehrere
- Natürliche
- weiter
- Fiber Node
- Notizbuch
- Notizen
- bieten
- Angebote
- Online
- XNUMXh geöffnet
- betreiben
- Betrieb
- Optimieren
- optimiert
- Optimierung
- Andere
- besitzen
- Leidenschaft & KREATIVITÄT
- leidenschaftlich
- Leistung
- Durchführung
- Sätze
- Points
- Beliebt
- Werkzeuge
- Danach
- früher
- Prozessdefinierung
- Verarbeitung
- produziert
- Produktion
- Produkte
- Projekte
- die
- vorausgesetzt
- bietet
- schnell
- Angebot
- empfiehlt
- Reduzierung
- Region
- Registrieren
- Anforderung
- erfordern
- Voraussetzungen:
- Downloads
- was zu
- Rollen
- Führen Sie
- Laufen
- gleich
- Skalieren
- Wissenschaftler
- Sdk
- nahtlos
- ausgewählt
- Gefühl
- Serverlos
- Leistungen
- kompensieren
- mehrere
- gezeigt
- Einfacher
- Single
- So
- Lösungen
- spezifisch
- Geschwindigkeiten
- Standard
- begonnen
- State-of-the-art
- Status
- Lagerung
- Support
- Nachhaltigkeit
- Systeme und Techniken
- und Aufgaben
- Techniken
- Technologie
- Testen
- Das
- nach drei
- Durch
- Zeit
- Zeitaufwendig
- Werkzeuge
- Thema
- Ausbildung
- Übersetzungen
- vertraut
- Typen
- typisch
- Uk
- für
- verstehen
- Verständnis
- einzigartiges
- -
- Vielfalt
- verschiedene
- Version
- Vertikalen
- Seh-
- Volumen
- Wege
- Netz
- Web-Services
- .
- ohne
- Worte
- arbeiten,
- X
- Jahr
- Ihr