Добивки:
- Може да разликувате каде во работниот тек на ML (код, податоци, документ) вештачката интелигенција заштедува време со низок ризик и каде одлуките како метрика / податоци / ставање во производство се препуштени на човекот, според нивото на ризик на задачата.
- Способност да се примени дисциплина што го потврдува секој излез на вештачка интелигенција со поврзување со изворот, повторно вклучување, мерење и поминување низ инженерски филтер.
- Способност да стекнете навика да не испраќате необработени доверливи и лични податоци на надворешни алатки, да користите алатки одобрени од корпоративната страна и да се справувате со безбедносни прашања само за одбранбени цели.
Вештачка интелигенција во инженерството за машинско учење: улога, граници, валидација и одговорност
Инженер за машинско учење (ML инженер: софтверски професионалец кој дизајнира, тренира и носи модели кои учат од податоци до производство) денес работи со друга алатка за вештачка интелигенција на секој чекор од својата работа. Асистентот за кодирање е во сила кога пишува код, модел на разговор при истражување на податоци и голем јазичен модел (LLM: невронска мрежа со милијарди параметри што разбира и произведува текст) кога се произведува документација. Овој модул ја смета вештачката интелигенција и како развиен производ и како дневна алатка за работа на ML инженер. Работи со јасно исцртување на границите на одговорност без мешање на двете улоги.
Во оваа прва единица, одговараме на основното прашање: Каде во ML инженерството вештачката интелигенција заштедува реално време и каде треба да ја препуштиме одлуката на луѓето? Одговорот е во срцето на инженерската дисциплина: оној што прави е брз, оној што потврдува е одговорен.
Каде е корисно вештачката интелигенција во ML инженерството?
Проектот за ML поминува приближно низ следните линии: собирање податоци, чистење на податоци, инженерство на карактеристики (преведување необработени податоци во дигитални сигнали што моделот може да ги разбере), обука на модели, евалуација, распоредување (распоредување: отворање на моделот до вистинскиот корисник) и следење. Вештачката интелигенција помага при секое застанување на оваа линија, но нејзиното ниво на авторитет варира.
Области со висока награда и низок ризик: производство на скелет на код, изготвување функција за трансформација на податоци, толкување на пораки од дневници, опишување на трага на стек, сумирање на белешки за експеримент, пишување документација и README, предлагање тест случај. Овде, грешките на вештачката интелигенција се евтини; бидејќи излезот веќе ќе помине низ тестирање и преглед.
Области со висок ризик: одлучување за тоа кои податоци ќе бидат вклучени во обуката, потврдување дали моделот треба да оди во производство, оценувањето на метриката е „доволно добро“, одлука за обработка на лични податоци, затворање на безбедносната ранливост како „ѓубре“. Тие влијаат на парите, приватноста, правната одговорност и довербата на корисниците. Вештачката интелигенција дава предлози овде; Одлуката ја носи надлежниот инженер и одговорниот тим.
Совет: Пред да отстапите задача на ВИ, прашајте: „Која е цената ако овој излез е погрешен, и колку лесно некој ќе ја сфати грешката? Ако цената е ниска и фаќањето е лесно, пренесете ја. Ако цената е висока или фаќањето е тешко, користете вештачка интелигенција само за нацртот и вие одлучувате.
Дисциплина за верификација: три чекори
Во ML инженерството, излезот на вештачката интелигенција никогаш не е „завршена работа“; Тоа е нацрт. Извршете го секој излез низ овие три чекори:
- Поврзете го со изворот. Ако моделот кажа бројка, праг или „најдобра практика“, засновајте го на официјална документација, вистинска вредност во базата на кодови или измерена метрика. Овде најчесто се лови „наместување на моделот“ (халуцинација: самоуверено производство на нереални информации од јазичниот модел).
- Рестартирајте и измерете. Извршете го генерираниот код, повторно пресметајте ја метриката што ја произведува на вашиот сопствен тест сет, потврдете го предложеното барање SQL на мал примерок. Кодот што не функционира е безвреден, дури и ако изгледа убаво.
- Поминете го низ инженерски филтер. Дали излезот се задржува на скала? Дали се земени предвид рабовите (празни податоци, многу голем влез, полиња што недостасуваат)? Дали има повреда на безбедноста и приватноста? Само човек кој ја познава областа може да го направи овој чекор.
Слаб промпт / Силен промпт
Слаба порака: „Напиши ми некој код за обука за модел“.
Моќен потсетник: „Напишете скрипта за обука за бинарна класификација со scikit-learn. Внесете: data/train.parquet, целната колона is_churn. Постои нерамнотежа на класата (позитивна стапка ~8%), ракувајте со class_weight. Користете PR-AUC (област под кривата прецизност.повикување), бидејќи погрешната рамнотежа на податоци е нерамнотежа. случајно семе до 42. Тестирајте на крајот од комплетот за печатење на кодови PR-AUC."
Разлика: втората брза задача ја содржи вистината на податоците, точната метрика, информациите за нерамнотежа и барањето за повторливост. Токму од овој контекст, излезот може да се провери и употреби.
Приватност и безбедност на податоците: прва одговорност на инженерот
Инженерот за ML често ги допира најчувствителните податоци на компанијата: евиденција на клиенти, историја на трансакции, здравствени или финансиски податоци, дневници на системи за производство. Три правила при давање податоци на алатки за вештачка интелигенција:
- Не испраќајте необработени лични и доверливи податоци на надворешни алатки. На пример, наместо да ги залепите е-поштата на клиентите во промптот, испратете ја шемата и лажните (синтетички) примероци. Користете маскиран пример како „пр: ahmet@example.com“ наместо вистински податоци.
- Користете корпоративно одобрени возила. Изберете алатки кои договорно се јасни каде се обработуваат податоците, дали се складирани, дали се користат за едукација или не. Обработката на корпоративни податоци со лична сметка е прекршување во повеќето компании.
- Политика за минимални податоци. Дајте го минималниот контекст потребен за решавање на задачата. Не целата табела, туку соодветните 5 колони и шема.
Внимание: Да претпоставиме дека текстот што го давате на јазичен модел не може да се врати. Не испраќајте необработени лични податоци мислејќи „Ќе ги избришам подоцна“; Ризикот настанал во моментот кога бил испратен.
Одбранбена употреба во областа на безбедноста
ML инженерите често инсталираат безбедносни системи: откривање измами, класификација на злонамерен сообраќај, автентикација. Во текот на овој модул, ги покриваме безбедносните прашања само за одбранбени цели: откривање на нападот, зацврстување на системот, затворање на ранливоста. Користењето вештачка интелигенција за неовластен пристап, протекување податоци или неовластена интервенција во туѓ систем е и нелегално и против професионалната етика. Кога ќе пронајдете ранливост, вистинскиот начин е да ја пријавите одговорно и да ја поправите; не експлоатираат.
три мини футроли
Случај 1 - Заштедено време. Инженерот за ML вообичаено би поминал половина ден правејќи истражувачка анализа на податоци (EDA) на збир на податоци од 40 колони. Тој ја даде шемата и излезот df.describe() на вештачката интелигенција и праша: „Кои колони имаат висока стапка на исклучување и недостиг, кои трансформации ги препорачувате? За 20 минути, тој доби листа со приоритети, проверувајќи ја секоја ставка со свој код. Заштедете: ~ 3 часа, низок ризик од грешка бидејќи се мери секое тврдење.
Случај 2 - Уловена грешка. „Прецизноста на тренинзите е 99%, одлична“, рече моделот асистент за разговор. Инженерот го примени третиот чекор (инженерски филтер) и сфати: целната колона имаше случајно протечени атрибути (протекување податоци: моделот гледа информации што не треба да ги види на обуката). Вистинските перформанси беа многу пониски. Скептицизмот на инженерот, а не „одличното“ толкување на вештачката интелигенција, ја спаси работата.
Случај 3 - Спречување на кршење на приватноста. Тим ги залепуваше дневниците за грешки во производството во надворешен модел и велеше „поправи ја оваа грешка“. Имаше идентификациски броеви на клиентите во дневниците. Тимот направи правило за пишување мала скрипта која прво ги маскира дневниците (направи ги нивните лични броеви ***) и ги испраќа на тој начин. Ризикот од прекршување исчезна, брзината на помош не е променета.
Шаблони за копирање
Задача: [што да се прави, една реченица]Контекст: [шема на податоци, големина, ограничувања; НЕМА ФАКТИВНИ лични податоци]Ограничувања: [јазик/библиотека, перформанси, репродуктивност] Метрика: [како да се измери успехот]Посакуван излез: [код/опис/листа] и зошто во овој формат
Проверете го овој код. Оценете не само дека работи, туку и во однос на: 1) Куќишта на рабовите (празен влез, колона што недостасува, многу големи податоци) 2) Ризик од истекување на податоци3) Репродуктивност (семе, верзија) Предложете поправки за секој проблем што ќе го најдете. Означете „провери“ онаму каде што не сте сигурни. Код: [шифра]
Толкувајте го резултатот од оваа метрика, но прво прашајте: дали оваа метрика е точна за овој проблем? Проблем: [урамнотежена/неурамнотежена класификација, регресија, рангирање...]Пријавена метрика и вредност: [на пр. точност 0,99]Која метрика би ја препорачале и зошто, и кои знаци треба да ги барам за да ме натераат да се сомневам во моменталниот резултат?
Проверете дали има лични/доверливи информации во податоците што ќе ги дадам на следната промпт. Наведете ги полињата (име, е-пошта, матичен број, телефон, адреса) кои треба да се маскираат во текстот подолу. Текст: [текст]
Табела за улоги и авторитети
Потрага
Улогата на вештачката интелигенција
Сопственик на решението
Кодски скелет / функција за трансформација
генератор на нацрт
инженер (осврти)
ЕДА / резиме на податоци
акцелератор
инженер (проверува со мерење)
Метричко толкување
Предлог
инженер
Кои податоци ќе влезат во обуката?
Предлог
Тим + сопственик на податоци
Ставете го моделот во производство
Потсетник за список за проверка
Одговорен инженер + тим
Обработка на лични податоци
Нема (не се користи)
Правен + контролер на податоци
Вообичаени грешки
- Користење на излезот без негово потврдување. Најчеста и најскапа грешка. Код или метрика што изгледа убаво не значи дека е точна.
- Вметнување необработени доверливи податоци во алатката. Откако ќе се испрати, не може да се врати назад.
- Потпирајќи се на погрешна метрика. Некомпатибилните метрики како што се точноста на неурамнотежените податоци и RMSE во проблемите со рангирањето се погрешни.
- Грешка вештачката интелигенција како носител на одлуки. Тој дава предлози; Одговорноста е на потписникот.
- Безконтекстно барање. Двосмислените барања како „напиши модел“ произведуваат непроверлив излез.
Сумирано
Вештачката интелигенција е и производ развиен од инженерот ML и неговиот дневен репликатор. Неговата вредност е највисока во нискоризичните, лесно проверливи задачи како код-податоци-документ; Одлуките кои влијаат на парите, приватноста и безбедноста остануваат на лицето. Поврзете го секој излез со изворот, повторно измерете, поминете низ инженерскиот филтер. Заштитете ги доверливите податоци, користете одобрени возила, работете безбедно само за одбранбени цели. Оваа дисциплина е основа за сите наредни единици.
Задача за апликација
Изберете задача од вашиот сопствен проект (на пр. пишување функција за чистење податоци). Прво напишете слаб промпт, а потоа напишете силен потсетник користејќи го шаблонот во оваа единица. Земете ги двата излеза, примени верификација во три чекори (врска до изворот, повторување, инженерски филтер). Забележете кој промпт заштедува колку минути и колку корекции.
листа за проверка
- [ ] Го одредив нивото на ризик (ниско/високо) на мојата задача.
- [ ] Не ставив никакви вистински лични/доверливи податоци во промптот; Го маскирав или користев синтетички примерок.
- [ ] Го поврзав излезот со изворот, го активирав повторно, го филтрирав од инженерска перспектива.
- [ ] Проверив дали ја избрав точната метрика.
- [ ] Критичната одлука (ставање во производство, обработка на податоци) ја донесов сам/со тимот, не препуштив на вештачката интелигенција.
- [ ] Користев корпоративно одобрено возило.