Што е претходна обработка на вештачка интелигенција?

Што е претходна обработка на вештачка интелигенција?

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

Претходната обработка со вештачка интелигенција е сè што правите со суровите податоци пред (а понекогаш и за време на) обуката или инференцијата, за моделот всушност да може да учи од нив. Не само „чистење“. Тоа е чистење, обликување, скалирање, кодирање, зголемување и пакување на податоците во конзистентна репрезентација што нема тивко да го исклучи вашиот модел подоцна. [1]

Клучни заклучоци:

Дефиниција: Претпроцесирањето ги претвора суровите табели, текстот, сликите и логовите во функции подготвени за модел.

Доследност: Применете ги истите трансформации за време на обуката и инференцијата за да спречите несовпаѓање.

Протекување: Поставете скалери, енкодери и токенизери само на податоци за обука.

Репродуктивност: Изградете цевководи со статистики што можат да се инспектираат, а не ad-hoc секвенци на ќелии од бележник.

Мониторинг на производството: Следете ги асиметријата и отстапувањата за да не се намалат влезните податоци постепено.

Статии што можеби ќе ве интересираат по оваа:

🔗 Како да се тестираат моделите на вештачка интелигенција за перформанси во реалниот свет
Практични методи за брзо оценување на точноста, робусноста и пристрасноста.

🔗 Дали претворањето на текст во говор е вештачка интелигенција и како функционира?
Ги објаснува основите на TTS, клучните употреби и вообичаените ограничувања денес.

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

🔗 Колку е прецизна вештачката интелигенција во вообичаените задачи
Ги анализира факторите на точност, реперните точки и сигурноста во реалниот свет.


Претходна обработка со вештачка интелигенција на едноставен јазик (и што не е) 🤝

Претпроцесирањето со вештачка интелигенција е трансформација на сурови влезни податоци (табели, текст, слики, логови) во функции подготвени за модел. Ако суровите податоци се неуредна гаража, препроцесирањето е означување на кутиите, фрлање скршен ѓубре и редење работи за да можете да поминете низ нив без повреда.

Не е самиот модел. Тоа се работите што го прават моделот можен:

  • претворање на категориите во броеви (еднократни, редни, итн.) [1]

  • скалирање на големи нумерички опсези во разумни опсези (стандардизација, мин.-макс. итн.) [1]

  • токенирање на текст во влезни идентификатори (и обично маска за внимание) [3]

  • промена на големината/сечење на слики и соодветна примена на детерминистички наспроти случајни трансформации [4]

  • градење на повторувачки цевководи, така што обуката и влезните податоци од „вистинскиот живот“ не се разликуваат на суптилни начини [2]

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

 

Претпроцесирање со вештачка интелигенција

Зошто претходната обработка со вештачка интелигенција е поважна отколку што луѓето признаваат 😬

Моделот е споредувач на шеми, а не читач на мисли. Ако вашите влезни податоци се недоследни, моделот учи недоследни правила. Тоа не е филозофско, туку е болно буквално.

Претходната обработка ви помага:

  • Подобрете ја стабилноста на учењето со ставање карактеристики во репрезентации што проценувачите можат да ги користат сигурно (особено кога е вклучено скалирање/кодирање). [1]

  • Намалете ја бучавата така што ќе ја направите неуредна реалност да изгледа како нешто од кое моделот може да генерализира (наместо да меморирате чудни артефакти).

  • Спречете ги режимите на тивок дефект како што се истекување и несовпаѓања помеѓу обуката и сервисот (оние што изгледаат „прекрасно“ при валидација, а потоа и при поставување на фасади во производството). [2]

  • Забрзајте ја итерацијата бидејќи повторувачките трансформации ги победуваат шпагетите од тетратката секој ден од неделата.

Исто така, оттаму всушност доаѓаат многу „моделски перформанси“. Како… изненадувачки многу. Понекогаш се чини неправедно, но тоа е реалноста 🙃


