Што такое папярэдняя апрацоўка штучным інтэлектам?

Што такое папярэдняя апрацоўка штучным інтэлектам? [Відэа і віктарына]

Кароткі адказ: папярэдняя апрацоўка з дапамогай штучнага інтэлекту — гэта набор паўтаральных крокаў, якія пераўтвараюць неапрацаваныя даныя з высокай дысперсіяй у паслядоўныя ўваходныя дадзеныя мадэлі, у тым ліку ачыстку, кадаванне, маштабаванне, токенізацыю і пераўтварэнне малюнкаў. Гэта важна, таму што калі ўваходныя дадзеныя для навучання і ўваходныя дадзеныя для вытворчасці адрозніваюцца, мадэлі могуць даць збой без увагі. Калі крок «вывучае» параметры, падганяйце яго толькі да дадзеных для навучання, каб пазбегнуць уцечкі.

Папярэдняя апрацоўка штучнага інтэлекту — гэта ўсё, што вы робіце з неапрацаванымі дадзенымі перад (а часам і падчас) навучання або высновы, каб мадэль магла сапраўды вучыцца на іх. Гэта не проста «ачыстка». Гэта ачыстка, фарміраванне, маштабаванне, кадаванне, дапаўненне і ўпакоўка дадзеных у паслядоўнае прадстаўленне, якое пазней не будзе ціха сапсаваць вашу мадэль. [1]

Асноўныя высновы:

Вызначэнне: Папярэдняя апрацоўка пераўтварае неапрацаваныя табліцы, тэкст, выявы і журналы ў гатовыя да мадэлі аб'екты.

Паслядоўнасць: ужывайце адны і тыя ж пераўтварэнні падчас навучання і вываду, каб прадухіліць памылкі з-за неадпаведнасці.

Уцечка: усталёўвайце скалеры, кадавальнікі і токенаізатары толькі на навучальных дадзеных.

Узнаўляльнасць: стварайце канвееры з дапамогай праверваемай статыстыкі, а не з дапамогай спецыяльных паслядоўнасцей ячэек нататніка.

Маніторынг вытворчасці: адсочвайце перакосы і зрухі, каб уваходныя дадзеныя паступова не зніжалі прадукцыйнасць.

Артыкулы, якія вам могуць спадабацца пасля гэтага:

🔗 Як праверыць мадэлі штучнага інтэлекту на прадукцыйнасць у рэальных умовах
Практычныя метады хуткай ацэнкі дакладнасці, надзейнасці і зрушэння.

🔗 Ці з'яўляецца пераўтварэнне тэксту ў маўленне штучным інтэлектам і як гэта працуе
Тлумачыць асновы TTS, ключавыя спосабы выкарыстання і распаўсюджаныя абмежаванні сёння.

🔗 Ці можа штучны інтэлект сёння дакладна чытаць курсіўны почырк
Ахоплівае праблемы распазнавання, найлепшыя інструменты і парады па дакладнасці.

🔗 Наколькі дакладны штучны інтэлект у выкананні распаўсюджаных задач
Разбірае фактары дакладнасці, эталонныя паказчыкі і надзейнасць у рэальных умовах.


