Udostępnij za pośrednictwem


Generowanie sztucznej inteligencji za pomocą usługi Azure Database for PostgreSQL

DOTYCZY: Azure Database for PostgreSQL — serwer elastyczny

Generowanie sztucznej inteligencji odnosi się do klasy algorytmów sztucznej inteligencji, które mogą uczyć się na podstawie istniejącej zawartości multimedialnej i tworzyć nową zawartość. Utworzoną treść można dostosować za pomocą takich technik, jak wywołania i dostrajanie. Algorytmy generatywnej sztucznej inteligencji stosują określone modele uczenia maszynowego.

  • Transformatory i cykliczne sieci neuronowe (RN) na potrzeby generowania tekstu
  • Generatywne sieci przeciwników (GAN) i wariacyjne autoenkodery (VAE) na potrzeby generowania obrazów

Generowanie sztucznej inteligencji jest używane w syntezie obrazów i muzyki oraz w opiece zdrowotnej, wraz z typowymi zadaniami, takimi jak autouzupełnianie tekstu, podsumowanie tekstu i tłumaczenie. Techniki generowania sztucznej inteligencji umożliwiają korzystanie z funkcji dotyczących danych, takich jak klastrowanie i segmentacja, semantyczne wyszukiwanie i rekomendacje, modelowanie tematów, odpowiadanie na pytania i wykrywanie anomalii.

W poniższym filmie wideo pokazano użycie generowania sztucznej inteligencji z usługą Azure Database for PostgreSQL i pgvector rozszerzeniem, które może ułatwić zrozumienie pojęć w tym artykule.

OpenAI

OpenAI to organizacja badawcza i firma technologiczna znana ze swojej pionierskiej pracy w dziedzinie sztucznej inteligencji i uczenia maszynowego. Jego misją jest zapewnienie, że sztuczna inteligencja ogólna (AGI), która odnosi się do wysoce autonomicznych systemów sztucznej inteligencji, które mogą przewyższać ludzi w najbardziej cennej gospodarczo pracy, przynosi korzyści całej ludzkości. OpenAI przyniósł na rynek najnowocześniejsze modele generowania, takie jak GPT-3, GPT-3,5 i GPT-4.

Azure OpenAI to oferta usługi firmy Microsoft, która ułatwia tworzenie generowanych aplikacji sztucznej inteligencji przy użyciu platformy Azure. Usługa Azure OpenAI zapewnia klientom zaawansowaną sztuczną inteligencję języka przy użyciu biblioteki OpenAI GPT-4, GPT-3, Codex, DALL-E i Whisper z zabezpieczeniami i możliwościami przedsiębiorstwa platformy Azure. Azure OpenAI współpracuje z OpenAI w celu współtworzenia interfejsów API, aby zapewnić zgodność i płynne przejście między nimi.

Dzięki usłudze Azure OpenAI klienci uzyskują możliwości zabezpieczeń platformy Microsoft Azure podczas uruchamiania tych samych modeli co openAI. Usługa Azure OpenAI oferuje prywatną sieć, dostępność regionalną i odpowiedzialne filtrowanie zawartości sztucznej inteligencji.

Dowiedz się więcej o usłudze Azure OpenAI.

Model językowy o dużej skali

Model dużego języka (LLM) to typ modelu sztucznej inteligencji, który jest trenowany na ogromnych ilościach danych tekstowych w celu zrozumienia i wygenerowania języka ludzkiego. Maszyny LLM są zwykle oparte na architekturach uczenia głębokiego, takich jak transformatory. Są one znane ze swojej zdolności do wykonywania szerokiej gamy zadań interpretacji języka naturalnego i generowania. Usługa Azure OpenAI i chatGPT platformy OpenAI to przykłady ofert LLM.

Najważniejsze cechy i możliwości usługi LLM obejmują:

  • Skala: Skala maszyn LLM jest ogromna, jeśli chodzi o liczbę parametrów używanych przez ich architektury. Modele takie jak GPT-3 zawierają od setek milionów do bilionów parametrów, które umożliwiają przechwytywanie złożonych wzorców w języku.
  • Wstępne trenowanie: modele LLM są poddawane wstępnemu trenowaniu na dużym korpusie danych tekstowych z Internetu. To wstępne trenowanie umożliwia im naukę gramatyki, składni, semantyki i szerokiej gamy wiedzy na temat języka i świata.
  • Dostrajanie: Po wstępnym trenowaniu maszyny LLM mogą być dostosowane do określonych zadań lub domen z mniejszymi zestawami danych specyficznymi dla zadań. Ten proces dostrajania umożliwia dostosowanie ich do bardziej wyspecjalizowanych zadań, takich jak klasyfikacja tekstu, tłumaczenie, podsumowanie i odpowiadanie na pytania.

GPT

GPT to skrót od Generative Pretrained Transformer i odnosi się do serii dużych modeli językowych opracowanych przez firmę OpenAI. Modele GPT to sieci neuronowe, które są wstępnie wytrenowane na ogromnych ilościach danych z Internetu, dzięki czemu są w stanie zrozumieć i wygenerować tekst przypominający człowieka.