Што прави еден процес на претходна обработка со вештачка интелигенција добар ✅

„Добрата верзија“ на претходна обработка обично ги има следниве квалитети:

  • Репродуцибилно: ист влез → ист излез (без мистериозна случајност освен ако не е намерно зголемување).

  • Конзистентност при опслужување на обуката: што и да правите во времето на обуката, се применува на ист начин во времето на инференција (исти прилагодени параметри, исти мапи на категории, иста конфигурација на токенизерот итн.). [2]

  • Безбедно за истекување: ништо во евалуацијата/тестот не влијае на ниту еден на прилагодување . (Повеќе за оваа стапица подоцна.) [2]

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

Ако вашата претходна обработка е куп ќелии од тетратка наречени final_v7_really_final_ok… знаете како е. Работи сè додека не престане 😬


Основни градежни блокови на претходна обработка со вештачка интелигенција 🧱

Замислете ја претходната обработка како збир на градежни блокови што ги комбинирате во цевковод.

1) Чистење и валидација 🧼

Типични задачи:

  • отстрани дупликати

  • ракување со недостасувачки вредности (исфрлање, импутирање или експлицитно претставување на недостасувања)

  • наметнување типови, единици и опсези

  • откривање на погрешно формирани влезни податоци

  • стандардизирање на текстуални формати (празни места, правила за пишување големи букви, карактеристики на Уникод)

Овој дел не е гламурозен, но спречува екстремно глупави грешки. Го кажувам тоа со љубов.

2) Кодирање на категорични податоци 🔤

Повеќето модели не можат директно да користат сурови низи како „red“ или „premium_user“.

Вообичаени пристапи:

  • Еднократно кодирање (категорија → бинарни колони) [1]

  • Редно кодирање (категорија → цел број ID) [1]

Клучната работа не е кој енкодер ќе го изберете - туку мапирањето да остане конзистентно и да не „менува облик“ помеѓу обуката и инференцијата. Така завршувате со модел кој изгледа добро офлајн, а делува како да е опседнат онлајн. [2]

3) Скалирање и нормализација на функциите 📏

Скалирањето е важно кога карактеристиките се наоѓаат на многу различни опсези.

Два класика:

  • Стандардизација: отстранување на средната вредност и скалирање на варијанса во единица [1]

  • Мин-макс скалирање: скалирање на секоја карактеристика во одреден опсег [1]

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

4) Инженерство на функции (т.е. корисно мамење) 🧪

Тука ја олеснувате работата на моделот со создавање подобри сигнали:

  • соодноси (кликне / импресии)

  • подвижни прозорци (последните N дена)

  • број (настани по корисник)

  • логаритамски трансформации за дистрибуции со тешка опашка

Тука има уметност. Понекогаш ќе создадете статија, ќе се чувствувате горди… и тоа нема да направи ништо. Или уште полошо, боли. Тоа е нормално. Не се врзувајте емоционално за статијата - тие не ви возвраќаат љубов 😅

5) Правилно разделување на податоците ✂️

Ова звучи очигледно сè додека не престане да биде:

  • случајни поделби за iid податоци

  • временски базирани поделби за временски серии

  • групирани поделби кога ентитетите се повторуваат (корисници, уреди, пациенти)

И најважно: разделете пред да го прилагодите процесот на претходна обработка што учи од податоците. Ако вашиот чекор на претходна обработка „учи“ параметри (како што се средства, вокабулари, мапи на категории), тој мора да ги научи само од обука. [2]


Претходна обработка со вештачка интелигенција според тип на податоци: табеларни, текстуални, слики 🎛️

Претпроцесирањето го менува обликот во зависност од тоа што го внесувате во моделот.

Табеларни податоци (табели, логови, бази на податоци) 📊

Вообичаени чекори:

  • стратегија за недостасувачка вредност

  • категорично кодирање [1]

  • скалирање на нумерички колони [1]

  • ракување со отстапувања (правилата на доменот ги победуваат „случајните отсечоци“ поголемиот дел од времето)

  • изведени карактеристики (агрегации, заостанувања, статистики за движење)

