Towards Quality Assurance of Machine Learning Systems
Logrén, Carita (2020)
Logrén, Carita
2020
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-11-06
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202010057227
https://urn.fi/URN:NBN:fi:tuni-202010057227
Tiivistelmä
Too often the quality of a machine learning system is measured by the quality of the machine learning model's predictions. Academics and practitioners have awoken to the latent quality issues in machine learning systems only during the past few years, as machine learning is increasingly applied in complex and safety-critical domains. While research on the topic is emerging, its focus is scattered across different tracks, and the cohesive view is missing.
The purpose of this work is to increase the knowledge around the prominent machine learning quality characteristics and their assurance in order to help the machine learning practitioners in developing reliable and safe systems. With the groundwork of a comprehensive review of the current research tracks in machine learning, semi-structured interviews with 13 professional machine learning practitioners were conducted with the aim of clarifying the important quality considerations in machine learning systems as well as of identifying the quality assurance activities that have the biggest positive impact on the quality of the developed systems.
Seven important machine learning system characteristics were ascertained from the interviews, including machine learning service quality, interpretability, fairness, and development ethics. While research over these domains exist, the findings reveal that the issues faced in practical work do not fully reflect the problems studied in the literature, and certain perspectives, such as service validity and development ethics, have gained little attention from the academia before. Aside from the quality characteristics, five meaningful practices for quality assurance were identified: data and domain understanding, design, verification and validation, documentation, and engineering practices. In particular, the engineering practices appear to have a significant impact on the quality of the machine learning development work in general.
The findings also reveal that currently a major part of the quality issues with which the industry struggles are originated from the lack of systematic development methodologies, causing the research advancements in the machine learning characteristics to be left unapplied. The results highlight the need for collaboration between the machine learning developers, organisations, and academia in the development, validation, and education of a systematic methodology for machine learning engineering. Koneoppivan mallin ennusteiden tarkkuutta käytetään yleisesti synonyyminä koko koneoppivan järjestelmän laadulle. Tämä käsitys laadusta ei ole riittävä, erityisesti kun koneoppimista sovelletaan enenevissä määrin turvallisuuskriittisissä ympäristöissä. Koneoppivien järjestelmien laatuongelmiin on kuitenkin havahduttu vasta viime vuosien aikana, minkä seurauksena keskustelu ja tutkimus näiden järjestelmien laadusta on hyvin pirstaloitunutta.
Tämän työn tarkoituksena on lisätä tietämystä merkittävistä, koneoppimista koskevista laatunäkökulmista sekä niiden varmistuksesta, jotta teollisuudessa kehitettävät koneoppivat järjestelmät olisivat luotettavia ja turvallisia. Työssä tehtiin laaja kirjallisuuskatsaus ajankohtaisiin, tutkittavana oleviin koneoppivien järjestelmien ominaispiirteisiin, ja sen perusteella suunniteltiin ja toteutettiin teemapohjainen haastattelu 13:lle koneoppivien järjestelmien parissa työskentelevälle ammattilaiselle. Haastatteluilla selvennettiin käytännön työssä kohdattavia laatuongelmia sekä niitä toimia, joilla on merkittävin positiivinen vaikutus kehitettäviin järjestelmiin.
Haastatteluiden perusteella varmistui seitsemän tärkeää koneoppivien järjestelmien laatupiirrettä, muun muassa koneoppivan järjestelmän palvelun laatu (service quality), selitettävyys (interpretability), oikeudenmukaisuus (fairness) ja kehitystyön eettisyys. Vaikka tutkimusta näistä teemoista onkin jo olemassa, haastatteluissa paljastui, että tämänhetkinen tutkimus ei täysin heijasta käytännön työssä kohdattavia ongelmia, ja eräitä piirteitä, kuten palvelun validiteettia ja kehitystyön eettisyyttä, ei juurikaan ole käsitelty kirjallisuudessa aiemmin. Laatupiirteiden ohella haastattelumateriaalista voitiin tunnistaa viisi merkittävää laadunvarmistuksen osa-aluetta: ymmärrys datasta ja toimialueesta (data and domain understanding), suunnittelu (design), varmennus ja validointi (verification and validation), dokumentaatio sekä kehityskäytännöt (engineering practices). Erityisesti juuri kehityskäytännöillä vaikuttaa olevan huomattava merkitys koneoppivien järjestelmien laatuun.
Tutkimuksen tulokset paljastavat myös, että tällä hetkellä suurin osa koneoppivien järjestelmien kehityksessä kohdattavista ongelmista johtuu kehitysmenetelmien puutteesta, minkä seurauksena tutkimusmaailman edistysaskeleita laatupiirteissä ei päästä hyödyntämään. Työn tulokset korostavatkin koneoppivien järjestelmien kehittäjien, organisaatioiden sekä akateemisen maailman yhteistyön merkitystä koneoppivien järjestelmien tuotantomenetelmien kehityksessä, validoinnissa ja koulutuksessa.
The purpose of this work is to increase the knowledge around the prominent machine learning quality characteristics and their assurance in order to help the machine learning practitioners in developing reliable and safe systems. With the groundwork of a comprehensive review of the current research tracks in machine learning, semi-structured interviews with 13 professional machine learning practitioners were conducted with the aim of clarifying the important quality considerations in machine learning systems as well as of identifying the quality assurance activities that have the biggest positive impact on the quality of the developed systems.
Seven important machine learning system characteristics were ascertained from the interviews, including machine learning service quality, interpretability, fairness, and development ethics. While research over these domains exist, the findings reveal that the issues faced in practical work do not fully reflect the problems studied in the literature, and certain perspectives, such as service validity and development ethics, have gained little attention from the academia before. Aside from the quality characteristics, five meaningful practices for quality assurance were identified: data and domain understanding, design, verification and validation, documentation, and engineering practices. In particular, the engineering practices appear to have a significant impact on the quality of the machine learning development work in general.
The findings also reveal that currently a major part of the quality issues with which the industry struggles are originated from the lack of systematic development methodologies, causing the research advancements in the machine learning characteristics to be left unapplied. The results highlight the need for collaboration between the machine learning developers, organisations, and academia in the development, validation, and education of a systematic methodology for machine learning engineering.
Tämän työn tarkoituksena on lisätä tietämystä merkittävistä, koneoppimista koskevista laatunäkökulmista sekä niiden varmistuksesta, jotta teollisuudessa kehitettävät koneoppivat järjestelmät olisivat luotettavia ja turvallisia. Työssä tehtiin laaja kirjallisuuskatsaus ajankohtaisiin, tutkittavana oleviin koneoppivien järjestelmien ominaispiirteisiin, ja sen perusteella suunniteltiin ja toteutettiin teemapohjainen haastattelu 13:lle koneoppivien järjestelmien parissa työskentelevälle ammattilaiselle. Haastatteluilla selvennettiin käytännön työssä kohdattavia laatuongelmia sekä niitä toimia, joilla on merkittävin positiivinen vaikutus kehitettäviin järjestelmiin.
Haastatteluiden perusteella varmistui seitsemän tärkeää koneoppivien järjestelmien laatupiirrettä, muun muassa koneoppivan järjestelmän palvelun laatu (service quality), selitettävyys (interpretability), oikeudenmukaisuus (fairness) ja kehitystyön eettisyys. Vaikka tutkimusta näistä teemoista onkin jo olemassa, haastatteluissa paljastui, että tämänhetkinen tutkimus ei täysin heijasta käytännön työssä kohdattavia ongelmia, ja eräitä piirteitä, kuten palvelun validiteettia ja kehitystyön eettisyyttä, ei juurikaan ole käsitelty kirjallisuudessa aiemmin. Laatupiirteiden ohella haastattelumateriaalista voitiin tunnistaa viisi merkittävää laadunvarmistuksen osa-aluetta: ymmärrys datasta ja toimialueesta (data and domain understanding), suunnittelu (design), varmennus ja validointi (verification and validation), dokumentaatio sekä kehityskäytännöt (engineering practices). Erityisesti juuri kehityskäytännöillä vaikuttaa olevan huomattava merkitys koneoppivien järjestelmien laatuun.
Tutkimuksen tulokset paljastavat myös, että tällä hetkellä suurin osa koneoppivien järjestelmien kehityksessä kohdattavista ongelmista johtuu kehitysmenetelmien puutteesta, minkä seurauksena tutkimusmaailman edistysaskeleita laatupiirteissä ei päästä hyödyntämään. Työn tulokset korostavatkin koneoppivien järjestelmien kehittäjien, organisaatioiden sekä akateemisen maailman yhteistyön merkitystä koneoppivien järjestelmien tuotantomenetelmien kehityksessä, validoinnissa ja koulutuksessa.