Единица 11 / 11

Репродуктивност и проект од крај до крај: Комбинирање на сè

Добивки:

  • Способност да се обезбеди репродуктивност со четири столба (фиксација на семиња, верзии на податоци, замрзнување медиуми, следење на експериментот) и производство на истиот резултат при повторување на истото возење
  • Способност да се комбинираат сите точки на модулот (метрика, податоци, модел, LLM компоненти, евал, правичност, безбедност, дистрибуција, мониторинг) во синџир од крај до крај
  • Способност да се потврди дека критичната одлука останува кај човекот на секое застанување и да се документира проектот на начин што може да се ревидира

Најподмолниот неуспех на проектот ML не е несреќа; „Повторно не добивајќи го истиот резултат. Ако денес не можете да го репродуцирате резултатот на моделот што го ставивте во производство пред три месеци, навистина не го контролирате тој модел. Во оваа завршна единица, ја продлабочуваме репродуктивноста: способноста сигурно да го добиеме истиот резултат со истите влезови и да го комбинираме целиот модул во проектна дисциплина од крај до крај.

Зошто репродуктивноста е тешка

Во обичниот софтвер, истиот код го дава истиот излез. Во ML има многу повеќе променливи кои го одредуваат исходот:

  • Случајност: мешање на податоци, иницијализација на тежината, поделба на податоци - сето тоа се потпира на случајноста.
  • Податоци: Истиот код произведува различен модел со различна верзија на податоци.
  • Околина: верзиите на библиотеката, хардверот (CPU/GPU), дури и оперативниот систем може да го променат резултатот.
  • Скриен случај: незачуван хиперпараметар, рачен чекор на претпроцесирање, незабележан избор.

Репродуктивноста не е „убаво да се има“, туку научен и инженерски императив. Резултат што не може да се репродуцира е тврдење што не може да се докаже.

Четири столба на репродуктивност

1. Поправете ја случајноста. Поставете ги сите случајни семиња на едно место: разделување податоци, иницијализација на моделот, мешање податоци. Фиксираното семе е основа на гаранцијата „истиот резултат кога ќе го повторите истото возење“.

2. Верзија на податоците. Запишете со која верзија на податоци е извршен секој експеримент (верзија на податоци во единица 2). „Најновите податоци“ се нејасни; „Верзија на податоци v3, хаш abc123“ е точно.

3. Замрзнете го медиумот. Закачете ги сите зависности на нивните точни верзии (на пр. точни верзии како numpy==1.26.4 во барањата.txt или слика на контејнер). „Најновата верзија“ еден ден ќе скрши се.

4. Следете сè (следење на експеримент). Автоматски зачувувајте за секој експеримент: верзија на код (git commit), верзија на податоци, сите хиперпараметри, метрика и излезни структури. Експериментирајте алатки за следење како MLflow, Weights & Biases го прават тоа систематски. Без регистрација, прашањето „која поставка беше најдобра“ останува неодговорено.

Внимание: „Ќе се сетам подоцна“ е најскапата заблуда. Две недели подоцна нема да се сеќавате кое семе, кој податок, кој хиперпараметар сте го користеле. Автоматското следење го елиминира потпирањето на меморијата.

Слаб пристап / Силен пристап

Слаб: „Го најдов најдобриот модел, го има на тетратката, мислам дека резултатот му беше 89%.

Силно: „Стартувај #147 во алатката за следење експеримент: git commit a3f9c, верзија на податоци v3 (hash abc123), семе 42, сите хиперпараметри регистрирани, тестирај PR-AUC 0.887. Кога повторно ќе ја извршам истата команда, малку по малку го добивам истиот резултат.

Разликата: во силниот пристап резултатот не се заснова на меморија, туку на фиксен и следен синџир. Секој може да го произведе истиот резултат секој пат.

Проект од крај до крај: комбинација на модул

