Google I/O to frajda! Nadrobić zaległości w sesjach TensorFlow Zobacz sesje

Przegląd rankingu TensorFlow

TensorFlow biblioteka ranking pomaga budować skalowalnego uczenia oceniającym maszynowych modeli uczenia się za pomocą ugruntowanych metod i technik z ostatnich badań. Model rankingu pobiera listę podobnych elementów, takich jak strony internetowe, i generuje zoptymalizowaną listę tych elementów, na przykład najbardziej odpowiednie dla najmniej istotnych stron. Nauka rangowania modeli ma zastosowanie w wyszukiwaniu, odpowiadaniu na pytania, systemach rekomendujących i systemach dialogowych. Można korzystać z tej biblioteki w celu przyspieszenia budowy modelu rankingową dla danej aplikacji przy użyciu API Keras . Biblioteka Ranking udostępnia również narzędzia przepływu pracy, które ułatwiają skalowanie implementacji modelu w celu efektywnej pracy z dużymi zestawami danych przy użyciu strategii przetwarzania rozproszonego.

W tym omówieniu przedstawiono krótkie podsumowanie procesu uczenia się oceniania modeli za pomocą tej biblioteki, przedstawiono niektóre zaawansowane techniki obsługiwane przez tę bibliotekę oraz omówiono narzędzia przepływu pracy dostarczane do obsługi przetwarzania rozproszonego dla aplikacji oceniających.

Rozwijanie nauki pozycjonowania modeli

Budowanie modelu za pomocą biblioteki TensorFlow Ranking przebiega zgodnie z następującymi ogólnymi krokami:

  1. Określenie funkcji punktacji za pomocą warstwy Keras ( tf.keras.layers )
  2. Definiowanie metryk, które chcesz użyć do oceny, takich jak tfr.keras.metrics.NDCGMetric
  3. Określenie funkcji, takich jak utrata tfr.keras.losses.SoftmaxLoss
  4. Skompilować model z tf.keras.Model.compile() i przeszkolić go z danymi

Poleca filmy poradnik przeprowadzi Cię przez podstawy budowania nauki do rangi modelu z tej biblioteki. Sprawdź Distributed support rankingową sekcję Więcej informacji na temat budowy dużych modeli rankingu.

Zaawansowane techniki rankingowe

Biblioteka TensorFlow Ranking zapewnia wsparcie dla stosowania zaawansowanych technik rankingowych zbadanych i wdrożonych przez badaczy i inżynierów Google. Poniższe sekcje zawierają omówienie niektórych z tych technik i sposobu rozpoczęcia korzystania z nich w aplikacji.

Zamawianie danych wejściowych listy BERT

Biblioteka ranking zapewnia implementację TFR-Bert, architekturze punktacji że pary BERT z LTR modelowania zoptymalizować kolejność wejść listy. Jako zastosowanie przykładem takiego podejścia, należy rozważyć zapytania oraz listę dokumentów N, które chcesz rangi w odpowiedzi na to pytanie. Zamiast uczyć reprezentację BERT zdobył niezależnie poprzek <query, document> par, modele LTR zastosować rankingową utraty aby wspólnie uczyć reprezentację BERT, który maksymalizuje użyteczność całego rankingu listy w odniesieniu do etykiet gruntu prawdy. Poniższy rysunek ilustruje tę technikę:

Wykres BERT rankingu TensorFlow
Figura 1: TensorFlow Ranking BERT schemat przedstawiający architekturę wspólny wzór LTR po liście n dokumentów wykorzystaniem reprezentacji BERT poszczególnych <zapytanie, dokumentu> parami.

Podejście to spłaszcza listę dokumentów do rangi w odpowiedzi na zapytanie na listę <query, document> krotki. Te krotki są następnie wprowadzane do wstępnie wytrenowanego modelu języka BERT. Wyciągnięte wyjścia BERT dla całej listy dokumentów są następnie wspólnie dostrojone z jednym z wyspecjalizowanych strat rankingowych dostępnych w TensorFlow rankingu.

Architektura ta może przynieść znaczną poprawę wydajności w pretrained modelu języka, produkcji state-of-the-art wydajności dla kilku popularnych zadań rankingowych, zwłaszcza gdy wiele modeli językowych pretrained są połączone. Aby uzyskać więcej informacji na temat tej techniki można znaleźć w powiązanych badań . Można zacząć od prostego wdrożenia w TensorFlow Ranking przykładowy kod .

Uogólnione modele addytywne rankingu neuronowego (GAM)

