Programavimas

„Oracle“ atvirųjų šaltinių „Java“ mašininio mokymosi biblioteka

Siekdama patenkinti įmonės poreikius mašininio mokymosi erdvėje, „Oracle“ suteikia galimybę nemokamai naudotis „Tribuo Java“ mašininio mokymosi biblioteka pagal atvirojo kodo licenciją.

Naudodama „Tribuo“, „Oracle“ siekia palengvinti mašininio mokymosi modelių kūrimą ir diegimą „Java“, panašius į tai, kas jau įvyko su „Python“. Išleistas pagal „Apache 2.0“ licenciją ir sukurtas „Oracle Labs“, „Tribuo“ galima pasiekti iš „GitHub“ ir „Maven Central“.

„Tribuo“ teikia standartinę mašininio mokymosi funkciją, įskaitant klasifikavimo, grupavimo, anomalijų aptikimo ir regresijos algoritmus. „Tribuo“ taip pat apima duomenų įkėlimo ir keitimo vamzdynus ir pateikia palaikomų prognozavimo užduočių įvertinimų rinkinį. Kadangi „Tribuo“ renka įvesties statistiką, „Tribuo“ gali aprašyti, pavyzdžiui, kiekvieno įvesties sritį. Jame taip pat įvardijamos funkcijos, valdomi funkcijų ID ir išvesties ID po gaubtu, kad būtų išvengta ID konfliktų ir painiavos grandinėjant modelius, kraunant duomenis ir rodant įvestis.

„Tribuo“ modelis žino, kada pirmą kartą pamato funkciją, kuri yra ypač naudinga dirbant su natūralios kalbos apdorojimu. Modeliai žino, kas yra išėjimai, o išvestys yra labai tipiškos. Kūrėjams nereikia domėtis, ar „float“ yra tikimybė, regresinė reikšmė ar sankaupos ID. Su „Tribuo“ kiekvienas iš jų yra atskiras tipas; modelis gali apibūdinti tipus ir diapazonus, apie kuriuos jis žino. Stipriai įvestų įvesties ir išvesties naudojimas reiškia, kad „Tribuo“ gali sekti modelio konstravimo procesą, pradedant taško duomenimis, kurie yra įkeliami per traukinio / bandymo padalijimus ar duomenų rinkinio transformacijas, iki modelio mokymo ir vertinimo. Šie stebėjimo duomenys įtraukiami į visus modelius ir vertinimus.

„Tribuo“ kilmės sistema gali sukurti konfigūraciją, kuri atstato mokomąjį vamzdyną, kad būtų atkurtas modelis ar įvertinimas. Taip pat pakoreguotą modelį galima sukurti remiantis naujais duomenimis ar hiperparametrais. Taigi vartotojai visada žino, kas yra „Tribuo“ modelis, iš kur jis atsirado ir kaip jį sukurti.

„Oracle“ mato, kad „Tribuo“ užpildo spragą mašininio mokymosi įmonėse programoje. Pavyzdžiui, nors „Google“ sukurta „TensorFlow“ biblioteka teikia pagrindinius gilaus mokymosi algoritmus, „Tribuo“ teikia keletą mašininio mokymosi algoritmų, kurių dalis yra „TensorFlow“, o kiti - ne, kartu teikdami sąsają su „TensorFlow“, sakė „Oracle“ vadovas Adomas Pocockas, pagrindinis „Oracle Labs“ techninio personalo narys. Nors „Apache Spark“ analizės variklis skirtas didelėms, paskirstytoms sistemoms, „Tribuo“ skirtas mažesniems skaičiavimams, kurie telpa vienoje mašinoje, sakė Pocockas.

Be „TensorFlow“, „Tribuo“ teikia sąsajas su „XGBoost“ ir ONNX vykdymo laiku, leidžiančias ONNX formatu saugomus arba „TensorFlow“ ir „XGBoost“ apmokytus modelius dislokuoti kartu su vietiniais „Tribuo“ modeliais. Palaikymas ONNX modelio formatu leidžia įdiegti „Java“ modelius, mokomus naudojant populiarias „Python“ bibliotekas, tokias kaip „PyTorch“.

„Tribuo“ veikia naudojant „Java 8“ ar naujesnę versiją. „Oracle“ priima „Tribuo“ kodo įnašus pagal „Oracle“ bendraautorių sutartį. Pavyzdžiui, „Tribuo“ jau buvo naudojamas „Oracle“ įmonėje naudojant „Fusion Cloud ERP“ produktą, pavyzdžiui, intelektualiam dokumentų atpažinimui.