Dobici:
- Sposobnost razlikovati gdje u tijeku rada ML-a (kod, podaci, dokument) umjetna inteligencija štedi vrijeme uz nizak rizik, a gdje su odluke poput metrike / podataka / stavljanja u proizvodnju prepuštene ljudima, u skladu s razinom rizika zadatka.
- Sposobnost primjene discipline koja provjerava svaki izlaz umjetne inteligencije povezivanjem s izvorom, ponovnim pokretanjem, mjerenjem i propuštanjem kroz inženjerski filter.
- Sposobnost stjecanja navike ne slanja neobrađenih povjerljivih i osobnih podataka vanjskim alatima, korištenja alata odobrenih od strane poduzeća i rješavanja sigurnosnih problema samo u obrambene svrhe.
Umjetna inteligencija u inženjerstvu strojnog učenja: uloga, granice, provjera valjanosti i odgovornost
Inženjer strojnog učenja (ML inženjer: softverski stručnjak koji dizajnira, obučava i donosi modele koji uče iz podataka u proizvodnju) danas radi s drugim alatom umjetne inteligencije u svakom koraku svog posla. Pomoćnik za kodiranje je na snazi pri pisanju koda, model razgovora pri istraživanju podataka i veliki jezični model (LLM: neuronska mreža s milijardama parametara koja razumije i proizvodi tekst) pri izradi dokumentacije. Ovaj modul smatra umjetnu inteligenciju i razvijenim proizvodom i svakodnevnim radnim alatom ML inženjera. Djeluje tako da jasno ocrtava granice odgovornosti bez miješanja dviju uloga.
U ovoj prvoj jedinici odgovaramo na osnovno pitanje: Gdje u ML inženjeringu umjetna inteligencija štedi stvarno vrijeme, a gdje odluku moramo prepustiti ljudima? Odgovor je u srcu inženjerske discipline: onaj koji proizvodi je brz, onaj koji provjerava je odgovoran.
Gdje je umjetna inteligencija korisna u ML inženjerstvu?
ML projekt prolazi kroz otprilike sljedeće linije: prikupljanje podataka, čišćenje podataka, inženjering značajki (prevođenje sirovih podataka u digitalne signale koje model može razumjeti), obuka modela, evaluacija, implementacija (implementacija: otvaranje modela stvarnom korisniku) i praćenje. AI pomaže na svakoj stanici na ovoj liniji, ali njezina razina ovlasti varira.
Područja s visokom nagradom i niskim rizikom: izrada kostura koda, izrada nacrta funkcije transformacije podataka, tumačenje poruka dnevnika, opisivanje praćenja hrpa, sažimanje bilješki o eksperimentima, pisanje dokumentacije i README-ova, predlaganje testnog slučaja. Ovdje su pogreške umjetne inteligencije jeftine; jer će izlaz već proći kroz testiranje i pregled.
Područja visokog rizika: odlučivanje koji podaci idu u obuku, potvrđivanje treba li model ići u proizvodnju, procjena je li metrika "dovoljno dobra", odluka o obradi osobnih podataka, zatvaranje sigurnosne ranjivosti kao "smeća". Oni utječu na novac, privatnost, pravnu odgovornost i povjerenje korisnika. Umjetna inteligencija ovdje daje prijedloge; Odluku donosi nadležni inženjer i odgovorni tim.
Savjet: Prije nego što zadatak prepustite AI-ju, zapitajte se: "Kolika je cijena ako je ovaj rezultat pogrešan i koliko će lako netko otkriti pogrešku?" Ako je cijena niska, a hvatanje lako, proslijedite dalje. Ako je cijena visoka ili je snimanje teško, koristite AI samo za nacrt i vi odlučite.
Disciplina provjere: tri koraka
U ML inženjeringu, AI izlaz nikada nije "gotov posao"; To je nacrt. Provedite svaki izlaz kroz ova tri koraka:
- Spojite ga na izvor. Ako je model rekao broj, prag ili "najbolju praksu", temeljite ga na službenoj dokumentaciji, stvarnoj vrijednosti u bazi kodova ili izmjerenoj metrici. Ovdje se najčešće hvata “prilagodba modela” (halucinacija: samouvjerena proizvodnja nestvarnih informacija pomoću jezičnog modela).
- Ponovno pokrenite i izmjerite. Pokrenite generirani kod, ponovno izračunajte metriku koju proizvodi na vlastitom skupu testova, potvrdite predloženi SQL upit na malom uzorku. Kod koji ne radi je bezvrijedan, čak i ako izgleda lijepo.
- Propustite ga kroz inženjerski filter. Zadržava li se rezultat na skali? Jesu li uzeti u obzir rubni slučajevi (prazni podaci, vrlo veliki unos, nedostajuća polja)? Postoji li povreda sigurnosti i privatnosti? Ovaj korak može napraviti samo osoba koja poznaje to područje.
Slab upit / Jak upit
Slab upit: "Napišite mi kod za obuku modela."
Moćan upit: "Napišite skriptu za obuku za binarnu klasifikaciju s scikit-learn. Unos: data/train.parquet, ciljni stupac is_churn. Postoji neravnoteža klase (pozitivna stopa ~8%), riješite to pomoću class_weight. Koristite PR-AUC (područje ispod krivulje preciznosti-prisjećanja) kao metriku procjene, jer točnost dovodi u zabludu za neuravnotežene podatke. Ispravite nasumično sjeme do 42. Testirajte na kraju skupa za ispis koda PR-AUC."
Razlika: drugi brzi zadatak sadrži istinitost podataka, točnu metriku, informacije o neravnoteži i zahtjev za ponovljivost. Upravo iz tog konteksta izlaz je provjerljiv i upotrebljiv.
Privatnost i sigurnost podataka: prva odgovornost inženjera
ML inženjer često dodiruje najosjetljivije podatke tvrtke: evidenciju kupaca, povijest transakcija, zdravstvene ili financijske podatke, zapise proizvodnih sustava. Tri pravila pri davanju podataka alatima umjetne inteligencije:
- Ne šaljite neobrađene osobne i povjerljive podatke vanjskim alatima. Na primjer, umjesto lijepljenja e-pošte korisnika u upit, pošaljite shemu i lažne (sintetičke) uzorke. Koristite maskirani primjer poput "ex: ahmet@example.com" umjesto pravih podataka.
- Koristite vozila odobrena od strane poduzeća. Birajte alate za koje je ugovorno jasno gdje se podaci obrađuju, pohranjuju li se, koriste li se za obrazovanje ili ne. Obrada korporativnih podataka s osobnim računom predstavlja prekršaj u većini tvrtki.
- Politika minimalnih podataka. Navedite minimalni kontekst potreban za rješavanje zadatka. Ne cijelu tablicu, već relevantnih 5 stupaca i shemu.
Oprez: pretpostavite da se tekst koji date jezičnom modelu ne može poništiti. Nemojte slati neobrađene osobne podatke misleći "izbrisat ću ih kasnije"; Rizik se dogodio u trenutku kada je poslan.
Obrambena uporaba u području sigurnosti
ML inženjeri često instaliraju sigurnosne sustave: detekciju prijevara, klasifikaciju zlonamjernog prometa, autentifikaciju. U ovom modulu pokrivamo sigurnosna pitanja samo u obrambene svrhe: otkrivanje napada, jačanje sustava, zatvaranje ranjivosti. Korištenje umjetne inteligencije za neovlašteni pristup, curenje podataka ili neovlaštenu intervenciju u tuđi sustav protuzakonito je i protivno profesionalnoj etici. Kada pronađete ranjivost, pravi je način da je odgovorno prijavite i popravite; ne iskorištavati.
tri mini kućišta
Slučaj 1 - Ušteđeno vrijeme. Inženjer ML-a obično bi proveo pola dana radeći istraživačku analizu podataka (EDA) skupa podataka od 40 stupaca. Dao je izlaz sheme i df.describe() umjetnoj inteligenciji i upitao: "Koji stupci imaju visoku stopu odstupanja i nestalih, koje transformacije preporučujete?" Za 20 minuta primio je listu prioriteta, provjeravajući svaku stavku vlastitim kodom. Ušteda: ~3 sata, mali rizik od pogreške jer se mjeri svaki zahtjev.
Slučaj 2 - Uočena pogreška. "Točnost treninga je 99%, odlično", rekla je manekenka pomoćniku za chat. Inženjer je primijenio treći korak (inženjerski filtar) i shvatio: ciljni stupac imao je slučajno procurjele atribute (curenje podataka: model vidi informacije koje ne bi trebao vidjeti u obuci). Stvarna izvedba bila je puno niža. Inženjerov skepticizam, a ne AI-jeva "sjajna" interpretacija, spasila je posao.
Slučaj 3 - Sprječavanje povrede privatnosti. Tim je lijepio zapisnike proizvodnih pogrešaka u vanjski model i govorio "popravi ovu pogrešku". U zapisima su bili identifikacijski brojevi kupaca. Tim je napravio pravilo pisanja male skripte koja prvo maskira zapise (napravi njihove ID brojeve ***) i tako ih šalje. Rizik od kršenja je nestao, brzina pomoći nije se promijenila.
Predlošci koji se mogu kopirati
Zadatak: [što učiniti, jedna rečenica] Kontekst: [shema podataka, veličina, ograničenja; NEMA STVARNIH osobnih podataka] Ograničenja: [jezik/biblioteka, izvedba, ponovljivost] Mjerni podaci: [kako izmjeriti uspjeh] Željeni izlaz: [kod/opis/popis] i zašto u ovom formatu
Pogledajte ovaj kod. Ocijenite ne samo da radi, već i u smislu: 1) Rubnih slučajeva (prazan unos, nedostajući stupac, vrlo veliki podaci) 2) Rizika od curenja podataka 3) Ponovljivosti (početak, verzija) Predložite popravke za svaki problem koji pronađete. Označite "potvrdi" tamo gdje niste sigurni. Šifra: [šifra]
Protumačite rezultat ove metrike, ali prvo pitajte: je li ova metrika točna za ovaj problem? Problem: [uravnotežena/neuravnotežena klasifikacija, regresija, rangiranje...]Prijavljena metrika i vrijednost: [npr. accuracy 0.99]Koju biste metriku preporučili i zašto, te na koje znakove trebam paziti da posumnjam u trenutni rezultat?
Provjerite postoje li osobni/povjerljivi podaci u podacima koje ću dati sljedećem upitu. Navedite polja (ime, e-mail, JMBG, telefon, adresa) koja je potrebno maskirati u donjem tekstu. Tekst: [tekst]
Tablica uloga i ovlasti
Potraga
Uloga umjetne inteligencije
Vlasnik odluke
Kostur koda / funkcija transformacije
generator propuha
Inženjer (recenzije)
EDA / sažetak podataka
akcelerator
Inženjer (provjerava mjerenjem)
Interpretacija metrike
sugestija
inženjer
Koji podaci će ići u obuku?
sugestija
Tim + vlasnik podataka
Stavite model u proizvodnju
Podsjetnik na kontrolni popis
Odgovorni inženjer + tim
Obrada osobnih podataka
Ništa (ne koristi se)
Pravni + voditelj obrade podataka
Uobičajene greške
- Korištenje izlaza bez provjere. Najčešća i najskuplja greška. Kod ili metrika koja izgleda lijepo ne znači da je točna.
- Lijepljenje neobrađenih povjerljivih podataka u alat. Jednom poslano ne može se uzeti natrag.
- Oslanjanje na krivu metriku. Nekompatibilne metrike kao što su točnost u neuravnoteženim podacima i RMSE u problemima rangiranja dovode u zabludu.
- Zamjena umjetne inteligencije kao donositelja odluka. On daje prijedloge; Odgovornost je na potpisniku.
- Uputa bez konteksta. Dvosmisleni zahtjevi poput "napiši model" proizvode neprovjerljive rezultate.
Ukratko
Umjetna inteligencija je i proizvod koji je razvio ML inženjer i njegov svakodnevni replikator. Njegova je vrijednost najveća u niskorizičnim, lako provjerljivim zadacima kao što su kod-podaci-dokument; Odluke koje utječu na novac, privatnost i sigurnost ostaju na osobi. Spojite svaki izlaz na izvor, ponovno izmjerite, prođite kroz inženjerski filter. Zaštitite povjerljive podatke, koristite odobrena vozila, radite u osiguranju samo u obrambene svrhe. Ova disciplina je temelj za sve naredne jedinice.
Zadatak aplikacije
Odaberite zadatak iz vlastitog projekta (npr. pisanje funkcije čišćenja podataka). Prvo napišite slabi upit, zatim napišite jak upit koristeći predložak u ovoj jedinici. Uzmite oba izlaza, primijenite provjeru u tri koraka (veza na izvor, ponovno pokretanje, inženjerski filtar). Zabilježite koji upit štedi koliko minuta i koliko ispravaka.
popis za provjeru
- [ ] Odredio sam razinu rizika (nisku/visoku) svog zadatka.
- [ ] Nisam stavio nikakve stvarne osobne/povjerljive podatke u upit; Maskirao sam ga ili koristio sintetski uzorak.
- [ ] Spojio sam izlaz na izvor, ponovno ga pokrenuo, filtrirao iz inženjerske perspektive.
- [ ] Provjerio sam jesam li odabrao ispravnu metriku.
- [ ] Kritičnu odluku (puštanje u proizvodnju, obrada podataka) donio sam sam/s timom, nisam je prepustio umjetnoj inteligenciji.
- [ ] Koristio sam vozilo koje je odobrila tvrtka.