Ի՞նչ է արհեստական ​​բանականության նախնական մշակումը։

Ի՞նչ է արհեստական ​​բանականության նախնական մշակումը։

Կարճ պատասխան. Արհեստական ​​բանականության նախնական մշակումը կրկնվող քայլերի ամբողջություն է, որը հում, բարձր փոփոխականության տվյալները վերածում է մոդելի հետևողական մուտքային տվյալների, ներառյալ մաքրումը, կոդավորումը, մասշտաբավորումը, տոկենիզացումը և պատկերի փոխակերպումները: Դա կարևոր է, քանի որ եթե մարզման մուտքային և արտադրական մուտքային տվյալները տարբերվում են, մոդելները կարող են աննկատ ձախողվել: Եթե քայլը «սովորում» է պարամետրեր, այն տեղադրեք միայն մարզման տվյալների վրա՝ արտահոսքից խուսափելու համար:

Արհեստական ​​բանականության նախնական մշակումը այն ամենն է, ինչ դուք անում եք հում տվյալների հետ՝ մարզումից կամ եզրակացությունից առաջ (և երբեմն՝ դրա ընթացքում), որպեսզի մոդելը կարողանա իրականում սովորել դրանից։ Ոչ թե պարզապես «մաքրում»։ Դա տվյալների մաքրում, ձևավորում, մասշտաբավորում, կոդավորում, լրացում և փաթեթավորում է՝ հետևողական ներկայացման մեջ, որը հետագայում աննկատ չի խափանի ձեր մոդելը։ [1]

Հիմնական եզրակացություններ՝

Սահմանում . Նախնական մշակումը հում աղյուսակները, տեքստը, պատկերները և գրանցամատյանները վերածում է մոդելի համար պատրաստ գործառույթների։

Համապատասխանություն . կիրառեք նույն ձևափոխությունները մարզման և եզրակացության ընթացքում՝ անհամապատասխանության ձախողումները կանխելու համար։

Արտահոսք . սկալերները, կոդավորիչները և տոկենիզատորները տեղադրեք միայն մարզման տվյալների վրա։

Վերարտադրելիություն . Կառուցեք խողովակաշարեր՝ ստուգելի վիճակագրությամբ, այլ ոչ թե ad-hoc տետրերի բջիջների հաջորդականություններով։

Արտադրության մոնիթորինգ . Հետևեք թեքությանը և շեղմանը, որպեսզի մուտքային տվյալները աստիճանաբար չնվազեցնեն արտադրողականությունը։

Հոդվածներ, որոնք կարող են ձեզ դուր գալ կարդալ սրանից հետո

🔗 Ինչպես ստուգել արհեստական ​​բանականության մոդելները իրական աշխարհի կատարողականի համար
Գործնական մեթոդներ ճշգրտությունը, կայունությունը և կողմնակալությունը արագ գնահատելու համար։.

🔗 Տեքստի խոսքի փոխակերպումը արհեստական ​​բանականություն է, և ինչպե՞ս է այն աշխատում
Բացատրում է TTS-ի հիմունքները, հիմնական կիրառությունները և այսօրվա տարածված սահմանափակումները։.

🔗 Կարո՞ղ է արդյոք արհեստական ​​բանականությունը այսօր ճշգրիտ կարդալ շեղագիր ձեռագիրը
Ներառում է ճանաչման մարտահրավերները, լավագույն գործիքները և ճշգրտության խորհուրդները։.

🔗 Որքան ճշգրիտ է արհեստական ​​բանականությունը տարածված առաջադրանքներում
Բաշխում է ճշգրտության գործոնները, չափորոշիչները և իրական աշխարհի հուսալիությունը։.


Արհեստական ​​բանականության նախնական մշակում պարզ լեզվով (և այն, ինչ այն չէ) 🤝

Արհեստական ​​բանականության նախնական մշակումը հում մուտքային տվյալների (աղյուսակներ, տեքստ, պատկերներ, գրանցամատյաններ) փոխակերպումն է մոդելի համար պատրաստ տարրերի: Եթե հում տվյալները խառնաշփոթ ավտոտնակ են, նախնական մշակումը նշանակում է, որ դուք պիտակավորում եք տուփերը, նետում կոտրված աղբը և դարսում իրերը, որպեսզի կարողանաք իրականում անցնել դրանց միջով առանց վնասվածքների:

