Kas yra dirbtinio intelekto programinės įrangos sistema?

Kas yra dirbtinio intelekto programinės įrangos sistema?

Tvirta sistema paverčia tą chaosą naudingu darbo eiga. Šiame vadove aptarsime, kas yra dirbtinio intelekto programinės įrangos sistema , kodėl ji svarbi ir kaip ją išsirinkti negalvojant apie save kas penkias minutes. Išgerkite kavos; būkite atidūs. ☕️

Straipsniai, kuriuos galbūt norėsite perskaityti po šio:

🔗 Kuo skiriasi mašininis mokymasis ir dirbtinis intelektas?
Supraskite pagrindinius mašininio mokymosi sistemų ir dirbtinio intelekto skirtumus.

🔗 Kas yra paaiškinamas dirbtinis intelektas
Sužinokite, kaip paaiškinamas dirbtinis intelektas sudėtingus modelius padaro skaidrius ir suprantamus.

🔗 Kas yra humanoidinis robotas DI
Ištirkite dirbtinio intelekto technologijas, kurios įgalina į žmones panašius robotus ir interaktyvų elgesį.

🔗 Kas yra neuroninis tinklas dirbtiniame intelekte?
Sužinokite, kaip neuroniniai tinklai imituoja žmogaus smegenis apdorodami informaciją.


Kas yra dirbtinio intelekto programinės įrangos sistema? Trumpas atsakymas 🧩

programinės įrangos sistema yra struktūrizuotas bibliotekų, vykdymo laiko komponentų, įrankių ir konvencijų rinkinys, padedantis greičiau ir patikimiau kurti, mokyti, vertinti ir diegti mašininio mokymosi arba gilaus mokymosi modelius. Tai daugiau nei viena biblioteka. Įsivaizduokite ją kaip pagrįstą pagrindą, kuris suteikia:

  • Pagrindinės tenzorių, sluoksnių, įverčių ar vamzdynų abstrakcijos

  • Automatinis diferencijavimas ir optimizuoti matematiniai branduoliai

  • Duomenų įvesties kanalai ir išankstinio apdorojimo priemonės

  • Mokymo ciklai, metrika ir kontroliniai taškai

  • Sąveika su greitintuvais, tokiais kaip GPU ir specializuota įranga

  • Pakuotės, patiekimo ir kartais eksperimentų stebėjimas

Jei biblioteka yra įrankių rinkinys, tai sistema yra dirbtuvės – su apšvietimu, suolais ir etikečių spausdintuvu apsimesi, kad tau jo nereikia... kol neatsiras. 🔧

Pamatysite, kaip aš kelis kartus pakartosiu frazę „kas yra dirbtinio intelekto programinės įrangos sistema?“ . Tai darau tyčia, nes tai klausimas, kurį dauguma žmonių užduoda, kai pasiklysta įrankių labirinte.

 

Dirbtinio intelekto programinės įrangos sistema

Kas lemia gerą dirbtinio intelekto programinės įrangos sistemą? ✅

Štai trumpas sąrašas, kurio norėčiau, jei pradėčiau nuo nulio:

  • Produktyvi ergonomika – švarios API, pagrįsti numatytieji nustatymai, naudingi klaidų pranešimai

  • Našumas – greiti branduoliai, mišrus tikslumas, grafų kompiliavimas arba JIT, kur tai naudinga

  • Ekosistemos gylis – modelių centrai, mokymo programos, iš anksto apmokyti svoriai, integracijos

  • Perkeliamumas – eksportavimo keliai, tokie kaip ONNX, mobiliosios arba periferinės vykdymo aplinkos, patogumas konteineriams

  • Stebimumas – metrika, registravimas, profiliavimas, eksperimentų stebėjimas

  • Mastelio keitimas – keli GPU, paskirstytas mokymas, elastingas aptarnavimas

  • Valdymas – saugumo funkcijos, versijų kūrimas, kilmė ir dokumentai, kurie jūsų nepamirš

  • Bendruomenė ir ilgaamžiškumas – aktyvūs prižiūrėtojai, pritaikymas realiame pasaulyje, patikimi veiksmų planai

Kai tos dalys susijungia, rašote mažiau „klijavimo“ kodo ir daugiau naudojate tikrą dirbtinį intelektą. Būtent tai ir yra esmė. 🙂


Sistemų tipai, su kuriais susidursite 🗺️