Папярэдняя апрацоўка з дапамогай штучнага інтэлекту простай мовай (і чым яна не з'яўляецца) 🤝

Папярэдняя апрацоўка з дапамогай штучнага інтэлекту — гэта пераўтварэнне неапрацаваных уваходных дадзеных (табліц, тэксту, малюнкаў, журналаў) у гатовыя да мадэлі элементы. Калі неапрацаваныя дадзеныя — гэта брудны гараж, то папярэдняя апрацоўка — гэта маркіроўка скрынак, выкідванне разбітага смецця і складанне рэчаў у стосы, каб можна было прайсціся без траўмаў.

Гэта не сама мадэль. Гэта тое, што робіць мадэль магчымай:

  • пераўтварэнне катэгорый у лічбы (адзінны нумар, парадкавы нумар і г.д.) [1]

  • маштабаванне вялікіх лікавых дыяпазонаў у разумныя дыяпазоны (стандартызацыя, мінімум-макс і г.д.) [1]

  • токенізацыя тэксту ў ўваходныя ідэнтыфікатары (і звычайна маску ўвагі) [3]

  • змяненне памеру/абрэзка малюнкаў і адпаведнае прымяненне дэтэрмінаваных і выпадковых пераўтварэнняў [4]

  • стварэнне паўтаральных канвеераў, каб навучальныя і «рэальныя» ўваходы не разыходзіліся ў нязначных адносінах [2]

Адно невялікае практычнае заўвага: «папярэдняя апрацоўка» ўключае ўсё, што адбываецца паслядоўна да таго, як мадэль атрымае ўваходныя дадзеныя. Некаторыя каманды падзяляюць гэта на «інжынірынг функцый» і «ачыстку дадзеных», але ў рэальным жыцці гэтыя межы размываюцца. 

 

Папярэдняя апрацоўка штучным інтэлектам

Чаму папярэдняя апрацоўка з дапамогай штучнага інтэлекту важнейшая, чым людзі прызнаюць 😬

Мадэль — гэта сродак супастаўлення шаблонаў, а не чытач думак. Калі вашы ўваходныя дадзеныя супярэчлівыя, мадэль засвойвае супярэчлівыя правілы. Гэта не філасофія, гэта балюча літаральна.

Папярэдняя апрацоўка дапаможа вам:

  • Палепшыце стабільнасць навучання , дадаючы прыкметы ў прадстаўленні, якія ацэншчыкі могуць надзейна выкарыстоўваць (асабліва пры маштабаванні/кадаванні). [1]

  • Зменшце шум , зрабіўшы бязладную рэальнасць падобнай да таго, з чаго можна зрабіць абагульненне мадэлі (замест таго, каб запамінаць дзіўныя артэфакты).

  • Прадухіленне рэжымаў бясшумных збояў, такіх як уцечка і неадпаведнасці навучання/абслугоўвання (тыя, што выглядаюць «дзіўна» падчас праверкі, а затым і ўкаранення ў прадукцыйную версію). [2]

  • Паскорыць ітэрацыю, таму што паўтаральныя пераўтварэнні пераўзыходзяць матацыклетную нуду кожны дзень тыдня.

Акрамя таго, менавіта адсюль бярэцца вялікая частка «мадэльнай прадукцыйнасці». Дзіўна… вельмі шмат. Часам гэта здаецца несправядлівым, але такая рэальнасць 🙃


Што робіць канвеер папярэдняй апрацоўкі ШІ добрым ✅

«Добрая версія» папярэдняй апрацоўкі звычайна мае наступныя якасці:

  • Узнаўляльнасць: той жа ўваход → той жа выхад (няма таямнічай выпадковасці, калі толькі гэта не наўмыснае павелічэнне).

  • Паслядоўнасць абслугоўвання навучання: усё, што вы робіце падчас навучання, ужываецца аднолькава падчас вываду (тыя ж самыя падабраныя параметры, тыя ж карты катэгорый, тая ж канфігурацыя токенізатара і г.д.). [2]

  • Бяспечны ад уцечак: нішто ў ацэнцы/тэсце не ўплывае на які-небудзь падганяння . (Больш падрабязна пра гэтую пастку крыху пазней.) [2]

  • Назіральнасць: вы можаце праверыць, што змянілася (статыстыка функцый, адсутнасць, колькасць катэгорый), таму адладка не з'яўляецца інжынерыяй на аснове вібрацый.

Калі ваша папярэдняя апрацоўка — гэта куча ячэек нататніка пад назвай final_v7_really_final_ok… вы ведаеце, як гэта працуе. Гэта працуе, пакуль не перастане 😬


Асноўныя структурныя блокі папярэдняй апрацоўкі штучным інтэлектам 🧱

Уявіце сабе папярэднюю апрацоўку як набор будаўнічых блокаў, якія вы аб'ядноўваеце ў канвеер.

1) Ачыстка і праверка 🧼

Тыповыя задачы:

  • выдаліць дублікаты

  • апрацоўваць адсутныя значэнні (адкідаць, улічваць або яўна прадстаўляць адсутнасць)

  • прымусова выкарыстоўваць тыпы, адзінкі вымярэння і дыяпазоны

  • выяўляць няправільна сфарміраваныя ўваходныя дадзеныя

  • стандартызаваць тэкставыя фарматы (прабелы, правілы рэгістру, асаблівасці Unicode)

Гэтая частка не надта гламурная, але яна прадухіляе надзвычай дурныя памылкі. Кажу гэта з любоўю.

2) Кадаванне катэгарыяльных дадзеных 🔤

Большасць мадэляў не могуць непасрэдна выкарыстоўваць неапрацаваныя радкі, такія як "red" або "premium_user".