W przypadku niektórych systemów rankingowych, takich jak ocena kwalifikowalności pożyczki, kierowanie reklam lub wytyczne dotyczące leczenia, przejrzystość i możliwość wyjaśnienia mają kluczowe znaczenie. Stosowania uogólnionych modeli addytywnych (Gams) z czynnikami dobrze rozumianym ciężkości mogą pomóc ranking modelu bardziej wytłumaczalne i interpretacji.

GAM zostały gruntownie przestudiowane za pomocą zadań regresji i klasyfikacji, ale mniej jasne jest, jak zastosować je do aplikacji rankingowej. Na przykład, chociaż GAM można po prostu zastosować do modelowania każdego pojedynczego elementu na liście, modelowanie zarówno interakcji elementów, jak i kontekstu, w którym te elementy są klasyfikowane, jest trudniejszym problemem. TensorFlow Ranking zapewnia implementację nerwowej rankingowej GAM , przedłużenie uogólnionych modeli addytywnych przeznaczonych do rangi problemów. TensorFlow Ranking realizacja od Gams pozwala dodać konkretną wagę do cech danego modelu.

Poniższa ilustracja systemu rankingowego hoteli wykorzystuje trafność, cenę i odległość jako główne cechy rankingu. W tym modelu zastosowano technikę GAM, aby inaczej ważyć te wymiary w zależności od kontekstu urządzenia użytkownika. Na przykład, jeśli zapytanie pochodziło z telefonu, odległość jest ważniejsza, zakładając, że użytkownicy szukają pobliskiego hotelu.

Uogólniony model dodatków dla przykładu rankingu
Rysunek 2: Stosowanie neuronowej rankingową GAM dla lokalnego wyszukiwania. Dla każdej cechy wejściowej, takiej jak cena lub odległość, model podrzędny tworzy wynik cząstkowy, który można zbadać, zapewniając przejrzystość. Funkcje kontekstowe, takie jak typ urządzenia użytkownika, mogą służyć do określania wag wyników podmodeli.

Aby uzyskać więcej informacji na temat korzystania z modelami Gams rankingu, zobacz powiązanych badań . Można zacząć z przykładowego wdrożenia tej techniki w rankingu TensorFlow przykładowy kod .

Wsparcie rankingu rozproszonego

TensorFlow Ranking jest przeznaczony do kompleksowego budowania systemów rankingowych na dużą skalę: w tym przetwarzania danych, budowania modeli, oceny i wdrażania produkcyjnego. Może obsługiwać niejednorodną gęste i rzadkie cechy, skaluje się do milionów punktów danych i jest zaprojektowany do obsługi rozproszonej szkolenia dla dużych rankingu aplikacji.

Schemat klas TensorFlow Ranking
Figura 3 przedstawia diagram TensorFlow Ranking klasy obsługujące przetwarzania rozproszonego. Zielone moduły można dostosować do swojego modelu rankingowego.

Biblioteka zapewnia zoptymalizowaną architekturę potoku rankingu, aby uniknąć powtarzającego się, szablonowego kodu i tworzyć rozwiązania rozproszone, które można zastosować od trenowania modelu rankingu do jego obsługi. W rankingu podpory rurociągów Większość TensorFlow za rozproszonych strategii , w tym MirroredStrategy , TPUStrategy , MultiWorkerMirroredStrategy i ParameterServerStrategy . Ranking rurociąg można wyeksportować wyszkolony Ranking model w tf.saved_model formacie, który obsługuje kilka wejściowych podpisów .. Ponadto rurociąg Ranking dostarcza użytecznych funkcji zwrotnych, w tym wsparcie dla TensorBoard wizualizacji danych i BackupAndRestore aby odzyskać od niepowodzeń w długim biegu operacje szkoleniowe.

Rankingu asyst biblioteczne z budowy rozproszonego realizację szkolenia przez dostarczenie zestawu tfr.keras.pipeline zajęciach, które odbywają model budowniczy, konstruktor danych oraz hiperparametrów jako wejście. Keras na bazie tfr.keras.ModelBuilder klasa pozwala na stworzenie modelu rozproszonego przetwarzania i współpracuje z rozciągliwego InputCreator, Preprocessor i klas strzelec:

W TensorFlow Klasyfikacja klas rurociągów również praca z DatasetBuilder skonfigurować szkoleniowe dane, które mogą zawierać hiperparametrów . Wreszcie sam rurociąg może zawierać zestaw hiperparametrów jako PipelineHparams obiektu.

Zacznij korzystać z budowy rozproszonych rankingu modeli za pomocą rozproszonego rankingową samouczek .