OpenAI on julkaissut uuden raportin, jossa tarkastellaan kahdeksaa tieteellisen laskennan projektia, joissa tekoälypohjaiset koodausagentit nopeuttivat ohjelmistojen kehitystä ja suorituskykyä. Raportissa viisi projektia hyödynsi OpenAI:n Codexia, kun taas kolmessa käytettiin sekä Codexia että Anthropicin Claude Codea.
Raportti perustuu projektien kehittäjien omiin tapaustutkimuksiin, joten kyse ei ole riippumattomasta tutkimuksesta. Siitä huolimatta tulokset tarjoavat mielenkiintoisen katsauksen siihen, miten tekoälyä voidaan hyödyntää tieteellisen ohjelmistokehityksen arkipäiväisissä tehtävissä.
Suurin hyöty syntyi ohjelmistojen ylläpidossa
OpenAI:n mukaan tutkimusohjelmistojen ylläpito on yksi tieteen suurimmista haasteista. Monet työkalut kehitetään yksittäisiä tutkimuksia varten pienissä tutkimusryhmissä, minkä jälkeen niiden ylläpito jää vähäiseksi resurssien puuttuessa.
Raportin mukaan tekoälyagentit osoittautuivat erityisen hyödyllisiksi kolmessa tehtäväryhmässä:
- vanhojen rakennus- ja paketointijärjestelmien uudistamisessa
- olemassa olevan ohjelmakoodin optimoinnissa
- ohjelmistojen siirtämisessä uusille ohjelmointikielille tai alustoille.
Näissä tehtävissä agentit pystyivät automatisoimaan paljon sellaista kehitystyötä, joka on usein aikaa vievää mutta teknisesti suoraviivaista.
Useissa projekteissa saavutettiin merkittäviä nopeusetuja
Raportissa esitellään useita esimerkkejä, joissa suorituskyky parani huomattavasti.
DNA-sekvensointiin tarkoitettu HI.SIM sai kahden GPT-mallin tekemien optimointien avulla noin 31 prosentin nopeusparannuksen ilman, että ohjelman tuottamat tulokset muuttuivat.
Genomin kokoamiseen käytettävä Hifiasm puolestaan nopeutui yhdessä testissä noin 25 prosenttia ja toisessa noin 15 prosenttia. Kehittäjien mukaan tekoäly pystyi rakentamaan omia suorituskykytestejään ja ehdottamaan optimointeja melko itsenäisesti, mutta ihmisen tehtäväksi jäi edelleen tulosten analysointi sekä virheellisten ehdotusten karsiminen.
Vanhoja ohjelmistoja siirrettiin uusille teknologioille
Useissa projekteissa tekoälyä käytettiin myös ohjelmistojen modernisointiin.
Esimerkiksi immunologiaan liittyvä MHCflurry siirrettiin TensorFlow- ja Keras-ympäristöstä PyTorchiin säilyttäen yhteensopivuuden aiempien mallien kanssa. Kehittäjien mukaan tällaiset ylläpitotyöt ovat välttämättömiä avoimen lähdekoodin ohjelmistojen elinkaaren kannalta, vaikka ne eivät yleensä herätä suurta kiinnostusta.
Toisessa projektissa R-ohjelmiston bayesm-paketista rakennettiin Rust-versio, joka saavutti saman laskentatarkkuuden mutta suoritti laskennan yksittäisellä suorittimella jopa lähes kolme kertaa nopeammin ja usealla suorittimella parhaimmillaan lähes kymmenen kertaa nopeammin.
Rust-projektit ja GPU-optimointi toivat suurimmat nopeushyödyt
Raportin näyttävimmät tulokset liittyivät kokonaan uusiksi rakennettuihin ohjelmistoihin.
RustQC yhdisti 15 erillistä RNA-sekvensoinnin laadunvalvontatyökalua yhdeksi ohjelmaksi. Kehittäjien mukaan suorituskyky parani jopa 60-kertaiseksi samalla, kun levyoperaatioiden määrä väheni noin 25-kertaisesti.
Myös HelixForge-projektissa saavutettiin noin 60-kertainen nopeutus, kun aiempi BAMSurgeon-ohjelmisto rakennettiin uudelleen hyödyntämään näytönohjaimia. Samalla korjattiin useita vanhan ohjelmiston tunnettuja virheitä.
Ihmisen rooli ei kuitenkaan vähene
Yksi raportin tärkeimmistä havainnoista on, ettei tekoäly kykene vielä arvioimaan tuottamansa koodin tieteellistä oikeellisuutta.
Useat kehittäjät kertoivat agenttien tuottaneen itsevarmasti ratkaisuja, jotka sisälsivät selviä virheitä. Tämän vuoksi ihmiset rakensivat kattavia hyväksymistestejä, vertasivat tuloksia aiempiin ohjelmistoihin ja käyttivät simuloitua dataa varmistaakseen, että lopputulos oli oikea.
Tyypillinen työskentelymalli oli, että tekoäly tuotti nopeasti ensimmäisen version ohjelmistosta, minkä jälkeen ihmiskehittäjät käyttivät aikaa reunatapauksiin, pieniin numeerisiin eroihin sekä laadunvarmistukseen.
Halvempi kehitys voi tuoda myös uusia ongelmia
Raportissa nostetaan esiin myös mahdolliset haittapuolet. Kun ohjelmistojen uudelleenrakentaminen muuttuu huomattavasti aiempaa helpommaksi, eri tutkimusryhmät voivat alkaa julkaista omia versioitaan samoista työkaluista.
Tämä voi vaikeuttaa tutkimustulosten vertailua, jos ohjelmistot alkavat poiketa toisistaan merkittävästi. Osa projekteista palautettiin takaisin alkuperäisiin avoimen lähdekoodin hankkeisiin, kun taas joillekin aiemmin hylätyille ohjelmistoille etsittiin kokonaan uudet ylläpitäjät.
OpenAI:n raportin johtopäätös ei ole, että tekoäly korvaisi ohjelmistokehittäjät, vaan että se voi merkittävästi nopeuttaa ohjelmistojen ylläpitoa ja modernisointia. Samalla raportti korostaa, että jokaiselle uudistetulle projektille tarvitaan edelleen selkeä omistaja ja vastuullinen ylläpito ennen kuin tekoälyn tuottamaa koodia voidaan ottaa laajasti käyttöön.