Խնդիրը մոդելը չէ։ Խնդիրն այն է, որ մոդելը հնարավոր է դարձնում։

  • կատեգորիաները թվերի վերածելը (մեկական, կարգական և այլն) [1]

  • մեծ թվային միջակայքերի մասշտաբավորումը նորմալ միջակայքերի (ստանդարտացում, նվազագույն-առավելագույն և այլն) [1]

  • տեքստի տոկենավորում մուտքագրման ID-ների (և սովորաբար ուշադրության դիմակի) մեջ [3]

  • պատկերների չափերի փոփոխություն/կտրում և դետերմինիստական ​​ընդդեմ պատահական ձևափոխությունների համապատասխան կիրառում [4]

  • կրկնվող խողովակաշարերի կառուցում, որպեսզի ուսուցումը և «իրական կյանքի» մուտքային տվյալները չտարբերվեն աննկատելի ձևերով [2]

Մի փոքրիկ գործնական նշում. «նախնական մշակումը» ներառում է այն ամենը, ինչ տեղի է ունենում մոդելի կողմից մուտքային տվյալները տեսնելուց առաջ ։ Որոշ թիմեր սա բաժանում են «հատկանիշների ինժեներիայի» և «տվյալների մաքրման», բայց իրական կյանքում այդ սահմանները մշուշոտ են։

 

Արհեստական ​​բանականության նախնական մշակում

Ինչու է արհեստական ​​բանականության նախնական մշակումն ավելի կարևոր, քան մարդիկ խոստովանում են 😬

Մոդելը նախշերի համապատասխանեցման միջոց է, այլ ոչ թե մտքերի ընթերցող։ Եթե ձեր մուտքային տվյալները անհամապատասխան են, մոդելը սովորում է անհամապատասխան կանոններ։ Դա փիլիսոփայական չէ, այլ ցավալիորեն բառացի։.

Նախնական մշակումը կօգնի ձեզ

  • Բարելավեք ուսուցման կայունությունը ՝ այնպիսի հատկանիշներ տեղադրելով այնպիսի ներկայացումների մեջ, որոնք գնահատողները կարող են հուսալիորեն օգտագործել (հատկապես, երբ խոսքը մասշտաբավորման/կոդավորման մասին է): [1]

  • Նվազեցրեք աղմուկը ՝ անկանոն իրականությունը ներկայացնելով այնպիսի տեսքի, որից մոդելը կարող է ընդհանրացնել (տարօրինակ արտեֆակտներ անգիր անելու փոխարեն):

  • Կանխել լուռ խափանումների ռեժիմները, ինչպիսիք են արտահոսքը և մարզման/մատուցման անհամապատասխանությունները (այն տեսակը, որը «հիանալի» է թվում վավերացման ժամանակ, ապա արտադրության ժամանակ՝ դեմքի ամրացումներ): [2]

  • Արագացրեք իտերացիան, քանի որ կրկնվող փոխակերպումները շաբաթվա ամեն օր ավելի հեշտ են, քան տետրերի վրա աշխատելը։

Բացի այդ, այստեղից է գալիս «մոդելային կատարողականի» մեծ մասը։ Օրինակ… զարմանալիորեն շատ։ Երբեմն դա անարդար է թվում, բայց դա իրականությունն է 🙃


Ի՞նչն է դարձնում արհեստական ​​բանականության նախնական մշակման խողովակաշարը լավը ✅

Նախնական մշակման «լավ տարբերակը» սովորաբար ունի հետևյալ հատկանիշները՝

  • Վերարտադրելի ՝ նույն մուտքը → նույն ելքը (առանց խորհրդավոր պատահականության, եթե դա միտումնավոր լրացում չէ):

  • Գնացքի սպասարկման հետևողականություն . մարզման ժամանակ ձեր արածը նույն կերպ է կիրառվում եզրակացության ժամանակ (նույն տեղադրված պարամետրերը, նույն կատեգորիայի քարտեզները, նույն տոկենիզատորի կոնֆիգուրացիան և այլն): [2]

  • Անվտանգ է արտահոսքի դեմ . գնահատման/փորձարկման մեջ ոչինչ չի ազդում որևէ համապատասխանության քայլի վրա: (Ավելին այս թակարդի մասին մի փոքր ուշ): [2]

  • Դիտարկելի . դուք կարող եք ստուգել, ​​թե ինչ է փոխվել (հատկանիշների վիճակագրություն, բացակայող տարրեր, կատեգորիաների քանակ), այնպես որ վրիպազերծումը vibes-ի վրա հիմնված ինժեներիա չէ։

