Dobički:
- Možnost razlikovanja, kje v delovnem toku ML (koda, podatki, dokument) umetna inteligenca prihrani čas z nizkim tveganjem in kje so odločitve, kot so meritve/podatki/dajanje v proizvodnjo, prepuščene človeku, glede na stopnjo tveganja naloge.
- Sposobnost uporabe discipline, ki preveri vsak izhod AI tako, da ga poveže z virom, ponovno zažene, izmeri in spusti skozi inženirski filter.
- Sposobnost pridobivanja navade, da ne pošilja neobdelanih zaupnih in osebnih podatkov zunanjim orodjem, uporablja orodja, ki jih je odobrilo podjetje, in obravnava varnostna vprašanja le v obrambne namene.
Umetna inteligenca v inženirstvu strojnega učenja: vloga, meje, validacija in odgovornost
Inženir strojnega učenja (ML inženir: strokovnjak za programsko opremo, ki načrtuje, usposablja in prenaša modele, ki se učijo iz podatkov v proizvodnjo) danes dela z drugim orodjem umetne inteligence na vsakem koraku svojega dela. Pomočnik pri kodiranju deluje pri pisanju kode, konverzacijski model pri raziskovanju podatkov in velik jezikovni model (LLM: nevronska mreža z milijardami parametrov, ki razume in proizvaja besedilo) pri izdelavi dokumentacije. Ta modul obravnava umetno inteligenco kot razvit izdelek in vsakodnevno delovno orodje inženirja ML. Deluje tako, da jasno začrta meje odgovornosti brez mešanja obeh vlog.
V tej prvi enoti odgovarjamo na osnovno vprašanje: Kje v inženiringu ML umetna inteligenca prihrani realni čas in kje moramo odločitev prepustiti ljudem? Odgovor je v središču inženirske discipline: tisti, ki dela, je hiter, tisti, ki preverja, je odgovoren.
Kje umetna inteligenca pride prav pri inženiringu ML?
Projekt ML gre približno skozi naslednje linije: zbiranje podatkov, čiščenje podatkov, inženiring funkcij (pretvorba neobdelanih podatkov v digitalne signale, ki jih model lahko razume), usposabljanje modela, vrednotenje, uvajanje (uvajanje: odpiranje modela dejanskemu uporabniku) in spremljanje. Umetna inteligenca pomaga pri vsakem postanku na tej progi, vendar se njena raven avtoritete razlikuje.
Področja z visokimi nagradami in nizkim tveganjem: izdelava okostja kode, priprava funkcije za pretvorbo podatkov, tolmačenje sporočil dnevnika, opisovanje sledi sklada, povzemanje opomb o eksperimentu, pisanje dokumentacije in datotek README, predlaganje testnega primera. Tukaj so napake umetne inteligence poceni; ker bo rezultat že šel skozi testiranje in pregled.
Področja z visokim tveganjem: odločanje o tem, kateri podatki gredo v usposabljanje, potrjevanje, ali naj gre model v proizvodnjo, presoja, ali je metrika "dovolj dobra", odločitev za obdelavo osebnih podatkov, zapiranje varnostne ranljivosti kot "smeti". Ti vplivajo na denar, zasebnost, pravno odgovornost in zaupanje uporabnikov. Umetna inteligenca tukaj daje predloge; Odločitev sprejmeta pristojni inženir in odgovorna ekipa.
Namig: Preden nalogo oddate zunanjemu izvajalcu AI, se vprašajte: »Kakšen je strošek, če je ta rezultat napačen, in kako zlahka bo kdo odkril napako?« Če je cena nizka in je zajem enostaven, ga dajte naprej. Če je cena visoka ali je zajemanje težko, uporabite AI samo za osnutek in se odločite.
Disciplina preverjanja: trije koraki
V inženiringu ML izhod AI ni nikoli »končano delo«; To je osnutek. Zaženite vsak izhod skozi te tri korake:
- Povežite ga z virom. Če je model navedel številko, prag ali »najboljšo prakso«, ga utemeljite z uradno dokumentacijo, dejansko vrednostjo v kodni bazi ali izmerjeno metriko. Tu se najpogosteje ujame »prilagajanje modela« (halucinacija: samozavestna produkcija neresničnih informacij s strani jezikovnega modela).
- Ponovno zaženite in izmerite. Zaženite ustvarjeno kodo, znova izračunajte metriko, ki jo ustvari na vašem testnem nizu, potrdite predlagano poizvedbo SQL na majhnem vzorcu. Koda, ki ne deluje, je ničvredna, tudi če izgleda lepo.
- Prepustite ga skozi inženirski filter. Ali rezultat zdrži v obsegu? Ali so bili upoštevani robni primeri (prazni podatki, zelo velik vnos, manjkajoča polja)? Ali je prišlo do kršitve varnosti in zasebnosti? Ta korak lahko naredi samo oseba, ki pozna področje.
Šibek poziv/močan poziv
Šibek poziv: "Napišite mi kodo za usposabljanje modela."
Zmogljiv poziv: "Napišite učni skript za binarno klasifikacijo s scikit-learn. Vnos: data/train.parquet, ciljni stolpec is_churn. Obstaja neravnovesje razreda (pozitivna stopnja ~8 %), obravnavajte ga s class_weight. Uporabite PR-AUC (območje pod krivuljo natančnosti-priklica) kot metriko vrednotenja, ker je točnost za neuravnotežene podatke zavajajoča. Popravite naključno seme na 42. Preizkusite na koncu nabora za tiskanje kod PR-AUC."
Razlika: druga pozivna naloga vsebuje resničnost podatkov, pravilno metriko, informacije o neravnovesju in zahtevo po ponovljivosti. Iz tega konteksta je rezultat preverljiv in uporaben.
Zasebnost in varnost podatkov: prva odgovornost inženirja
Inženir ML se pogosto dotika najbolj občutljivih podatkov podjetja: zapisov strank, zgodovine transakcij, zdravstvenih ali finančnih podatkov, dnevnikov proizvodnih sistemov. Tri pravila pri posredovanju podatkov orodjem umetne inteligence:
- Ne pošiljajte neobdelanih osebnih in zaupnih podatkov zunanjim orodjem. Na primer, namesto da prilepite e-poštna sporočila strank v poziv, pošljite shemo in navidezne (sintetične) vzorce. Namesto dejanskih podatkov uporabite maskiran primer, kot je "ex: ahmet@example.com".
- Uporabljajte vozila, ki jih odobri podjetje. Izberite orodja, pri katerih je pogodbeno jasno, kje se podatki obdelujejo, ali se shranjujejo, ali se uporabljajo za izobraževanje ali ne. Obdelava korporativnih podatkov z osebnim računom je v večini podjetij kršitev.
- Politika minimalnih podatkov. Podajte minimalni kontekst, potreben za rešitev naloge. Ne celotne tabele, ampak ustreznih 5 stolpcev in shemo.
Pozor: Predpostavimo, da besedila, ki ga podate jezikovnemu modelu, ni mogoče razveljaviti. Ne pošiljajte neobdelanih osebnih podatkov z mislijo, da jih bom izbrisal pozneje; Tveganje se je pojavilo v trenutku, ko je bilo poslano.
Obrambna uporaba na področju varnosti
Inženirji ML pogosto namestijo varnostne sisteme: zaznavanje goljufij, klasifikacijo zlonamernega prometa, avtentikacijo. V tem modulu pokrivamo varnostna vprašanja samo za obrambne namene: odkrivanje napada, utrjevanje sistema, zapiranje ranljivosti. Uporaba umetne inteligence za nepooblaščen dostop, uhajanje podatkov ali nepooblaščen poseg v sistem nekoga drugega je nezakonita in v nasprotju s poklicno etiko. Ko odkrijete ranljivost, je pravi način, da jo odgovorno prijavite in odpravite; ne izkoriščati.
trije mini kovčki
1. primer – prihranjen čas. Inženir ML bi običajno porabil pol dneva za raziskovalno analizo podatkov (EDA) nabora podatkov s 40 stolpci. Dal je shemo in izhod df.describe() umetni inteligenci in vprašal: "Kateri stolpci imajo visoko odstopanje in manjkajočo stopnjo, katere transformacije priporočate?" V 20 minutah je prejel prednostni seznam, ki je preverjal vsako postavko s svojo kodo. Prihranek: ~3 ure, majhno tveganje napake, ker je bil izmerjen vsak zahtevek.
Primer 2 – Ulovljena napaka. »Natančnost usposabljanja je 99 %, super,« je model rekel pomočnik za klepet. Inženir je uporabil tretji korak (inženirski filter) in spoznal: ciljni stolpec je imel pomotoma uhajajoče atribute (puščanje podatkov: model vidi informacije, ki jih med usposabljanjem ne bi smel videti). Dejanska uspešnost je bila precej nižja. Inženirjev skepticizem, ne "odlična" interpretacija AI, je rešil delo.
Primer 3 – Preprečevanje kršitve zasebnosti. Ekipa je prilepila dnevnike produkcijskih napak v zunanji model in rekla "popravi to napako". V dnevnikih so bile identifikacijske številke strank. Ekipa je postavila pravilo pisanja majhnega skripta, ki najprej zamaskira dnevnike (naredi njihove ID številke ***) in jih tako pošlje. Tveganje kršitve je izginilo, hitrost pomoči se ni spremenila.
Kopirane predloge
Naloga: [kaj narediti, en stavek] Kontekst: [podatkovna shema, velikost, omejitve; NI DEJANSKIH osebnih podatkov]Omejitve: [jezik/knjižnica, zmogljivost, ponovljivost]Metrike: [kako izmeriti uspeh]Želeni rezultat: [koda/opis/seznam] in zakaj v tej obliki
Preverite to kodo. Ocenite ne le, da deluje, ampak tudi glede na: 1) robne primere (prazen vnos, manjkajoči stolpec, zelo veliki podatki) 2) tveganje uhajanja podatkov 3) ponovljivost (seme, različica) Predlagajte popravke za vsako težavo, ki jo najdete. Označite »preveri«, kjer niste prepričani. Koda: [koda]
Interpretirajte rezultat te metrike, vendar najprej vprašajte: ali je ta metrika pravilna za to težavo? Težava: [uravnotežena/neuravnotežena klasifikacija, regresija, razvrstitev ...]Sporočena metrika in vrednost: [npr. natančnost 0,99]Katero meritev bi priporočali in zakaj ter na katere znake naj iščem, da dvomim o trenutnem rezultatu?
Preverite, ali so osebni/zaupni podatki v podatkih, ki jih bom posredoval naslednjemu pozivu. Navedite polja (ime, e-pošta, ID številka, telefon, naslov), ki jih je potrebno zamaskirati v spodnjem besedilu. Besedilo: [besedilo]
Tabela vlog in pooblastil
Iskanje
Vloga umetne inteligence
Lastnik odločitve
Ogrodje kode / transformacijska funkcija
generator osnutka
Inženir (ocene)
EDA / povzetek podatkov
pospeševalnik
Inženir (preverja z meritvami)
Metrična interpretacija
Predlog
inženir
Kateri podatki bodo vključeni v usposabljanje?
Predlog
Ekipa + lastnik podatkov
Postavite model v proizvodnjo
Opomnik za kontrolni seznam
Odgovorni inženir + ekipa
Obdelava osebnih podatkov
Brez (se ne uporablja)
Pravni + upravljavec podatkov
Pogoste napake
- Uporaba izhoda brez preverjanja. Najpogostejša in najdražja napaka. Koda ali metrika, ki izgleda lepo, še ne pomeni, da je pravilna.
- Lepljenje neobdelanih zaupnih podatkov v orodje. Ko je poslano, ga ni mogoče vzeti nazaj.
- Zanašanje na napačno metriko. Nezdružljive metrike, kot sta natančnost pri neuravnoteženih podatkih in RMSE pri težavah z razvrščanjem, so zavajajoče.
- Zamenjati umetno inteligenco kot odločevalca. Daje predloge; Odgovornost nosi podpisnik.
- Poziv brez konteksta. Dvoumne zahteve, kot je "napiši model", ustvarijo nepreverljive rezultate.
Če povzamem
Umetna inteligenca je hkrati izdelek, ki ga je razvil inženir ML, in njegov dnevni replikator. Njegova vrednost je najvišja pri opravilih z nizkim tveganjem, ki jih je enostavno preveriti, kot je koda-podatki-dokument; Odločitve, ki vplivajo na denar, zasebnost in varnost, ostanejo v rokah osebe. Povežite vsak izhod z virom, ponovno izmerite, pojdite skozi inženirski filter. Varujte zaupne podatke, uporabljajte odobrena vozila, delajte v varnosti samo v obrambne namene. Ta disciplina je osnova za vse nadaljnje enote.
Aplikacijska naloga
Izberite nalogo iz svojega projekta (npr. pisanje funkcije za čiščenje podatkov). Najprej napišite šibek poziv, nato napišite močan poziv z uporabo predloge v tej enoti. Vzemite oba izhoda, uporabite preverjanje v treh korakih (povezava do vira, ponovitev, inženirski filter). Upoštevajte, kateri poziv prihrani, koliko minut in koliko popravkov.
kontrolni seznam
- [ ] Določil sem stopnjo tveganja (nizko/visoko) svoje naloge.
- [ ] V poziv nisem vnesel nobenih dejanskih osebnih/zaupnih podatkov; Zamaskiral sem ga ali uporabil sintetični vzorec.
- [ ] Izhod sem povezal z virom, ga znova zagnal in filtriral z inženirskega vidika.
- [ ] Preveril sem, ali sem izbral pravo meritev.
- [ ] Kritično odločitev (dajanje v produkcijo, obdelava podatkov) sem sprejel sam/z ekipo, nisem je prepustil umetni inteligenci.
- [ ] Uporabil sem vozilo, ki ga je odobrilo podjetje.