Ne kiekvienas karkasas bando atlikti viską. Pagalvokite apie kategorijas:

  • Giliojo mokymosi sistemos : tenzorinės operacijos, autodiff, neuroniniai tinklai

    • PyTorch, TensorFlow, JAX

  • Klasikinės mašininio mokymosi sistemos : srautai, funkcijų transformacijos, įverčiai

    • scikit-learn, XGBoost

  • Modelių centrai ir NLP paketai : iš anksto apmokyti modeliai, tokenizeriai, tikslus derinimas

    • Apkabinančių veidų transformeriai

  • Aptarnavimo ir išvados vykdymo aplinka : optimizuotas diegimas

    • ONNX vykdymo aplinka, NVIDIA Triton išvadų serveris, Ray Serve

  • MLOps ir gyvavimo ciklas : sekimas, pakavimas, srautai, CI ML

    • MLflow, Kubeflow, Apache Airflow, Prefect, DVC

  • Perdangos ir mobilieji įrenginiai : užima mažai vietos, patogu naudoti su technine įranga

    • „TensorFlow Lite“, pagrindinė mašininio mokymosi programa

  • Rizikos ir valdymo sistemos : procesas ir kontrolė, o ne kodas

    • NIST dirbtinio intelekto rizikos valdymo sistema

Nėra vieno rinkinio, tinkančio kiekvienai komandai. Nieko tokio.


Palyginimo lentelė: populiariausi variantai iš pirmo žvilgsnio 📊

Įtrauktos nedidelės smulkmenos, nes realus gyvenimas yra chaotiškas. Kainos kinta, bet daugelis pagrindinių dalių yra atvirojo kodo.

Įrankis / Krūva Geriausiai tinka Brangūs Kodėl tai veikia
PyTorch Tyrėjai, „Pythonic“ kūrėjai Atvirojo kodo Dinaminiai grafikai atrodo natūraliai; didžiulė bendruomenė. 🙂
TensorFlow + Keras Gamyba dideliu mastu, įvairiose platformose Atvirojo kodo Grafiko režimas, TF aptarnavimas, TF Lite, kietieji įrankiai.
JAX Patyrę vartotojai, funkcijų transformacijos Atvirojo kodo XLA kompiliacija, švari, matematikos pradžiamokslio atmosfera.
scikit-learn Klasikinė mašininio mokymosi sistema, lenteliniai duomenys Atvirojo kodo Vamzdynai, metrika, prognozavimo API – tereikia spustelėti.
XGBoost Struktūrizuoti duomenys, sėkmingi baziniai duomenys Atvirojo kodo Reguliarus skatinimas, kuris dažnai tiesiog laimi.
Apkabinančių veidų transformeriai NLP, vizija, difuzija su prieiga prie centro Dažniausiai atvira Iš anksto apmokyti modeliai + tokenizeriai + dokumentacija, vau.
ONNX vykdymo aplinka Perkeliamumas, mišrios sistemos Atvirojo kodo Eksportuokite vieną kartą, greitai paleiskite daugelyje serverių. [4]
MLflow Eksperimento stebėjimas, pakavimas Atvirojo kodo Atkuriamumas, modelių registras, paprastos API sąsajos.
Ray + Ray Serve Paskirstytas mokymas + aptarnavimas Atvirojo kodo Mastelio keitimas pagal Python darbo krūvius; aptarnauja mikropaketavimą.
NVIDIA Triton Didelio našumo išvados Atvirojo kodo Daugiaframework, dinaminis paketavimas, GPU.
Kubeflow Kubernetes ML kanalai Atvirojo kodo Nuo galo iki galo ant K8, kartais kaprizingas, bet stiprus.
Oro srautas arba prefektas Orkestravimas pagal jūsų mokymą Atvirojo kodo Planavimas, pakartotiniai bandymai, matomumas. Veikia gerai.

Jei trokštate vienos eilutės atsakymų: „PyTorch“ tyrimams, „TensorFlow“ ilgalaikei gamybai, „scikit-learn“ lentelinėms funkcijoms, „ONNX Runtime“ perkeliamumui, „MLflow“ stebėjimui. Jei reikės, vėliau atsigręšiu į šią temą.


Po gaubtu: kaip sistemos iš tikrųjų atlieka jūsų matematiką ⚙️