final_v7_really_final_ok անունով տետրերի բջիջների կույտ է … դուք գիտեք, թե ինչպես է դա։ Այն աշխատում է մինչև այն դադարի աշխատել 😬


Արհեստական ​​բանականության նախնական մշակման հիմնական կառուցվածքային բլոկները 🧱

Պատկերացրեք նախնական մշակումը որպես շինարարական բլոկների ամբողջություն, որոնք դուք միավորում եք խողովակաշարի մեջ։.

1) Մաքրում և վավերացում 🧼

Տիպիկ առաջադրանքներ՝

  • հեռացնել կրկնօրինակները

  • մշակել բացակայող արժեքները (բացակայությունները հանել, վերագրել կամ ներկայացնել բացահայտորեն)

  • կիրառել տեսակներ, միավորներ և միջակայքեր

  • հայտնաբերել սխալ մուտքագրված տվյալները

  • ստանդարտացնել տեքստի ձևաչափերը (սպիտակ տարածություններ, գրատախտակի կանոններ, Յունիկոդի առանձնահատկություններ)

Այս մասը հմայիչ չէ, բայց կանխում է չափազանց հիմար սխալները։ Սիրով եմ ասում սա։.

2) Կատեգորիկ տվյալների կոդավորում 🔤

Մոդելների մեծ մասը չի կարող ուղղակիորեն օգտագործել raw տողեր, ինչպիսիք են "red" կամ "premium_user" :

Ընդհանուր մոտեցումներ

  • Միակողմանի կոդավորում (կատեգորիա → երկուական սյուներ) [1]

  • Դասային կոդավորում (կատեգորիա → ամբողջ թիվ ID) [1]

Հիմնականը այն չէ, թե որ կոդավորիչն եք ընտրում, այլ այն, որ քարտեզագրումը մնա հաստատուն և «չփոխի ձևը» մարզման և եզրակացության միջև ընկած ժամանակահատվածում։ Ահա թե ինչպես եք ստանում մի մոդել, որը լավ տեսք ունի օֆլայն ռեժիմում և գործում է որպես ուրվական առցանց։ [2]

3) Հատկանիշների մասշտաբավորում և նորմալացում 📏

Մասշտաբավորումը կարևոր է, երբ հատկանիշները գտնվում են խիստ տարբեր միջակայքերում։.

Երկու դասականներ՝

  • Ստանդարտացում . միջինի հեռացում և միավորային շեղման մասշտաբ [1]

  • Նվազագույն-առավելագույն մասշտաբավորում . մասշտաբավորել յուրաքանչյուր հատկանիշը որոշակի միջակայքում [1]

Նույնիսկ երբ դուք օգտագործում եք «հիմնականում հաղթահարող» մոդելներ, մասշտաբավորումը հաճախ խողովակաշարերի մասին դատողությունները դարձնում է ավելի հեշտ և դժվար՝ պատահաբար խափանվելը։.

4) Հատկանիշների ինժեներիա (հայտնի է նաև որպես օգտակար խաբեություն) 🧪

Ահա թե որտեղ դուք մոդելի աշխատանքը հեշտացնում եք՝ ստեղծելով ավելի լավ ազդանշաններ։

  • հարաբերակցություններ (սեղմումներ / դիտումներ)

  • շարժական պատուհաններ (վերջին N օրերը)

  • քանակ (միջոցառումների քանակը մեկ օգտատիրոջ համար)

  • լոգարիթմական ձևափոխություններ ծանր պոչավոր բաշխումների համար

Այստեղ արվեստ կա։ Երբեմն դու ստեղծում ես հոդված, հպարտանում ես… և դա ոչինչ չի տալիս։ Կամ ավելի վատը՝ ցավեցնում է։ Դա նորմալ է։ Մի՛ կապվիր հոդվածների հետ՝ դրանք քեզ չեն սիրում 😅

5) Տվյալների ճիշտ բաժանում ✂️

Սա ակնհայտ է հնչում, մինչև որ այլևս ակնհայտ չէ

  • iid տվյալների պատահական բաժանումներ

  • ժամանակային շարքերի ժամանակի վրա հիմնված բաժանումներ

  • խմբավորված բաժանումներ, երբ միավորները կրկնվում են (օգտատերեր, սարքեր, հիվանդներ)