Практичен совет: дефинирајте ги експлицитно групите на колони (нумерички наспроти категорични наспроти идентификатори). Вашето идно јас ќе ви биде благодарно.

Текстуални податоци (NLP) 📝

Претходната обработка на текст често вклучува:

  • токенизација во токени/подзборови

  • конверзија во влезни ID-а

  • дополнување/скратување

  • изработка на маски за внимание за сериско пакување [3]

Мало правило што заштедува мака: за поставки базирани на трансформатор, следете ги очекуваните поставки на токенизерот на моделот и не правете фристајл освен ако немате причина. Фристајлингот е начинот на кој завршувате со „тренира, но е чудно“

Слики (компјутерска визија) 🖼️

Типична претходна обработка:

  • менување на големината / сечење до конзистентни форми

  • детерминистички трансформации за евалуација

  • случајни трансформации за зголемување на обуката (на пр., случајно сечење) [4]

Еден детаљ што луѓето го пропуштаат: „случајните трансформации“ не се само вибрации - тие буквално земаат примероци од параметри секој пат кога ќе бидат повикани. Одлично за обука на разновидност, ужасно за евалуација ако заборавите да ја исклучите случајноста. [4]


Стапицата во која паѓаат сите: протекување на податоци 🕳️🐍

Протекување е кога информациите од податоците за евалуација се провлекуваат во обуката - честопати преку претходна обработка. Тоа може да го направи вашиот модел да изгледа магично за време на валидацијата, а потоа да ве разочара во реалниот свет.

Вообичаени модели на истекување:

  • скалирање со користење на статистика од целосен збир на податоци (наместо само обука) [2]

  • градење на мапи на категории користејќи воз+тест заедно [2]

  • кој било fit() или fit_transform() што го „гледа“ тест множеството [2]

Правило на палецот (едноставно, брутално, ефикасно):

  • Се што има соодветен чекор треба да биде соодветен само на тренинг.

  • Потоа трансформацијата користејќи го тој вграден трансформатор. [2]

И ако сакате „колку лошо може да биде?“ проверка на интуицијата: сопствените документи на scikit-learn покажуваат пример за истекување каде што неточниот редослед на претходна обработка дава точност од околу 0,76 на случајни цели - а потоа паѓа на ~0,5 откако ќе се поправи истекувањето. Толку убедливо може да изгледа погрешното истекување. [2]


Внесување на претходна обработка во производство без хаос 🏗️

Многу модели не успеваат во производството не затоа што моделот е „лош“, туку затоа што влезната реалност се менува - или вашиот цевковод се менува.

Претпроцесирањето насочено кон производството обично вклучува:

  • Зачувани артефакти (мапирање на кодерот, параметри на скалирање, конфигурација на токенизерот) така што инференцијата ги користи истите научени трансформации [2]

  • Строги влезни договори (очекувани колони/типови/опсези)

  • Мониторинг за асиметрија и отстапување, бидејќи податоците за производство ќе талкаат [5]

Ако сакате конкретни дефиниции: Vertex AI Model Monitoring на Google прави разлика помеѓу асиметријата на обучување (распределбата на производството отстапува од обуката) и отстапувањето од инференцијата (распределбата на производството се менува со текот на времето) и поддржува следење и за категорични и за нумерички карактеристики. [5]

Бидејќи изненадувањата се скапи. И тоа не од забавен вид.


Табела за споредба: вообичаени алатки за претходна обработка + следење (и за кого се наменети) 🧰