Daugumoje gilaus mokymosi sistemų derinami trys svarbūs dalykai:

  1. Tenzoriai – daugiamačiai masyvai su įrenginių išdėstymo ir transliavimo taisyklėmis.

  2. Autodiff – atvirkštinio režimo diferenciacija gradientams apskaičiuoti.

  3. Vykdymo strategija – nekantrus režimas, grafinis režimas ir JIT kompiliavimas.

  • „PyTorch“ pagal numatytuosius nustatymus vykdo greitai ir gali kompiliuoti grafikus naudodamas „torch.compile“ , kad sujungtų operacijas ir pagreitintų procesą atliekant minimalius kodo pakeitimus. [1]

  • „TensorFlow“ pagal numatytuosius nustatymus veikia greitai ir naudoja „tf.function“ , kad „Python“ būtų perkeliami į perkeliamus duomenų srautų grafikus, kurie reikalingi „SavedModel“ eksportavimui ir dažnai pagerina našumą. [2]

  • JAX naudoja komponuojamas transformacijas, tokias kaip „jit“ , „grad“ , „vmap“ ir „pmap“ , kompiliuodamas per XLA, kad būtų užtikrintas spartinimas ir lygiagretumas. [3]

Čia gyvena našumas: branduoliai, suliejimai, atminties išdėstymas, mišrus tikslumas. Ne magija – tik inžinerija, kuri atrodo magiškai. ✨


Treniruotės ir išvados: dvi skirtingos sporto šakos 🏃♀️🏁

  • Mokymai pabrėžia pralaidumą ir stabilumą. Jums reikia gero panaudojimo, gradientinio mastelio keitimo ir paskirstytų strategijų.

  • Išvados siekia užtikrinti delsą, kainą ir lygiagretumą. Jums reikia paketavimo, kvantavimo ir kartais operatorių sujungimo.

Čia svarbus sąveikumas:

  • ONNX veikia kaip įprastas modelių mainų formatas; ONNX Runtime paleidžia modelius iš kelių šaltinio sistemų skirtinguose procesoriuose, grafikos procesoriuose ir kituose greitintuvuose su kalbos susiejimais tipiškiems gamybiniams paketams. [4]

Kvantavimas, apipjaustymas ir distiliavimas dažnai duoda didelių laimėjimų. Kartais net juokingai didelių – nors atrodo kaip sukčiavimas. 😉


MLOps kaimelis: už pagrindinės sistemos ribų 🏗️

Net geriausias skaičiavimo grafikas neišgelbės netvarkingo gyvavimo ciklo. Galiausiai norėsite:

  • Eksperimento stebėjimas ir registravimas : pradėkite nuo „MLflow“, kad registruotumėte parametrus, metriką ir artefaktus; perkelkite per registrą.

  • Vamzdynų ir darbo eigos orkestravimas : „Kubeflow“ sistemoje „Kubernetes“ arba universalūs sprendimai, tokie kaip „Airflow“ ir „Prefect“

  • Duomenų versijavimas : DVC saugo duomenų ir modelių versijas kartu su kodu

  • Konteineriai ir diegimas : „Docker“ atvaizdai ir „Kubernetes“ nuspėjamoms, keičiamo dydžio aplinkoms

  • Modelių centrai : išankstinis mokymas, o tada tikslus derinimas dažniausiai pranoksta „žalią“ versiją

  • Stebėjimas : vėlavimo, dreifo ir kokybės patikrinimai, kai modeliai pradedami gaminti.

Trumpas pavyzdys iš lauko: maža el. prekybos komanda norėjo „dar vieno eksperimento“ kiekvieną dieną, bet tada nebegalėjo prisiminti, kuris bandymas naudojo kurias funkcijas. Jie pridėjo „MLflow“ ir paprastą taisyklę „reklamuoti tik iš registro“. Staiga savaitinės apžvalgos buvo skirtos sprendimams, o ne archeologijai. Šis modelis matomas visur.


Sąveikumas ir perkeliamumas: išlikite laisvi 🔁

Įkalinimas atsiranda tyliai. Išvenkite jo planuodami:

  • Eksportavimo keliai : ONNX, SavedModel, TorchScript

  • Veikimo laiko lankstumas : ONNX Runtime, TF Lite, Core ML mobiliesiems įrenginiams arba periferiniams įrenginiams

  • Konteinerizavimas : nuspėjami kūrimo srautai su „Docker“ atvaizdais

  • Aptarnavimo neutralumas : „PyTorch“, „TensorFlow“ ir ONNX talpinimas greta užtikrina jūsų sąžiningumą.