Եվ ամենակարևորը՝ բաժանեք նախնական մշակումը, որը սովորում է տվյալներից, նախքան այն տեղավորելը ։ Եթե ձեր նախնական մշակման քայլը «սովորում է» պարամետրեր (օրինակ՝ միջոցներ, բառապաշարներ, կատեգորիաների քարտեզներ), այն պետք է սովորի դրանք միայն վարժեցման միջոցով։ [2]


Արհեստական ​​բանականության նախնական մշակում ըստ տվյալների տեսակի՝ աղյուսակային, տեքստային, պատկերային 🎛️

Նախնական մշակումը փոխում է ձևը՝ կախված նրանից, թե ինչ եք մատակարարում մոդելին։.

Աղյուսակային տվյալներ (աղյուսակներ, գրանցամատյաններ, տվյալների բազաներ) 📊

Հաճախակի քայլեր՝

  • բացակայող արժեքի ռազմավարություն

  • կատեգորիկ կոդավորում [1]

  • թվային սյուների մասշտաբավորում [1]

  • անհամապատասխանությունների մշակում (տիրույթի կանոնները մեծ մասամբ գերազանցում են «պատահական կտրմանը»)

  • ստացված հատկանիշներ (ագրեգացիաներ, լագեր, շարժվող վիճակագրություն)

Գործնական խորհուրդ. հստակ սահմանեք սյունակների խմբերը (թվային vs կատեգորիկ vs նույնականացուցիչներ): Ձեր ապագա «ես»-ը շնորհակալ կլինի ձեզ:.

Տեքստային տվյալներ (NLP) 📝

Տեքստի նախնական մշակումը հաճախ ներառում է

  • տոկենների/ենթաբառերի վերածում

  • փոխակերպում մուտքային ID-ների

  • լրացում/կրճատում

  • ուշադրության դիմակների պատրաստում խմբաքանակների համար [3]

Փոքրիկ կանոն, որը խնայում է ձեր ջանքերը. տրանսֆորմերների վրա հիմնված կարգավորումների համար հետևեք մոդելի համար նախատեսված տոկենիզատորների կարգավորումներին և մի՛ շարժվեք ազատ ոճով, եթե պատճառ չունեք: Ազատ ոճով դուք ստանում եք «մարզվում է, բայց տարօրինակ է» պատասխանը:

Պատկերներ (համակարգչային տեսողություն) 🖼️

Տիպիկ նախնական մշակում

  • չափափոխել / կտրել համապատասխան ձևերի համար

  • գնահատման համար դետերմինիստական ​​​​ձևափոխություններ

  • պատահական փոխակերպումներ մարզման ընդլայնման համար (օրինակ՝ պատահական կտրում) [4]

Մի մանրուք, որը մարդիկ անտեսում են. «պատահական փոխակերպումները» պարզապես տրամադրություն չեն. դրանք բառացիորեն նմուշառում են պարամետրերը ամեն անգամ, երբ դրանք կանչվում են: Հիանալի է բազմազանության մարզման համար, բայց սարսափելի է գնահատման համար, եթե մոռանաք անջատել պատահականությունը: [4]


Թակարդը, որի մեջ ընկնում են բոլորը. տվյալների արտահոսք 🕳️🐍

Արտահոսքը տեղի է ունենում, երբ գնահատման տվյալներից տեղեկատվությունը աննկատ անցնում է վերապատրաստման փուլ՝ հաճախ նախնական մշակման միջոցով։ Այն կարող է ձեր մոդելը կախարդական տեսք հաղորդել վավերացման ընթացքում, ապա հիասթափեցնել ձեզ իրական աշխարհում։.

Արտահոսքի տարածված ձևերը

  • մասշտաբավորում՝ օգտագործելով ամբողջական տվյալների հավաքածուի վիճակագրություն (միայն մարզման փոխարեն) [2]

  • Շենքերի կատեգորիայի քարտեզներ՝ օգտագործելով գնացք+փորձարկում միասին [2]

  • ցանկացած fit() կամ fit_transform() քայլ, որը «տեսնում է» թեստային հավաքածուն [2]

Հիմնական կանոն (պարզ, դաժան, արդյունավետ)

  • Հարմար ունեցող ցանկացած բան պետք է հարմար լինի միայն մարզումների ժամանակ։

  • Այնուհետև դուք փոխակերպման վավերացում/փորձարկում՝ օգտագործելով այդ տեղադրված տրանսֆորմատորը։ [2]