Poniżej przedstawiono omówienie głównych modeli GPT i ich kluczowych cech:

  • GPT-3: wydany w czerwcu 2020 r. i dobrze znany model z serii GPT. Ma 175 miliardów parametrów, co sprawia, że jest jednym z największych i najbardziej zaawansowanych modeli językowych istniejących.

    GPT-3 osiągnął niezwykłą wydajność w szerokim zakresie zadań interpretacji języka naturalnego i generowania. Może wykonywać zadania, takie jak uzupełnianie tekstu, tłumaczenie i odpowiadanie na pytania przy użyciu biegłości na poziomie człowieka.

    GPT-3 jest podzielony na różne rozmiary modelu, począwszy od najmniejszych (125 milionów parametrów) do największych (175 miliardów parametrów).

  • GPT-4: najnowszy model GPT z platformy OpenAI. Ma 1,76 bilionów parametrów.

Wektory

Wektor jest koncepcją matematyczną używaną w algebra liniowej i geometrii do reprezentowania ilości, które mają zarówno wielkość, jak i kierunek. W kontekście uczenia maszynowego wektory są często używane do reprezentowania punktów danych lub funkcji.

Kluczowe atrybuty i operacje wektorów obejmują:

  • Wielkość: długość lub rozmiar wektora, często określany jako norma, reprezentuje wielkość danych. Jest to nieujemna liczba rzeczywista.
  • Kierunek: Kierunek wskazuje orientację lub kąt ilości reprezentowanej przez nią w odniesieniu do punktu odniesienia lub układu współrzędnych.
  • Składniki: Wektor można rozkładać na jego składniki wzdłuż różnych osi lub wymiarów. W układzie współrzędnych kartezjańskich 2D wektor może być reprezentowany jako (x, y), gdzie x i y są jego składnikami wzdłuż osi x i osi y, odpowiednio. Wektor w n wymiarach jest n-krotką ({x1, x2… xn}).
  • Dodawanie i mnożenie skalarne: wektory można dodawać razem w celu utworzenia nowych wektorów i mogą być mnożone przez skalarne (liczby rzeczywiste).
  • Produkty kropkowe i produkty krzyżowe: Wektory można łączyć za pośrednictwem produktów kropkowych (produktów skalarnych) i produktów krzyżowych (produktów wektorowych).

Wektorowe bazy danych

pl-PL: Wektorowa baza danych, znana również jako system zarządzania bazą danych wektorowych (DBMS), to typ systemu bazy danych, który jest przeznaczony do wydajnego przechowywania, zarządzania i wyszukiwania danych wektorowych. Tradycyjne relacyjne bazy danych obsługują głównie dane ustrukturyzowane w tabelach, natomiast wektorowe bazy danych są zoptymalizowane pod kątem przechowywania i pobierania wielowymiarowych punktów danych reprezentowanych jako wektory. Te bazy danych są przydatne w przypadku aplikacji, w których są zaangażowane operacje, takie jak wyszukiwanie podobieństwa, dane geoprzestrzenne, systemy rekomendacji i klastrowanie.

Kluczowe cechy baz danych wektorów obejmują:

  • Przechowywanie wektorowe: bazy wektorowe przechowują punkty danych jako wektory o wielu wymiarach. Każdy wymiar reprezentuje funkcję lub atrybut punktu danych. Te wektory mogą reprezentować szeroką gamę typów danych, w tym dane liczbowe, podzielone na kategorie i tekstowe.
  • Wydajne operacje wektorów: bazy danych wektorów są zoptymalizowane pod kątem wykonywania operacji wektorowych, takich jak dodawanie wektorów, odejmowanie, produkty kropkowe i obliczenia podobieństwa (na przykład podobieństwo cosinus lub odległość euklidesowa).
  • Wydajne wyszukiwanie: wydajne mechanizmy indeksowania mają kluczowe znaczenie dla szybkiego pobierania podobnych wektorów. Bazy danych wektorów używają różnych mechanizmów indeksowania, aby umożliwić szybkie pobieranie.
  • Języki zapytań: Bazy danych wektorów udostępniają języki zapytań i interfejsy API dostosowane do operacji wektorów i wyszukiwania podobieństwa. Te języki zapytań umożliwiają użytkownikom efektywne wyrażanie kryteriów wyszukiwania.
  • Wyszukiwanie podobieństwa: bazy danych wektorów wyróżniają się w wyszukiwaniach podobieństw, które umożliwiają użytkownikom znajdowanie punktów danych podobnych do punktu zapytania. Ta cecha jest cenna w systemach wyszukiwania i rekomendacji.
  • Obsługa danych geoprzestrzennych: niektóre wektorowe bazy danych są przeznaczone do danych geoprzestrzennych, dzięki czemu są one odpowiednie dla aplikacji, takich jak usługi oparte na lokalizacji, systemy informacji geograficznej (GIS) i zadania związane z mapą.
  • Obsługa różnych typów danych: bazy danych wektorów mogą przechowywać różne typy danych, takie jak wektory, obrazy i tekst, oraz zarządzać nimi.

