DVC:n hyödyntäminen datan hallinnassa ja versioinnissa
Miettinen, Ville (2025)
Miettinen, Ville
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025052415644
https://urn.fi/URN:NBN:fi:amk-2025052415644
Tiivistelmä
Koneoppimisprojekteissa käsitellään usein suuria määriä dataa, ja prosessin toistettavuus on keskeinen osa kehitystyötä. Tämän vuoksi datan ja mallien versionhallinnalle on tarve, jota perinteiset ohjelmistokehityksen työkalut eivät täysin kata. DVC (Data Version Control) on työkalu, joka pyrkii vastaamaan näihin haasteisiin tuomalla Gitin kaltaisen versionhallinnan myös datan ja koneoppimisen kontekstiin.
Työssä perehdyttiin DVC:n toimintaan, ominaisuuksiin ja sen käyttöön koneoppimisprojekteissa. Erityistä huomiota kiinnitettiin siihen, miten DVC soveltuu opiskelijakäyttöön ja Jupyter-ympäristöihin. Lisäksi arvioitiin, voisiko työkalu tarjota hyötyä korkeakoulun omassa palveluympäristössä osana opiskelijoiden projekteja ja harjoitustöitä. Teoriaosuuden lisäksi työssä toteutettiin käytännön testejä, joissa DVC:tä kokeiltiin eri ympäristöissä. Testien avulla pyrittiin selvittämään, miten helppoa DVC:n käyttöönotto on ja millaisia konkreettisia hyötyjä tai haasteita sen käyttö tuo mukanaan.
Tulosten perusteella DVC tarjoaa tehokkaan ja joustavan ratkaisun erityisesti tilanteisiin, joissa datan hallinta, versiointi ja kokeilujen toistettavuus ovat keskeisessä roolissa. Työkalu soveltuu hyvin tutkimus- ja kehitysympäristöihin, joissa projektit etenevät vaiheittain ja eri versiot täytyy säilyttää hallitusti. Käyttöönotto vaatii kuitenkin jonkin verran teknistä perehtymistä, mikä voi muodostaa haasteen erityisesti aloitteleville käyttäjille. Kokonaisuutena DVC voi merkittävästi parantaa koneoppimisprojektien toistettavuutta, hallittavuutta ja yhteistyötä, ja sen käyttö voi olla perusteltua myös opetuksen tukena. Machine learning projects often involve handling large amounts of data, and reproducibility is a key part of the development process. Because of this, there is a need for version control of data and models. Traditional software development tools do not fully meet this need. DVC (Data Version Control) is a tool designed to address these challenges by bringing Git-like version control into the context of data and machine learning.
This thesis examines the operation and features of DVC, as well as its use in machine learning projects. Special attention is given to how well DVC is suited for student use and for Jupyter environments. The thesis also considers whether the tool could offer benefits within a university’s own service infrastructure as part of student projects and coursework. In addition to the theoretical discussion, the thesis includes practical tests where DVC is used in different environments. These tests aim to evaluate how easy it is to adopt DVC and what concrete benefits or challenges its use may involve.
Based on the findings, DVC offers an efficient and flexible solution, especially in situations where data management, versioning, and the reproducibility of experiments are essential. The tool is well suited for research and development environments where projects move forward in stages and where different versions must be preserved in a controlled manner. However, using DVC requires a certain level of technical knowledge, which may pose a challenge particularly for beginners. Overall, DVC can significantly improve the reproducibility, manageability, and collaboration of machine learning projects, and its use may also be justified as part of teaching in academic settings.
Työssä perehdyttiin DVC:n toimintaan, ominaisuuksiin ja sen käyttöön koneoppimisprojekteissa. Erityistä huomiota kiinnitettiin siihen, miten DVC soveltuu opiskelijakäyttöön ja Jupyter-ympäristöihin. Lisäksi arvioitiin, voisiko työkalu tarjota hyötyä korkeakoulun omassa palveluympäristössä osana opiskelijoiden projekteja ja harjoitustöitä. Teoriaosuuden lisäksi työssä toteutettiin käytännön testejä, joissa DVC:tä kokeiltiin eri ympäristöissä. Testien avulla pyrittiin selvittämään, miten helppoa DVC:n käyttöönotto on ja millaisia konkreettisia hyötyjä tai haasteita sen käyttö tuo mukanaan.
Tulosten perusteella DVC tarjoaa tehokkaan ja joustavan ratkaisun erityisesti tilanteisiin, joissa datan hallinta, versiointi ja kokeilujen toistettavuus ovat keskeisessä roolissa. Työkalu soveltuu hyvin tutkimus- ja kehitysympäristöihin, joissa projektit etenevät vaiheittain ja eri versiot täytyy säilyttää hallitusti. Käyttöönotto vaatii kuitenkin jonkin verran teknistä perehtymistä, mikä voi muodostaa haasteen erityisesti aloitteleville käyttäjille. Kokonaisuutena DVC voi merkittävästi parantaa koneoppimisprojektien toistettavuutta, hallittavuutta ja yhteistyötä, ja sen käyttö voi olla perusteltua myös opetuksen tukena.
This thesis examines the operation and features of DVC, as well as its use in machine learning projects. Special attention is given to how well DVC is suited for student use and for Jupyter environments. The thesis also considers whether the tool could offer benefits within a university’s own service infrastructure as part of student projects and coursework. In addition to the theoretical discussion, the thesis includes practical tests where DVC is used in different environments. These tests aim to evaluate how easy it is to adopt DVC and what concrete benefits or challenges its use may involve.
Based on the findings, DVC offers an efficient and flexible solution, especially in situations where data management, versioning, and the reproducibility of experiments are essential. The tool is well suited for research and development environments where projects move forward in stages and where different versions must be preserved in a controlled manner. However, using DVC requires a certain level of technical knowledge, which may pose a challenge particularly for beginners. Overall, DVC can significantly improve the reproducibility, manageability, and collaboration of machine learning projects, and its use may also be justified as part of teaching in academic settings.