Եվ եթե ուզում եք իմանալ, թե «որքան վատ կարող է լինել», ապա scikit-learn-ի սեփական փաստաթղթերը ցույց են տալիս արտահոսքի օրինակ, որտեղ նախնական մշակման սխալ հերթականությունը պատահական թիրախների վրա տալիս է մոտ 0.76 , ապա արտահոսքը շտկելուց հետո այն կրկին նվազում է մինչև ~ 0.5 : Ահա թե որքան համոզիչ սխալ կարող է թվալ արտահոսքը: [2]


Նախամշակումը արտադրության մեջ մտցնելը առանց քաոսի 🏗️

Շատ մոդելներ արտադրության մեջ ձախողվում են ոչ թե այն պատճառով, որ մոդելը «վատ» է, այլ այն պատճառով, որ մուտքային իրականությունը փոխվում է, կամ ձեր խողովակաշարը փոխվում է։

Արտադրական նախնական մշակումը սովորաբար ներառում է

  • Պահպանված արտեֆակտներ (կոդավորիչի մապինգներ, մասշտաբավորիչի պարամետրեր, տոկենիզատորի կոնֆիգուրացիա), այնպես որ եզրակացությունը օգտագործում է ճիշտ նույն սովորած փոխակերպումները [2]

  • Խիստ մուտքագրման պայմանագրեր (սպասվող սյուներ/տեսակներ/միջակայքեր)

  • Թեքության և շեղման մոնիթորինգ , քանի որ արտադրության տվյալները կարող են թափառել [5]

Եթե ​​ցանկանում եք կոնկրետ սահմանումներ. Google-ի Vertex AI Model Monitoring-ը տարբերակում է ուսուցման-ծառայության շեղումը (արտադրության բաշխումը շեղվում է ուսուցումից) և եզրակացության շեղումը (արտադրության բաշխումը փոխվում է ժամանակի ընթացքում) և աջակցում է թե՛ կատեգորիկ, թե՛ թվային հատկանիշների մոնիթորինգը: [5]

Որովհետև անակնկալները թանկ են։ Եվ ոչ թե զվարճալի տեսակի։.


Համեմատական ​​աղյուսակ. նախնական մշակման + մոնիթորինգի տարածված գործիքներ (և ում համար են դրանք նախատեսված) 🧰

Գործիք / գրադարան Լավագույնը Գինը Ինչու է այն աշխատում (և մի փոքր անկեղծություն)
scikit-learn նախնական մշակում Աղյուսակային ML խողովակաշարեր Անվճար Solid կոդավորիչներ + սկալերներ (OneHotEncoder, StandardScaler և այլն) և կանխատեսելի վարքագիծ [1]
Գրկախառնվող դեմքի տոկենիզատորներ NLP մուտքագրման նախապատրաստում Անվճար Ստեղծում է մուտքային ID-ներ + ուշադրության դիմակներ՝ հետևողականորեն բոլոր փորձարկումներում/մոդելներում [3]
Torchvision-ը փոխակերպում է Տեսողության վերափոխում + ուժեղացում Անվճար Մաքուր եղանակ՝ դետերմինիստական ​​և պատահական ձևափոխությունները մեկ խողովակաշարում խառնելու համար [4]
Vertex AI մոդելի մոնիթորինգ Արտադրանքի շեղման/թեքության հայտնաբերում Վճարովի (ամպային) Մոնիտորները ներառում են թեքություն/շեղում և զգուշացումներ, երբ շեմերը գերազանցվում են [5]:

(Այո, սեղանին դեռ կարծիքներ կան։ Բայց գոնե դրանք անկեղծ կարծիքներ են 😅)


Գործնական նախնական մշակման ստուգաթերթիկ, որը կարող եք իրականում օգտագործել 📌

Մարզումից առաջ

  • Սահմանեք մուտքագրման սխեմա (տեսակներ, միավորներ, թույլատրելի միջակայքեր)

  • Աուդիտի բացակայող արժեքներ և կրկնօրինակներ

  • Տվյալները ճիշտ բաժանեք (պատահական / ժամանակի վրա հիմնված / խմբավորված)

  • Հարմարեցման նախնական մշակումը միայն մարզման ( fit / fit_transform մնում է մարզման ընթացքում) [2]

  • Պահպանեք նախնական մշակման արտեֆակտները, որպեսզի եզրակացությունը կարողանա վերօգտագործել դրանք [2]

