Tiho gonilo uporabne umetne inteligence

Vidni vmesnik umetne inteligence lahko govori tekoče, a uporabni del pogosto sloni na starejših, strožjih mehanizmih: omejitvah, iskanju, optimizaciji,...

Tiho gonilo uporabne umetne inteligence

Odgovor, ki je potreboval vozni red

Prva stvar, ki je naredila vtis, je bil odgovor. Stranka je vprašala, ali lahko dostava prispe pred poldnevom, če je eno skladišče brez zadostnega števila zaposlenih, sta dve vozili že zasedeni, dobavitelj pa je poslal pozno posodobitev s samozavestjo nekoga, ki ne bo vozil kombija. Asistent je pripravil urejen odstavek: da, možno je, s spremenjeno potjo, spremenjenim vrstnim redom nakladanja in opombo, da je treba en obljubljen termin premakniti za dvajset minut.

Odstavek je bil videti kot trenutek umetne inteligence. Ni bil. Uporabno delo se je zgodilo v ozadju, kjer je bil problem razporejanja spremenjen v spremenljivke, omejitve, kazni in iskanje. Vozniki so imeli omejitve delovnega časa. Blago je imelo temperaturne omejitve. Vozila so imela omejitve zmogljivosti. Stranke so imele časovna okna. Skladišča so imela omejitve pri dokih. Sistem je lahko napisal stavek šele potem, ko je nekaj strožjega našlo izvedljivo obliko. Brez tega mehanizma bi bil asistent samozavesten uradnik, ki drži koledar na glavo.

To je del umetne inteligence, ki v javni razpravi ostaja presenetljivo tih. Govorimo o modelih, ker so modeli vidni. Pišejo, razvrščajo, rangirajo, povzemajo, rišejo, zaznavajo in priporočajo. Toda mnogi uporabni sistemi umetne inteligence postanejo uporabni šele, ko je v bližini reševalec. Reševalec vzame nejasno željo in vpraša, kaj je dejansko lahko hkrati res. Preišče možnosti, zavrne nemogoče kombinacije, optimizira kompromise in včasih dokaže, da pod navedenimi pogoji noben odgovor ne obstaja.

Ta zadnji stavek je pomemben. Sposobnost reči, da izvedljiv odgovor ne obstaja, ni pomanjkljivost. Pogosto je razlika med pomočjo in nesmislom. Sistem, ki lahko ustvari le verjeten odgovor, bo sčasoma postal drago gledališče. Sistem, ki lahko rešuje, spodleti, pojasni svoj neuspeh in pokaže, katera omejitev je preprečila izid, je bližje inženirstvu. Manj glamurozno, a bolj verjetno, da bo preživel četrtek.

Uporabna umetna inteligenca se pogosto začne, ko se nejasna zahteva pretvori v omejen prostor iskanja, kjer je mogoče zavrniti nemogoče odgovore.

Jezik ni isto kot izvedljivost

Jezikovni modeli so zelo dobri pri ustvarjanju predmeta v obliki odgovora. To ni žalitev. To je ogromna zmogljivost. Razumejo lahko zahtevo, poiščejo ustrezen kontekst, ustvarijo osnutek, prilagodijo ton, prevajajo terminologijo in ljudem pomagajo hitreje skozi informacije. Toda tekočnost ne naredi odgovora izvedljivega. Lahko opiše urnik, ki krši delovno zakonodajo. Lahko predlaga načrt zdravljenja, ki je v nasprotju s kontraindikacijo. Lahko povzame pogodbo, pri tem pa izpusti klavzulo, ki preprečuje dejanje. Stavek je lahko gladek, medtem ko svet noče sodelovati.

Reševalci skrbijo za sodelovanje s svetom. Delajo z eksplicitno strukturo: logičnimi spremenljivkami, linearnimi omejitvami, robovi grafov, časovnimi okni, omejitvami virov, pravili tipov, pripadnostjo množicam, verjetnostnimi mejami ali logičnimi formulami. Oblika se spreminja, navada pa ostaja ista. Navedi pogoje. Preišči prostor. Zavrni, kar krši pogoje. Izboljšaj, kar ostane. Vrni rezultat z dovolj dokazi, da mu lahko drug del sistema zaupa za pravi namen.