Алатка / библиотека Најдобро за Цена Зошто функционира (и малку искреност)
претходна обработка на scikit-learn Табеларни ML цевководи Бесплатно Солидни енкодери + скалери (OneHotEncoder, StandardScaler, итн.) и предвидливо однесување [1]
Токенизери за прегрнување на лице НЛП подготовка за влез Бесплатно Конзистентно произведува влезни ID-а + маски за внимание низ сите процеси/модели [3]
Torchvision трансформира Визуелна трансформација + зголемување Бесплатно Чист начин за мешање на детерминистички и случајни трансформации во еден цевковод [4]
Мониторинг на моделот со вештачка интелигенција на Vertex Детекција на отстапување/искривување во продуктот Платено (облак) Мониторите имаат функција за искривување/отстапување и известувања кога се надминати праговите [5]

(Да, масата сè уште има мислења. Но, барем се искрени мислења 😅)


Практична контролна листа за претходна обработка што всушност можете да ја користите 📌

Пред тренинг

  • Дефинирајте шема на влез (типови, единици, дозволени опсези)

  • Ревизија на недостасувачки вредности и дупликати

  • Поделете ги податоците на правилен начин (случајно / временски / групирано)

  • Претпроцесирање на прилагодување само при обука (fit / fit_transform останува при обука) [2]

  • Зачувајте ги артефактите од претходна обработка за да може заклучувањето да ги повторни [2]

За време на тренингот

  • Применувајте случајно зголемување само каде што е соодветно (обично само поделба на обука) [4]

  • Одржувајте ја детерминистичката претходна обработка на евалуацијата [4]

  • Следете ги промените во претходната обработка како што се промените на моделот (бидејќи тие се)

Пред распоредување

  • Осигурајте се дека инференцијата користи идентична патека за претходна обработка и артефакти [2]

  • Поставете мониторинг на отстапување/искривување (дури и основните проверки на распределбата на функциите се од голема помош) [5]


Длабоко нурнување: чести грешки во претходната обработка (и како да ги избегнете) 🧯

Грешка 1: „Само брзо ќе нормализирам сè“ 😵

Ако пресметувате параметри за скалирање на целиот сет на податоци, протекувате информации за евалуација. Прилагодете го во возот, трансформирајте го остатокот. [2]

Грешка 2: категориите тонат во хаос 🧩

Ако вашето мапирање на категории се менува помеѓу обуката и инференцијата, вашиот модел може тивко да го протолкува погрешно светот. Чувајте ги мапирањата фиксирани преку зачувани артефакти. [2]

Грешка 3: случајно зголемување се провлекува во евалуацијата 🎲

Случајните трансформации се одлични во обуката, но тие не треба да бидат „тајно вклучени“ кога се обидувате да ги измерите перформансите. (Случајно значи случајно.) [4]


Заклучни забелешки 🧠✨

Претпроцесирањето со вештачка интелигенција е дисциплинирана уметност за претворање на неуредна реалност во конзистентни влезни податоци на моделот. Таа опфаќа чистење, кодирање, скалирање, токенизација, трансформации на слики и - најважно - повторувачки цевководи и артефакти.

  • Претпроцесирањето правете го намерно, а не случајно. [2]

  • Прво разделување, трансформациите за прилагодување само при тренирање, избегнување на истекување. [2]

  • Користете претходна обработка соодветна на модалитетот (токенизери за текст, трансформации за слики). [3][4]

  • Следете го искривувањето/отстапувањето од производството за вашиот модел полека да не отстапува во бесмислени резултати. [5]

И ако некогаш се заглавите, запрашајте се:
„Дали овој чекор на претходна обработка ќе има смисла ако го извршам утре на сосема нови податоци?“
Ако одговорот е „ааа... можеби?“, тоа е вашата индикација 😬

Пример од реалниот свет: Градење на цевковод за претходна обработка безбедна од протекување за предвидување на одлив на клиенти

Сценарио

Замислете мал SaaS тим кој се обидува да предвиди кои клиенти најверојатно ќе откажат во следните 30 дена. Нивните сурови податоци се наоѓаат на три места: извоз на фактурирање, логови за користење на производи и тикети за поддршка.

Првата верзија на моделот изгледа одлично при валидација, но лошо се покажува кога е тестирана на корисници од пред еден месец. Проблемот не е архитектурата на моделот. Проблемот е претходната обработка.

