Generativ AI med Azure Database for PostgreSQL – flexibel server
GÄLLER FÖR: Azure Database for PostgreSQL – flexibel server
Generativ AI (GenAI) refererar till en klass med artificiell intelligens-algoritmer som kan lära sig av befintligt multimediainnehåll och producera nytt innehåll. Det producerade innehållet kan anpassas med hjälp av tekniker som frågor och finjustering. GenAI-algoritmer tillämpar specifika Machine Learning-modeller:
- Transformatorer och återkommande neurala nätverk (RNN) för textgenerering.
- Generative Adversarial Networks (GAN) för bildgenerering.
- Variantal Autoencoders (VAEs) för bildgenerering osv.
GenAI används i bild- och musiksyntes, sjukvård, vanliga uppgifter som automatisk komplettering av text, textsammanfattning och översättning. GenAI-tekniker möjliggör funktioner för data som klustring och segmentering, semantisk sökning och rekommendationer, ämnesmodellering, frågesvar och avvikelseidentifiering.
OpenAI
OpenAI är en ai-forskningsorganisation och ett teknikföretag som är känt för sitt banbrytande arbete inom artificiell intelligens och maskininlärning. Deras uppdrag är att säkerställa att artificiell allmän intelligens (AGI), som refererar till mycket autonoma AI-system som kan överträffa människor i mest ekonomiskt värdefullt arbete, gynnar hela mänskligheten. OpenAI kom till marknaden state-of-the-art generativa modeller som GPT-3, GPT-3.5 och GPT-4 (Generative Pretrained Transformer).
Azure OpenAI är Azures LLM-tjänsterbjudande som hjälper dig att skapa GenAI-program med Hjälp av Azure. Azure OpenAI Service ger kunderna avancerade språk-AI med OpenAI GPT-4-, GPT-3-, Codex-, DALL-E- och Whisper-modeller med säkerhet och företagslöfte för Azure. Azure OpenAI utvecklar API:erna tillsammans med OpenAI, vilket säkerställer kompatibilitet och en smidig övergång från en till en annan.
Med Azure OpenAI får kunderna säkerhetsfunktionerna i Microsoft Azure när de kör samma modeller som OpenAI. Azure OpenAI erbjuder privata nätverk, regional tillgänglighet och ansvarsfull AI-innehållsfiltrering.
Läs mer om Azure OpenAI.
Stor språkmodell (LLM)
En stor språkmodell (LLM) är en typ av AI-modell som tränats på enorma mängder textdata för att förstå och generera mänskligt språk. LLM:er baseras vanligtvis på djupinlärningsarkitekturer, till exempel Transformatorer, och de är kända för sin förmåga att utföra en mängd olika uppgifter för förståelse och generering av naturligt språk. OpenAI:s GPT, som driver ChatGPT, är en LLM.
Viktiga egenskaper och funktioner i stora språkmodeller är:
- Skala: Enorm skala när det gäller antalet parametrar som används i LLM-arkitekturen är karakteristiska för dem. Modeller som GPT-3 (Generative Pretrained Transformer 3) innehåller från hundratals miljoner till biljoner parametrar, vilket gör att de kan avbilda komplexa mönster på språket.
- Förträning: LLM:er genomgår förträning på en stor mängd textdata från Internet, vilket gör det möjligt för dem att lära sig grammatik, syntax, semantik och en mängd olika kunskaper om språk och världen.
- Finjustering: Efter förträningen kan LLM:er finjusteras för specifika uppgifter eller domäner med mindre, uppgiftsspecifika datamängder. Med den här finjusteringsprocessen kan de anpassa sig till mer specialiserade uppgifter, till exempel textklassificering, översättning, sammanfattning och frågesvar.
GPT
GPT står för Generative Pretrained Transformer, och det refererar till en serie stora språkmodeller som utvecklats av OpenAI. GPT-modellerna är neurala nätverk som tränas på stora mängder data från Internet, vilket gör att de kan förstå och generera mänsklig text.
Här är en översikt över de viktigaste GPT-modellerna och deras viktigaste egenskaper:
GPT-3: Släpptes i juni 2020, är en välkänd modell i GPT-serien. Den har 175 miljarder parametrar, vilket gör den till en av de största och mest kraftfulla språkmodellerna som finns. GPT-3 uppnådde anmärkningsvärda prestanda på en mängd olika uppgifter för förståelse och generering av naturligt språk. Den kan utföra uppgifter som textkomplettering, översättning, frågesvar med mera med flyt på mänsklig nivå. GPT-3 är indelat i olika modellstorlekar, allt från de minsta (125 miljoner parametrarna) till de största (175B-parametrarna).
GPT-4: Är den senaste GPT-modellen från OpenAI, har 1,76 biljoner parametrar.
Vektorer
En vektor är ett matematiskt begrepp som används i linjär algebra och geometri för att representera kvantiteter som har både storlek och riktning. När det gäller maskininlärning används vektorer ofta för att representera datapunkter eller funktioner.
Här följer några viktiga vektorattribut och åtgärder:
- Storlek: Längden eller storleken på en vektor, som ofta betecknas som dess norm, representerar storleken på de data som den representerar. Det är ett icke-negativt reellt tal.
- Riktning: Anger orienteringen eller vinkeln för den kvantitet som den representerar i förhållande till en referenspunkt eller ett koordinatsystem.
- Komponenter: En vektor kan delas upp i dess komponenter längs olika axlar eller dimensioner. I ett 2D-kartesiskt koordinatsystem kan en vektor representeras som (x, y), där x och y är dess komponenter längs x-axeln respektive y-axeln. En vektor i n dimensioner är en n-tuppeln {x1, x2... xn}.
- Addition och Scalar Multiplication: Vektorer kan läggas till tillsammans för att bilda nya vektorer, och de kan multipliceras med skalärer (verkliga tal).
- Punktprodukt och korsprodukt: Vektorer kan kombineras med punktprodukter (skalär produkt) och korsprodukter (vektorprodukt).
Vektordatabaser
En vektordatabas, även känd som ett vektordatabashanteringssystem (DBMS), är en typ av databassystem som är utformat för att lagra, hantera och fråga vektordata effektivt. Traditionella relationsdatabaser hanterar främst strukturerade data i tabeller, medan vektordatabaser är optimerade för lagring och hämtning av flerdimensionella datapunkter som representeras som vektorer. Dessa databaser är användbara för program där åtgärder som likhetssökningar, geospatiala data, rekommendationssystem och klustring ingår.
Det här är några viktiga egenskaper för vektordatabaser:
- Vektorlagring: Vektordatabaser lagrar datapunkter som vektorer med flera dimensioner. Varje dimension representerar en funktion eller ett attribut för datapunkten. Dessa vektorer kan representera en mängd olika datatyper, inklusive numeriska, kategoriska och textbaserade data.
- Effektiva vektoråtgärder: Vektordatabaser är optimerade för att utföra vektoråtgärder, till exempel vektortillägg, subtraktion, punktprodukter och likhetsberäkningar (till exempel cosinuslikhet eller Euklidiska avstånd).
- Effektiv sökning: Effektiva indexeringsmekanismer är avgörande för snabb hämtning av liknande vektorer. Vektordatabaser använder olika indexeringsmekanismer för att aktivera snabb hämtning.
- Frågespråk: De tillhandahåller frågespråk och API:er som är skräddarsydda för vektoråtgärder och likhetssökning. Dessa frågespråk gör det möjligt för användare att uttrycka sina sökvillkor effektivt.
- Likhetssökning: De utmärker sig vid likhetssökningar, så att användarna kan hitta datapunkter som liknar en viss frågepunkt. Den här egenskapen är värdefull i sök- och rekommendationssystem.
- Geospatial datahantering: Vissa vektordatabaser är utformade för geospatiala data, vilket gör dem väl lämpade för program som platsbaserade tjänster, GIS (geografiska informationssystem) och kartrelaterade uppgifter.
- Stöd för olika datatyper: Vektordatabaser kan lagra och hantera olika typer av data, inklusive vektorer, bilder, text med mera.
PostgreSQL kan få funktionerna i en vektordatabas med hjälp av pgvector
tillägget.
Inbäddningar
Inbäddningar är ett begrepp inom maskininlärning och bearbetning av naturligt språk (NLP) som innebär att representera objekt, till exempel ord, dokument eller entiteter, som vektorer i ett flerdimensionellt utrymme. Dessa vektorer är ofta kompakta, vilket innebär att de har ett stort antal dimensioner, och de lärs genom olika tekniker, inklusive neurala nätverk. Inbäddningar syftar till att fånga semantiska relationer och likheter mellan objekt i ett kontinuerligt vektorutrymme.
Vanliga typer av inbäddningar är:
- word: I NLP representerar ord inbäddningar ord som vektorer. Varje ord mappas till en vektor i ett högdimensionellt utrymme, där ord med liknande betydelser eller kontexter ligger närmare varandra.
Word2Vec
ochGloVe
är populära ord inbäddningstekniker. - dokument: Dessa representerar dokument som vektorer.
Doc2Vec
används populärt för att skapa inbäddningar av dokument. - bild: Bilder kan representeras som inbäddningar för att avbilda visuella funktioner, vilket möjliggör uppgifter som objektigenkänning.
Inbäddningar är centrala för att representera komplexa, högdimensionella data i en form som enkelt kan bearbetas av maskininlärningsmodeller. De kan tränas på stora datamängder och sedan användas som funktioner för olika uppgifter och används av LLM:er.
PostgreSQL kan få funktioner för att generera vektorinbäddningar med Azure AI-tillägget OpenAI-integrering.
Scenarier
Generativ AI har ett brett utbud av program inom olika domäner och branscher, inklusive teknik, sjukvård, underhållning, ekonomi, tillverkning med mera. Här följer några vanliga uppgifter som kan utföras med generativ AI:
- Semantisk sökning:
- GenAI möjliggör semantisk sökning på data i stället för lexikal sökning. Det senare söker efter exakta matchningar till frågor medan semantisk sökning hittar innehåll som uppfyller sökfrågans avsikt.
- Chattrobotar och virtuella assistenter:
- Utveckla chattrobotar som kan delta i naturliga sammanhangsmedvetna konversationer, till exempel för att implementera självhjälp för kunder.
- Rekommendationssystem:
- Förbättra rekommendationsalgoritmer genom att generera inbäddningar eller representationer av objekt eller användare.
- Klustring och segmentering:
- GenAI-genererade inbäddningar gör det möjligt för klustringsalgoritmer att klustra data så att liknande data grupperas tillsammans. Detta möjliggör scenarier som kundsegmentering, vilket gör det möjligt för annonsörer att rikta in sig på sina kunder på olika sätt baserat på deras attribut.
- Innehållsgenerering:
- Textgenerering: Generera mänsklig text för program som chattrobotar, skapande av romaner/poesi och förståelse för naturligt språk.
- Bildgenerering: Skapa realistiska bilder, konstverk eller design för grafik, underhållning och reklam.
- Videogenerering: Generera videor, animeringar eller videoeffekter för filmer, spel och marknadsföring.
- Musikgeneration.
- Översättning:
- Översätt text från ett språk till ett annat.
- Sammanfattas:
- Sammanfatta långa artiklar eller dokument för att extrahera viktig information.
- Dataförstoring:
- Generera extra dataexempel för att expandera och förbättra träningsdatauppsättningar för ML-modeller (Machine Learning).
- Skapa syntetiska data för scenarier som är svåra eller dyra att samla in i verkligheten, till exempel medicinsk avbildning.
- Läkemedelsidentifiering:
- Generera molekylära strukturer och förutsäga potentiella läkemedelskandidater för läkemedelsforskning.
- Spelutveckling:
- Skapa spelinnehåll, inklusive nivåer, tecken och texturer.
- Generera realistiska miljöer och landskap i spelet.
- Dataavkänning och slutförande:
- Rensa brusdata genom att generera rena dataexempel.
- Fyll i saknade eller ofullständiga data i datauppsättningar.
Relaterat innehåll
- Integrera Azure Database for PostgreSQL – flexibel server med Azure Cognitive Services.
- Generera vektorinbäddningar i Azure Database for PostgreSQL – flexibel server med lokalt distribuerad LLM (förhandsversion).
- Integrera Azure Database for PostgreSQL med Azure Machine Learning Services.
- Generera vektorinbäddningar med Azure OpenAI i Azure Database for PostgreSQL – flexibel server.
- Azure AI-tillägg i Azure Database for PostgreSQL – flexibel server.
- Rekommendationssystem med Azure Database for PostgreSQL – flexibel server och Azure OpenAI.
- Semantisk sökning med Azure Database for PostgreSQL – flexibel server och Azure OpenAI.
- Aktivera och använda pgvector i Azure Database for PostgreSQL – flexibel server.