Zato klasična umetna inteligenca pravzaprav nikoli ni izginila. Postala je infrastruktura. Iskanje, načrtovanje, izpolnljivost, programiranje z omejitvami, dokazovanje izrekov, celoštevilsko programiranje, dinamično programiranje, algoritmi na grafih, preverjanje in teorija vodenja niso izginili, ko so nevronske mreže postale spektakularne. Še naprej so opravljale delo, ki potrebuje eksplicitno strukturo. Sodobno inženirstvo umetne inteligence ni tekmovanje med tekočimi modeli in strogimi reševalci. Je vprašanje, kako doseči njihovo sodelovanje, ne da bi enega prosili, naj posnema drugega.

Model lahko prevede človeško zahtevo v strukturiran problem. Reševalec lahko odloči, ali ima struktura veljavno rešitev. Model lahko rezultat razloži v človeškem jeziku. Preverjevalnik lahko preveri dokaz. Sistem za spremljanje lahko opazuje, ali predpostavke še vedno veljajo. Uporaben sistem je kombinacija, ne najglasnejša komponenta v predstavitvi.

Omejitve so tam, kjer namen postane iskren

Vsaka resna naloga vsebuje omejitve, tudi če jih nihče ni zapisal. Medicinski delovni tok ima varnostne omejitve, omejitve obsega, omejitve privolitve, omejitve zasebnosti in kadrovske omejitve. Logistični delovni tok ima omejitve zmogljivosti, časa, lokacije, goriva, vzdrževanja in pogodb. Delovni tok javnega odločanja ima omejitve zakona, dokazov, pritožb, pravičnosti in dokumentacije. Finančni delovni tok ima omejitve tveganja, likvidnosti, skladnosti in časovne omejitve. Ljudje se s številnimi od teh spopadamo po navadi. Programska oprema jih potrebuje dovolj eksplicitne, da lahko deluje.

Pisanje omejitev je neprijetno, ker razkrije, kaj organizacija dejansko misli. Ali želimo najhitrejšo pot ali najhitrejšo pot, ki upošteva čas počitka. Ali želimo najcenejši načrt ali najcenejši načrt, ki ohranja rezervo. Ali želimo najvišjo konverzijo ali najvišjo konverzijo brez zavajanja ljudi. Ali želimo, da model odgovori, ali želimo, da zavrne, ko je evidenca nepopolna. Omejitev je majhen moralni razgovor, preoblečen v inženirstvo.

Dobre omejitve ne naredijo sistemov togih v slabem smislu. Naredijo prožnost varno. Ko reševalec pozna trde meje, lahko znotraj njih agresivno išče. Najde lahko kombinacije, ki bi jih človek spregledal. Lahko se prilagodi motnjam. Lahko menja stroške za čas ali kakovost za energijo, hkrati pa ohranja nespremenljive stvari. Brez omejitev prožnost postane improvizacija z nadzorno ploščo.

To je obrt. Nekatere omejitve so trde in jih nikoli ne bi smeli kršiti. Nekatere so mehke in postanejo kazni. Nekatere so negotove in potrebujejo rezerve. Nekatere so pravne. Nekatere so fizične. Nekatere so etične. Nekatere so zgolj preference v resni obleki. Če inženirska ekipa te pomeša skupaj, lahko reševalec optimizira napačno stvar z impresivno disciplino. Računalniki niso trmasti, ker so zlonamerni. Trmasti so, ker smo slabo vprašali.

Cilji niso vrednote

Ciljna funkcija je del, ki pove, kaj pomeni bolje med izvedljivimi odgovori. Zmanjšaj čas potovanja. Povečaj pokritost. Zmanjšaj energijo. Uravnoteži obremenitev. Izboljšaj priklic. Znižaj stroške. Ohranjaj enakomerne čakalne vrste. To so uporabni cilji. Sami po sebi niso vrednote. Vrednote so v izbiri omejitev, kazni, pragov, poti pregleda in odločitve o tem, kdaj optimizacija sploh ne bi smela teči.