Тимот случајно ги скалираше нумеричките карактеристики користејќи го целиот сет на податоци, изгради мапирање на категории од податоците за воз и тестирање заедно и вклучи ознаки за билети за поддршка кои беа додадени дури по откажувањето. Класично протекување. Болно, но поправливо. [2]

Што е потребно за гасоводот

Практичното поставување би вклучувало:

  • Фиксна шема за внесување: customer_id, plan_type, account_age_days, logins_30d, tickets_30d, last_payment_status, region

  • Временска поделба, како што е обука од јануари до септември и тестирање во октомври

  • Нумеричкото скалирање е прилагодливо само на сплитот за обука

  • Категорични енкодери поставени само на сплитот за обука

  • Зачуван цевковод за претходна обработка, така што продукцијата ги користи истите мапирања и вредности на скалирање

  • Основно следење на недостасувачки колони, невидени категории и промени во дистрибуцијата по распоредувањето

Основното правило е едноставно: прво поделба, потоа претходна обработка на вклопување. Сè што учи од податоците треба да учи само од периодот на обука. [2]

Пример за упатство

Користете го ова како работен опис за чекорот на претходна обработка:

Изградете цевковод за претходна обработка за модел за предвидување на одлив на клиенти користејќи податоци за фактурирање, користење и поддршка од клиенти. Поделете ги податоците по време пред да вклопите какви било трансформатори. Вклопете ги нумеричките скалери и категорични енкодери само на податоците за обука, а потоа применете ги тие вклопени трансформации на податоците за валидација и тестирање. Зачувајте ги сите артефакти за претходна обработка, така што моделот за производство ја користи истата шема, мапирање на категории и параметри за скалирање. Означете ги недостасувачките колони, неочекуваните типови на податоци, невидените категории и главните промени во дистрибуцијата пред предвидувањето.

Како да го тестирате

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

  • Клиент на тип на план кој не беше присутен на обуката

  • Ред со недостасува регион или последен_статус_на_плаќање

  • Клиент со невообичаено голема употреба, како на пример 10.000 најавувања за 30 дена

  • Датотека во продукциски стил со колони во погрешен редослед

  • Тест сет за идните месеци што никогаш не беше користен за време на прилагодувањето

Потоа проверете три работи:

  • Дали цевководот работи без промена на редоследот на карактеристиките?

  • Дали непознатите категории се обработуваат конзистентно?

  • Дали перформансите на валидацијата паѓаат на поверодостојно ниво откако ќе се отстрани протекувањето?

Последната поента е важна. Сомнително високиот резултат за валидација често е мирис на претходна обработка, а не чудо.

Резултат

Илустративен резултат, базиран на темпирање на пет примероци на претходна обработка пред и по конвертирањето на чекорите од тетратката во зачуван цевковод:

  • Времето за рачна претходна обработка се намали од 55 минути по освежување на множеството податоци на 8 минути.

  • Грешките во редоследот на функциите се намалија од 3 грешки во 5 тест освежувања на 0 грешки во 5 освежувања.

  • Точноста на валидацијата се намали од 91% на 74% откако беше отстрането истекувањето, но точноста на тестот во првиот месец се подобри од 62% на 71%.

  • Тимот додаде 6 автоматизирани проверки: недостасувачки колони, неважечки типови, невидливи категории, промена на нулта стапка, промена на нумеричкиот опсег и несовпаѓање на шемата што опслужува воз.

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

Што може да тргне наопаку

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

Други вообичаени стапици:

  • Повторно вградување на енкодерите во производство наместо вчитување на зачуваните мапирања

  • Дозволување на новите категории тивко да ги менуваат позициите на карактеристиките

  • Тестирање на случајна поделба кога вистинската задача е временски базирана

  • Испуштање на редови со недостасувачки вредности во обуката, но не и нивно обработување при инференција

  • Мониторирање на точноста на моделот, игнорирајќи го поместувањето на влезот