Сега ајде да го комбинираме целиот модул во еден тек на проектот. Вистински ML систем поминува низ овие постојки, и секоја станица се надоврзува на претходната:

  1. Дефиниција на проблемот: Што решаваме, како да го измериме успехот (целина 3: правилна метрика, деловен контекст). Метриката и прагот се јасни од самиот почеток.
  2. Превод на податоци: собирање, валидација, чистење, партиционирање без протекување, верзии (единица 2).
  3. Развој на модел: обука, споредба на основната линија, вкрстена валидација, тврдо семе (единица 3 + оваа единица).
  4. LLM компоненти (ако е применливо): RAG (единица 4) и/или агенти (единица 5); дотерување доколку е потребно (единица 6).
  5. Евалуација: евал кластер со рабови и безбедносни куќишта, повеќеслојна евал во LLM системи (единица 8).
  6. Правда и етичка ревизија: Анализа на подгрупа, карта на модел, објаснување (единица 10).
  7. Безбедносна ревизија: Брзо вбризгување, приватност, синџир на снабдување (единица 9).
  8. Дистрибуција: Пакување, постепена дистрибуција, враќање, регистар на модели (единица 7).
  9. Мониторинг: Трослоен мониторинг, аларми за наноси (единица 8).
  10. Репродуктивност: Семе, верзија на податоци, медиуми и следење експеримент низ целиот синџир (оваа единица).

Во овој тек, вештачката интелигенција е акцелератор и генератор на план на секоја станица; но метричкиот избор, одлуките за податоци, праведноста на приоритетите, прагот на распоредување и одобрението за издавање - критичните одлуки остануваат кај човекот. Ова е суштината на модулот.

Документација: иднината ќе ви се заблагодари

Добар ML проект се документира самиот себе. Во најмала рака, треба да се напише следново: проблем и критериуми за успех, извор и верзија на податоци, избор и оправдување на модели, резултати од евалуација (вклучувајќи подгрупи), познати граници и ризици, процедура за распоредување и пронаоѓање, план за следење. Овој документ е најдобриот пријател на личноста (можеби сте вие) која се враќа во проектот по шест месеци.

три мини футроли

Случај 1 - Изгубен резултат. Инженер обучил одличен модел, но не го поправил семето и не ја зачувал верзијата на податоци. Кога ја напушти работата, никој не можеше да го репродуцира тој резултат; моделот стана „легенда на црната кутија“ и на крајот беше изграден од нула. Се потрошија недели. Поука: резултат кој не може да се репродуцира е непостоечки резултат.

Случај 2 - Колапс на животната средина. Еден тим не ги поправи зависностите. Кога библиотеката автоматски се ажурираше, излезите на моделот тивко се менуваа и производството беше нарушено. Беа потребни денови за да се открие проблемот. Кога зависностите беа замрзнати и контејнеризирани со дефинитивните верзии, проблемот не се појави повторно. Лекција: замрзнете ја околината.

Случај 3 - Моќта на следењето. Тим автоматски го следеше секој експеримент. Три месеци подоцна, при регулаторна ревизија, тие одговорија на прашањето „со кои податоци, со какви поставки, какви перформанси во кои групи доби? со целосна снимка во рок од неколку минути. Увидот помина без проблеми. Поука: следењето е алатка за усогласеност, а не само инженерска.

Шаблони за копирање

Направете проверка на репродуктивност за овој ML проект.- Дали сите семиња за случајност се фиксирани (поделат, иницијализираат, измешаат)?- Дали податоците се верзии?- Дали зависностите се замрзнати до точните верзии?- Дали секој експеримент (код обврзување, податоци, хиперпараметар, метрика) се следи? Напишете конкретни чекори за тоа како да го поправите за секоја колона што недостасува. Структура на проектот: [опис]

Направете плански скелет за овој ML проект од крај до крај. Проблем: [опис] Покријте ги следните постојки и означете каде е одлуката ЧОВЕКОТ на секоја станица: проблем/метрика, цевковод, модел, (RAG/агент/фино прилагодување?), евалуација, правичност, безбедност, дистрибуција, следење, репродуктивност. Напишете го главниот чекор на ризик и верификација за секое застанување.