Baza danych PostgreSQL może uzyskać możliwości wektorowej bazy danych za pomocą pgvector rozszerzenia.

Osadzanie

Osadzanie to pojęcie w uczeniu maszynowym i przetwarzaniu języka naturalnego, które obejmuje reprezentowanie obiektów (takich jak wyrazy, dokumenty lub jednostki) jako wektory w przestrzeni wielowymiarowej.

Te wektory są często gęste. Oznacza to, że mają dużą liczbę wymiarów. Są one poznane za pomocą różnych technik, w tym sieci neuronowych. Osadzanie ma na celu przechwytywanie relacji semantycznych i podobieństw między obiektami w przestrzeni wektorów ciągłych.

Typowe typy osadzania to:

  • Word: W przetwarzaniu języka naturalnego osadzanie wyrazów reprezentuje wyrazy jako wektory. Każde słowo jest mapowane na wektor w przestrzeni wielowymiarowej, gdzie wyrazy o podobnych znaczeniach lub kontekstach znajdują się bliżej siebie. Word2Vec i GloVe to popularne techniki osadzania wyrazów.
  • Dokument: osadzanie dokumentów reprezentuje dokumenty jako wektory. Doc2Vec jest popularny w przypadku tworzenia osadzania dokumentów.
  • Obraz: Obrazy mogą być reprezentowane jako osadzenia, aby uchwycić cechy wizualne dla zadań, takich jak rozpoznawanie obiektów.

Osadzanie ma kluczowe znaczenie dla reprezentowania złożonych, wielowymiarowych danych w postaci, którą modele uczenia maszynowego mogą łatwo przetwarzać. Można je wytrenować na dużych zestawach danych, a następnie używać ich jako funkcji dla różnych zadań. LLM-y używają ich.

Usługa PostgreSQL może uzyskać możliwości generowania wektorowych osadzania za pomocą integracji rozszerzenia OpenAI rozszerzenia AI platformy Azure.

Scenariusze

Generowanie sztucznej inteligencji oferuje szeroką gamę aplikacji w różnych domenach i branżach, w tym technologii, opieki zdrowotnej, rozrywki, finansów, produkcji i nie tylko. Oto kilka typowych zadań, które użytkownicy mogą wykonać przy użyciu generowania sztucznej inteligencji:

  • Wyszukiwanie semantyczne:
    • Generowanie sztucznej inteligencji umożliwia semantyczne wyszukiwanie danych, a nie wyszukiwanie leksykograficzne. Ten ostatni szuka dokładnych dopasowań do zapytań, podczas gdy wyszukiwanie semantyczne wyszukuje zawartość spełniającą intencję zapytania wyszukiwania.
  • Czatboty i asystentzy wirtualni:
    • Twórz czatboty, które mogą angażować się w naturalne konwersacje kontekstowe; na przykład w celu zaimplementowania samodzielnej pomocy dla klientów.
  • Systemy rekomendacji:
    • Popraw algorytmy rekomendacji, generując osadzanie lub reprezentacje elementów lub użytkowników.
  • Klastrowanie i segmentacja:
    • Osadzenia generowane przez AI generatywną umożliwiają algorytmom klastrowanie danych, aby podobne dane były grupowane razem. To klastrowanie umożliwia scenariusze, takie jak segmentacja klientów, dzięki czemu reklamodawcy mogą kierować klientów w różny sposób na podstawie ich atrybutów.
  • Generowanie zawartości:
    • Generowanie tekstu ludzkiego dla aplikacji, takich jak czatboty, tworzenie powieści/poezji i zrozumienie języka naturalnego.
    • Twórz realistyczne obrazy, dzieła sztuki lub projekty grafiki, rozrywki i reklamy.
    • Generowanie filmów wideo, animacji lub efektów wideo dla filmów, gier i marketingu.
    • Generowanie muzyki.
  • Tłumaczenie:
    • Tłumaczenie tekstu między różnymi językami.
  • Podsumowania:
    • Podsumowanie długich artykułów lub dokumentów w celu wyodrębnienia kluczowych informacji.
  • Rozszerzanie danych:
    • Generowanie dodatkowych przykładów danych w celu rozszerzania i ulepszania zestawów danych szkoleniowych dla modeli uczenia maszynowego.
    • Tworzenie syntetycznych danych dla scenariuszy, które są trudne lub kosztowne do zebrania w świecie rzeczywistym, takie jak obrazowanie medyczne.
  • Odkrycie narkotyków:
    • Generowanie struktur molekularnych i przewidywanie potencjalnych kandydatów na leki do badań farmaceutycznych.
  • Programowanie gier:
    • Twórz zawartość gry, w tym poziomy, postacie i tekstury.
    • Generowanie realistycznych środowisk i krajobrazów w grze.
  • Denozowanie i uzupełnianie danych:
    • Wyczyść hałaśliwe dane, generując czyste próbki danych.
    • Wypełnij brakujące lub niekompletne dane w zestawach danych.