Практичен оброк за носење

Добриот процес на претходна обработка прави повеќе од тоа само да ги уредува суровите податоци. Го штити моделот од лоша евалуација, неисправни влезни податоци за производство и бавно тивко отстапување. За модел на одлив, разликата помеѓу паметна претходна обработка и сигурна претходна обработка честопати се сведува на тоа дали истите прилагодени трансформации се користат повторно секој пат, особено кога податоците доаѓаат од месец што моделот никогаш порано не го видел.


Најчесто поставувани прашања

Што е претходна обработка на вештачка интелигенција, накратко кажано?

Претпроцесирањето со вештачка интелигенција е повторувачки збир на чекори што ги претвора бучните, високоваријантни сурови податоци во конзистентни влезни податоци од кои моделот може да учи. Може да вклучува чистење, валидација, кодирање категории, скалирање на нумерички вредности, токенирање на текст и примена на трансформации на слики. Целта е да се осигури дека обуката и производствениот инференција го гледаат „истиот вид“ влез, така што моделот нема да се однесува непредвидливо подоцна.

Зошто претходната обработка со вештачка интелигенција е толку важна во производството?

Претпроцесирањето е важно бидејќи моделите се чувствителни на влезно претставување. Ако податоците за обука се скалираат, кодираат, токенизираат или трансформираат поинаку од податоците за производство, можете да добиете несовпаѓања на обука/сервирање кои изгледаат добро офлајн, но тивко паѓаат онлајн. Силните цевководи за претходна обработка исто така го намалуваат шумот, ја подобруваат стабилноста на учењето и ја забрзуваат итерацијата бидејќи не ги расплеткувате шпагетите од тетратката.

Како да избегнам истекување на податоци при претходна обработка?

Едноставно правило функционира: сè што има прилагодување мора да се прилагоди само на податоците за обука. Тоа вклучува скалери, енкодери и токенизери кои учат параметри како што се средни вредности, мапи на категории или вокабулари. Прво се делите, се прилагодувате на поделбата за обука, а потоа се трансформира валидацијата/тестот користејќи го прилагодениот трансформатор. Протекувањето може да ја направи валидацијата да изгледа „магично“ добро, а потоа да пропадне во производствената употреба.

Кои се најчестите чекори за претходна обработка на табеларни податоци?

За табеларни податоци, вообичаениот процес вклучува чистење и валидација (типови, опсези, недостасувачки вредности), категорично кодирање (еднократно или редно) и нумеричко скалирање (стандардизација или мин.-макс.). Многу процесори додаваат инженерство на карактеристики управувано од доменот, како што се соодноси, ротирачки прозорци или броеви. Практична навика е експлицитно да се дефинираат групите на колони (нумерички наспроти категорични наспроти идентификатори) за да останат вашите трансформации конзистентни.

Како функционира претходната обработка за текстуални модели?

Претходната обработка на текст обично значи токенизација во токени/потзборови, нивно конвертирање во влезни идентификатори и ракување со дополнување/скратување за групирање. Многу работни процеси на трансформаторот, исто така, создаваат маска за внимание покрај идентификаторите. Чест пристап е да се користи очекуваната конфигурација на токенизерот на моделот, наместо импровизација, бидејќи малите разлики во поставките на токенизерот можат да доведат до исходи од типот „се обучува, но се однесува непредвидливо“.

Што е различно во врска со претходната обработка на слики за машинско учење?

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

Што го прави цевководот за претходна обработка „добар“ наместо кршлив?

Добриот цевковод за претходна обработка со вештачка интелигенција е репродуцибилен, безбеден од протекување и видлив. Репродуцибилен значи дека истиот влез произведува ист излез освен ако случајноста не е намерно зголемување. Безбеден од протекување значи дека чекорите за вклопување никогаш не ја допираат валидацијата/тестирањето. Набљудлив значи дека можете да проверите статистики како што се недостасувања, број на категории и распределба на карактеристики, така што дебагирањето се базира на докази, а не на интуиција. Цевководите секогаш ги победуваат ad-hoc секвенците од бележникот.

