# Mikä on vektori-tietokanta?

Vektori-tietokanta on tietokantatyyppi, joka tallentaa, hallinnoi ja hakee tietoja korkean ulottuvuuden vektoreina. Lue lisää vektori-tietokantojen toiminnasta ja käyttötarkoituksista.

## Mitä vektori-tietokanta tekee?

Kuten perinteiset strukturoidut tietokannat, vektori-tietokannat voivat tallentaa monenlaisia tietoja, kuten tekstiä, kuvia ja muita mediatyyppejä. Ero näiden kahden välillä on siinä, miten data tallennetaan ja haetaan. Kun tavallisissa tietokannoissa data tallennetaan usein **indeksoidussa taulukkomuodossa**, vektori-tietokannoissa dataobjektit esitetään **korkean ulottuvuuden numeerisina vektoreina**. Vektorin sisältämät arvot voidaan ymmärtää parametreina, jotka **kukin kuvaavat alkuperäisen datan ominaisuutta**. Tällä tavalla datajoukot voidaan parametrisoida ja sitten verrata ja niputtaa **samankaltaisuusmittareiden** mukaan.

Vektori-tietokantojen avulla on paljon helpompi luokitella ja hakea tietoja **niiden karkeiden ominaisuuksien perusteella**. Tämä on erityisen hyödyllistä koneoppimis- ja syväoppimisjärjestelmille.

## Miten vektoritietokannat toimivat?

Perinteisiin relaatiotietokantoihin verrattuna vektori-tietokannat tarjoavat monia etuja tekoälyn ja koneoppimisen alalla. Vektoritietojen tallentamisessa ja hallinnassa on kuitenkin joitakin haasteita. Näiden tietokantojen ensimmäinen suuri haaste on perinteisten digitaalisten dataobjektien muuntaminen numeerisiksi vektoreiksi, jotka kuvaavat tarkasti näiden dataobjektien ominaisuuksia. Tässä vaiheessa **vektori-upotusmallit** tulevat kuvaan.

Vektorit voidaan ymmärtää **koordinaattipisteinä** moniulotteisessa avaruudessa. Moniulotteista avaruutta, jossa vektoritietokantaan tallennetut vektorit sijaitsevat, kutsutaan **vektorien upotukseksi**. Digitaalisen dataobjektin muuntamiseksi vastaavaksi vektorien upotukseksi tarvitaan vektorien upotusmalli. Vektorien upotusmalli on erikoistunut koneoppimismalli, joka analysoi dataobjekteja ja luo niiden merkityksen ja kontekstin perusteella sopivan vektoriesityksen.

Otetaan esimerkkinä vektoritietokanta, joka tallentaa ja luokittelee sanoja. Sanat “sushi” ja “pasta” ovat kirjoitusasultaan erilaisia, mutta niiden semanttinen merkitys on samanlainen. Siksi upotusmallin tulisi tuottaa näille sanoille **samanlaiset vektoriupotukset**. Tätä varten malli voisi analysoida tekstikonteksteja, joissa molemmat sanat esiintyvät yleisesti.

Tietojen hakeminen vektori-tietokannasta tapahtuu samalla tavalla kuin tietojen syöttäminen. Upotusmalli luo kyselylle sopivan vektorin (koordinaattipisteen korkean ulottuvuuden avaruudessa). Sitten käytetään vektoreille kehitettyjä erityisiä matemaattisia algoritmeja lähimpien vektoreiden löytämiseksi. Tällä menetelmällä voidaan hakea paitsi tarkkoja vastaavuuksia myös dataobjekteja, **joiden vektorit ovat samankaltaisia kuin kyselyvektori**. Jos esimerkiksi haet sanaa “ruoka”, tuloksiin voi sisältyä merkintöjä kuten “pasta” ja “sushi”. Jos kuitenkin haet sanaa “japanilainen ruoka”, kyselyvektori on paljon lähempänä “sushi”-vektoria kuin “pasta”-vektoria.

## Mitkä ovat vektoritietokantojen edut?

