Natural Language Processing mit Transformern -  Lewis Tunstall,  Leandro von Werra,  Thomas Wolf

Natural Language Processing mit Transformern (eBook)

Sprachanwendungen mit Hugging Face erstellen
eBook Download: EPUB
2023 | 1. Auflage
432 Seiten
O'Reilly Verlag
978-3-96010-713-2 (ISBN)
Systemvoraussetzungen
46,90 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

Leistungsfähige State-of-the-Art-Sprachanwendungen mit vortrainierten Transformer-Modellen

  • Transformer haben die NLP-Welt im Sturm erobert
  • Von den Gründern von Hugging Face, der Plattform für vortrainierte Transformer-Modelle für TensorFlow und PyTorch
  • Bietet einen fundierten und praxisnahen Überblick über die wichtigsten Methoden und Anwendungen im aktuellen NLP
  • Hands-On: Jeder Programmierschritt kann in Jupyter Notebooks nachvollzogen werden

Transformer haben sich seit ihrer Einführung nahezu über Nacht zur vorherrschenden Architektur im Natural Language Processing entwickelt. Sie liefern die besten Ergebnisse für eine Vielzahl von Aufgaben bei der maschinellen Sprachverarbeitung. Wenn Sie Data Scientist oder Programmierer sind, zeigt Ihnen dieses praktische Buch, wie Sie NLP-Modelle mit Hugging Face Transformers, einer Python-basierten Deep-Learning-Bibliothek, trainieren und skalieren können.
Transformer kommen beispielsweise beim maschinellen Schreiben von Nachrichtenartikeln zum Einsatz, bei der Verbesserung von Google-Suchanfragen oder bei Chatbots. In diesem Handbuch zeigen Ihnen Lewis Tunstall, Leandro von Werra und Thomas Wolf, die auch die Transformers-Bibliothek von Hugging Face mitentwickelt haben, anhand eines praktischen Ansatzes, wie Transformer-basierte Modelle funktionieren und wie Sie sie in Ihre Anwendungen integrieren können. Sie werden schnell eine Vielzahl von Aufgaben wie Textklassifikation, Named Entity Recognition oder Question Answering kennenlernen, die Sie mit ihnen lösen können.



Lewis Tunstall ist Machine Learning Engineer bei Hugging Face. Der Schwerpunkt seiner Arbeit liegt derzeit auf der Entwicklung von Tools für die NLP-Community und darauf, Menschen zu schulen, diese effektiv zu nutzen. Leandro von Werra ist Machine Learning Engineer im Open-Source-Team von Hugging Face. Er konzentriert sich hauptsächlich auf Modelle, die Code generieren können, und auf die Zusammenarbeit mit der Community. Thomas Wolf ist Chief Science Officer und Mitgründer von Hugging Face. Sein Team hat sich der Aufgabe verschrieben, die KI-Forschung voranzutreiben und sie weiter zu demokratisieren.

Lewis Tunstall ist Machine Learning Engineer bei Hugging Face. Der Schwerpunkt seiner Arbeit liegt derzeit auf der Entwicklung von Tools für die NLP-Community und darauf, Menschen zu schulen, diese effektiv zu nutzen. Leandro von Werra ist Machine Learning Engineer im Open-Source-Team von Hugging Face. Er konzentriert sich hauptsächlich auf Modelle, die Code generieren können, und auf die Zusammenarbeit mit der Community. Thomas Wolf ist Chief Science Officer und Mitgründer von Hugging Face. Sein Team hat sich der Aufgabe verschrieben, die KI-Forschung voranzutreiben und sie weiter zu demokratisieren.

Einführung