Ena najstarejših napak pri upravljanju umetne inteligence je, da reševalcu dodelimo ozek cilj in se nato pretvarjamo, da smo presenečeni, ko ta cilj zasleduje naravnost v zid. Če bolnišnica optimizira izkoriščenost terminov brez zadostnih omejitev glede potovanja pacientov, klinične nujnosti in okrevanja osebja, lahko ustvari čudovit urnik, zaradi katerega je vsem slabše. Če delovni proces za podporo strankam optimizira stopnjo zaključenih primerov, se lahko nauči hitro zaključevati napačne stvari. Če model za odkrivanje goljufij optimizira samo natančnost, lahko spregleda primere, kjer je škoda neenakomerno porazdeljena. Reševalec opravlja svoje delo. Vprašanje ni bilo dovolj pošteno.

Uporabna umetna inteligenca zato obravnava cilje kot del upravljanja. Kdo je izbral cilj. Katere alternative so bile preučene. Na katere skupine to vpliva. Katere omejitve so trde. Kateri kompromisi so vidni. Kateri rezultati zahtevajo človeško presojo. Katere metrike bi razkrile škodo. To zveni kot vprašanje upravljanja, a je tudi tehnično. Cilji so po uvedbi koda. Zaslužijo si več kot le motivacijski stavek.

Reševalci pomagajo prav zato, ker lahko razkrijejo kompromise. Lahko pokažejo, da brez nadur ni mogoč noben urnik, da se stroški znižajo le, če rezervna možnost izgine, da višji cilj priklica poveča obseg pregledovanja ali da politika ustvarja nemogoče kombinacije. Tečen model lahko to nelagodje polepša. Dober reševalec naredi nelagodje razumljivo.

Reševalec ne odpravlja kompromisov. Organizaciji omogoči boljši pogled na kompromise, ki jih je že sprejemala.

Včasih je najboljši odgovor noben odgovor

Uporabni sistemi potrebujejo dostojen način, kako sporočiti neuspeh. Poti ni mogoče dokončati. Dokazi so nezadostni. Pravila politike so v nasprotju. Zahtevani urnik presega zmogljivosti. Optimizacija bi presegla prag tveganja. Omejitve ni mogoče izpolniti. To niso sramotni rezultati. To so dragocene informacije, če sistem lahko pove, kaj je blokiralo odgovor in kaj bi se moralo spremeniti.

Vmesnik, ki temelji samo na jeziku, se skuša pogovarjati naprej. Lahko ponudi alternative, omili negotovost ali pripravi najboljši možen odgovor, ki je videti koristen. Včasih je to v redu. Včasih je nevarno. Reševalec lahko usidra pogovor tako, da loči med izvedljivim, neizvedljivim, neznanim in tistim, kar je zunaj obsega. Vmesniku lahko sporoči, naj ne olepšuje neodgovora. To je vljudnost do resničnosti.

V inženirskem smislu je razlika pomembna, ker vsako stanje zahteva drugačen potek dela. Izvedljivo lahko nadaljuje. Neizvedljivo lahko sproži pogajanja ali eskalacijo. Neznano lahko sproži več podatkov, daljše iskanje ali človeški pregled. Izven obsega lahko sproži zavrnitev. Če vse postane odstavek, operacije izgubijo stanja, ki jih potrebujejo za delovanje. Vmesnik postane bolj gladek, organizacija pa bolj slepa.

Sposobnost razlage neuspeha je še posebej uporabna. Katera omejitev je blokirala načrt. Katero manjkajoče polje je preprečilo vrednotenje. Katero pravilo je v nasprotju s katerim drugim pravilom. Kateri vir bi bilo treba povečati. Katera predpostavka se je spremenila. Tovrstna razlaga je manj poetična kot ustvarjena utemeljitev, a veliko bolj uporabna. Ljudem pove, kaj je mogoče spremeniti in česa ne bi smeli spremeniti zgolj zato, ker sestanek želi pritrdilen odgovor.

Dokazi spremenijo reševalnik v operativno komponento

Rezultat reševalnika postane dragocenejši, kadar nosi dokaze. Za nekatere domene so ti dokazi potrdilo o pravilnosti. Za druge so to sled optimizacije, nabor zavezujočih omejitev, poročilo o izvedljivosti, analiza občutljivosti ali ponovljiv zapis izvajanja. Skupna lastnost je, da je rezultat mogoče pozneje preveriti, ne da bi morali vsi zaupati istemu stroju v istem razpoloženju.