Մարզման ընթացքում

  • Կիրառել պատահական լրացում միայն անհրաժեշտության դեպքում (սովորաբար միայն մարզումների բաժանում) [4]

  • Պահպանեք գնահատման նախնական մշակումը դետերմինիստական ​​[4]

  • Հետևեք նախնական մշակման փոփոխություններին, ինչպիսիք են մոդելի փոփոխությունները (քանի որ դրանք այդպիսին են)

Տեղակայումից առաջ

  • Համոզվեք, որ եզրակացությունը օգտագործում է նույնական նախնական մշակման ուղին և արտեֆակտները [2]

  • Կարգավորեք շեղման/շեղման մոնիթորինգը (նույնիսկ հիմնական գործառույթների բաշխման ստուգումները մեծ դեր են խաղում) [5]


Խորը ուսումնասիրություն. նախնական մշակման տարածված սխալներ (և ինչպես խուսափել դրանցից) 🧯

Սխալ 1. «Ես պարզապես արագ ամեն ինչ կկարգավորեմ» 😵

Եթե ​​դուք հաշվարկում եք մասշտաբային պարամետրերը ամբողջ տվյալների բազմության վրա, ապա դուք արտահոսում եք գնահատման տեղեկատվություն: Տեղավորեք գնացքի մեջ, մնացածը վերափոխեք: [2]

Սխալ 2. կատեգորիաները քաոսի մեջ են ընկնում 🧩

Եթե ​​ձեր կատեգորիայի քարտեզագրումը տատանվում է մարզման և եզրակացության միջև, ձեր մոդելը կարող է աննկատելիորեն սխալ կարդալ աշխարհը։ Պահպանեք քարտեզագրումները շտկված պահպանված արտեֆակտների միջոցով։ [2]

Սխալ 3. պատահական լրացումը ներխուժում է գնահատման մեջ 🎲

Պատահական փոխակերպումները հիանալի են մարզումների ժամանակ, բայց դրանք չպետք է «գաղտնի միացված» լինեն, երբ փորձում եք չափել կատարողականը: (Պատահական նշանակում է պատահական): [4]


Վերջնական դիտողություններ 🧠✨

Արհեստական ​​​​ինտելեկտի նախնական մշակումը անկարգ իրականությունը հետևողական մոդելային մուտքային տվյալների վերածելու կարգապահ արվեստ է: Այն ներառում է մաքրում, կոդավորում, մասշտաբավորում, տոկենիզացիա, պատկերի ձևափոխություններ և, ամենակարևորը, կրկնվող խողովակաշարեր և արտեֆակտներ:

  • Նախնական մշակումը կատարեք միտումնավոր, այլ ոչ թե պատահականորեն։ [2]

  • Սկզբում բաժանեք, միայն մարզման ընթացքում համապատասխանեցրեք ձևափոխությունները, խուսափեք արտահոսքից։ [2]

  • Օգտագործեք մոդալությանը համապատասխան նախնական մշակում (տեքստի համար տոկենիզատորներ, պատկերների համար ձևափոխություններ): [3][4]

  • Հետևեք արտադրության շեղմանը/շեղմանը, որպեսզի ձեր մոդելը դանդաղորեն չշեղվի անիմաստության մեջ։ [5]

Եվ եթե երբևէ դժվարության մեջ հայտնվեք, ինքներդ ձեզ հարցրեք.
«Այս նախնական մշակման քայլը դեռ իմաստ կունենա՞ր, եթե վաղը այն գործարկեի նոր տվյալների վրա»։
Եթե պատասխանը «ըհը… գուցե՞» է, դա ձեր հուշումն է 😬


Հաճախակի տրվող հարցեր

Ի՞նչ է արհեստական ​​բանականության նախնական մշակումը, պարզ լեզվով ասած։

Արհեստական ​​բանականության նախնական մշակումը կրկնվող քայլերի ամբողջություն է, որը աղմկոտ, բարձր փոփոխականությամբ հում տվյալները վերածում է հետևողական մուտքային տվյալների, որոնցից մոդելը կարող է սովորել: Այն կարող է ներառել մաքրում, վավերացում, կատեգորիաների կոդավորում, թվային արժեքների մասշտաբավորում, տեքստի տոկենավորում և պատկերի ձևափոխությունների կիրառում: Նպատակն է ապահովել, որ ուսուցումը և արտադրական եզրակացությունը տեսնեն «նույն տեսակի» մուտքային տվյալները, որպեսզի մոդելը հետագայում չանցնի անկանխատեսելի վարքագծի:.