Направете образец за техничка документација за овој проект. Секции: проблем+критериуми за успех, податоци (извор+верзија), избор на модели+оправдување, евалуација (вклучувајќи подгрупи), познати граници+ризици, распоредување+враќање, план за следење. Дајте ги полињата што треба да се пополнат за секој дел како прашања.

Проверете го моето поставување за следење на експериментот: Дали се зачувува автоматски при секое извршување: git commit, верзија/хаш на податоци, сите хиперпараметри, сите метрики, околина (верзии на библиотеката)? Дали го добивам истиот резултат кога повторно ќе го истрчам истото? Поставување: [опис]. Наведете ги недостатоците и исправката.

Табела со колони за репродуктивност

колона

Што е поправено

Пример за возило

случајност

сите семиња

поставување на семе

Податоци

Верзија на податоци/хаш

ДВЦ

животната средина

Верзии на библиотеката

барања игла, Docker

Мониторинг

Код+податоци+поставки+метрика

MLflow, W&B

Вообичаени грешки

  • Не фиксирање на семето. Резултатот не може да се повтори.
  • Не се зачувува верзијата на податоци. „Со кои податоци? останува неодговорено.
  • Не замрзнување зависности. Ажурирањето тивко ќе скрши сè.
  • Оставајќи ги експериментите на меморија. Две недели подоцна ништо не се памети.
  • Препуштање на критичните одлуки на вештачката интелигенција. Метриката, правдата и одлуките за дистрибуција треба да останат кај луѓето.
  • Одложување на документацијата. Идниот тим (и вие) ја плаќате цената.

Сумирано

Репродуктивноста е потпис на сериозното ML инженерство: резултатот што не може да се репродуцира е тврдењето кое не може да се докаже. Доаѓа со четири колони - поправете ја случајноста, податоците за верзијата, замрзната околина, следете го секој експеримент. Проект од крај до крај ги комбинира сите точки на овој модул (метрика, податоци, модел, LLM компоненти, евал, правичност, безбедност, дистрибуција, мониторинг) во меѓусебно поврзан синџир; Вештачката интелигенција е забрзувач на секоја станица, но критичните одлуки остануваат кај човекот. Документирајте сè - за идниот тим и ревизии. Оваа дисциплина е рамка која одржува сè што ќе научите во текот на модулот.

Задача за апликација

Проверете го ML-проектот според четирите столба за репродуктивност: дали семињата се непроменливи, дали податоците се верзии, дали околината е замрзната, дали се следат експериментите? Поправете ги сите колони што недостасуваат и докажете дека можете да ја извршите истата серија двапати и да го добиете истиот резултат. Потоа изнесете го протокот од крај до крај на проектот (10 застанувања) на една страница и означете „каде е човечката одлука“ на секоја станица. Конечно, напишете краток нацрт на техничката документација.

листа за проверка

  • [ ] Поправени се сите семиња за случајност.
  • [ ] Верзијата/хашот на податоците се снима со секој експеримент.
  • [ ] Зависностите се замрзнати во цврсти верзии (пин/контејнер).
  • [ ] Секој експеримент автоматски се следи (код+податоци+поставки+метрика).
  • [ ] Кога ќе го повторам истото трчање, го добивам истиот резултат.
  • [ ] Потврдив и документирав дека критичните одлуки во протокот од крај до крај ги носат луѓето.

Модул испит

1. Како ML инженер, кој е најдобриот пристап при позиционирање на вештачката интелигенција во работниот тек?

  • А) ВИ е забрзувач во бизнисите со низок ризик; Критичните одлуки како метрика, податоци и производство остануваат потврдени и препуштени на човекот ✔
  • Б) Се додека излезите на вештачката интелигенција изгледаат добро, нема потреба од верификација
  • В) Препуштањето на одлуката за пуштање на моделот во производство на вештачка интелигенција заштедува време.
  • Г) Вештачката интелигенција е корисна само за пишување текст, нема врска со податоци и работа со модели

