Vektorihaun toteuttaminen tuotteen elinkaaren hallintajärjestelmään
Peltonen, Elmeri (2025)
Peltonen, Elmeri
2025
Automaatiotekniikan DI-ohjelma - Master's Programme in Automation Engineering
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
Hyväksymispäivämäärä
2025-05-26
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202505266135
https://urn.fi/URN:NBN:fi:tuni-202505266135
Tiivistelmä
Datan määrän kasvu ja sen kompleksisuuden lisääntyminen aiheuttavat haasteita nykyajan tietojärjestelmille tiedonhaun suhteen. Esimerkiksi tuotteen elinkaaren hallintajärjestelmissä (engl. Product Lifecycle Management system, PLM-järjestelmä) erilaista tuotetietoa voi olla mil-joonia objekteja piirustusten, dokumenttien ja nimikkeiden muodossa. Perinteisten hakumenetelmien rinnalle on kehitetty tekoälyyn perustuvia ratkaisuja, kuten vektoriupotteita hyödyntävä vektorihaku. Haettavan datan muuntaminen upotteiksi tapahtuu suurilla datamäärillä opetettujen koneoppimismallien avulla. Luonnollisen kielen käsittelyä hyödyntämällä samankaltaisesta tekstistä muodostetut upotteet päätyvät vektoriavaruudessa lähelle toisiaan, jolloin samankaltai-suutta voidaan mitata esimerkiksi etäisyyden avulla. Avainsanoihin perustuvat hakumenetelmät eivät pysty huomioimaan kontekstia tai semanttisia samankaltaisuuksia, mutta upotteissa nämä ominaisuudet säilyvät.
Tässä työssä toteutetaan vektorihaku PLM-järjestelmään. Työn tarkoituksena on selvittää, minkälainen vektorihaku on suorituskyvyltään ja tuloksiltaan käytössä olleen PLM-järjestelmän sanahakuun verrattuna. Työssä tutkitaan myös kuinka paljon resursseja, kuten laskenta-aikaa ja muistia, vektorihaun toteuttaminen käytettävän testidatan tapauksessa vaatii. Hakumenetelmien suorituskykyä ja tuloksia vertaillaan tarkkuuden, herkkyyden sekä hakuajan perusteella. Vektori-haun resursseja mitataan upotteiden tallentamiseen ja kielimallien käyttämiseen vaaditulla muis-tin määrällä sekä kielimallien tarvitsemalla laskenta-ajalla.
Tutkimus osoitti, että käytettyjen testikyselyiden perusteella vektorihaku pystyy avainsanahakuun verraten tuottamaan hyviä tuloksia sekä hakuajalla että tuloksilla mitattuna. Suurimpien tekstiupote- ja uudelleenjärjestämismallien käyttöön vaadittiin yli 13,5 GB muistia, pienimmillä malleilla muistia tarvittiin yli 3 GB. Upotteiden laskemisessa pienin tekstiupotemalli oli kuusi kertaa suurinta mallia nopeampi, ja uudelleenjärjestämisessä pienin malli parhaimmillaan neljä kertaa nopeampi kuin suurin malli.
Tämän työn perusteella vektorihaku luonnollisen kielen käsittelyn avulla muodostetuilla upotteilla on toimiva vaihtoehto objektien hakemiseen PLM-järjestelmässä. Tarvittavien resurssien määrä riippuu pitkälti mallien koosta, mutta ainakaan ilman alakohtaista hienosäätöä suurimpien mallien korkeampi muistinkäyttö sekä pidemmät laskenta-ajat eivät olleet tae paremmista tuloksista pienempiin malleihin verrattuna. Vektorihaku kuitenkin mahdollistaa luonnollisella kielellä tehdyt kyselyt ottaen huomioon käyttäjän aikomuksen, mikä saattaa helpottaa tiedonhakuprosessia. The ever-increasing amount of data and its intensifying complexity challenges the information retrieval methods of modern information systems. For example, the amount of product data in product lifecycle management (PLM) system can be over a million objects in form of drawings, documents, and items. AI-based solutions have been developed alongside traditional search methods, such as vector search using vector embeddings. Embeddings of the to-be-retrieved data are obtained from machine learning models trained on large amounts of data. By harnessing natural language processing embeddings formed from similar text end up close to-gether in vector space. The similarity can then be measured with distance metrics. While keyword-based search methods can’t grasp the semantic similarities or context, these features are preserved in the embeddings.
In this thesis, a vector search will be implemented to a PLM system. The aim of this thesis is to study how does the vector search compare in terms of performance and results with the keyword search of the existing PLM system. The work also examines how much computing time and memory is required to implement a vector search in the case of the used test data. Metrics used to compare the performance of the search methods are precision, recall, and retrieval time. The resources of the vector search are measured by the amount of memory required to store the embeddings and use the language models, as well as the computation time required by the language models.
The research revealed that, based on the test queries used, vector search can produce good results compared to keyword search, both in terms of retrieval time and results. More than 13.5 GB of memory was required to run the largest text embedding and reranking models, while the smallest models required a little over 3 GB of memory. The smallest text embedding model was up to six times faster than the largest model, and the smallest reranking model was at best four times faster than the largest model.
Based on the work done in this study, vector search using embeddings generated with the help of natural language processing is a viable alternative for retrieving objects in a PLM sys-tem. The amount of resources needed depends heavily on the size of the models. At least without industry-specific fine-tuning, the higher memory usage and longer computation times of the largest models were no guarantee of better results compared to the smaller models. Still, vector search enables queries made with natural language taking user’s intent into account, possibly easing the information retrieval process.
Tässä työssä toteutetaan vektorihaku PLM-järjestelmään. Työn tarkoituksena on selvittää, minkälainen vektorihaku on suorituskyvyltään ja tuloksiltaan käytössä olleen PLM-järjestelmän sanahakuun verrattuna. Työssä tutkitaan myös kuinka paljon resursseja, kuten laskenta-aikaa ja muistia, vektorihaun toteuttaminen käytettävän testidatan tapauksessa vaatii. Hakumenetelmien suorituskykyä ja tuloksia vertaillaan tarkkuuden, herkkyyden sekä hakuajan perusteella. Vektori-haun resursseja mitataan upotteiden tallentamiseen ja kielimallien käyttämiseen vaaditulla muis-tin määrällä sekä kielimallien tarvitsemalla laskenta-ajalla.
Tutkimus osoitti, että käytettyjen testikyselyiden perusteella vektorihaku pystyy avainsanahakuun verraten tuottamaan hyviä tuloksia sekä hakuajalla että tuloksilla mitattuna. Suurimpien tekstiupote- ja uudelleenjärjestämismallien käyttöön vaadittiin yli 13,5 GB muistia, pienimmillä malleilla muistia tarvittiin yli 3 GB. Upotteiden laskemisessa pienin tekstiupotemalli oli kuusi kertaa suurinta mallia nopeampi, ja uudelleenjärjestämisessä pienin malli parhaimmillaan neljä kertaa nopeampi kuin suurin malli.
Tämän työn perusteella vektorihaku luonnollisen kielen käsittelyn avulla muodostetuilla upotteilla on toimiva vaihtoehto objektien hakemiseen PLM-järjestelmässä. Tarvittavien resurssien määrä riippuu pitkälti mallien koosta, mutta ainakaan ilman alakohtaista hienosäätöä suurimpien mallien korkeampi muistinkäyttö sekä pidemmät laskenta-ajat eivät olleet tae paremmista tuloksista pienempiin malleihin verrattuna. Vektorihaku kuitenkin mahdollistaa luonnollisella kielellä tehdyt kyselyt ottaen huomioon käyttäjän aikomuksen, mikä saattaa helpottaa tiedonhakuprosessia.
In this thesis, a vector search will be implemented to a PLM system. The aim of this thesis is to study how does the vector search compare in terms of performance and results with the keyword search of the existing PLM system. The work also examines how much computing time and memory is required to implement a vector search in the case of the used test data. Metrics used to compare the performance of the search methods are precision, recall, and retrieval time. The resources of the vector search are measured by the amount of memory required to store the embeddings and use the language models, as well as the computation time required by the language models.
The research revealed that, based on the test queries used, vector search can produce good results compared to keyword search, both in terms of retrieval time and results. More than 13.5 GB of memory was required to run the largest text embedding and reranking models, while the smallest models required a little over 3 GB of memory. The smallest text embedding model was up to six times faster than the largest model, and the smallest reranking model was at best four times faster than the largest model.
Based on the work done in this study, vector search using embeddings generated with the help of natural language processing is a viable alternative for retrieving objects in a PLM sys-tem. The amount of resources needed depends heavily on the size of the models. At least without industry-specific fine-tuning, the higher memory usage and longer computation times of the largest models were no guarantee of better results compared to the smaller models. Still, vector search enables queries made with natural language taking user’s intent into account, possibly easing the information retrieval process.