Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
VAN TOEPASSING OP: Azure Database for PostgreSQL - Flexibele server
Generatieve AI verwijst naar een klasse AI-algoritmen die kunnen leren van bestaande multimedia-inhoud en nieuwe inhoud kunnen produceren. De geproduceerde inhoud kan worden aangepast via technieken zoals prompts en fine-tuning. Generatieve AI-algoritmen passen specifieke machine learning-modellen toe:
- Transformatoren en terugkerende neurale netwerken (RNN's) voor het genereren van tekst
- Generatieve adversariële netwerken (GANs) en variationale auto-encoders (VAEs) voor het genereren van afbeeldingen
Generatieve AI wordt gebruikt in afbeeldings- en muzieksynthese en in de gezondheidszorg, samen met algemene taken zoals automatisch aanvullen van tekst, samenvatting van tekst en vertaling. Generatieve AI-technieken maken functies mogelijk op gegevens zoals clustering en segmentatie, semantische zoekopdrachten en aanbevelingen, onderwerpmodellering, vraagantwoorden en anomaliedetectie.
In de volgende video ziet u het gebruik van generatieve AI met Azure Database for PostgreSQL en de pgvector
extensie, waarmee u inzicht krijgt in de concepten in dit artikel.
OpenAI
OpenAI is een onderzoeksorganisatie en technologiebedrijf dat bekend staat om zijn pionierswerk op het gebied van AI en machine learning. Haar missie is ervoor te zorgen dat kunstmatige algemene intelligentie (AGI), die verwijst naar zeer autonome AI-systemen die mensen in het meest economisch waardevolle werk kunnen verbeteren, alle menselijkheid ten goede komen. OpenAI bracht state-of-the-art generatieve modellen zoals GPT-3, GPT-3.5 en GPT-4 op de markt.
Azure OpenAI is een Microsoft-serviceaanbod voor het bouwen van generatieve AI-toepassingen met behulp van Azure. Azure OpenAI biedt klanten geavanceerde taal-AI met OpenAI GPT-4, GPT-3, Codex-, DALL-E- en Whisper-modellen, met de beveiligings- en bedrijfsmogelijkheden van Azure. Azure OpenAI ontwikkelen de API's samen met OpenAI om compatibiliteit en een soepele overgang van het ene naar het andere te garanderen.
Met Azure OpenAI krijgen klanten de beveiligingsmogelijkheden van Microsoft Azure terwijl ze dezelfde modellen uitvoeren als OpenAI. Azure OpenAI biedt privénetwerken, regionale beschikbaarheid en verantwoordelijke AI-inhoudsfiltering.
Meer informatie over Azure OpenAI.
Model voor grote talen
Een LLM (Large Language Model) is een type AI-model dat is getraind op enorme hoeveelheden tekstgegevens om menselijke taal te begrijpen en te genereren. LLM's zijn doorgaans gebaseerd op deep learning-architecturen, zoals transformatoren. Ze zijn bekend om hun vermogen om een breed scala aan natuurlijke taalkennis en generatietaken uit te voeren. De Azure OpenAI-service en de ChatGPT van OpenAI zijn voorbeelden van LLM-aanbiedingen.
Belangrijke kenmerken en mogelijkheden van LLM's zijn:
- Schaal: De schaal van LLM's is enorm, wat betreft het aantal parameters dat hun architecturen gebruiken. Modellen zoals GPT-3 bevatten van honderden miljoenen tot biljoenen parameters, waardoor ze complexe patronen in de taal kunnen vastleggen.
- Voortraining: LLM's worden vooraf getraind op een groot aantal tekstgegevens van internet. Met deze voortraining kunnen ze grammatica, syntaxis, semantiek en een breed scala aan kennis over taal en de wereld leren.
- Afstemming: Na vooraf trainen kunnen LLM's worden afgestemd op specifieke taken of domeinen met kleinere, taakspecifieke gegevenssets. Met dit afstemmingsproces kunnen ze zich aanpassen aan meer gespecialiseerde taken, zoals tekstclassificatie, vertaling, samenvatting en antwoord op vragen.
GPT
GPT staat voor Generatieve Pretrained Transformer en verwijst naar een reeks grote taalmodellen die OpenAI heeft ontwikkeld. De GPT-modellen zijn neurale netwerken die vooraf zijn getraind op grote hoeveelheden gegevens van internet, zodat ze in staat zijn om menselijke tekst te begrijpen en te genereren.
Hier volgt een overzicht van de belangrijkste GPT-modellen en hun belangrijkste kenmerken:
GPT-3: Uitgebracht in juni 2020 en een bekend model in de GPT-serie. Het heeft 175 miljard parameters, wat het een van de grootste en krachtigste taalmodellen die bestaan maakt.
GPT-3 bereikte opmerkelijke prestaties op een breed scala aan natuurlijke taalbegrip en generatietaken. Het kan taken uitvoeren zoals het voltooien van tekst, vertaling en het beantwoorden van vragen op menselijk niveau.
GPT-3 is onderverdeeld in verschillende modelgrootten, variërend van de kleinste (125 miljoen parameters) tot de grootste (175 miljard parameters).
GPT-4: Het nieuwste GPT-model van OpenAI. Het heeft 1,76 biljoen parameters.
Vectoren
Een vector is een wiskundig concept dat wordt gebruikt in lineaire algebra en geometrie om hoeveelheden weer te geven die zowel grootte als richting hebben. In de context van machine learning worden vectoren vaak gebruikt om gegevenspunten of functies weer te geven.
Belangrijke kenmerken en bewerkingen van vectoren zijn:
- Grootte: De lengte of grootte van een vector, vaak aangeduid als de norm, vertegenwoordigt de grootte van de gegevens. Het is een niet-negatief reëel getal.
- Richting: De richting geeft de richting of hoek aan van de hoeveelheid die het voorstelt, in relatie tot een referentiepunt of coördinatensysteem.
-
Componenten: Een vector kan worden uitgesplitsd in de onderdelen langs verschillende assen of dimensies. In een 2D Cartesisch coördinaatsysteem kan een vector worden weergegeven als (x, y), waarbij x en y de onderdelen zijn langs respectievelijk de x-as en y-as. Een vector in n dimensies is een n-tuple (
{x1, x2… xn}
). - Optellen en scalaire vermenigvuldiging: Vectoren kunnen samen worden opgeteld om nieuwe vectoren te vormen en ze kunnen worden vermenigvuldigd met scalaire waarden (reële getallen).
- Puntproducten en kruisproducten: Vectoren kunnen worden gecombineerd via puntproducten (scalaire producten) en kruisproducten (vectorproducten).
Vectordatabases
Een vectordatabase, ook wel een vectordatabasebeheersysteem (DBMS) genoemd, is een type databasesysteem dat is ontworpen voor het efficiënt opslaan, beheren en opvragen van vectorgegevens. Traditionele relationele databases verwerken voornamelijk gestructureerde gegevens in tabellen, terwijl vectordatabases zijn geoptimaliseerd voor de opslag en het ophalen van multidimensionale gegevenspunten die worden weergegeven als vectoren. Deze databases zijn handig voor toepassingen waarbij bewerkingen zoals overeenkomsten zoeken, georuimtelijke gegevens, aanbevelingssystemen en clustering betrokken zijn.
Belangrijke kenmerken van vectordatabases zijn:
- Vectoropslag: Vectordatabases slaan gegevenspunten op als vectoren met meerdere dimensies. Elke dimensie vertegenwoordigt een functie of kenmerk van het gegevenspunt. Deze vectoren kunnen een breed scala aan gegevenstypen vertegenwoordigen, waaronder numerieke, categorische en tekstuele gegevens.
- Efficiënte vectorbewerkingen: Vectordatabases zijn geoptimaliseerd voor het uitvoeren van vectorbewerkingen, zoals vector optellen, aftrekken, puntproducten en overeenkomstenberekeningen (bijvoorbeeld cosinus-gelijkenis of Euclidean-afstand).
- Efficiënt zoeken: Efficiënte indexeringsmechanismen zijn cruciaal voor het snel ophalen van vergelijkbare vectoren. Vectordatabases maken gebruik van verschillende indexeringsmechanismen om snel op te halen.
- Querytalen: Vectordatabases bieden querytalen en API's die zijn afgestemd op vectorbewerkingen en overeenkomsten. Met deze querytalen kunnen gebruikers hun zoekcriteria efficiënt uitdrukken.
- Overeenkomsten zoeken: Vectordatabases excelleren bij zoekopdrachten naar overeenkomsten, waardoor gebruikers gegevenspunten kunnen vinden die vergelijkbaar zijn met een opgegeven querypunt. Dit kenmerk is waardevol in zoek- en aanbevelingssystemen.
- Georuimtelijke gegevensverwerking: Sommige vectordatabases zijn ontworpen voor georuimtelijke gegevens, zodat ze geschikt zijn voor toepassingen zoals locatieservices, geografische informatiesystemen (GIS's) en toewijzingsgerelateerde taken.
- Ondersteuning voor diverse gegevenstypen: Vectordatabases kunnen verschillende typen gegevens opslaan en beheren, zoals vectoren, afbeeldingen en tekst.
PostgreSQL kan de mogelijkheden van een vectordatabase verkrijgen met behulp van de pgvector
extensie.
Insluitingen
Insluitingen zijn een concept in machine learning en natuurlijke taalverwerking waarbij objecten (zoals woorden, documenten of entiteiten) als vectoren in een multidimensionale ruimte worden weergegeven.
Deze vectoren zijn vaak dicht. Dat wil gezegd, ze hebben een groot aantal dimensies. Ze worden geleerd via verschillende technieken, waaronder neurale netwerken. Insluitingen zijn bedoeld om semantische relaties en overeenkomsten tussen objecten in een continue vectorruimte vast te leggen.
Veelvoorkomende typen insluitingen zijn:
-
Word: In natuurlijke taalverwerking vertegenwoordigen woordembedingen woorden als vectoren. Elk woord wordt toegewezen aan een vector in een hoogdimensionale ruimte, waarbij woorden met vergelijkbare betekenissen of contexten zich dichter bij elkaar bevinden.
Word2Vec
enGloVe
zijn populaire technieken voor het insluiten van woorden. -
Document: Document embeddings vertegenwoordigen documenten als vectoren.
Doc2Vec
is populair voor het maken van document-insluitingen. - Afbeelding: Afbeeldingen kunnen worden weergegeven als insluitingen om visuele functies vast te leggen voor taken zoals objectherkenning.
Insluitingen zijn centraal in het weergeven van complexe, hoogdimensionale gegevens in een vorm die machine learning-modellen eenvoudig kunnen verwerken. Ze kunnen worden getraind op grote gegevenssets en vervolgens worden gebruikt als functies voor verschillende taken. LLM's gebruiken ze.
PostgreSQL kan de mogelijkheden krijgen van het genereren van vector-insluitingen met de Azure AI-extensie OpenAI-integratie.
Scenario's
Generatieve AI heeft een breed scala aan toepassingen in verschillende domeinen en branches, waaronder technologie, gezondheidszorg, entertainment, financiën, productie en meer. Hier volgen enkele algemene taken die mensen kunnen uitvoeren met behulp van generatieve AI:
-
Semantische zoekopdracht:
- Met Generatieve AI kunt u semantische zoekopdrachten uitvoeren op gegevens in plaats van lexicografische zoekopdrachten. De laatste zoekt naar exacte overeenkomsten met query's, terwijl met semantische zoekopdracht inhoud wordt gevonden die voldoet aan de intentie van de zoekquery.
- Chatbots en virtuele assistenten:
- Chatbots ontwikkelen die kunnen deelnemen aan natuurlijke contextbewuste gesprekken; Bijvoorbeeld om zelfhulp te implementeren voor klanten.
- Aanbevelingssystemen:
- Verbeter aanbevelingsalgoritmen door insluitingen of weergaven van items of gebruikers te genereren.
- Clustering en segmentatie:
- Door AI gegenereerde insluitingen staan clusteringalgoritmen toe om gegevens te clusteren, zodat vergelijkbare gegevens worden gegroepeerd. Deze clustering maakt scenario's zoals klantsegmentatie mogelijk, waardoor adverteerders hun klanten op een andere manier kunnen richten op basis van hun kenmerken.
- Inhoudsgeneratie:
- Genereer menselijke tekst voor toepassingen zoals chatbots, creatie van nieuwe/poëzie en natuurlijke taalkennis.
- Maak realistische afbeeldingen, illustraties of ontwerpen voor afbeeldingen, entertainment en reclame.
- Genereer video's, animaties of video-effecten voor films, games en marketing.
- Genereer muziek.
- Vertaling:
- Tekst vertalen van de ene taal in een andere.
- Samenvatting:
- Lange artikelen of documenten samenvatten om belangrijke informatie te extraheren.
- Gegevensvergroting:
- Genereer extra gegevensvoorbeelden om trainingsgegevenssets voor machine learning-modellen uit te breiden en te verbeteren.
- Maak synthetische gegevens voor scenario's die moeilijk of duur zijn om te verzamelen in de echte wereld, zoals medische imaging.
- Drugsdetectie:
- Genereer moleculaire structuren en voorspel potentiële kandidaten voor farmaceutisch onderzoek.
- Gameontwikkeling:
- Maak game-inhoud, inclusief niveaus, tekens en patronen.
- Genereer realistische in-game omgevingen en landschappen.
- Gegevensontruisen en aanvullen:
- Maak lawaaierige gegevens op door schone gegevensvoorbeelden te genereren.
- Vul ontbrekende of onvolledige gegevens in gegevenssets in.
Gerelateerde inhoud
- Azure Database for PostgreSQL integreren met Azure Cognitive Services
- Generatieve AI met Azure Database for PostgreSQL
- Azure Database for PostgreSQL integreren met Azure Machine Learning
- Vector embeddings genereren met Azure OpenAI in Azure Database for PostgreSQL
- Azure AI-extensie in Azure Database for PostgreSQL
- Een aanbevelingssysteem maken met Azure Database for PostgreSQL en Azure OpenAI
- Een semantische zoekopdracht maken met Azure Database for PostgreSQL en Azure OpenAI
- Pgvector inschakelen en gebruiken in Azure Database for PostgreSQL