Распаўсюджаныя падыходы:

  • Аднаразовае кадаванне (катэгорыя → бінарныя слупкі) [1]

  • Парадкавае кадаванне (катэгорыя → цэлы ідэнтыфікатар) [1]

Галоўнае не ў тым, які кадавальнік вы абярэце, а ў тым, каб адлюстраванне заставалася паслядоўным і не «мяняла форму» паміж навучаннем і высновамі. Вось так вы атрымаеце мадэль, якая добра выглядае па-за сеткай і паводзіць сябе як пераслед у інтэрнэце. [2]

3) Маштабаванне і нармалізацыя функцый 📏

Маштабаванне мае значэнне, калі аб'екты знаходзяцца ў вельмі розных дыяпазонах.

Дзве класікі:

  • Стандартызацыя: выдаленне сярэдняга значэння і маштабаванне да адзінкі дысперсіі [1]

  • Маштабаванне ад мінімуму да максімуму: маштабаванне кожнай функцыі ў межах зададзенага дыяпазону [1]

Нават калі вы выкарыстоўваеце мадэлі, якія «ў асноўным спраўляюцца», маштабаванне часта спрашчае разважанні пра канвееры і ўскладняе іх выпадковае парушэнне.

4) Распрацоўка функцый (г.зн. карыснае падманванне) 🧪

Вось тут вы спрашчаеце працу мадэлі, ствараючы лепшыя сігналы:

  • суадносіны (клікі / паказы)

  • пракатныя вокны (апошнія N дзён)

  • колькасць (падзей на карыстальніка)

  • лагарыфмічныя пераўтварэнні для размеркаванняў з цяжкімі хвастамі

Тут ёсць мастацтва. Часам ты ствараеш асаблівасць, ганарышся ёю... і гэта нічога не дае. Або, што яшчэ горш, гэта баліць. Гэта нармальна. Не прывязвайся эмацыйна да асаблівасцей — яны не адкажуць табе ўзаемнасцю 😅

5) Правільнае падзеленне дадзеных ✂️

Гэта гучыць відавочна, пакуль гэта не перастане быць відавочным:

  • выпадковыя падзелы для дадзеных IID

  • часавыя падзелы для часовых шэрагаў

  • згрупаваныя падзелы пры паўтарэнні аб'ектаў (карыстальнікі, прылады, пацыенты)

І самае галоўнае: падзяліць перад падганяннем папярэднюю апрацоўку, якая вучыцца на дадзеных. Калі ваш этап папярэдняй апрацоўкі «вывучае» параметры (напрыклад, сярэднія значэнні, слоўнікі, карты катэгорый), ён павінен вывучыць іх толькі падчас навучання. [2]


Папярэдняя апрацоўка з дапамогай штучнага інтэлекту па тыпах дадзеных: таблічныя, тэкставыя, выявы 🎛️

Папярэдняя апрацоўка змяняе форму ў залежнасці ад таго, што вы падаеце мадэлі.

Таблічныя дадзеныя (электронныя табліцы, журналы, базы дадзеных) 📊

Звычайныя крокі:

  • стратэгія адсутнай каштоўнасці

  • катэгарычнае кадаванне [1]

  • маштабаванне лікавых слупкоў [1]

  • апрацоўка выкідаў (правілы дамена ў большасці выпадкаў пераўзыходзяць «выпадковае адсячэнне»)

  • вытворныя функцыі (агрэгацыі, затрымкі, бягучая статыстыка)

Практычная парада: вызначце групы слупкоў выразна (лікавыя, катэгарыяльныя ці ідэнтыфікацыйныя). Ваша будучае «я» будзе вам удзячна.

Тэкставыя дадзеныя (НЛП) 📝

Папярэдняя апрацоўка тэксту часта ўключае ў сябе:

  • токенізацыя ў токены/падсловы

  • пераўтварэнне ў ўваходныя ідэнтыфікатары

  • дапаўненне/абрэзка

  • стварэнне масак увагі для пакетнай апрацоўкі [3]

Невялікае правіла, якое пазбаўляе ад клопатаў: для канфігурацый на аснове трансфарматараў прытрымлівайцеся чаканых налад токенізатара мадэлі і не займайцеся фрыстайлам, калі ў вас няма на тое прычыны. Фрыстайл — гэта тое, як у выніку атрымліваецца «трэніруецца, але дзіўна»