Tu se reševalniki srečajo z upravljanjem. Sistem za odločanje ne bi smel le reči, da je načrt optimalen ali izvedljiv. Ohraniti bi moral vnose, različice, omejitve, cilj, konfiguracijo reševalnika, merila za ustavitev, izbrani rezultat, zavrnjene alternative, kjer so pomembne, in človeško dejanje, ki je sledilo. Če stranka, pacient, regulator, operater ali bodoči inženir vpraša zakaj, organizacija ne bi smela rekonstruirati odločitve iz treh nadzornih plošč in spomina enega sodelavca.

Dokazi pomagajo tudi pri razhroščevanju. Če je načrt slab, ali je bil cilj napačen, omejitve nepopolne, podatki zastareli, reševalnik napačno konfiguriran, prevod modela pomanjkljiv ali človeška zahteva nemogoča. Brez zapisov vsak neuspeh postane folklora. Z zapisi lahko ekipa popravi pravo plast. To je manj razburljivo kot kriviti AI na splošno, vendar ima boljšo stopnjo popravil.

Reševalnik bi zato morali obravnavati kot prvovrstno operativno komponento. Potrebuje opazovanje, teste, različice, proračune zmogljivosti, vedenje ob izpadu in poti pregleda. Potrebuje validacijo vnosov. Potrebuje časovne omejitve. Potrebuje način, kako pošteno vrniti delne rezultate. Potrebuje spremljanje primerov, kjer proizvodne težave zaidejo stran od nabora meril uspešnosti. Reševalnik, skrit za prijaznim vmesnikom, je še vedno infrastruktura. Infrastruktura uživa v tem, da jo ignorirajo, dokler nima dovolj vzvoda.

Uporaben izdelek ni le izbrani odgovor. Je pot, ki pokaže, zakaj je odgovor smel postati dejanje.

Modeli in reševalniki potrebujejo različno ponižnost

Model mora biti ponižen glede resnice. Lahko je napačen, nepopoln, preveč samozavesten, premalo določen ali zunaj svoje učne porazdelitve. Reševalnik mora biti ponižen glede formulacije. Lahko popolnoma reši zastavljeni problem, medtem ko je zastavljeni problem slab opis pravega. To sta različni vrsti napak in uporabna umetna inteligenca spoštuje obe.

Model lahko napačno razume zahtevo. Reševalnik lahko optimizira napačen cilj. Podatki so lahko zastareli. Omejitve lahko izpustijo družbeno pravilo, za katerega so vsi domnevali, da je očitno. Cilj lahko kodira nadomestek, ki je vodstvu bolj všeč kot uporabnikom. Rezultat je lahko matematično pravilen in operativno nesprejemljiv. Zrel sistem se ne pretvarja, da lahko ena komponenta prevzame vsa ta tveganja. Meje ohranja vidne.

Zato si prevajanje med jezikom in strukturo zasluži natančen pregled. Če model spremeni zahtevo vodje v problem za reševalnik, mora biti prevod mogoče pregledati. Katere spremenljivke so bile ustvarjene. Katere omejitve so bile sklepane. Katere omejitve so manjkale. Kateri cilj je bil izbran. Katera dvoumnost je bila tiho razrešena. Skriti prevajalski sloj je le še ena črna škatla z boljšo slovnico.

Človeški strokovnjaki so tu še vedno pomembni, vendar ne kot dekorativni potrjevalci. Vedo, katere omejitve so resnične, katera pravila se upogibajo, katere izjeme so nevarne in kateri cilji ustvarjajo perverzne spodbude. Dober sistem, ki ga podpira reševalnik, daje strokovnjakom vzvod. Ne zahteva od njih, da blagoslovijo odgovor, potem ko je stroj že naredil pomembne odločitve nevidne.

Stari stroji niso staromodni