Ինչո՞ւ է արհեստական ​​բանականության նախնական մշակումը այդքան կարևոր արտադրության մեջ։

Նախնական մշակումը կարևոր է, քանի որ մոդելները զգայուն են մուտքային ներկայացման նկատմամբ: Եթե մարզման տվյալները մասշտաբավորվում, կոդավորվում, տոկենացվում կամ վերափոխվում են արտադրական տվյալներից տարբեր կերպ, դուք կարող եք ստանալ մարզման/մատուցման անհամապատասխանության ձախողումներ, որոնք լավ տեսք ունեն օֆլայն ռեժիմում, բայց աննկատ են մնում առցանց ռեժիմում: Հզոր նախնական մշակման խողովակաշարերը նաև նվազեցնում են աղմուկը, բարելավում են ուսուցման կայունությունը և արագացնում իտերացիան, քանի որ դուք չեք բացահայտում տետրերի սպագետին:.

Ինչպե՞ս կանխել տվյալների արտահոսքը նախնական մշակման ժամանակ։

Գործում է պարզ կանոն. ամեն ինչ, որն ունի համապատասխանության քայլ, պետք է համապատասխանի միայն մարզման տվյալներին: Դա ներառում է սկալերներ, կոդավորիչներ և տոկենիզատորներ, որոնք սովորում են պարամետրեր, ինչպիսիք են միջինները, կատեգորիայի քարտեզները կամ բառապաշարները: Դուք նախ բաժանում եք տվյալները, համապատասխանեցնում մարզման բաժանմանը, ապա փոխակերպում եք վավերացումը/փորձարկումը՝ օգտագործելով համապատասխան տրանսֆորմատորը: Արտահոսքը կարող է վավերացումը «կախարդականորեն» լավ տեսք հաղորդել, ապա փլուզվել արտադրական օգտագործման մեջ:

Որո՞նք են աղյուսակային տվյալների նախնական մշակման ամենատարածված քայլերը:

Աղյուսակային տվյալների համար սովորական խողովակաշարը ներառում է մաքրում և վավերացում (տեսակներ, միջակայքեր, բացակայող արժեքներ), կատեգորիկ կոդավորում (մեկանգամյա կամ կարգային) և թվային մասշտաբավորում (ստանդարտացում կամ նվազագույն-առավելագույն): Շատ խողովակաշարեր ավելացնում են տիրույթի վրա հիմնված առանձնահատկությունների ինժեներիա, ինչպիսիք են հարաբերակցությունները, շարժվող պատուհանները կամ հաշվարկները: Գործնական սովորություն է սյունակների խմբերը հստակ սահմանել (թվային vs կատեգորիկ vs նույնականացուցիչներ), որպեսզի ձեր փոխակերպումները մնան հետևողական:.

Ինչպե՞ս է նախնական մշակումը գործում տեքստային մոդելների համար։

Տեքստի նախնական մշակումը սովորաբար նշանակում է տոկենների/ենթաբառերի վերածում, դրանց մուտքային ID-ների փոխակերպում և խմբաքանակի համար լրացումների/կրճատումների մշակում: Շատ տրանսֆորմատորային աշխատանքային հոսքեր նաև ստեղծում են ուշադրության դիմակ ID-ների կողքին: Տարածված մոտեցում է մոդելի սպասվող տոկենիզատորի կոնֆիգուրացիայի օգտագործումը՝ իմպրովիզացիայի փոխարեն, քանի որ տոկենիզատորի կարգավորումների փոքր տարբերությունները կարող են հանգեցնել «այն մարզվում է, բայց անկանխատեսելիորեն է վարվում» արդյունքների:.

Ի՞նչ տարբերություն կա մեքենայական ուսուցման համար պատկերների նախնական մշակման մեջ։