Опис: вештачката интелигенција е моќен забрзувач за нискоризични, лесно проверливи задачи како што се кодот, дигестот на податоци и документите; Сепак, одговорноста за одлуките кои влијаат на парите, доверливоста и правната одговорност, како што е изборот на метрика, кој податоците одат во обука и пуштањето на моделот во производство, лежи на квалификуваниот инженер и тим. Секој излез не треба да се користи без верификација.

2. Зошто валидацијата на шемата е поставена на почетокот на линијата на податоци?

  • А) Бидејќи директно ја зголемува точноста на моделот
  • Б) Затоа што го прави верзиирањето на податоците непотребно
  • В) Бидејќи ги фаќа оштетените податоци во најраната и најевтината точка и го спречува нивното протекување во следните чекори ✔
  • Г) Бидејќи ја елиминира потребата за етикетирање

Објаснување: Колку порано се фатат корумпирани податоци, толку е поевтино да се поправат. Потврдувањето на шемата спречува тивко протекување на корумпирани податоци во обуката или производството со отфрлање на податоците надвор од очекуваниот тип и опсег на почетокот на линијата (на пр. поместување на цената за 100x со промена на единицата); Истата грешка фатена во производството е многу пати поскапа.

3. Кој е правилниот пристап кога податоците се делат на обука и тестирање во проблем кој вклучува време (временска серија)?

  • А) Користење на случајно разделување бидејќи тоа е секогаш најправедниот метод
  • Б) Користење на временско разделување: спречете истекување со обука со минатото и тестирање во иднина ✔
  • В) Користење на сите податоци и како обука и тестирање
  • Г) Вградување на податоците од тестот во параметрите за скалирање пред тренинг

Објаснување: Случајното разделување на временските серии му дава на моделот предност за „гледање на иднината“ што никогаш нема да се случи во производството и вештачки ја надува метриката (временско истекување). Точната е временската поделба: тренирајте со минатото, тестирајте во иднината. Ова ги мери вистинските перформанси што го одржуваат во производство.

4. Зошто точноста е погрешна во моделот за откривање измами со позитивна класа стапка од 1,5%?

  • А) Бидејќи прецизноста е секогаш мала на неурамнотежени податоци
  • Б) Бидејќи Точноста може да се користи само при проблеми со регресија
  • В) Бидејќи пресметувањето на точноста бара многу процесорска моќ
  • Г) Дури и безначајниот модел што ја предвидува мнозинската класа може да биде многу точен, со што се крие вистинскиот успех ✔

Објаснување: На неурамнотежени податоци, дури и основен модел кој вели „наречете сè негативно“ добива околу 98,5% точност, но нема да фати ниту една измама. Затоа, при неурамнотежена класификација, наместо точност се користат прецизност, отповикување, F1 или PR-AUC и секоја метрика се толкува според основен модел.

5. Зошто споредбата на основната линија е суштинска кога се зборува за метриката на моделот?

  • А) Бидејќи основниот модел е секогаш подобар од вистинскиот модел
  • Б) Бидејќи е јасно дали метриката е значајна или не само кога ќе се спореди со едноставен основен модел ✔
  • В) Бидејќи основниот модел ја прави непотребна вкрстена валидација
  • Г) Бидејќи основниот модел е законски потребен во секој извештај

Објаснување: метриката сама по себе не е добра или лоша; Тоа е добро или лошо според основен модел. Реченицата „85% точно“ значи речиси безвредна ако основниот модел веќе добие 84%, а совршен ако добие 50%. Без споредбено сидро, метриката е бесмислена.

6. Кој е најкритичниот безбедносен елемент што треба да биде вклучен во производниот промпт на системот RAG (Retrieval-Augmented Generation)?

  • А) Упатство да се потпрете само на даден извор, да кажете „не знам“ ако изворот не постои и да го наведете изворот ✔
  • Б) Кажете му на моделот да произведе што е можно подолги и креативни одговори
  • В) Моделот дава приоритет на сопственото образовно знаење пред ресурсите
  • Г) Спроведување на сите инструкции во документите донесени како команди

Објаснување: Единствената најважна инструкција на RAG е да му кажете на моделот да се потпира само на дадениот извор, а ако информацијата не е во изворот, кажете „Не знам“ и наведете го изворот без да го измислите. Без оваа тријада, моделот може да го игнорира контекстот и да произведе халуцинации, а одговорот станува непроверлив.