Aptarnaujančio sluoksnio pakeitimas arba modelio kompiliavimas mažesniam įrenginiui turėtų būti nepatogumas, o ne perrašymas.


Aparatinės įrangos spartinimas ir mastelio keitimas: padarykite tai greitą be plyšimų ⚡️

  • Dėl labai optimizuotų branduolių (pvz., „cuDNN“) GPU

  • Paskirstytas mokymas pasireiškia, kai vienas GPU nebegali suspėti: duomenų lygiagretumas, modelių lygiagretumas, skaidyti optimizatoriai.

  • Mišrus tikslumas taupo atmintį ir laiką, o tinkamai naudojamas, tikslumo nuostoliai yra minimalūs.

Kartais greičiausias kodas yra tas, kurio nerašėte: naudokite iš anksto apmokytus modelius ir juos tiksliai pakoreguokite. Rimtai. 🧠


Valdymas, saugumas ir rizika: ne tik popierizmas 🛡️

Dirbtinio intelekto diegimas realiose organizacijose reiškia apmąstymą apie:

  • Kilmė : iš kur gauti duomenys, kaip jie buvo apdoroti ir kuri modelio versija yra aktyvi

  • Atkuriamumas : deterministiniai kompiliavimai, prisegtos priklausomybės, artefaktų saugyklos

  • Skaidrumas ir dokumentavimas : pavyzdinės kortelės ir duomenų ataskaitos

  • Rizikos valdymas : NIST dirbtinio intelekto rizikos valdymo sistema pateikia praktinį veiksmų planą patikimų dirbtinio intelekto sistemų kartografavimui, matavimui ir valdymui per visą jų gyvavimo ciklą. [5]

Reguliuojamose srityse tai nėra neprivaloma. Net ir už jų ribų jie padeda išvengti painių tiekimo sutrikimų ir nepatogių susitikimų.


Kaip išsirinkti: greitas sprendimų kontrolinis sąrašas 🧭

Jei vis dar spoksate į penkis skirtukus, pabandykite štai ką:

  1. Pagrindinė kalba ir komandos patirtis

    • „Python“ – pirmoji tyrimų komanda: pradėkite nuo „PyTorch“ arba „JAX“

    • Mišrūs tyrimai ir gamyba: „TensorFlow“ su „Keras“ yra saugus pasirinkimas

    • Klasikinė analizė arba lentelės formos naudojimas: scikit-learn ir XGBoost

  2. Diegimo tikslas

    • Debesijos išvados dideliu mastu: ONNX Runtime arba Triton, konteinerizuotos

    • Mobilusis arba įterptinis: TF Lite arba Core ML

  3. Mastelio poreikiai

    • Vienas GPU arba darbo stotis: tinka bet kuri pagrindinė DL sistema

    • Paskirstytas mokymas: patikrinkite integruotas strategijas arba naudokite „Ray Train“

  4. MLOps branda

    • Ankstyvosios dienos: MLflow sekimui, Docker atvaizdai pakavimui

    • Auganti komanda: pridėkite „Kubeflow“ arba „Airflow/Prefect“ vamzdynams

  5. Perkeliamumo reikalavimas

    • ONNX eksporto ir neutralaus aptarnavimo sluoksnio planas

  6. Rizikos pozicija

    • Laikytis NIST rekomendacijų, dokumentuoti kilmę, užtikrinti peržiūrų vykdymą [5]

Jei jūsų galvoje vis dar kyla klausimas, kas yra dirbtinio intelekto programinės įrangos sistema , būtent pasirinkimų rinkinys šiuos kontrolinio sąrašo elementus paverčia nuobodžiais. Nuobodulys yra gerai.


Dažni mitai ir klaidingi įsitikinimai 😬

  • Mitas: viena sistema valdo visus. Realybė: viską galima derinti ir maišyti. Tai sveika.

  • Mitas: mokymo greitis yra viskas. Išvadų kaina ir patikimumas dažnai yra svarbesni.

  • Susipratau: pamiršome duomenų srautus. Bloga įvestis sugadina gerus modelius. Naudokite tinkamus įkroviklius ir patvirtinimą.

  • Supratau: praleidau eksperimento stebėjimą. Pamiršite, kuris bandymas buvo geriausias. Ateityje – būsite suerzinti.

  • Mitas: perkeliamumas yra automatinis. Eksportavimas kartais nutrūksta atliekant pasirinktines operacijas. Išbandykite iš anksto.

  • Supratau: per anksti per daug sukonstruoti MLOp procesai. Padarykite viską paprastai, o tada, kai atsiranda problemų, pridėkite orkestravimą.

  • Truputį ydinga metafora : įsivaizduokite savo karkasą kaip dviračio šalmą savo modeliui. Nestilingas? Galbūt. Bet jūs jo pasiilgsite, kai šaligatvis jus pasisveikins.