Պատկերի նախնական մշակումը սովորաբար ապահովում է ձևերի և պիքսելների հետևողական մշակում՝ չափերի փոփոխություն/կտրում, նորմալացում և դետերմինիստական ​​և պատահական ձևափոխությունների միջև հստակ բաժանում: Գնահատման համար ձևափոխությունները պետք է լինեն դետերմինիստական, որպեսզի չափանիշները համեմատելի լինեն: Ուսուցման համար պատահական լրացումը (ինչպես պատահական կտրվածքները) կարող է բարելավել կայունությունը, բայց պատահականությունը պետք է միտումնավոր ներառվի ուսուցման բաժանման մեջ, այլ ոչ թե պատահաբար մնա գնահատման ընթացքում:.

Ի՞նչն է նախնական մշակման խողովակաշարը դարձնում «լավ», այլ ոչ թե փխրուն։

Լավ արհեստական ​​ինտելեկտի նախնական մշակման խողովակաշարը վերարտադրելի է, արտահոսքից պաշտպանված և դիտարկելի։ Վերարտադրելի նշանակում է, որ նույն մուտքային տվյալները արտադրում են նույն արդյունքը, եթե պատահականությունը միտումնավոր լրացում չէ։ Արտահոսքից պաշտպանված նշանակում է, որ համապատասխանության քայլերը երբեք չեն դիպչում վավերացմանը/փորձարկմանը։ Դիտարկելի նշանակում է, որ դուք կարող եք ստուգել այնպիսի վիճակագրություններ, ինչպիսիք են բացակայող տվյալները, կատեգորիաների քանակը և հատկանիշների բաշխումը, ուստի վրիպազերծումը հիմնված է ապացույցների, այլ ոչ թե ներքին զգացողության վրա։ Խողովակաշարերը միշտ գերազանցում են ad-hoc տետրերի հաջորդականությունները։.

Ինչպե՞ս պահպանել ուսուցման և եզրակացության նախնական մշակման հետևողականությունը։

Հիմնականը եզրակացության ժամանակ նույն սովորած արտեֆակտները վերօգտագործելն է՝ մասշտաբի պարամետրերը, կոդավորիչի մապինգները և տոկենիզատորի կարգավորումները: Ձեզ նաև անհրաժեշտ է մուտքագրման պայմանագիր (սպասվող սյուներ, տեսակներ և միջակայքեր), որպեսզի արտադրական տվյալները չկարողանան աննկատելիորեն անցնել անվավեր ձևերի: Համապատասխանությունը պարզապես «նույն քայլերը կատարելը» չէ, այլ «նույն քայլերը կատարելը նույն տեղադրված պարամետրերով և մապինգներով»:

Ինչպե՞ս կարող եմ վերահսկել նախնական մշակման խնդիրները, ինչպիսիք են շեղումը և թեքությունը ժամանակի ընթացքում։

Նույնիսկ կայուն աշխատանքային հոսքագծի դեպքում արտադրության տվյալները փոխվում են: Ընդհանուր մոտեցում է գործառույթների բաշխման փոփոխությունները վերահսկելը և տեղեկացնել ուսուցման-ծառայության շեղման (արտադրությունը շեղվում է ուսուցումից) և եզրակացության շեղման (արտադրությունը ժամանակի ընթացքում փոխվում է) մասին: Մոնիթորինգը կարող է լինել թեթև (հիմնական բաշխման ստուգումներ) կամ կառավարվող (ինչպես Vertex AI մոդելի մոնիթորինգը): Նպատակն է վաղ հայտնաբերել մուտքային փոփոխությունները, նախքան դրանք դանդաղորեն կխաթարեն մոդելի արդյունավետությունը:.

Հղումներ

[1] scikit-learn API:
sklearn.preprocessing (կոդավորիչներ, սկալերներ, նորմալացում) [2] scikit-learn: Տարածված թակարդներ - Տվյալների արտահոսք և դրանից խուսափելու եղանակներ
[3] Hugging Face Transformers փաստաթղթեր. Տոկենիզատորներ (մուտքագրման ID-ներ, ուշադրության դիմակներ)
[4] PyTorch Torchvision փաստաթղթեր. Փոխակերպումներ (չափափոխում/նորմալացում + պատահական փոխակերպումներ)
[5] Google Cloud Vertex AI փաստաթղթեր. Մոդելի մոնիթորինգի ակնարկ (հատկանիշների թեքություն և շեղում)

Գտեք արհեստական ​​բանականության վերջին նորույթները պաշտոնական արհեստական ​​բանականության օգնականների խանութում

Մեր մասին

Վերադառնալ բլոգ