Ohjelmointi

Oracle avoimen lähdekoodin Java-koneoppimiskirjasto

Oracle pyrkii vastaamaan yrityksen tarpeisiin koneoppimistilassa, ja sen Tribuo Java -koneoppimiskirjasto on saatavilla ilmaiseksi avoimen lähdekoodin lisenssillä.

Tribuo-palvelun avulla Oracle pyrkii helpottamaan koneoppimismallien rakentamista ja käyttöönottoa Java-järjestelmässä samalla tavalla kuin mitä Pythonin kanssa on jo tapahtunut. Tribuo on julkaistu Apache 2.0 -lisenssillä ja kehitetty Oracle Labsin toimesta. Siihen pääsee GitHubista ja Maven Centralista.

Tribuo tarjoaa koneen vakiotoiminnot, mukaan lukien luokituksen, klustereiden muodostumisen, poikkeavuuksien havaitsemisen ja regressioon liittyvät algoritmit. Tribuo sisältää myös putket datan lataamiseen ja muuntamiseen ja tarjoaa joukon arviointeja tuetuille ennustustehtäville. Koska Tribuo kerää tuloja koskevia tilastoja, Tribuo voi kuvata esimerkiksi kunkin syötteen alueen. Siinä myös nimetään ominaisuudet, ominaisuustunnusten ja ulostulotunnusten hallinta hupun alla, jotta vältetään ID-ristiriidat ja sekaannukset mallien ketjutuksessa, tietojen lataamisessa ja syötteiden esittämisessä.

Tribuo-malli tietää, kun se näkee ominaisuuden ensimmäistä kertaa, mikä on erityisen hyödyllistä työskenneltäessä luonnollisen kielenkäsittelyn kanssa. Mallit tietävät, mitkä lähdöt ovat, ja lähdöt kirjoitetaan voimakkaasti. Kehittäjien ei tarvitse miettiä, onko kelluva todennäköisyys, taantunut arvo vai klusterin tunnus. Tribuossa kukin näistä on erillinen tyyppi; malli voi kuvata tyyppejä ja alueita, joista se tietää. Voimakkaasti kirjoitettujen tulojen ja lähtöjen käyttö tarkoittaa, että Tribuo voi seurata mallin rakentamisprosessia pisteiden lataamisesta junan / testijakaumien tai tietojoukkomuutosten kautta mallikoulutukseen ja arviointiin. Nämä seurantatiedot otetaan huomioon kaikissa malleissa ja arvioinneissa.

Tribuo-lähtöjärjestelmä voi luoda kokoonpanon, joka uudelleenrakentaa harjoitusputken mallin tai arvioinnin toistamiseksi. Myös muutettu malli voidaan rakentaa uusille tiedoille tai hyperparametreille. Siten käyttäjät tietävät aina, mikä Tribuo-malli on, mistä se tuli ja miten se luodaan.

Oracle näkee Tribuon täyttävän aukon markkinoilla sovellettavien koneoppimisten markkinoilla. Esimerkiksi, kun Googlen rakentama TensorFlow-kirjasto tarjoaa ydinalgoritmeja syvälle oppimiselle, Tribuo tarjoaa useita koneoppimisalgoritmeja, joista osa on TensorFlow'ssa ja osa ei, mutta tarjoaa myös käyttöliittymän TensorFlow'lle, sanoi Oraclen Adam Pocock, Oracle Labsin teknisen henkilöstön pääjäsen. Ja vaikka Apache Spark -analyysimoottori on tarkoitettu suurille, hajautetuille järjestelmille, Tribuo on tarkoitettu pienemmille laskelmille, jotka sopivat yhteen koneeseen, Pocock sanoi.

TensorFlow-ohjelman lisäksi Tribuo tarjoaa käyttöliittymiä XGBoost- ja ONNX-ajoaikaan, jolloin ONNX-muodossa tallennetut tai TensorFlow- ja XGBoost-koulutetut mallit voidaan ottaa käyttöön alkuperäisten Tribuo-mallien rinnalla. ONNX-mallin tuki mahdollistaa Java-mallien käyttöönoton suosittujen Python-kirjastojen, kuten PyTorchin, avulla.

Tribuo toimii Java 8: lla tai uudemmalla. Oracle hyväksyy koodimaksut Tribuoon Oracle Contributor -sopimuksen mukaisesti. Tribuoa on jo käytetty sisäisesti Oraclessa Fusion Cloud ERP -tuotteessa esimerkiksi älykkääseen asiakirjojen tunnistamiseen.