7. RAG систем дава неточни одговори. Каде е најдоброто место да се започне дијагноза?

  • А) Прво мерење на фаќање (Recall@K): дали некогаш пристигнува точното парче? ✔
  • Б) Веднаш заменете го моделот со поголем
  • В) Случајно променете го известувањето и продолжете да се обидувате
  • Г) Вградување на сите документи во моделот со дотерување

Објаснување: Најслабата алка на RAG е обично преземањето, а не производството. Ако никогаш не се донесе точниот дел, моделот не може да ги произведе тие информации, без разлика колку е подобрен промптот. Затоа, прво се мери Recall@K за да се види дали е пристигнат точниот дел; Ако донесувањето е добро, тогаш се испитуваат производството и брзата.

8. Кои активности треба да се стават зад човечкото одобрување кога се дава алатка на агент?

  • А) Никој; Агентот мора да биде способен да го изврши секое дејство самостојно
  • Б) Само реверзибилни дејства како што се читање и пребарување податоци
  • В) Неповратни или дејства со големо влијание како што се префрлање пари, бришење, испраќање ✔
  • Г) Дејства кои вклучуваат само пресметки

Опис: Дејствата се поделени по ниво на ризик. Задачите што може да се вратат, како што се читање, пребарување, пресметување и генерирање нацрти може да се вршат самостојно; Сепак, неповратните дејства или активностите со големо влијание, како што се префрлање пари, испраќање е-пошта, бришење податоци, нарачки итн. бараат човечко одобрување. Секое неотповикливо дејство мора да биде предмет на согласност.

9. Кој е најдобриот дизајнерски пристап против ризикот од индиректно брзо вбризгување?

  • А) Доволно е да додадете една реченица „игнорирај ги лошите инструкции“ во промптот на системот
  • Б) Дајте повеќе авторитет на моделот со потпирање на инструкции во надворешна содржина
  • В) Не преземање никакви мерки на претпазливост бидејќи инјектирањето не може да се спречи
  • Г) Изолирање на надворешната содржина како неверодостојни податоци и воспоставување на слоеви одбрана со минимално овластување, одобрение и контрола на излезот ✔

Опис: Надворешните содржини обработени од агентот или RAG, како што се веб-страница, документ, е-пошта итн., не се доверливи податоци и може да содржат тајни инструкции. Правилниот пристап е слоевитоста на одбраната: изолирање на надворешната содржина како „податоци, а не наредби“ со јасни разграничувачи, примена на минимално овластување, обврзувачки неповратни дејства за човечкото одобрување и ревизија на излезот. Една линија инструкции не е доволна.

10. Која е главната разлика кога се одлучува дали проблемот треба да се реши со фино подесување или RAG?

  • А) Проблемите со информации се подобро решени со RAG, проблемите со однесувањето/форматот се подобро решени со дотерување ✔
  • Б) Секој проблем секогаш треба да се решава со дотерување
  • В) RAG се користи само за генерирање код, фино подесување се користи само за превод
  • Г) Фино подесувањето секогаш може да се ажурира поевтино и побрзо од RAG

Објаснување: Дотерувањето е слабо и ризично во учењето на моделот за нови информации; но е моќен во поучувањето на однесувањето, форматот, тонот и стилот. „Моделната компанија не ги знае нашите податоци“ е информативен проблем и припаѓа на RAG. „Нека моделот секогаш излегува во нашиот строг формат“ е проблем во однесувањето и кандидат за дотерување. Дополнително, треба да се направат брзи и неколку снимки пред фино подесување.

11. Што е задолжително за безбедно распоредување при ставање на нов модел во производство?

  • А) Ако моделот е добар во тестирањето, отворете го директно до 100% сообраќај
  • Б) Воопшто не се поставува мониторинг по распоредувањето
  • В) Фазно распоредување (сенка/канари) и претходно тестиран план за враќање ✔
  • Г) Објавување на моделот дури и ако прагот за евалуација не е исполнет