Како да ја одржам конзистентна обуката и претходната обработка на инференции?

Клучот е да се користат повторно истите научени артефакти во времето на инференција: параметри на скалирање, мапирање на кодерот и конфигурации на токенизерот. Исто така, ви е потребен влезен договор (очекувани колони, типови и опсези) за да не можат податоците за производство тивко да се префрлат во невалидни форми. Доследноста не е само „направи ги истите чекори“ - туку „направи ги истите чекори со истите прилагодени параметри и мапирање“

Како можам да ги следам проблемите со претходната обработка како што се отстапувањето и искривувањето со текот на времето?

Дури и со солиден процес на производство, податоците за производство се менуваат. Вообичаен пристап е да се следат промените во дистрибуцијата на карактеристиките и да се алармира за асиметрија при обука-сервирање (производството отстапува од обуката) и отстапување од инференцијата (производството се менува со текот на времето). Мониторингот може да биде лесен (основни проверки на дистрибуцијата) или управуван (како Vertex AI Model Monitoring). Целта е рано да се забележат промените на влезните податоци - пред тие полека да ги еродираат перформансите на моделот.

Референци

[1] scikit-learn API: sklearn.preprocessing (енкодери, скалери, нормализација)
[2] scikit-learn: Чести стапици - Протекување на податоци и како да се избегне
[3] Документација за Hugging Face Transformers: Токенизери (влезни ID-а, маски за внимание)
[4] Документација за PyTorch Torchvision: Трансформации (Промена на големина/Нормализација + случајни трансформации)
[5] Документација за Google Cloud Vertex AI: Преглед на мониторинг на моделот (аском и отстапување на функции)

Пронајдете ја најновата вештачка интелигенција во официјалната продавница за асистенти за вештачка интелигенција

За нас

Назад кон блогот

Дополнителни често поставувани прашања

  • Како претходната обработка со вештачка интелигенција ги подобрува моделите за машинско учење?

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

  • Кои чекори се вклучени во процесот на претходна обработка со вештачка интелигенција?

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

  • Зошто е важна конзистентноста во претходната обработка на вештачката интелигенција?

    Доследноста во претходната обработка со вештачка интелигенција е клучна за да се спречат несовпаѓања помеѓу влезните податоци за обука и производство. Ако чекорите за претходна обработка се разликуваат, моделот може да работи добро за време на валидацијата, но тивко да не успее во сценарио од реалниот свет, што доведува до несигурни резултати.

  • Што е протекување на податоци во контекст на претходна обработка на вештачката интелигенција?

    Протекување на податоци се јавува кога информациите од евалуациските или тест множествата на податоци ненамерно влијаат на процесот на обука. За да се избегне ова, сите чекори на претходна обработка што ги учат параметрите треба да се вклопат само на податоците за обука, со што се осигурува дека евалуацијата на моделот ги одразува вистинските перформанси.

  • Како можам да се осигурам дека мојот процес на претходна обработка со вештачка интелигенција е репродуктивен?

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

  • Што треба да следам во мојата претходна обработка со вештачка интелигенција за да спречам проблеми со перформансите на моделот?

    Важно е да се следи отстапувањето и искривувањето на вашите податоци со текот на времето. Ова вклучува проверка на промени во распределбата на карактеристиките и осигурување дека податоците за производство остануваат конзистентни со податоците за обука. Раното откривање на вакви проблеми може да помогне во одржувањето на перформансите на моделот.

  • Можете ли да дадете примери за вообичаени грешки при претходна обработка што треба да се избегнат?

    Честите грешки во претходната обработка вклучуваат прилагодување на чекорите за претходна обработка на целиот сет на податоци, што резултира со протекување на податоци, неконзистентни мапирања на категории помеѓу обуката и инференцијата и оставање на случајни трансформации активни за време на евалуацијата, што може да ги искриви метриките за перформанси.