V tehnologiji obstaja navada, da starejše metode obravnavamo kot zastarele, ko novejša metoda postane moderna. To je otročje, vendar z lepšimi pisavami. Reševalniki SAT, reševalniki SMT, mešano celoštevilsko programiranje, programiranje z omejitvami, načrtovalni sistemi, iskanje po grafih, dokazovanje izrekov in krmilne metode ostajajo osrednji, ker imajo številni problemi še vedno strukturo. Struktura je morda skrita pod klepetalnim vmesnikom, vendar ni izginila.

Pravzaprav moderna umetna inteligenca dela reševalnike pomembnejše. Ko modeli ustvarijo več kandidatnih dejanj, jih mora nekdo preveriti. Ko agenti kličejo orodja, se mora nekdo odločiti, katera zaporedja so dovoljena. Ko pridobivanje ustvari vire, mora nekdo razrešiti nasprotja. Ko avtomatizirani delovni tokovi posegajo v politike, mora nekdo uveljaviti omejitve. Ko so sintetični načrti videti verjetni, se mora nekdo vprašati, ali izpolnjujejo pogoje resničnega sveta. Reševalniki niso nostalgija. So plast odraslega nadzora za sisteme, ki lahko zdaj hitro predlagajo veliko stvari.

Bistvo ni zamenjati nevronske modele s simboličnimi stroji. Bistvo je sestavljanje. Modelom pustimo, da obravnavajo dvoumnost, jezik, zaznavanje in neurejen kontekst. Reševalnikom pustimo, da obravnavajo izrecno izvedljivost, optimizacijo, dokazovanje in omejeno iskanje. Pravilom pustimo, da nosijo politike tam, kjer morajo biti politike jasne. Ljudem pustimo, da imajo namen, presojo in izjeme. Meja se bo razlikovala glede na področje, načelo pa je stabilno: ne zahtevajte od tekočih strojev, da opravljajo strogo delo brez strogega partnerja.

Ekipe, ki to razumejo, gradijo tišje sisteme. Predstavitev je morda videti manj čarobna, ker odgovor včasih reče nemogoče. Delovanje bo boljše, ker je nemogoče točno tisto, kar je morala ekipa vedeti, preden je obljubila dostavo do poldneva, samodejno odobritev ali oceno tveganja, ki jo bo nekdo obravnaval kot usodo.

Zakasnitev, stroški in vsakdanjost reševanja

Reševalniki naredijo umetno inteligenco praktično tudi v majhnih podrobnostih. Reševalnik, ki potrebuje štiri ure, je lahko odličen za strateško načrtovanje in neuporaben za zaslon v živo za razporejanje. Hevristika, ki v dveh sekundah vrne dovolj dobro pot, lahko v operacijah premaga natančen reševalnik. Reševalnik, ki proizvaja dokaze, je lahko bistven za odločitve z visokimi vložki in nepotreben za naročila kosil, tudi v organizacijah, ki jemljejo sendviče zelo resno.

Inženirstvo je polno takšnih odločitev. Natančnost, hitrost, poraba pomnilnika, razložljivost, energija in kompleksnost implementacije se med seboj vlečejo v različne smeri. Pravilen reševalec za paketno revizijo morda ni pravilen reševalec za usmerjanje v realnem času. Lokalna iskalna metoda je lahko povsem ustrezna, kadar je cena neoptimalnega odgovora nizka. Popolna metoda je lahko potrebna, kadar zavrnitev prinaša pravne ali varnostne posledice. Uporabna umetna inteligenca ne nastane s čaščenjem ene same tehnike. Nastane s povezovanjem tehnike s posledicami.

Prav tu morajo biti merila uspešnosti poštena. Merila uspešnosti za reševalce morajo odražati dejansko porazdelitev problemov, ne le urejenih primerov. Vključevati morajo neizvedljive primere, umazane vnose, časovne omejitve, robne pogoje in spreminjajoče se podatke. Poročati morajo ne le o povprečni hitrosti, temveč tudi o načinih odpovedi. Sistem, ki je hiter na prijaznih primerih in molčeč pri grdih, ni bil ovrednoten. Bil je polaskan.

