E-book details

Przetwarzanie języka naturalnego z wykorzystaniem transformerów. Budowanie aplikacji językowych za pomocą bibliotek Hugging Face

Przetwarzanie języka naturalnego z wykorzystaniem transformerów. Budowanie aplikacji językowych za pomocą bibliotek Hugging Face

Lewis Tunstall, Leandro von Werra, Thomas Wolf

Ebook

Modele transformacyjne zmieniły sposób przetwarzania języka naturalnego. Rewolucja rozpoczęła się w 2017 roku, kiedy zaprezentowano światu tę architekturę sieci neuronowej. Kolejnym przełomem okazały się repozytoria modeli, takie jak biblioteka Transformers zespołu Hugging Face, która umożliwia łatwe pobranie wstępnie wytrenowanego modelu, jego konfigurację i użytkowanie. Poznaj niesamowite możliwości: wszędzie tam, gdzie jest mowa lub tekst, istnieją zastosowania NLP.

Niezwykle przejrzysty i wnikliwy przewodnik po najważniejszej bibliotece współczesnego NLP. Polecam!

Christopher Manning, profesor Uniwersytetu Stanforda

Tę książkę docenią praktycy: inżynierowie uczenia maszynowego i analitycy danych, poszukujący sposobu praktycznego zaadaptowania modeli transformacyjnych do swoich potrzeb. Autorzy skupili się na praktycznej stronie tworzenia aplikacji językowych, a w poszczególnych rozdziałach ujęto wszystkie najważniejsze zastosowania transformerów w NLP. Zaczniesz od łatwych w użyciu potoków, następnie przystąpisz do pracy z tokenizatorami, klasami modeli i interfejsu Trainer API, pozwalającymi na trenowanie modeli do konkretnych zastosowań. Dowiesz się również, jak zastąpić interfejs Trainer biblioteką Accelerate, która zapewnia pełną kontrolę nad pętlą treningową i umożliwia trenowanie dużych transformerów od zera!

W książce:

  • tworzenie modeli transformacyjnych przeznaczonych do typowych zadań NLP
  • stosowanie transformerów do międzyjęzykowego uczenia transferowego
  • używanie transformerów w rzeczywistych scenariuszach
  • optymalizacja modeli technikami: destylacji, przycinania i kwantyzacji
  • trenowanie modeli transformacyjnych z wykorzystaniem wielu procesorów graficznych w środowisku rozproszonym

Autorzy książki są współtwórcami platformy Hugging Face.

Wybitna książka poświęcona wybitnej bibliotece - wzór przejrzystości!

Jeremy Howard, profesor Uniwersytetu Queensland

Słowo wstępne

Przedmowa

1. Witajcie, transformery

  • Model koder-dekoder
  • Mechanizmy atencji
  • Uczenie transferowe w NLP
  • Hugging Face Transformers - eliminowanie luki
  • Przegląd zastosowań transformerów
    • Klasyfikacja tekstu
    • Rozpoznawanie nazwanych encji
    • Odpowiadanie na pytania
    • Streszczanie
    • Tłumaczenie
    • Generowanie tekstu
  • Ekosystem Hugging Face
    • Hugging Face Hub
    • Hugging Face Tokenizers
    • Hugging Face Datasets
    • Hugging Face Accelerate
  • Główne wyzwania związane z transformerami
  • Podsumowanie

2. Klasyfikacja tekstu

  • Zbiór danych
    • Pierwsze spojrzenie na zbiory danych Hugging Face
    • Od zbiorów do ramek danych
    • Sprawdzanie rozkładu klas
    • Jak długie są nasze tweety?
  • Od tekstu do tokenów
    • Tokenizacja znakowa
    • Tokenizacja wyrazowa
    • Tokenizacja podwyrazowa
    • Tokenizacja całego zbioru danych
  • Trenowanie klasyfikatora tekstu
    • Transformery jako ekstraktory cech
    • Dostrajanie transformerów
  • Podsumowanie

3. Anatomia transformera

  • Architektura transformera
  • Koder
    • Samouwaga
    • Warstwa propagacji w przód
    • Dodawanie normalizacji warstw
    • Osadzenia pozycyjne
    • Dodawanie głowy klasyfikacyjnej
  • Dekoder
  • Poznaj transformery
    • Drzewo życia transformerów
    • Gałąź koderów
    • Gałąź dekoderów
    • Gałąź koderów-dekoderów
  • Podsumowanie

4. Wielojęzyczne rozpoznawanie nazwanych encji

  • Zbiór danych
  • Transformery wielojęzyczne
  • Bliższe spojrzenie na tokenizację
    • Potok tokenizatora
    • Tokenizator SentencePiece
  • Transformery w rozpoznawaniu nazwanych encji
  • Anatomia klasy modelu transformera
    • Ciała i głowy
    • Tworzenie niestandardowego modelu do klasyfikacji tokenów
    • Wczytywanie niestandardowego modelu
  • Tokenizacja tekstów na użytek NER
  • Miary efektywności
  • Dostrajanie modelu XLM-RoBERTa
  • Analiza błędów
  • Transfer międzyjęzykowy
    • Kiedy transfer zero-shot ma sens?
    • Dostrajanie na wielu językach jednocześnie
  • Interaktywne używanie widgetów modelu
  • Podsumowanie