Mini DUK apie sistemas ❓

K: Ar sistema skiriasi nuo bibliotekos ar platformos?

  • Biblioteka : konkrečios funkcijos arba modeliai, kuriuos iškviečiate.

  • Karkasas : apibrėžia struktūrą ir gyvavimo ciklą, įjungiamas į bibliotekas.

  • Platforma : platesnė aplinka su infrastruktūra, naudotojo patirtimi, atsiskaitymu ir valdomomis paslaugomis.

K: Ar galiu kurti dirbtinį intelektą be platformos?

Techniškai taip. Praktiškai tai tas pats, kas rašyti savo tinklaraščio įrašo kompiliatorių. Gali, bet kam?

K: Ar man reikia ir mokymo, ir aptarnavimo sistemų?

Dažnai taip. Apmokykite „PyTorch“ arba „TensorFlow“, eksportuokite į ONNX, pateikite su „Triton“ arba ONNX Runtime. Siūlės yra specialiai sukurtos. [4]

K: Kur gyvuoja autoritetinga geriausia praktika?

NIST dirbtinio intelekto rizikos valdymo sistema (RMF), architektūros tiekėjų dokumentai ir debesijos paslaugų teikėjų mašininio mokymosi vadovai yra naudingi kryžminiams patikrinimams. [5]


Trumpa raktinės frazės santrauka aiškumo dėlei 📌

Žmonės dažnai ieško, kas yra dirbtinio intelekto programinės įrangos sistema, nes bando susieti tyrimo kodą su kažkuo, ką galima diegti. Taigi, kas praktiškai yra dirbtinio intelekto programinės įrangos sistema ? Tai kruopščiai atrinktas skaičiavimo, abstrakcijų ir konvencijų rinkinys, leidžiantis apmokyti, įvertinti ir diegti modelius su mažiau netikėtumų, tuo pačiu metu puikiai derinant duomenų srautus, aparatinę įrangą ir valdymą. Štai ir viskas, pasakyta tris kartus. 😅


Baigiamosios pastabos – per ilgai neskaičiau 🧠➡️🚀

  • Dirbtinio intelekto programinės įrangos sistema suteikia jums nuomonėmis pagrįstą pagrindą: tenzorius, automatinį diferenciaciją, mokymą, diegimą ir įrankius.

  • Rinkitės pagal kalbą, diegimo tikslą, mastą ir ekosistemos gylį.

  • Tikėkitės sujungti paketus: „PyTorch“ arba „TensorFlow“ apmokymui, „ONNX Runtime“ arba „Triton“ aptarnavimui, „MLflow“ sekimui, „Airflow“ arba „Prefect“ koordinavimui. [1][2][4]

  • Iš anksto įtraukite perkeliamumo, stebimumo ir rizikos valdymo praktikas. [5]

  • Ir taip, priimkite nuobodžias dalis. Nuobodulys yra stabilus, ir stabilūs laivai.

Geri metodai nepašalina sudėtingumo. Jie jį sugrupuoja, kad jūsų komanda galėtų dirbti greičiau ir su mažiau nesklandumų. 🚢


Nuorodos

[1] „PyTorch“ – įvadas į „torch.compile“ (oficialūs dokumentai): skaitykite daugiau

[2] „TensorFlow“ – geresnis našumas naudojant „tf.function“ (oficialus vadovas): skaitykite daugiau

[3] JAX – greita pradžia: kaip mąstyti JAX kalba (oficialūs dokumentai): skaitykite daugiau

[4] ONNX Runtime – ONNX Runtime išvadoms (oficialūs dokumentai): skaitykite daugiau

[5] NIST – Dirbtinio intelekto rizikos valdymo sistema (AI RMF 1.0) : skaitykite daugiau

Raskite naujausią dirbtinį intelektą oficialioje dirbtinio intelekto asistentų parduotuvėje

Apie mus

Atgal į tinklaraštį