Skriveni trošak probabilističkih tijekova rada
Račun koji nitko nije vidio u pilotu
Pilot je djelovao jeftino. To je bio prvi problem. Tim je povezao AI korak s poznatim tijekom rada: dolazni dokumenti su klasificirani, generiran je kratki sažetak, odabrana je preporučena ruta, a ljudski recenzent ju je odobrio ili promijenio. Demonstracija je bila uredna. Model je djelovao sposobno. Račun za tokene bio je niži od proračuna za ručak, zbog čega su se svi osjećali financijski zrelima. Netko je izgovorio riječ skalabilno, i prostorija je nakratko postala opasna.
Tri mjeseca kasnije razgovor o troškovima se promijenio. Račun za tokene i dalje nije bio dramatičan. Skriveni troškovi bili su drugdje. Recenzenti su trošili dodatne minute provjeravajući granične rezultate. Ponavljanja su se pojavljivala jer je isti unos ponekad proizveo dovoljno drugačiji odgovor. Redovi iznimaka su rasli. Podatkovni timovi istraživali su zašto je jedna vrsta dokumenta zbunjivala klasifikator. Operacije su dodale uzorkovanje. Pravni odjel tražio je dokaze za sporne slučajeve. Menadžeri su pitali zašto je vrijeme ciklusa postalo manje predvidljivo. Inženjeri su dodavali upite, zatim zaštite, zatim rezervne opcije, zatim praćenje, zatim proračunsku tablicu koju nitko nije volio, ali su je svi otvarali. Tijek rada nije eksplodirao. Dobio je varijancu.
To je skriveni trošak probabilističkih tijekova rada. Poziv modela vidljiva je jedinica potrošnje, ali operativni trošak nosi neizvjesnost oko poziva. Probabilistička komponenta može biti korisna, moćna i ekonomski opravdana. Također može premjestiti trošak u pregled, usklađivanje, dokaze, podršku, dizajn redova čekanja, analizu incidenata, mjerenje kvalitete i ljudsku pozornost. Ako ti troškovi nisu ugrađeni u tijek rada, svejedno će se pojaviti, obično s manje strpljenja.
Tradicionalni sustavi tijekova rada nisu savršeni. Oni otkazuju, odstupaju i iznenađuju ljude na svoje dosadne načine. Ali često imaju korisno svojstvo: isti unos, stanje i pravilo obično proizvode isti rezultat. Probabilistički sustavi slabe tu pretpostavku. Ponekad je to i poanta. Oni se nose s dvosmislenošću, jezikom, slikama, neurednim dokumentima i nejasnom namjerom. Dobro. Cijena je ta da operacije moraju prestati pretvarati se da je neizvjesnost detalj demonstracije. To je prvoklasni ulaz u model troškova.
Varijanca nije detalj implementacije
Probabilističke komponente unose varijabilnost na više mjesta. Model može proizvesti nešto drugačiji tekst. Klasifikator može rubni slučaj svrstati na bilo koju stranu praga. Pretraživač može nakon ažuriranja indeksa vratiti drugačiji skup izvora. Sažimatelj može izostaviti pojedinost koja je kasnijem recenzentu bila važna. Agent koji koristi alate može odabrati drugačiji slijed poziva. Ništa od toga nije automatski pogrešno. To je jednostavno drugačiji materijal od determinističkog koda. Tretirati ga kao običan kod samo zato što ima API kategorička je pogreška s računima.
Varijabilnost ima operativne posljedice. Povećava potrebu za uzorkovanjem i pregledom. Komplicira reprodukciju incidenata. Otežava mjerenje učinkovitosti jer prosječna kvaliteta može prikriti nestabilnost na rubovima. Stvara neslaganja među korisnicima koji su vidjeli različite rezultate. Može učiniti nizvodne sustave krhkima kada očekuju stabilnu strukturu. Može jednostavan ugovor o razini usluge pretvoriti u razgovor o distribucijama vjerojatnosti, što je izvrstan način da se otkrije tko u prostoriji uistinu voli matematiku.
Prvi trošak je trenje pri odlučivanju. Kada se rezultati razlikuju, ljudi troše vrijeme odlučujući je li razlika bitna. Nacrt e-pošte koji istu stvar kaže drugim riječima može biti prihvatljiv. Medicinski sažetak koji izostavi lijek nije. Klasifikator podrške koji jedan zahtjev usmjeri drugačije može biti u redu. Objašnjenje podobnosti za naknade koje mijenja svoje obrazloženje nije. Tijek rada treba model tolerancije: koja je varijabilnost bezopasna, koja zahtijeva pregled, a koja je zabranjena.
Drugi trošak je ponovljivost. Ako kupac, građanin, revizor ili inženjer pita zašto se neka odluka dogodila, organizacija mora moći reproducirati relevantni kontekst: verziju modela, upit, skup preuzetih dokumenata, ulaz, politiku, parametre, rezultate alata i ljudsku radnju. Bez tog zapisa istraga postaje izvedba za publiku. Netko ponovno pokrene upit, dobije drugačiji odgovor i svi u prostoriji na teži način nauče da ponovni pokušaj nije dokaz.
Ponovni pokušaji nisu besplatni samo zato što su automatizirani
Ponovni pokušaji izgledaju jeftino iz perspektive koda. Ako model da slab odgovor, pozovite ga ponovno. Ako je klasifikator nesiguran, zatražite još jedan uzorak. Ako je JSON odgovor nevažeći, popravite ga. Ako poziv alata ne uspije, pokušajte drugi put. Stroj obavlja posao, pa je instinkt ponovne pokušaje tretirati kao inženjersko ljepilo. U probabilističkom tijeku rada ponovni pokušaji su politika. Oni određuju koliko varijabilnosti sustav smije sakriti prije nego što je čovjek vidi.
Postoje dobri razlozi za ponovni pokušaj. Privremeni kvar ne bi trebao zaustaviti proces. Neispravan odgovor često se može ispraviti. Traženje drugog prolaza može poboljšati kvalitetu. Ali ponovni pokušaji također stvaraju trošak i dvosmislenost. Koji se rezultat smatra zapisom. Čuvamo li sve pokušaje. Prepisuju li kasniji pokušaji ranije. Pokazujemo li recenzentu nestabilnost. Čine li ponovni pokušaji sustav pristranim prema odgovorima koji zvuče samouvjerenije. Pokušavamo li ponovno samo jeftine slučajeve, slučajno čineći važne slučajeve sporijima. Ubrajamo li ponovne pokušaje u proračune troškova i latencije. Skromni ponovni pokušaj ima mnogo mišljenja jednom kada ga pozovete u produkciju.
Ponovni pokušaji također mijenjaju poticaje. Ako timovi znaju da će sustav nastaviti pokušavati sve dok rezultat ne odgovara očekivanom obliku, mogu premalo ulagati u kvalitetu ulaza, dizajn sheme, ograničenja upita ili determinističku prethodnu obradu. Ponovni pokušaj postaje krpa. Krpe su korisne. Strategija izgradnje koja se temelji na brisanju podova manje je impresivna.
Bolji je obrazac razvrstati razloge ponavljanja. Privremeni infrastrukturni kvar jedna je kategorija. Popravak formatiranja druga. Niska pouzdanost treća. Sukob pravila četvrta. Sukob izvora peta. Svaka kategorija treba ograničenja, zapise i pravila eskalacije. Ponavljanje koje korisniku skriva nesigurnost treba tretirati drukčije od ponavljanja koje se tek oporavlja od mrežnog zastoja. Trošak nije samo računalna snaga. To je trošak odlučivanja koju nesigurnost organizacija može prihvatiti skrivenom.
Red čekanja za iznimke pravi je dijagram arhitekture
Svaki probabilistički tijek rada prije ili kasnije otkrije svoj pravi dizajn kroz red čekanja za iznimke. Ne kroz sretni put. Sretni put je mjesto gdje dijagrami idu da izgledaju zaposleno. Red čekanja za iznimke pokazuje koje slučajeve sustav ne razumije, koji su ulazi nečisti, koja se pravila sukobljavaju, kojim korisnicima treba podrška, koji pragovi nisu točni i koja su obećanja dana prerano.
Ako je red čekanja za iznimke dobro osmišljen, postaje površina za učenje. Slučajevi se kategoriziraju, uzorkuju, pregledavaju odgovarajuće uloge, povezuju s ispravcima izvornih podataka, vežu uz promjene pravila i vraćaju u evaluaciju. Ako je loše osmišljen, postaje močvara. Teški slučajevi stoje u backlogu. Pregledavači izmišljaju lokalne navike. Menadžeri vide samo količinu. Inženjeri vide samo zbirne kvarove. Korisnici vide kašnjenje. Model ostaje tajanstven jer je organizacija svoje najbolje dokaze sakrila u operativnom mulju.
Trošak iznimaka nije samo broj slučajeva. To je njihov oblik. Stopa iznimaka od deset posto može biti upravljiva ako su slučajevi brzi, niskog rizika i lako usmjerivi. Stopa od dva posto može biti skupa ako svaki slučaj zahtijeva pravno tumačenje, stručni pregled, kontakt s korisnikom i rekonstrukciju dokaza. Prosječna stopa automatizacije stoga je sumnjiva metrika. Govori vam koliko je prošlo kroz stroj, a ne koliko je troška stroj preuzeo.
Dizajn iznimaka treba biti izričit. Definirajte pojaseve pouzdanosti. Definirajte suzdržavanje. Definirajte koji sukobi zaustavljaju tijek rada. Definirajte koje uloge mogu riješiti koje klase. Definirajte maksimalnu starost u redu. Definirajte pregled uzorka za prihvaćene slučajeve, ne samo za neuspjele. Definirajte što se popravlja kad se iznimka ponovi. Inače organizacija nije automatizirala posao. Automatizirala je stvaranje drugog, manje vidljivog posla.
Probabilistički izlaz tjera nizvodne sustave na pregovaranje
Softverski sustavi preferiraju ugovore. Polje je datum. Status ima dopuštene vrijednosti. Iznos ima preciznost. Pravilo ima granu. Probabilistički izlazi često dolaze kao jezik, rangiranje, pouzdanost ili djelomično strukturirane pretpostavke. Nizvodni sustavi tada pregovaraju. Parsiraju. Validiraju. Popravljaju. Pitaju ponovno. Preslikavaju nejasne oznake u točna stanja. Stvaraju rezervne opcije. Svaki pregovor mali je trošak. Dovoljno malih troškova postaje arhitektura.
Strukturirani izlaz pomaže, ali ne uklanja nesigurnost. Model može proizvesti valjani JSON i svejedno odabrati pogrešnu kategoriju. Može ispuniti svako polje i svejedno izostaviti uvjet. Može citirati izvor i svejedno ga pogrešno protumačiti. Shema otkriva pogreške oblika. Ne dokazuje značenje. To je česta zamka jer su pogreške oblika vidljive strojevima, a pogreške značenja vidljive ljudima. Pogodite koja se prva ispravlja.
Nizvodni pregovor također mijenja vlasništvo. Ako je slučaj pogrešno usmjeren jer je izlaz modela bio nejasan, a integracijski sloj je nagađao, tko je vlasnik pogreške. Tim modela. Platformski tim. Vlasnik procesa. Recenzent. Podatkovni tim. Svatko može iznijeti uvjerljiv argument, što je znak da operativni model nedostaje. Probabilistički tijekovi rada trebaju vlasništvo na granici gdje nesigurnost postaje stanje sustava.
Jedna praktična metoda je razdvojiti pouzdanost, potpunost i posljedicu. Pouzdanost govori koliko je izlaz vjerojatno točan. Potpunost govori je li potreban dokaz prisutan. Posljedica govori koliko štete pogrešna radnja može uzrokovati. Izlaz visoke pouzdanosti s nedostajućim dokazom možda i dalje treba recenziju. Izlaz niske pouzdanosti s niskom posljedicom može se brzo usmjeriti. Izlaz srednje pouzdanosti s visokom posljedicom može zahtijevati eskalaciju. Tijek rada ne bi trebao tretirati svu nesigurnost kao istu nijansu žute.
Evaluacija je ponavljajući operativni trošak
Mnogi timovi tretiraju evaluaciju kao fazu projekta. Prije pokretanja sastave testni skup, pokrenu upite, usporede izlaze, možda ocijene kvalitetu i proglase spremnost. Zatim stigne stvarnost s novim dokumentima, novim korisnicima, novim rubnim slučajevima, novim jezikom, novom politikom i novim verzijama modela. Evaluacijski skup počinje stariti. Poput sira, osim što je manje ukusan i vjerojatnije će uzrokovati sastanak.
Probabilistički tijekovi rada trebaju ponavljajuću evaluaciju. To znači odabrane slučajeve, suparničke slučajeve, nedavne uzorke iz produkcije, regresijske skupove, recenziju domene, provjere pravednosti gdje su relevantne, praćenje troškova i latencije te testove koji se pokreću kada se promijene upiti, modeli, indeksi pretraživanja, politike ili izvorni podaci. Evaluacija nije jednokratna kapija. To je operativni proračun za znanje zaslužuje li tijek rada i dalje promet.
Taj trošak iznenađuje ljude jer ga pilot skriva. Tijekom pilota stručnjaci su blizu sustava. Primjećuju probleme neformalno. Ulazni sastav je ograničen. Ulozi su sadržani. U produkciji sustav postaje dovoljno dosadan da stručnjaci prestanu gledati svaki izlaz, što je upravo trenutak kada formalna evaluacija mora preuzeti. Probabilistički sustav bez ponavljajuće evaluacije stroj je koji polako troši povjerenje dok izvještava o vremenu rada.
Evaluacija također mora biti povezana s odlukama. Ako kvaliteta padne, tko može pauzirati. Ako latencija poraste, tko odlučuje hoće li smanjiti veličinu modela, smanjiti ponovne pokušaje ili dodati kapacitet za recenziju. Ako novi model poboljša prosječnu ocjenu, ali pogorša kritičnu podskupinu, tko odbija nadogradnju. Ako troškovi porastu jer se iznimke povećaju, tko je vlasnik popravka. Nadzorna ploča koja pokazuje propadanje bez ovlasti za djelovanje samo je skupa vremenska prognoza.
Ljudski pregled ima svoj račun u teoriji čekanja
Ljudski se pregled često dodaje kao umirujuća fraza. Čovjek će ostati u petlji. Divno. Koji čovjek, s kakvim redom čekanja, s kakvim kontekstom, s kakvim ovlastima, s kakvim ciljnim vremenom, s kakvim putem eskalacije, s kakvim modelom umora i s kakvom zaštitnom mrežom kada sustav pošalje previše graničnih slučajeva u petak u 16:45. Petlja ima logistiku. Logistika ima troškove. Troškovi imaju šarmantnu naviku pojaviti se nakon slajda s arhitekturom.
Kapacitet pregleda nije linearan. Malo povećanje nesigurnih slučajeva može stvoriti veliko povećanje vremena čekanja kada je tim za pregled blizu kapaciteta. Teorija čekanja je okrutna, ali poštena. Ako dolasci postanu varijabilniji i vrijeme usluge postane varijabilnije, kašnjenja mogu brzo rasti. Probabilistički tijekovi rada često povećavaju oboje: neravnomjerniju težinu slučajeva i varijabilnije vrijeme pregleda. Organizacija može vjerovati da je automatizirala osamdeset posto posla dok preostalih dvadeset posto tiho kontrolira ugovor o razini usluge.
Kvaliteta pregleda također ovisi o kontekstu. Ako recenzenti vide samo konačni odgovor, moraju rekonstruirati zašto se pojavio. Ako vide izvore, pouzdanost, politiku, prethodne pokušaje i poznate nesigurnosti, mogu djelovati brže i bolje. Ako se mjere samo prema propusnosti, naučit će previše vjerovati stroju ili se protiv njega boriti premalo. Ljudski pregled nije čarobno otapalo izliveno preko nesigurnosti. To je kvalificiran rad koji zahtijeva dizajn.
Skriveni trošak je pažnja. Ljudi ne mogu pregledavati neodređenu dvosmislenost neograničeno. Umor mijenja standarde. Pojavljuju se lokalne navike. Neki recenzenti postaju strogi, drugi pragmatični, treći rezignirani. Tijek rada počinje proizvoditi različite ishode ovisno o tome tko je uhvatio slučaj. Tada se probabilistički sustav okrivljuje za nedosljednost koju je organizacija pojačala u dizajnu pregleda. Stroj je isporučio varijancu. Ljudi su isporučili dinamiku reda čekanja. Fini duet, ako je cilj revizijska bol.
Obračun troškova mora uključivati nesigurnost
Koristan model troškova za probabilističke tijekove rada uključuje više od poziva modela. Uključuje pripremu ulaza, dohvaćanje, ponovne pokušaje, validaciju, vrijeme pregleda, obradu iznimaka, evaluaciju, pohranu dokaza, analizu incidenata, praćenje, korisničku podršku, održavanje upita i politika, ispravljanje podataka i popravke nizvodno. Također uključuje opcionalnost: trošak promjene modela, dobavljača, upita, indeksa ili tijeka rada kada trenutna postavka više ne odgovara.
To ne znači da su probabilistički tijekovi rada loši. Znači da su stvarni. Mnogi vrijede svoje cijene. Sustav koji smanjuje ponavljano čitanje, a istovremeno izdvaja rizične slučajeve, može biti izvrstan. Klasifikator koji bolje od pravila obrađuje neuredan jezik može uštedjeti vrijeme. Sažimatelj koji stručnjacima pruža dobar prvi prolaz može poboljšati uslugu. Poanta nije izbjegavati vjerojatnost. Poanta je prestati skrivati njezin operativni proračun u tuđim kalendarima.
Jedna korisna metoda obračuna jest određivanje cijene prema klasi slučaja. Izravni slučajevi imaju trošak modela, provjere i uzorkovanja. Potpomognuti slučajevi dodaju vrijeme pregleda. Iznimni slučajevi dodaju trošak trijaže, stručnog pregleda i dokaza. Sporni slučajevi dodaju trošak reprodukcije, komunikacije i moguće sanacije. Poboljšani slučajevi dodaju održavanje podataka ili uputa. To pretvara stopu automatizacije u bogatiju sliku: ne samo koliko je slučajeva AI dotaknuo, nego i kako je nesigurnost promijenila rad i rizik.
Druga je metoda praćenje proračuna varijance. Koliko je odstupanja u izlazu prihvatljivo za ovaj zadatak. Koliko često ponovni pokreti mogu dati drugačije rezultate. Koliko iznimaka dnevno red čekanja može apsorbirati. Koliko je vremena za pregled po slučaju predviđeno. Koliko dokaza treba pohraniti. Koliko brzo sporne rezultate treba reproducirati. Ti brojevi ne uklanjaju nesigurnost. Čine je upravljivom.
Determinizam još uvijek ima svoju ulogu
Uspon probabilističkih sustava ne čini determinističko inženjerstvo staromodnim. Čini determinističke granice vrijednijima. Koristite determinističko parsiranje gdje je struktura dostupna. Koristite izričita pravila gdje je politika jasna. Koristite stabilno dohvaćanje gdje izvori moraju biti ponovljivi. Koristite sheme, validatore, konačna stanja, verzionirane upute, fiksne skupove za evaluaciju i zabilježene parametre. Koristite vjerojatnost za dio zadatka koji doista zahtijeva prosudbu nad dvosmislenošću, ne za dio kojemu je samo trebalo da netko napiše dosadan kôd.
To nije čistoća. To je kontrola troškova. Svaka deterministička granica uklanja jedno mjesto gdje varijanca može procuriti. Tijek rada koji koristi model za čitanje neurednog teksta, zatim determinističku provjeru za provjeru obveznih polja, zatim pravila za primjenu poznate politike, zatim ljudski pregled za nesigurnost s velikim posljedicama, obično će biti lakše upravljiv nego tijek rada koji od modela traži da učini sve, a onda se iznenadi kad sve uključuje nekoliko mišljenja.
Determinizam također poboljšava dokaze. Ako se pravilo aktiviralo, zabilježite pravilo. Ako je parser izdvojio polje, zabilježite mjesto izvora. Ako je dohvaćanje rangiralo dokumente, zabilježite verziju indeksa i rezultate. Ako je model proizveo sažetak, zabilježite uputu, skup izvora, verziju modela i odluku pregledača. Cilj nije pretvoriti svaki tijek rada u sudnicu. Cilj je učiniti kasnija pitanja odgovorivima bez sazivanja cijelog inženjerskog tima na sastanak nazvan brza sinkronizacija.
Granica između determinističkog i probabilističkog rada trebala bi biti izričita u dijagramima i proračunima. Koji korak može varirati. Koji korak ne smije. Koji se korak može ponoviti. Koji se korak mora reproducirati točno. Koji se korak može objasniti statistički. Koji korak treba zapis. Ako tim ne može nacrtati tu granicu, ne može pošteno procijeniti trošak.
Pouka
Skriveni trošak probabilističkih tijekova rada nije razlog da ih izbjegavamo. Razlog je da ih pošteno uračunamo. Trošak se pojavljuje u ponavljanjima, pregledima, iznimkama, dokazima, evaluaciji, redovima čekanja, podršci i sporijem poslu odlučivanja o tome koja je varijacija prihvatljiva. Ako tijek rada štedi vrijeme na sretnom putu, ali ga vraća u spornim slučajevima i operativnoj magli, poslovni slučaj bio je samo napola napisan.
Dobre probabilističke operacije počinju tretiranjem neizvjesnosti kao materijala. Imenujte gdje ulazi. Ograničite gdje može varirati. Zabilježite dovoljno konteksta za ponavljanje odluka. Oblikujte redove čekanja za iznimke kao površine za učenje. Dajte pregledavačima ovlast i vrijeme. Neprekidno evaluirajte. Zadržite determinističke granice gdje smanjuju trošak. Odredite cijenu izlaska i promjene. Većina toga nije glamurozna. To je znak da bi moglo preživjeti produkciju.
Poziv modela je laka stavka. Pravo je pitanje što organizacija mora učiniti prije i poslije tog poziva kako bi se izlaz mogao vjerovati, osporiti, popraviti i poboljšati. Vjerojatnost može učiniti tijekove rada sposobnijima. Može ih učiniti i manje predvidljivima. Razlika nije magija. To su operacije, koje ostaju mjesto gdje impresivne demonstracije postaju ili korisne ili skupe.