5. Generowanie tekstu

  • Trudności z generowaniem spójnego tekstu
  • Dekodowanie z wyszukiwaniem zachłannym
  • Dekodowanie z wyszukiwaniem wiązkowym
  • Metody próbkowania
  • Próbkowanie top-k i próbkowanie jądrowe
  • Która metoda dekodowania jest najlepsza?
  • Podsumowanie

6. Streszczanie

  • Zbiór danych CNN/DailyMail
  • Potoki streszczania tekstu
    • Punkt odniesienia
    • GPT-2
    • T5
    • BART
    • PEGASUS
  • Porównanie różnych streszczeń
  • Mierzenie jakości generowanego tekstu
    • BLEU
    • ROUGE
  • Ewaluacja PEGASUS-a na zbiorze danych CNN/DailyMail
  • Trenowanie modelu streszczania
    • Ewaluacja PEGASUS-a na zbiorze SAMSum
    • Dostrajanie PEGASUS-a
    • Generowanie streszczeń dialogów
  • Podsumowanie

7. Odpowiadanie na pytania

  • Budowanie systemu QA opartego na recenzjach
    • Zbiór danych
    • Wyodrębnianie odpowiedzi z tekstu
    • Budowanie potoku QA z wykorzystaniem biblioteki Haystack
  • Ulepszanie potoku QA
    • Ewaluacja modułu wyszukującego
    • Ewaluacja modułu czytającego
    • Adaptacja dziedzinowa
    • Ewaluacja całego potoku QA
  • Wykraczanie poza ekstrakcyjne QA
  • Podsumowanie

8. Zwiększanie wydajności transformerów w środowisku produkcyjnym

  • Wykrywanie intencji jako studium przypadku
  • Tworzenie testu porównawczego
  • Zmniejszanie modeli poprzez destylację wiedzy
    • Destylacja wiedzy na użytek dostrajania
    • Destylacja wiedzy na użytek treningu wstępnego
    • Tworzenie trenera do destylacji wiedzy
    • Wybór dobrej inicjalizacji ucznia
    • Znajdowanie dobrych parametrów za pomocą Optuny
    • Testowanie wydestylowanego modelu
  • Przyspieszanie modeli za pomocą kwantyzacji
  • Testowanie skwantyzowanego modelu
  • Optymalizowanie inferencji za pomocą standardu ONNX i platformy ONNX Runtime
  • Rozrzedzanie modeli poprzez redukcję wag
    • Rozrzedzanie w głębokich sieciach neuronowych
    • Metody redukcji wag
  • Podsumowanie

9. Jak radzić sobie z nielicznymi etykietami lub brakiem etykiet

  • Budowanie narzędzia do tagowania problemów na GitHubie
    • Pozyskiwanie danych
    • Przygotowywanie danych
    • Tworzenie zbiorów treningowych
    • Tworzenie wycinków treningowych
  • Naiwny klasyfikator bayesowski jako model odniesienia
  • Praca bez etykiet
  • Praca z nielicznymi etykietami
    • Wzbogacanie danych
    • Używanie osadzeń jako tabeli wyszukiwania
    • Dostrajanie standardowego transformera
    • Uczenie kontekstowe i few-shot z podpowiedziami
  • Wykorzystywanie danych bez etykiet
    • Dostrajanie modelu językowego
    • Dostrajanie klasyfikatora
    • Metody zaawansowane
  • Podsumowanie

10. Trenowanie transformerów od podstaw

  • Duże zbiory danych i gdzie ich szukać
    • Wyzwania związane z budowaniem dużego korpusu
    • Budowanie własnego zbioru danych z kodem
    • Praca z dużymi zbiorami danych
    • Dodawanie zbiorów danych do witryny Hugging Face Hub
  • Budowanie tokenizatora
    • Model tokenizatora
    • Mierzenie efektywności tokenizatora
    • Tokenizator dla Pythona
    • Trenowanie tokenizatora
    • Zapisywanie niestandardowego tokenizatora w witrynie Hub
  • Trenowanie modelu od podstaw
    • Opowieść o celach treningu wstępnego
    • Inicjalizowanie modelu
    • Implementowanie klasy do wczytywania danych
    • Definiowanie pętli treningowej
    • Przebieg treningowy
  • Wyniki i analiza
  • Podsumowanie

11. Przyszłe kierunki

  • Skalowanie transformerów
    • Prawa skalowania
    • Wyzwania związane ze skalowaniem
    • Prosimy o uwagę!
    • Atencja rozrzedzona
    • Atencja linearyzowana
  • Nie tylko tekst
    • Wizja
    • Tabele
  • Transformery multimodalne
    • Przetwarzanie mowy na tekst
    • Wizja i tekst
  • Co dalej?
  • Title: Przetwarzanie języka naturalnego z wykorzystaniem transformerów. Budowanie aplikacji językowych za pomocą bibliotek Hugging Face
  • Author: Lewis Tunstall, Leandro von Werra, Thomas Wolf
  • Original title: Natural Language Processing with Transformers, Revised Edition
  • Translation: Grzegorz Werner
  • ISBN: 978-83-289-0712-6, 9788328907126
  • Date of issue: 2024-03-19
  • Format: Ebook
  • Item ID: przjet
  • Publisher: Helion