Выявы (камп'ютарны зрок) 🖼️

Тыповая папярэдняя апрацоўка:

  • змяніць памер / абрэзаць да аднолькавай формы

  • дэтэрмінаваныя пераўтварэнні для ацэнкі

  • выпадковыя пераўтварэнні для паляпшэння навучання (напрыклад, выпадковае кадраванне) [4]

Адна дэталь, якую людзі прапускаюць: «выпадковыя пераўтварэнні» — гэта не проста вібрацыя, яны літаральна выбарачна вымяраюць параметры кожны раз, калі выклікаюцца. Выдатна падыходзіць для разнастайнасці навучання, але жахліва для ацэнкі, калі вы забудзецеся адключыць выпадковасць. [4]


Пастка, у якую трапляюць усе: уцечка дадзеных 🕳️🐍

Уцечка — гэта калі інфармацыя з дадзеных ацэнкі прабіраецца ў навучальны працэс — часта праз папярэднюю апрацоўку. Гэта можа зрабіць вашу мадэль чароўнай падчас праверкі, а потым расчараваць вас у рэальным свеце.

Распаўсюджаныя схемы ўцечак:

  • маштабаванне з выкарыстаннем статыстыкі поўнага набору дадзеных (замест толькі навучання) [2]

  • стварэнне карт катэгорый з дапамогай сумеснага выкарыстання навучання і тэставання [2]

  • любы fit() або fit_transform() , які «бачыць» тэставы набор [2]

Эмпірычнае правіла (простае, жорсткае, эфектыўнае):

  • Усё, што мае падыходны крок, павінна быць у форме толькі на трэніроўках.

  • Затым вы трансфарматара з выкарыстаннем гэтага падыходнага трансфарматара. [2]

А калі вы хочаце праверыць сябе на ўласныя вочы, «наколькі ўсё можа быць дрэнна?»: у дакументацыі scikit-learn паказаны прыклад уцечкі, дзе няправільны парадак папярэдняй апрацоўкі дае дакладнасць каля 0,76 для выпадковых мэтаў, а затым зніжаецца да ~0,5 пасля выпраўлення ўцечкі. Вось наколькі пераканаўча няправільна можа выглядаць уцечка. [2]


Увод папярэдняй апрацоўкі ў вытворчасць без хаосу 🏗️

Шмат мадэляў церпяць няўдачу ў вытворчасці не таму, што мадэль «дрэнная», а таму, што ўваходная рэальнасць — альбо ваш канвеер.

Папярэдняя апрацоўка, арыентаваная на вытворчасць, звычайна ўключае ў сябе:

  • Захаваныя артэфакты (адлюстраванні кадавальніка, параметры скалера, канфігурацыя токенізатара), таму вывад выкарыстоўвае тыя ж самыя вывучаныя пераўтварэнні [2]

  • Строгія ўваходныя кантракты (чаканыя слупкі/тыпы/дыяпазоны)

  • Маніторынг перакосу і зруху, бо вытворчыя дадзеныя будуць блукаць [5]

Калі вам патрэбныя канкрэтныя вызначэнні: маніторынг мадэляў штучнага інтэлекту Vertex ад Google адрознівае перакос навучання (размеркаванне прадукцыі адхіляецца ад навучання) і дрэйф высноў (размеркаванне прадукцыі змяняецца з цягам часу), і падтрымлівае маніторынг як катэгарыяльных, так і лікавых характарыстык. [5]

Таму што сюрпрызы дарагія. І не з тых, што прыемнага кшталту.


Параўнальная табліца: распаўсюджаныя інструменты папярэдняй апрацоўкі + маніторынгу (і для каго яны прызначаны) 🧰

Інструмент / бібліятэка Лепш за ўсё падыходзіць для Кошт Чаму гэта працуе (і крыху шчырасці)
папярэдняя апрацоўка scikit-learn Канвееры таблічнага машыннага навучання Бясплатна Надзейныя энкодэры + скалеры (OneHotEncoder, StandardScaler і г.д.) і прадказальная паводзіна [1]
Токенізатары Hugging Face Падрыхтоўка да ўводу НЛП Бясплатна Паслядоўна стварае ўваходныя ідэнтыфікатары + маскі ўвагі для ўсіх запускаў/мадэляў [3]
пераўтварэнні факельнага зроку Трансфармацыя + паляпшэнне зроку Бясплатна Зразумелы спосаб спалучэння дэтэрмінаваных і выпадковых пераўтварэнняў у адным канвееры [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]

Прыклад інструкцыі

Выкарыстоўвайце гэта ў якасці рабочага інструкцыі для этапу папярэдняй апрацоўкі:

Стварыце канвеер папярэдняй апрацоўкі для мадэлі прагназавання адтоку кліентаў, выкарыстоўваючы дадзеныя аб выстаўленні рахункаў кліентамі, выкарыстанні і падтрымцы. Падзяліце дадзеныя па часе перад падборам любых трансфарматараў. Падбярыце лікавыя скалеры і катэгарыяльныя кадавальнікі толькі для навучальных дадзеных, а затым прымяніце гэтыя падабраныя пераўтварэнні да дадзеных праверкі і тэставання. Захавайце ўсе артэфакты папярэдняй апрацоўкі, каб вытворчая мадэль выкарыстоўвала тую ж схему, адлюстраванні катэгорый і параметры маштабавання. Пазначце адсутныя слупкі, нечаканыя тыпы дадзеных, нябачныя катэгорыі і асноўныя зрухі размеркавання перад прагназаваннем.

Як гэта праверыць

Перш чым давяраць мадэлі, праверце канвеер папярэдняй апрацоўкі з дапамогай некалькіх наўмысна нязручных запісаў:

  • Кліент з тыпам тарыфнага плана, які не прысутнічаў на навучанні

  • Радок з адсутным рэгіёнам або last_payment_status

  • Кліент з незвычайна высокім узроўнем выкарыстання, напрыклад, 10 000 уваходаў за 30 дзён

  • Файл у прадукцыйным стылі са слупкамі ў няправільным парадку

  • Тэставы набор для наступнага месяца, які ніколі не выкарыстоўваўся падчас падбору

Затым праверце тры рэчы:

  • Ці працуе канвеер без змены парадку функцый?

  • Ці апрацоўваюцца невядомыя катэгорыі паслядоўна?

  • Ці зніжаецца эфектыўнасць праверкі да больш праўдападобнага ўзроўню пасля ліквідацыі ўцечкі?

Апошні пункт мае значэнне. Падазрона высокі бал праверкі часта з'яўляецца пахам папярэдняй апрацоўкі, а не цудам.

Вынік

Ілюстрацыйны вынік, заснаваны на вымярэнні часу пяці пробных выкананняў папярэдняй апрацоўкі да і пасля пераўтварэння крокаў нататніка ў захаваны канвеер:

  • Час папярэдняй апрацоўкі ўручную скараціўся з 55 хвілін на абнаўленне набору дадзеных да 8 хвілін.

  • Памылкі парадку функцый знізіліся з 3 памылак у 5 абнаўленнях тэсту да 0 памылак у 5 абнаўленнях.

  • Пасля ліквідацыі ўцечкі дакладнасць праверкі знізілася з 91% да 74%, але дакладнасць выпрабаванняў у першы месяц палепшылася з 62% да 71%.

  • Каманда дадала 6 аўтаматычных праверак: адсутныя слупкі, няправільныя тыпы, нябачныя катэгорыі, змяненне нулявой хуткасці, змяненне лікавага дыяпазону і неадпаведнасць схемы абслугоўвання цягнікоў.

Гэтыя лічбы не з'яўляюцца універсальным эталонам. Гэта простыя вымярэнні «да» і «пасля», якія каманда можа ўзнавіць, вымяраючы час абнаўленняў, падлічваючы няўдалыя запускі і параўноўваючы вынікі праверкі з вынікамі, якія чакаюцца праз месяц.

Што можа пайсці не так

Найбольшая рызыка — стварыць уражанне чысціні канвеера, адначасова непрыкметна захоўваючы ўцечку. Напрыклад, «колькасць дзён з апошняга электроннага ліста з папярэджаннем аб адмене» можа здацца каштоўным, але калі гэты ліст будзе адпраўлены толькі пасля ўнутранай праверкі адтоку кліентаў, гэта можа прывесці да ўцечкі інфармацыі ў будучыні.

Іншыя распаўсюджаныя пасткі:

  • Перападрыхтоўка энкодэраў у прадукцыйным рэжыме замест загрузкі захаваных адлюстраванняў

  • Дазвол новым катэгорыям ціха зрушыць пазіцыі функцый

  • Тэставанне на выпадковым падзеле, калі сапраўдная задача заснавана на часе

  • Выдаленне радкоў з адсутнымі значэннямі падчас навучання, але іх неапрацоўка пры вывадзе

  • Маніторынг дакладнасці мадэлі з ігнараваннем зруху ўваходных дадзеных

Практычны вывад

Добры канвеер папярэдняй апрацоўкі робіць больш, чым проста робіць неапрацаваныя дадзеныя акуратнымі. Ён абараняе мадэль ад дрэннай ацэнкі, пашкоджаных вытворчых уваходных дадзеных і павольнага ціхага дрэйфу. Для мадэлі адтоку розніца паміж разумнай папярэдняй апрацоўкай і надзейнай папярэдняй апрацоўкай часта зводзіцца да таго, ці выкарыстоўваюцца адны і тыя ж падабраныя пераўтварэнні кожны раз, асабліва калі дадзеныя паступаюць з месяца, якога мадэль ніколі раней не бачыла.


Часта задаваныя пытанні

Што такое папярэдняя апрацоўка штучным інтэлектам, кажучы простай мовай?

Папярэдняя апрацоўка штучным інтэлектам — гэта паўтаральны набор крокаў, які пераўтварае шумныя, высокадысперсійныя неапрацаваныя дадзеныя ў паслядоўныя ўваходныя дадзеныя, з якіх мадэль можа вучыцца. Яна можа ўключаць ачыстку, праверку, кадаванне катэгорый, маштабаванне лікавых значэнняў, токенізацыю тэксту і прымяненне пераўтварэнняў малюнкаў. Мэта складаецца ў тым, каб гарантаваць, што навучальныя і прадукцыйныя высновы атрымліваюць «адзін і той жа тып» уваходных дадзеных, каб мадэль пазней не паводзіла сябе непрадказальна.

Чаму папярэдняя апрацоўка з дапамогай штучнага інтэлекту так важная ў вытворчасці?

Папярэдняя апрацоўка мае значэнне, таму што мадэлі адчувальныя да ўваходнага прадстаўлення. Калі навучальныя дадзеныя маштабуюцца, кадуюцца, токенізуюцца або трансфармуюцца інакш, чым вытворчыя дадзеныя, вы можаце атрымаць збоі з-за неадпаведнасці навучання/абслугоўвання, якія выглядаюць нармальна па-за сеткай, але ціха выходзяць з ладу ў сетцы. Магутныя канвееры папярэдняй апрацоўкі таксама памяншаюць шум, паляпшаюць стабільнасць навучання і паскараюць ітэрацыю, таму што вы не распутваеце "спагецці" наўтбука.

Як пазбегнуць уцечкі дадзеных падчас папярэдняй апрацоўкі?

Простае правіла працуе: усё, што мае падганяння , павінна падганяць толькі даныя навучання. Гэта ўключае скалеры, кадавальнікі і токенаізатары, якія вывучаюць такія параметры, як сярэднія значэнні, карты катэгорый або слоўнікі. Спачатку вы разбіваеце, падганяеце даныя навучання, а затым пераўтвараеце праверку/тэст з выкарыстаннем падганяемага трансфарматара. Уцечка можа зрабіць праверку "чароўна" добрай, а потым разваліцца ў прадукцыйным выкарыстанні.

Якія найбольш распаўсюджаныя этапы папярэдняй апрацоўкі таблічных дадзеных?

Для таблічных дадзеных звычайны канвеер уключае ачыстку і праверку (тыпы, дыяпазоны, адсутныя значэнні), катэгарыяльнае кадаванне (аднаразовае або парадкавае) і лікавае маштабаванне (стандартызацыя або мінімум-макс). Многія канвееры дадаюць кіраваную даменам інжынерыю функцый, такую ​​як суадносіны, пракатныя вокны або колькасць. Практычная звычка заключаецца ў тым, каб выразна вызначаць групы слупкоў (лікавыя супраць катэгарыяльных супраць ідэнтыфікатараў), каб вашы пераўтварэнні заставаліся паслядоўнымі.

Як працуе папярэдняя апрацоўка тэкставых мадэляў?

Папярэдняя апрацоўка тэксту звычайна азначае токенізацыю ў токены/падсловы, пераўтварэнне іх ва ўваходныя ідэнтыфікатары і апрацоўку дапаўненняў/усячэння для пакетнай апрацоўкі. Многія працоўныя працэсы трансфарматара таксама ствараюць маску ўвагі побач з ідэнтыфікатарамі. Распаўсюджаны падыход заключаецца ў выкарыстанні чаканай канфігурацыі токенаізатара мадэлі, а не ў імправізацыі, бо невялікія адрозненні ў наладах токенаізатара могуць прывесці да вынікаў «ён навучаецца, але паводзіць сябе непрадказальна».

Чым адрозніваецца папярэдняя апрацоўка малюнкаў для машыннага навучання?

Папярэдняя апрацоўка малюнкаў звычайна забяспечвае паслядоўнасць формаў і апрацоўку пікселяў: змяненне памеру/абрэзка, нармалізацыя і выразны падзел паміж дэтэрмінаванымі і выпадковымі пераўтварэннямі. Для ацэнкі пераўтварэнні павінны быць дэтэрмінаванымі, каб метрыкі былі параўнальныя. Для навучання выпадковае пашырэнне (напрыклад, выпадковыя абрэзкі) можа палепшыць надзейнасць, але выпадковасць павінна быць наўмысна абмежавана навучальным падзелам, а не выпадкова пакінута падчас ацэнкі.

Што робіць канвеер папярэдняй апрацоўкі «добрым», а не далікатным?

Добры канвеер папярэдняй апрацоўкі штучнага інтэлекту з'яўляецца ўзнаўляльным, бяспечным ад уцечак і назіральным. Узнаўляльны азначае, што адзін і той жа ўваход дае адзін і той жа вынік, калі выпадковасць не з'яўляецца наўмысным пашырэннем. Бяспечны ад уцечак азначае, што этапы падганяння ніколі не датыкаюцца праверкі/тэставання. Назіральны азначае, што вы можаце правяраць такую ​​статыстыку, як адсутнасць, колькасць катэгорый і размеркаванне прыкмет, таму адладка заснавана на доказах, а не на інтуіцыі. Канвееры заўсёды пераўзыходзяць адмысловыя паслядоўнасці нататнікаў.

Як мне забяспечыць паслядоўнасць навучання і папярэдняй апрацоўкі высноў?

Галоўнае — паўторна выкарыстоўваць адны і тыя ж вывучаныя артэфакты падчас вываду: параметры скалера, адлюстраванні кадавальніка і канфігурацыі токенізатара. Вам таксама патрэбен уваходны кантракт (чаканыя слупкі, тыпы і дыяпазоны), каб вытворчыя даныя не маглі незаўважна зрушыцца ў няправільныя формы. Паслядоўнасць — гэта не проста «выканаць тыя ж крокі», а «выканаць тыя ж крокі з тымі ж падабранымі параметрамі і адлюстраваннямі»

Як я магу кантраляваць праблемы папярэдняй апрацоўкі, такія як зрух і перакос з цягам часу?

Нават пры надзейным канвееры вытворчыя дадзеныя змяняюцца. Распаўсюджаны падыход заключаецца ў маніторынгу змяненняў у размеркаванні прыкмет і папярэджанні аб перакосе падчас навучання (адхіленні вытворчасці ад навучання) і дрэйфе высноў (змены ў вытворчасці з цягам часу). Маніторынг можа быць лёгкім (базавыя праверкі размеркавання) або кіраваным (напрыклад, маніторынг мадэлі Vertex AI). Мэта складаецца ў тым, каб своечасова выявіць змены ўваходных дадзеных, перш чым яны паступова пагоршаць прадукцыйнасць мадэлі.

Спасылкі

[1] API scikit-learn: sklearn.preprocessing (энкодэры, скалеры, нармалізацыя)
[2] scikit-learn: Распаўсюджаныя памылкі - Уцечка дадзеных і як яе пазбегнуць
[3] Дакументацыя Hugging Face Transformers: Токенізатары (уваходныя ідэнтыфікатары, маскі ўвагі)
[4] Дакументацыя PyTorch Torchvision: Пераўтварэнні (змена памеру/нармалізацыя + выпадковыя пераўтварэнні)
[5] Дакументацыя Google Cloud Vertex AI: Агляд маніторынгу мадэляў (перакос і дрэйф функцый)

Знайдзіце найноўшы штучны інтэлект у афіцыйнай краме памочнікаў штучнага інтэлекту

Пра нас

Віктарына
1. Якая асноўная мэта папярэдняй апрацоўкі штучным інтэлектам у машынным навучанні?
2. Як спецыяліст па апрацоўцы дадзеных можа надзейна прадухіліць уцечку дадзеных падчас папярэдняй апрацоўкі?
3. Пры папярэдняй апрацоўцы тэксту для мадэляў на аснове трансфарматараў, якая найважнейшая перадавая практыка?
4. Чаму небяспечна пакідаць выпадковую дапаўненне (напрыклад, выпадковую абрэзку) уключанай падчас ацэнкі мадэлі?
5. Што адбудзецца, калі ўваходныя дадзеныя ў прадукцыйнай версіі паступова зменяцца ў параўнанні з тым, што мадэль бачыла падчас навучання?
Назад да блога

Дадатковыя часта задаваныя пытанні

  • Як папярэдняя апрацоўка з дапамогай штучнага інтэлекту паляпшае мадэлі машыннага навучання?

    Папярэдняя апрацоўка з дапамогай штучнага інтэлекту паляпшае мадэлі машыннага навучання, пераўтвараючы неапрацаваныя дадзеныя ў паслядоўныя, гатовыя да мадэлі функцыі. Гэта дапамагае палепшыць стабільнасць навучання, памяншае шум і мінімізуе рызыку ціхіх збояў, гарантуючы надзейную працу мадэляў як у навучальным, так і ў вытворчым асяроддзі.

  • Якія этапы ўваходзяць у працэс папярэдняй апрацоўкі з дапамогай штучнага інтэлекту?

    Папярэдняя апрацоўка з дапамогай штучнага інтэлекту звычайна ўключае ачыстку і праверку дадзеных, кадаванне катэгарыяльных зменных, маштабаванне лікавых дадзеных, токенізацыю тэксту і прымяненне пераўтварэнняў малюнкаў. Кожны крок важны для таго, каб мадэль магла эфектыўна вучыцца на ўваходных дадзеных.

  • Чаму паслядоўнасць важная ў папярэдняй апрацоўцы штучным інтэлектам?

    Паслядоўнасць папярэдняй апрацоўкі штучным інтэлектам мае вырашальнае значэнне для прадухілення неадпаведнасцей паміж уваходнымі дадзенымі для навучання і вытворчасці. Калі этапы папярэдняй апрацоўкі адрозніваюцца, мадэль можа добра працаваць падчас праверкі, але ціха выйсці з ладу ў рэальным сцэнарыі, што прывядзе да ненадзейных вынікаў.

  • Што такое ўцечка дадзеных у кантэксце папярэдняй апрацоўкі штучным інтэлектам?

    Уцечка дадзеных адбываецца, калі інфармацыя з ацэначных або тэставых набораў дадзеных міжволі ўплывае на працэс навучання. Каб пазбегнуць гэтага, усе этапы папярэдняй апрацоўкі, якія вывучаюць параметры, павінны прымяняцца толькі да навучальных дадзеных, гарантуючы, што ацэнка мадэлі адлюстроўвае рэальную прадукцыйнасць.

  • Як я магу гарантаваць узнаўляльнасць майго канвеера папярэдняй апрацоўкі штучным інтэлектам?

    Каб забяспечыць узнаўляльнасць у вашым канвееры папярэдняй апрацоўкі штучнага інтэлекту, падтрымлівайце аднолькавыя адлюстраванні ўводу-вываду, падбірайце артэфакты папярэдняй апрацоўкі, такія як скалеры і кадавальнікі, толькі да навучальных дадзеных і захоўвайце гэтыя артэфакты для выкарыстання падчас вываду мадэлі.

  • Што мне варта кантраляваць падчас папярэдняй апрацоўкі штучным інтэлектам, каб прадухіліць праблемы з прадукцыйнасцю мадэлі?

    Важна сачыць за зрушэннем і перакосам дадзеных з цягам часу. Гэта ўключае ў сябе праверку змяненняў у размеркаванні прыкмет і забеспячэнне адпаведнасці вытворчых дадзеных навучальным дадзеным. Ранняе выяўленне такіх праблем можа дапамагчы падтрымліваць прадукцыйнасць мадэлі.

  • Ці можаце вы прывесці прыклады распаўсюджаных памылак папярэдняй апрацоўкі, якіх варта пазбягаць?

    Да распаўсюджаных памылак папярэдняй апрацоўкі адносяцца падбор этапаў папярэдняй апрацоўкі для ўсяго набору дадзеных, што прыводзіць да ўцечкі дадзеных, неадпаведнасці адлюстравання катэгорый паміж навучаннем і высновамі, а таксама пакіданне выпадковых пераўтварэнняў актыўнымі падчас ацэнкі, што можа скажаць паказчыкі прадукцыйнасці.