Seit ihrer Einführung im Jahr 2017 haben sich Transformer-Modelle zum De-facto-Standard für die Bewältigung einer Vielzahl von Aufgaben im Bereich der natürlichen Sprachverarbeitung (engl. Natural Language Processing, NLP) sowohl in der Wissenschaft als auch in der Industrie entwickelt. Ohne dass Sie es bemerkt haben, haben Sie heute wahrscheinlich bereits mit einem Transformer interagiert: Google verwendet heutzutage das BERT-Modell, um die Suchanfragen der Nutzer besser zu verstehen und so die Suchmaschine zu verbessern. Auch die Modelle der GPT-Familie von OpenAI haben in den Mainstream-Medien wiederholt für Schlagzeilen gesorgt, weil sie in der Lage sind, wie von Menschen hervorgebrachte Texte und Bilder zu generieren.1 Mithilfe dieser Transformer-basierten Modelle werden Anwendungen wie GitHub’s Copilot (https://copilot.github.com) betrieben, die, wie in Abbildung 1-1 gezeigt, einen bloßen Kommentar in Quellcode umwandeln können, mit dem automatisch ein neuronales Netz (engl. Neural Network) für Sie erstellt wird!

Weshalb also haben Transformer das Gebiet fast über Nacht verändert? Wie bei vielen großen wissenschaftlichen Durchbrüchen handelte es sich um die Synthese mehrerer Ideen, wie Attention, Transfer Learning und der Skalierung neuronaler Netze, die zu dieser Zeit in der Forschungsgemeinschaft kursierten.

Aber wie nützlich sie auch sein mögen – um in der Industrie Fuß zu fassen, braucht jede ausgefallene neue Methode Werkzeuge, die sie zugänglich machen. Die 2 Transformers-Bibliothek (https://oreil.ly/Z79jF) und das sie umgebende Ökosystem sind genau darauf ausgerichtet und erleichtern Praktikern, Modelle zu verwenden, zu trainieren und sie mit anderen zu teilen. Dies hat die Verbreitung von Transformer-Modellen stark begünstigt, und die Bibliothek wird heute von über fünftausend Unternehmen und Einrichtungen genutzt. In diesem Buch zeigen wir Ihnen, wie Sie diese Modelle für praktische Anwendungen trainieren und optimieren können.

1 # Create a convolutional neural network to classify MNIST images in PyTorch.

def __init__(self):

super(ConvNet, self).__init__()

self.conv1 = nn.Conv2d(1, 10, kernel_size=5)

self.conv2 = nn.Conv2d(10, 20, kernel_size=5)

self.conv2_drop = nn.Dropout2d()

self.fc1 = nn.Linear(320, 50)

self.fc2 = nn.Linear(50, 10)

def forward(self, x):

x = F.relu(F.max_pool2d(self.conv1(x), 2))

x = F.relu(F.max_pool2d(self.conv2_drop(self.conv2(x)), 2))

x = x.view(−1, 320)

x = F.relu(self.fc1(x))

x = F.dropout(x, training=self.training)

x = self.fc2(x)

return F.log_softmax(x, dim=1)

Abbildung 1-1: Ein Beispiel für GitHub’s Copilot-System, das infolge einer kurzen Beschreibung der Aufgabe einen Vorschlag für die gesamte Klasse liefert (alles, was auf class folgt, wurde automatisch generiert)

An wen richtet sich dieses Buch?


Dieses Buch richtet sich an Data Scientists und Machine Learning Engineers, die vielleicht schon von den jüngsten Durchbrüchen mit Transformern gehört haben, denen aber ein detaillierter Leitfaden fehlt, um diese Modelle an ihre eigenen Anwendungsfälle anzupassen. Das Buch ist nicht als Einführung in das Machine Learning zu verstehen. Wir gehen davon aus, dass Sie mit der Programmierung in Python vertraut sind und ein grundlegendes Verständnis von Deep-Learning-Frameworks wie PyTorch (https://pytorch.org) oder TensorFlow (https://www.tensorflow.org) haben. Wir gehen auch davon aus, dass Sie einige praktische Erfahrungen mit dem Trainieren von Modellen auf GPUs besitzen. Obwohl sich das Buch auf die PyTorch-API der Transformers-Bibliothek konzentriert, zeigen wir Ihnen in Kapitel 2, wie Sie alle Beispiele in TensorFlow überführen können.

Die folgenden Ressourcen bieten Ihnen eine gute Grundlage für die in diesem Buch behandelten Themen. Wir gehen davon aus, dass Ihr Kenntnisstand in etwa auf deren Niveau liegt:

  • Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow von Aurélien Géron (O’Reilly)
  • Deep Learning for Coders with fastai and PyTorch von Jeremy Howard und Sylvain Gugger (O’Reilly)
  • Natural Language Processing mit PyTorch von Delip Rao und Brian McMahan (O’Reilly)
  • Der Onlinekurs von Hugging Face (https://oreil.ly/n3MaR) des Open-Source-Teams von Hugging Face, auch auf Deutsch unter https://huggingface.co/course/de/

Was Sie lernen werden


Das Ziel dieses Buchs ist es, Sie in die Lage zu versetzen, Ihre eigenen Sprachanwendungen zu erstellen. Zu diesem Zweck konzentriert es sich auf praktische Anwendungsfälle und geht nur dort auf die theoretischen Aspekte ein, wo es notwendig ist. Der Ansatz des Buchs ist praxisorientiert, und wir empfehlen Ihnen dringend, die Codebeispiele selbst auszuprobieren.

Das Buch deckt alle wichtigen Anwendungen von Transformern im NLP ab, wobei jedes Kapitel (mit wenigen Ausnahmen) einer bestimmten Aufgabenstellung, verbunden mit einem realistischen Anwendungsfall und Datensatz, gewidmet ist. In jedem Kapitel werden außerdem einige zusätzliche Konzepte vorgestellt. Hier ist ein Überblick über die behandelten Aufgabenstellungen (engl. Tasks) und Themen:

  • Kapitel 1, Hallo Transformer, stellt Transformer vor und ordnet sie in den Kontext ein. Außerdem wird eine Einführung in das Hugging-Face-Ökosystem gegeben.
  • Kapitel 2, Textklassifizierung, konzentriert sich auf die Sentiment- bzw. Stimmungsanalyse – engl. Sentiment Analysis – (ein gängiges Textklassifizierungsproblem) und stellt die Trainer-Klasse vor.
  • Kapitel 3, Die Anatomie von Transformer-Modellen, geht näher auf die Transformer-Architektur ein, um Sie auf die folgenden Kapitel vorzubereiten.
  • Kapitel 4, Multilinguale Named Entity Recognition, konzentriert sich auf die Identifizierung von Entitäten bzw. Eigennamen in verschiedensprachigen Texten (eine Problemstellung im Rahmen der Klassifizierung von Tokens).
  • Kapitel 5, Textgenerierung, untersucht die Fähigkeit von Transformer-Modellen, Text zu generieren, und stellt Decodierungsstrategien und Maße zur Beurteilung der Qualität vor.
  • Kapitel 6, Automatische Textzusammenfassung (Summarization), befasst sich mit der komplexen Sequence-to-Sequence-Aufgabe der Textzusammenfassung und erläutert die für diese Aufgabe verwendeten Maße.
  • Kapitel 7, Question Answering, konzentriert sich auf den Aufbau eines rezensionsbasierten Fragebeantwortungssystems und stellt das Retrieval mit Haystack vor.
  • Kapitel 8, Effizientere Transformer-Modelle für die Produktion, befasst sich mit der Leistungsfähigkeit der Modelle. Wir werden die Aufgabe der Intentionserkennung – engl. Intent Detection – (eine Art von Sequenzklassifzierungsproblem) betrachten und Techniken wie Knowledge Distillation, Quantisierung und Pruning untersuchen.
  • Kapitel 9, Ansätze bei wenig bis gar keinen zur Verfügung stehenden gelabelten Daten, zeigt Möglichkeiten zur Verbesserung der Modellleistung auf, wenn keine großen Mengen an gelabelten Daten zur Verfügung stehen. Wir werden einen GitHub Issues Tagger erstellen und Techniken wie Zero-Shot-Klassifikation und Datenerweiterung (engl. Data Augmentation) untersuchen.
  • Kapitel 10, Transformer-Modelle von Grund auf trainieren, zeigt Ihnen, wie Sie ein Modell für die automatische Vervollständigung von Python-Quellcode von Grund auf erstellen und trainieren können. Wir befassen uns mit dem Streaming von Datensätzen und dem Training von Modellen in großem Maßstab und erstellen unseren eigenen Tokenizer.
  • Kapitel 11, Künftige Herausforderungen, untersucht die Herausforderungen, mit denen Transformer konfrontiert sind, und einige der spannenden neuen Richtungen, die die Forschung in diesem Bereich einschlägt.

Die Transformers-Bibliothek bietet mehrere Abstraktionsebenen für die Verwendung und das Training von Transformer-Modellen. Wir beginnen mit den benutzerfreundlichen Pipelines, die es uns ermöglichen, Textbeispiele durch die Modelle zu leiten und die Vorhersagen mit nur wenigen Codezeilen zu ermitteln. Anschließend befassen wir uns mit Tokenizern, Modellklassen und der...

Erscheint lt. Verlag 11.2.2023
Reihe/Serie Animals
Animals
Übersetzer Marcus Fraaß
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Schlagworte AI • Alexa • Artificial Intelligence • Chatbots • CL • Computerlinguistik • Deep learning • Google Translate • KI • Künstlichen Intelligenz • Linguistischen Datenverarbeitung • Neuronale Netze • NLP • Python • Siri • Spracherkennung • Text Mining
ISBN-10 3-96010-713-7 / 3960107137
ISBN-13 978-3-96010-713-2 / 9783960107132
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 28,1 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das Handbuch für Webentwickler

von Philip Ackermann

eBook Download (2023)
Rheinwerk Computing (Verlag)
37,43
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
33,68