Pomembni so tudi stroški. Reševalec lahko zmanjša porabo računskih virov z obrezovanjem iskanja, preden se veliki model zaprosi za razmišljanje. Ponavljajočega se sklepanja se lahko izogne s predpomnjenjem strukturiranih rezultatov. Lahko se odloči, kdaj je dovolj majhen model in kdaj je upravičen večji. Tihi mehanizmi v ozadju uporabne umetne inteligence so pogosto tudi mehanizmi cenovno dostopne umetne inteligence. Finančni oddelki redko ploskajo, a račune vseeno opazijo.

Zanka po uvedbi

Sistem umetne inteligence, ki temelji na reševalcu, ni končan, ko vrne prvi pravilen odgovor. Resnično delo se spreminja. Pojavljajo se nove omejitve. Stare omejitve postanejo napačne. Ljudje se prilagodijo sistemu. Podatkovni cevovodi se spreminjajo. Politike spreminjajo imena, ker je nekdo odkril predlogo. Reševalec še vedno rešuje, a izjava o problemu je morda tiho zastarela.

Operativne zanke ohranjajo sistem pošten. Spremljajte stopnje neizvedljivosti, stopnje časovnih omejitev, razloge za preglasitev, zavezujoče omejitve, ocene ciljne funkcije, svežino podatkov, dele prizadetih uporabnikov in primere, ko ljudje zavrnejo rezultat. Preverite, ali so omejitve še vedno popolne. Znova preučite cilje, ko se spodbude spremenijo. Preizkusite, ali prevod iz modela v reševalec še vedno zajema zahtevo. Primerjajte napovedane kompromise z dejanskimi izidi. Reševalec je lahko matematično strog in operativno zastarel. Oboje je lahko res, saj ima resničnost širok razpon.

Zanka mora ohranjati tudi spoznanja iz zavrnitev. Ko sistem reče, da razpored ni izvedljiv, kaj se je zgodilo naprej. Ali so ljudje dodali zmogljivosti, spremenili politiko, sprostili željo, odkrili slabe podatke ali pritiskali na koga, naj ignorira omejitev. Ti izidi povedo, ali sistem izraža resničnost ali le blokira delo. Zavrnitev brez pregleda postane ovira. Zavrnitev z dokazi postane informacija za vodstvo.

Kot pri vsakem resnem sistemu je pomembna tudi odgovornost. Nekdo mora biti odgovoren za formulacijo, nekdo za podatke, nekdo za zmogljivost reševalca, nekdo za vmesnik in nekdo za operativno politiko. Če so vsi odgovorni za uporabno umetno inteligenco na splošno, nihče ni odgovoren za omejitev, ki je odpovedala v torek. V torek sistemi postanejo pošteni.

Zanka je pomembna, ker lahko reševalec ostane pravilen, medtem ko organizacija tiho spreminja problem okoli njega.

Tihi sklep

Priljubljena predstava o umetni inteligenci je model, ki govori. Uporabna predstava je pogosto sistem, ki odloča, kaj je lahko res, kaj je zaželeno, kaj je nemogoče in kateri dokazi naj spremljajo odgovor. Reševalci so del te predstave. Niso glamurozni, so pa izjemno dobri pri tem, da sisteme naredijo manj nejasne.

Ekipe prisilijo, da poimenujejo omejitve, cilje, kompromise in stanja napak. Jezikovnim modelom dajo strožjega partnerja. Sistemom omogočijo, da zavrnejo z razlogi, namesto da improvizirajo s samozavestjo. Razkrijejo, kadar želeni izid ne more sobivati z navedenimi pravili. Ustvarijo zapise, ki jih lahko pozneje pregledajo ljudje. To ni celota uporabne umetne inteligence, je pa eden od delov, ki najverjetneje prepreči, da bi uporabna umetna inteligenca postala videti uporabna umetna inteligenca.

Dobava pred poldnevom lahko še vedno spodleti. Prometni incident lahko uniči dober načrt. Pristanišče se lahko zapre. Stranka lahko spremeni naročilo. Toda sistem, ki ga podpira reševalec, spodleti drugače. Lahko pove, katera predpostavka je propadla, katera omejitev je postala zavezujoča in katere možnosti ostajajo. To je vrsta napake, s katero se operacija lahko spopade.

Tihi mehanizem si zasluži več pozornosti prav zato, ker je tih. Ni vedno tisti, ki napiše stavek na zaslon. Odloča, ali naj stavek tam sploh bo.