Vektori-tietokannat, kuten [ChromaDB](https://www.ionos.com/fi-fi/digitalguide/palvelin/osaaminen/chroma-db/), tarjoavat useita etuja perinteisiin relaatiotietokantoihin verrattuna, jotka ovat erityisen arvokkaita tekoälysovelluksissa. Käsittelemme joitakin näistä tarkemmin jäljempänä.

### Tehokas samankaltaisuushaku

Esittämällä dataobjektin pisteenä korkean ulottuvuuden avaruudessa voidaan soveltaa vektorikäsittelyyn erikoistuneita algoritmeja. Tämä mahdollistaa lähellä olevien vektoreiden (tai temaattisesti relevantin sisällön) nopean ja tehokkaan tunnistamisen. Tämä ominaisuus on ratkaisevan tärkeä sovelluksissa, kuten **kuvantunnistuksessa**, jossa on tarpeen tunnistaa samankaltaisia kuvia, sekä suositusjärjestelmissä, jotka ehdottavat samankaltaisia tuotteita tai sisältöä.

### Suorituskyky ja skaalautuvuus

Vektoritietokantajärjestelmät käyttävät usein monenlaisia tekniikoita kyselyjen nopeuden ja tietojenkäsittelyn tehostamiseksi. Korkean ulottuvuuden vektoritietojen tehokkaan käsittelyn lisäksi vektoritietokannat on usein suunniteltu siten, että **monia operaatioita voidaan suorittaa rinnakkain**. Monimutkaisten tietojen esittäminen vektoreina mahdollistaa myös erittäin monimutkaisten tietorakenteiden tehokkaan käsittelyn. Kaiken kaikkiaan nämä tekniikat vaikuttavat siihen, että vektoritietokannat voivat sisältää ja käsitellä suuria määriä tietoja ilman merkittävää suorituskyvyn heikkenemistä.

### Koneoppimismallien integrointi

Koska neuroverkot käyttävät usein vektoreita syöttö- ja tulostustietona, monet tekoälymallit voidaan **integroida saumattomasti** vektoritietokantoihin. Tämä mahdollistaa mallien syöttö- ja tulostustietojen suoran tallennuksen, hallinnan ja hakutoiminnot, mikä yksinkertaistaa ja nopeuttaa tekoälysovellusten kehittämis- ja käyttöönottoprosessia.

## Missä vektori-tietokantoja käytetään?

Yksi vektoritietokantojen käyttöesimerkki, joka on nykyään erittäin ajankohtainen, on koneoppiminen ja [generatiivinen tekoäly](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivuston-luominen/generatiivinen-tekoaely/). Koneoppimisessa vektoritietokantoja käytetään samankaltaisuushakuja varten, joita tarvitaan esimerkiksi **luokittelu-, klusterointi- ja suosittelujärjestelmissä**. Mallit voidaan kouluttaa tunnistamaan nopeasti samankaltaiset datapisteet ja tekemään niiden perusteella ennusteita tai päätöksiä. Esimerkiksi suosittelualgoritmi voi perustua vektoritietokantaan, joka ehdottaa käyttäjille tuotteita tai sisältöä, jotka ovat samankaltaisia kuin heidän aiemmat mieltymyksensä.

Lisäksi vektoritietokantoja voidaan käyttää uusien neuroverkkojen koulutuksen nopeuttamiseen. Vektoritietokannat mahdollistavat **erittäin suurten koulutusdatan** tehokkaan hallinnan ja haun, mikä parantaa merkittävästi sekä mallin tarkkuutta että koulutusaikaa.

Yksi erityinen sovellus, joka hyötyy tästä optimoinnista, ovat generatiiviset tekoälymallit, kuten OpenAI:n GPT. Ne käyttävät vektoritietokantoja **tunnistamaan monimutkaisia malleja datassa** ja luomaan uutta sisältöä. Vektoritietokantojen tuoma tehokkuusetu on ratkaiseva näiden järjestelmien suorituskyvyn kannalta.

Vinkki GPT:n kaltaisten suurten kielimallien (LLM) merkittävä haittapuoli ovat korkeat koulutuskustannukset ja pitkät koulutusaajat. Näiden kahden tekijän vuoksi LLM-malleja ei voida säännöllisesti kouluttaa uudelleen ajantasaisilla tiedoilla. Yksi tapa poistaa tämä heikkous on [hakutoiminnolla täydennetty generointi](https://www.ionos.com/fi-fi/digitalguide/palvelin/osaaminen/hakua-tukeva-generointi/) (RAG). Lisätietoja tästä tekniikasta löytyy aiheesta kirjoittamastamme artikkelista.


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/palvelin/osaaminen/vektori-tietokanta/](https://www.ionos.com/fi-fi/digitalguide/palvelin/osaaminen/vektori-tietokanta/) for AI/LLM consumption.