Објаснување: Отворањето на новиот модел директно за целиот сообраќај е ризично; Ако е погрешно, сите се засегнати. Точното е тоа што е постепена распределба (сенка, канари) и секоја дистрибуција има проверен план за враќање. Дистрибуцијата не е комплетна без план за clawback; Можноста за враќање на претходната верзија за неколку минути го штити корисникот кога моделот се однесува неочекувано во производството.

12. Како може моделот ML да пропадне „тивко“ во производството и кој е начинот да се фати ова?

  • А) Моделот пропаѓа; логовите на серверот го покажуваат ова
  • Б) Со производство на погрешни предвидувања без да се прават грешки; ✔ Го доловува оперативниот, влезниот и излезниот повеќеслоен мониторинг
  • В) Моделот никогаш не може да пропадне тивко, секогаш аларм
  • Г) Доволно е само следење на латентноста за да се забележи каква било деградација

Објаснување: Моделот може да пропадне едноставно со производство на неточни предвидувања без паѓање или давање грешки; Главната причина за ова е дрифтот на податоците и дрифтот на концептот. Само следењето на оперативните метрики (латентност, стапка на грешки) не е доволно; Треба да се следи и влезната дистрибуција и излезната/предвидувачката дистрибуција. Пренесувањето на влезот дава рано предупредување ако вистинскиот резултат е одложен.

13. Кој принцип е суштински кога се користи LLM-како судија за да се оцени системот за LLM?

  • А) LLM-судијата е секогаш точна, човечката проверка е непотребна
  • Б) Судијата мора да донесе одлука само врз основа на должината на одговорот.
  • В) Контролите засновани на правила и човечката проценка треба целосно да се отфрлат кога се користат судии
  • Г) Резултатите од судиите треба да се калибрираат со примерок означен со луѓе и да се измери нивната пристрасност пред да може да им се верува ✔

Опис: LLM-судијата е исто така модел; Тоа може да биде халуцинаторно, пристрасно (да фаворизира долги, сигурни одговори) и неконзистентно. Затоа, судиските резултати мора да се калибрираат со примерок означен со луѓе и нивната систематска пристрасност мора да се измери пред да се донесе одлука за производство. Непроверен судија дава лажна доверба.

14. Зошто гледањето на целокупната точност е несоодветно кога се оценува пристрасноста на моделот?

  • А) Целокупната точност е доволна бидејќи секогаш ги одразува перформансите на најлошата група
  • Б) Само целокупната точност е недоволна бидејќи може да ја прикрие систематската разлика (скриена дискриминација) помеѓу подгрупите ✔
  • В) Бидејќи точноста е метрика која нема никаква врска со пристрасност
  • Г) Пристрасноста доаѓа само од моделот и нема никаква врска со податоците.

Објаснување: Целокупната точност може да ги прикрие систематските разлики помеѓу подгрупите. На пример, додека вкупната точност е 88%, отповикувањето може да биде 91% во една група и 67% во друга група; Моделот систематски ја пропушта таа група. Затоа, моделот треба да се оценува врз основа на подгрупи (демографија/сегмент) и на која дефиниција за правда треба да се даде приоритет треба да се одлучи со засегнатите страни.

15. Кои четири работи мора да се поправат заедно за резултатот од ML да може да се репродуцира?

  • А) Само името на моделот, големината, цената и датумот на издавање
  • Б) Само бренд на графички процесор и брзина на интернет
  • В) Само конечниот резултат за точност на моделот; остатокот може да се чува во меморија
  • Г) Семе на случајност, верзија на податоци, околина (верзии на зависност) и следење на експериментот ✔

Опис: Репродуктивноста се постигнува преку четири столба: фиксирање на семиња на случајност, верзии на податоци (верзија/хаш), замрзнување на околината (точни верзии на библиотеката/контејнер) и следење на секој експеримент (завршување на код, податоци, хиперпараметар, метрика). Без овој синџир не е можно да се репродуцира истиот резултат; Резултат кој не може да се репродуцира е тврдење што не може да се докаже.