AI алдын ала өңдеу дегеніміз не?

AI алдын ала өңдеу дегеніміз не?

Қысқа жауап: Жасанды интеллектті алдын ала өңдеу - бұл шикі, жоғары дисперсиялық деректерді тазалау, кодтау, масштабтау, токендеу және кескін түрлендірулерін қоса алғанда, тұрақты модельдік кірістерге айналдыратын қайталанатын қадамдар жиынтығы. Бұл маңызды, себебі егер оқыту кірістері мен өндірістік кірістер әртүрлі болса, модельдер үнсіз істен шығуы мүмкін. Егер қадам параметрлерді «үйренсе», ағып кетуден аулақ болу үшін оны тек оқыту деректеріне сәйкестендіріңіз.

Жасанды интеллектті алдын ала өңдеу - бұл модель одан нақты сабақ ала алатындай етіп, оқыту немесе қорытынды жасау алдында (кейде оқыту кезінде) шикі деректермен жасайтын барлық нәрсе. Тек «тазалау» ғана емес. Бұл деректерді тазалау, пішіндеу, масштабтау, кодтау, кеңейту және кейінірек сіздің моделіңізді тыныштықпен бұзбайтын тұрақты көрініске орау. [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]

  • ауытқуларды өңдеу (домен ережелері көп жағдайда «кездейсоқ қиып алудан» асып түседі)

  • туынды мүмкіндіктер (агрегациялар, кідірістер, айналым статистикасы)

Тәжірибелік кеңес: баған топтарын нақты анықтаңыз (сандық және категориялық және идентификаторлар). Болашақта өзіңіз сізге алғыс айтатын боласыз.

Мәтіндік деректер (NLP) 📝

Мәтінді алдын ала өңдеу көбінесе мыналарды қамтиды:

  • токенизацияны токендерге/ішкі сөздерге айналдыру

  • кіріс идентификаторларына түрлендіру

  • толтыру/қию

  • топтастыруға арналған назар аударатын маскаларды жасау [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 құбырлары Тегін Тұрақты кодтаушылар + масштабтаушылар (OneHotEncoder, StandardScaler және т.б.) және болжамды мінез-құлық [1]
Құшақтасу бет токенизаторлары NLP кіріс дайындығы Тегін Енгізу идентификаторларын + назар аудару маскаларын іске қосулар/модельдер бойынша біркелкі түрде шығарады [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]

Егер сіз қиындыққа тап болсаңыз, өзіңізден былай деп сұраңыз:
«Егер мен оны ертең жаңа деректерде іске қоссам, бұл алдын ала өңдеу қадамы әлі де мағыналы бола ма?»
Егер жауап «мм... мүмкін?» болса, бұл сіздің кілтіңіз 😬

Нақты мысал: ағып кетуді болжау үшін ағып кетуден қауіпсіз алдын ала өңдеу құбырын құру

Сценарий

Алдағы 30 күнде қай тұтынушылардың бас тартуы мүмкін екенін болжауға тырысып жатқан шағын SaaS командасын елестетіп көріңіз. Олардың шикі деректері үш жерде сақталады: шот-фактура экспорты, өнімді пайдалану журналдары және қолдау билеттері.

Модельдің бірінші нұсқасы валидацияда өте жақсы көрінеді, бірақ жаңа айдағы тұтынушыларда сынақтан өткен кезде нашар нәтиже көрсетті. Мәселе модель архитектурасында емес, алдын ала өңдеуде.

Команда кездейсоқ толық деректер жиынтығын пайдаланып сандық мүмкіндіктерді масштабтады, пойыз және сынақ деректерінен бірге санат карталарын жасады және тек жойылғаннан кейін ғана қосылған қолдау билеті белгілерін қосты. Классикалық ағып кету. Ауырсындыратын, бірақ түзетілетін. [2]

Құбырға не қажет

Практикалық орнату мыналарды қамтиды:

  • Тұрақты енгізу схемасы: тұтынушы_идентификаторы, жоспар_түрі, тіркелгі_жас_күндері, logins_30d, tickets_30d, last_payment_status, region

  • Уақытқа негізделген бөліну, мысалы, қаңтар-қыркүйек айларында жаттығу және қазан айында тестілеу

  • Сандық масштабтау тек жаттығу бөліміне ғана сәйкес келеді

  • Тек жаттығу бөліміне орнатылған санаттағы энкодерлер

  • Өндіріс бірдей картаға түсірулер мен масштабтау мәндерін пайдаланатындай етіп сақталған алдын ала өңдеу құбыры

  • Орналастырудан кейін жоқ бағандарды, көрінбейтін санаттар мен тарату өзгерістерін негізгі бақылау

Негізгі ереже қарапайым: алдымен бөлу, содан кейін алдын ала өңдеу. Деректерден үйренетін кез келген нәрсе тек оқу кезеңінен үйренуі керек. [2]

Мысал нұсқаулығы

Мұны алдын ала өңдеу қадамы үшін жұмыс нұсқаулығы ретінде пайдаланыңыз:

Тұтынушының есеп айырысуын, пайдалануын және қолдау деректерін пайдаланып, ығысуды болжау моделі үшін алдын ала өңдеу құбырын құрыңыз. Кез келген трансформаторларды орнатпас бұрын деректерді уақыт бойынша бөліңіз. Сандық масштабтаушылар мен санаттық кодтаушыларды тек оқыту деректеріне орнатыңыз, содан кейін сол орнатылған түрлендірулерді валидация және сынақ деректеріне қолданыңыз. Өндірістік модель бірдей схеманы, санаттарды салыстыруды және масштабтау параметрлерін пайдалану үшін барлық алдын ала өңдеу артефактілерін сақтаңыз. Болжау алдында жетіспейтін бағандарды, күтпеген деректер түрлерін, көрінбейтін санаттарды және негізгі тарату ығысуларын белгілеңіз.

Оны қалай тексеруге болады

Модельге сенбес бұрын, алдын ала өңдеу құбырын бірнеше әдейі ыңғайсыз жазбалармен тексеріңіз:

  • Оқытуда болмаған жоспар түріндегі тұтынушы

  • Аймақ немесе соңғы_төлем_күйі көрсетілмеген жол

  • Әдеттен тыс жоғары тұтынушы, мысалы, 30 күнде 10 000 рет кіру

  • Бағандары дұрыс емес ретпен орналасқан өндірістік стильдегі файл

  • Орнату кезінде ешқашан пайдаланылмаған болашақ айдағы сынақ жиынтығы

Содан кейін үш нәрсені тексеріңіз:

  • Құбыр желісі функция ретін өзгертпестен жұмыс істей ме?

  • Белгісіз санаттар үнемі өңделеді ме?

  • Ағып кету жойылғаннан кейін валидация өнімділігі сенімдірек деңгейге дейін төмендей ме?

Соңғы мәселе маңызды. Күмәнді түрде жоғары валидация ұпайы көбінесе керемет емес, алдын ала өңдеудің иісі болып табылады.

Нәтиже

Ноутбук қадамдарын сақталған құбырға түрлендірмес бұрын және кейін бес үлгіні алдын ала өңдеу уақытына негізделген көрнекі нәтиже:

  • Деректер жиынтығын жаңарту үшін қолмен алдын ала өңдеу уақыты 55 минуттан 8 минутқа дейін қысқартылды.

  • Функция реті қателері 5 сынақ жаңартуындағы 3 қатеден 5 жаңартудағы 0 қатеге дейін төмендеді.

  • Ағып кету жойылғаннан кейін тексеру дәлдігі 91%-дан 74%-ға дейін төмендеді, бірақ жаңа айдағы сынақ дәлдігі 62%-дан 71%-ға дейін жақсарды.

  • Команда 6 автоматтандырылған тексеруді қосты: жоқ бағандар, жарамсыз түрлер, көрінбейтін санаттар, нөлдік жылдамдықтың өзгеруі, сандық диапазонның өзгеруі және оқытуға қызмет көрсету схемасының сәйкессіздігі.

Бұл сандар әмбебап эталон емес. Бұл команда жаңарту уақытын есептеу, сәтсіз нәтижелерді санау және тексеру нәтижелерін келесі айдағы болжаммен салыстыру арқылы жасай алатын қарапайым «алдымен» және «кейін» өлшемдерінің бір түрі.

Не дұрыс болмауы мүмкін

Ең үлкен қауіп - құбырдың таза көрінуін қамтамасыз ету, сонымен бірге ағып кетуді жасырын түрде сақтау. Мысалы, «соңғы бас тарту туралы ескерту хатынан бергі күндер» құнды болып көрінуі мүмкін, бірақ егер бұл электрондық пошта тек ішкі ағып кетуді тексеруден кейін ғана жіберілсе, ол болашақтағы ақпаратты жария етуі мүмкін.

Басқа кең таралған тұзақтар:

  • Сақталған бейнелеулерді жүктеудің орнына өндірісте энкодерлерді қайта орнату

  • Жаңа санаттарға функциялардың орнын үнсіз ауыстыруға мүмкіндік беру

  • Шынайы тапсырма уақытқа негізделген кезде кездейсоқ бөліну бойынша тестілеу

  • Тренингте мәндері жоқ жолдарды алып тастау, бірақ оларды қорытынды бойынша өңдемеу

  • Кіріс ауытқуын елемей, модельдің дәлдігін бақылау

Практикалық қорытынды

Жақсы алдын ала өңдеу құбыры шикі деректерді ретке келтіруден де көп нәрсе істейді. Ол модельді нашар бағалаудан, өндірістік кірістердің бұзылуынан және баяу үнсіз дрейфтен қорғайды. Жойылу моделі үшін ақылды алдын ала өңдеу мен сенімді алдын ала өңдеудің айырмашылығы көбінесе бірдей орнатылған түрлендірулердің әр уақытта қайта пайдаланылуына байланысты болады, әсіресе деректер модель бұрын-соңды көрмеген айдан алынған кезде.


Жиі қойылатын сұрақтар

Қарапайым тілмен айтқанда, жасанды интеллектті алдын ала өңдеу дегеніміз не?

Жасанды интеллектті алдын ала өңдеу - бұл шулы, жоғары дисперсиялық шикі деректерді модель үйрене алатын тұрақты кірістерге айналдыратын қайталанатын қадамдар жиынтығы. Оған тазалау, валидация, санаттарды кодтау, сандық мәндерді масштабтау, мәтінді токендеу және кескін түрлендірулерін қолдану кіруі мүмкін. Мақсат - оқыту мен өндірістік қорытындылардың «бірдей» кірісті көруін қамтамасыз ету, сондықтан модель кейінірек болжанбайтын мінез-құлыққа ауыспайды.

Неліктен жасанды интеллектті алдын ала өңдеу өндірісте соншалықты маңызды?

Алдын ала өңдеу маңызды, себебі модельдер кіріс көрінісіне сезімтал. Егер оқыту деректері өндірістік деректерден басқаша масштабталса, кодталса, токенделсе немесе түрлендірілсе, оффлайн режимінде жақсы көрінетін, бірақ онлайн режимінде тыныш істен шығатын оқыту/қызмет көрсету сәйкессіздігінің сәтсіздіктеріне ұшырауыңыз мүмкін. Күшті алдын ала өңдеу құбырлары шуды азайтады, оқу тұрақтылығын жақсартады және итерацияны жылдамдатады, себебі сіз ноутбук спагеттиін шешпейсіз.

Алдын ала өңдеу кезінде деректердің ағып кетуін қалай болдырмауға болады?

Қарапайым ереже жұмыс істейді: сәйкестік қадамы бар кез келген нәрсе тек жаттығу деректеріне сәйкес келуі керек. Бұған орташа мәндер, санат карталары немесе сөздіктер сияқты параметрлерді үйренетін масштабтаушылар, кодтаушылар және токенизаторлар кіреді. Алдымен сіз бөлесіз, жаттығу бөліміне сәйкестендіресіз, содан кейін сәйкестендіру трансформаторын пайдаланып валидацияны/тестті түрлендіресіз. Ағып кету валидацияны «сиқырлы» түрде жақсы етіп көрсетіп, содан кейін өндірістік пайдалануда құлдырауы мүмкін.

Кестелік деректерді алдын ала өңдеудің ең көп таралған қадамдары қандай?

Кестелік деректер үшін әдеттегі құбыржол тазалауды және валидацияны (түрлері, диапазондары, жетіспейтін мәндері), санаттық кодтауды (бір реттік немесе реттік) және сандық масштабтауды (стандарттау немесе мин-макс) қамтиды. Көптеген құбыржолдар қатынастар, жылжымалы терезелер немесе санақ сияқты доменге негізделген мүмкіндіктер инженериясын қосады. Түрлендірулеріңіз тұрақты болып қалуы үшін баған топтарын нақты анықтау (сандық және санаттық және идентификаторлар) практикалық әдет болып табылады.

Мәтіндік модельдер үшін алдын ала өңдеу қалай жұмыс істейді?

Мәтінді алдын ала өңдеу әдетте токенизацияны токендерге/ішкі сөздерге айналдыруды, оларды кіріс идентификаторларына түрлендіруді және топтастыру үшін толтыруды/қиюды өңдеуді білдіреді. Көптеген трансформатор жұмыс процестері идентификаторлармен қатар назар аудару маскасын жасайды. Жалпы тәсіл - импровизацияның орнына модельдің күтілетін токенизатор конфигурациясын пайдалану, себебі токенизатор параметрлеріндегі шағын айырмашылықтар «ол үйретеді, бірақ күтпеген әрекет етеді» нәтижелеріне әкелуі мүмкін.

Машиналық оқыту үшін кескіндерді алдын ала өңдеудің айырмашылығы неде?

Кескінді алдын ала өңдеу әдетте пішіндердің біркелкі болуын және пиксельдерді өңдеуді қамтамасыз етеді: өлшемін өзгерту/қию, қалыпқа келтіру және детерминирленген және кездейсоқ түрлендірулер арасындағы айқын бөліну. Бағалау үшін түрлендірулер детерминирленген болуы керек, сондықтан метрикалар салыстырмалы болуы керек. Оқыту үшін кездейсоқ ұлғайту (кездейсоқ кесінділер сияқты) беріктікті жақсарта алады, бірақ кездейсоқтық бағалау кезінде кездейсоқ қалдырылмай, әдейі оқыту бөліміне енгізілуі керек.

Алдын ала өңдеу құбырын сынғыш емес, «жақсы» ететін не?

Жақсы жасанды интеллект алдын ала өңдеу құбыры қайталанатын, ағып кетуден қауіпсіз және бақыланатын. Қайталанатын дегеніміз, кездейсоқтық әдейі күшейтілмесе, бірдей кіріс бірдей шығысты шығарады дегенді білдіреді. Ағып кетуден қауіпсіз дегеніміз, сәйкес қадамдар ешқашан валидацияға/тестілеуге тиіп кетпейді дегенді білдіреді. Бақыланатын дегеніміз, сіз жоғалған, санат саны және мүмкіндіктердің таралуы сияқты статистиканы тексере аласыз, сондықтан жөндеу ішкі сезімге емес, дәлелдерге негізделген. Құбырлар әрқашан арнайы ноутбук тізбектерін басып озады.

Оқыту мен қорытындыны алдын ала өңдеудің үйлесімділігін қалай сақтаймын?

Ең бастысы - қорытынды жасау уақытында дәл сол үйренген артефактілерді қайта пайдалану: масштабтау параметрлері, кодтаушының бейнеленуі және токенизатор конфигурациялары. Сондай-ақ, өндірістік деректер жарамсыз пішіндерге үнсіз ауысып кетпеуі үшін кіріс келісімшарты (күтілетін бағандар, түрлер және диапазондар) қажет. Тұрақтылық тек «бірдей қадамдарды орындау» емес - бұл «бірдей сәйкестендірілген параметрлер мен бейнеленулермен бірдей қадамдарды орындау»

Уақыт өте келе дрейф және ауытқу сияқты алдын ала өңдеу мәселелерін қалай бақылауға болады?

Тіпті берік құбыр желісі болғанның өзінде өндірістік деректер өзгереді. Жалпы тәсіл - мүмкіндіктердің таралуындағы өзгерістерді бақылау және оқытуға қызмет көрсетудегі ауытқулар (өндіріс оқытудан ауытқу) және қорытынды ауытқуы (уақыт өте келе өндірістің өзгеруі) туралы ескерту. Бақылау жеңіл (негізгі тарату тексерулері) немесе басқарылуы мүмкін (Vertex AI Model Monitoring сияқты). Мақсат - кіріс ауытқуларын ерте анықтау - олар модельдің өнімділігін баяу бұзғанға дейін.

Сілтемелер

[1] scikit-learn API: sklearn.preprocessing (кодерлер, масштабтаушылар, нормалау)
[2] scikit-learn: Жалпы қателіктер - Деректердің ағып кетуі және оны қалай болдырмау керек
[3] Құшақтасу бет трансформаторлары құжаттары: Токенизаторлар (енгізу идентификаторлары, назар аудару маскалары)
[4] PyTorch Torchvision құжаттары: Түрлендірулер (өлшемін өзгерту/қалыпқа келтіру + кездейсоқ түрлендірулер)
[5] Google Cloud Vertex AI құжаттары: Модельді бақылауға шолу (функцияның қисаюы және дрейфі)

Ресми AI көмекші дүкенінен ең соңғы AI-ді табыңыз

Біз туралы

Блогқа оралу

Қосымша жиі қойылатын сұрақтар

  • Жасанды интеллект алдын ала өңдеу машиналық оқыту модельдерін қалай жақсартады?

    Жасанды интеллектті алдын ала өңдеу шикі деректерді тұрақты, модельге дайын мүмкіндіктерге айналдыру арқылы машиналық оқыту модельдерін жақсартады. Бұл оқытудың тұрақтылығын жақсартуға, шуды азайтуға және үнсіз істен шығу қаупін азайтуға көмектеседі, бұл модельдердің оқыту және өндірістік ортада сенімді жұмыс істеуін қамтамасыз етеді.

  • Жасанды интеллектті алдын ала өңдеу процесі қандай қадамдарды қамтиды?

    Жасанды интеллектті алдын ала өңдеу әдетте деректерді тазалауды және тексеруді, категориялық айнымалыларды кодтауды, сандық деректерді масштабтауды, мәтінді токендеуді және кескін түрлендірулерін қолдануды қамтиды. Әрбір қадам модельдің кіріс деректерінен тиімді үйренуін қамтамасыз ету үшін өте маңызды.

  • Неліктен жасанды интеллектті алдын ала өңдеуде тұрақтылық маңызды?

    Жасанды интеллектті алдын ала өңдеудегі тұрақтылық оқыту және өндірістік деректер енгізулері арасындағы сәйкессіздіктерді болдырмау үшін өте маңызды. Егер алдын ала өңдеу қадамдары әртүрлі болса, модель валидация кезінде жақсы жұмыс істеуі мүмкін, бірақ нақты әлемдегі сценарийде үнсіз сәтсіздікке ұшырайды, бұл сенімсіз нәтижелерге әкеледі.

  • Жасанды интеллект алдын ала өңдеу контексінде деректердің ағып кетуі дегеніміз не?

    Деректердің ағып кетуі бағалау немесе тест деректер жиынтығынан алынған ақпарат оқыту процесіне байқаусызда әсер еткен кезде орын алады. Мұны болдырмау үшін параметрлерді үйренетін барлық алдын ала өңдеу қадамдары тек оқыту деректеріне ғана енгізілуі керек, бұл модельді бағалаудың шынайы өнімділікті көрсететініне көз жеткізуі керек.

  • Жасанды интеллект алдын ала өңдеу құбырының қайталанатынына қалай көз жеткізе аламын?

    Жасанды интеллект алдын ала өңдеу құбырында қайталануды қамтамасыз ету үшін бірдей кіріс-шығыс карталарын сақтаңыз, масштабтаушылар мен кодтаушылар сияқты алдын ала өңдеу артефактілерін тек жаттығу деректеріне сәйкестендіріңіз және бұл артефактілерді модельді шығару кезінде пайдалану үшін сақтаңыз.

  • Модельдің өнімділік мәселелерін болдырмау үшін жасанды интеллектімді алдын ала өңдеу кезінде нені бақылауым керек?

    Уақыт өте келе деректеріңіздегі ауытқулар мен ауытқуларды бақылау маңызды. Бұл мүмкіндіктердің таралуындағы өзгерістерді тексеруді және өндірістік деректердің оқыту деректерімен сәйкес келетініне көз жеткізуді қамтиды. Мұндай мәселелерді ерте анықтау модельдің өнімділігін сақтауға көмектеседі.

  • Алдын ала өңдеу кезінде жіберіп алмау керек жиі кездесетін қателіктердің мысалдарын келтіре аласыз ба?

    Алдын ала өңдеудің жиі кездесетін қателіктеріне бүкіл деректер жиынтығындағы алдын ала өңдеу қадамдарын сәйкестендіру жатады, бұл деректердің ағып кетуіне, оқыту мен қорытынды арасындағы санаттардың сәйкессіздігіне және бағалау кезінде кездейсоқ түрлендірулердің белсенді болып қалуына әкеледі, бұл өнімділік көрсеткіштерін бұрмалауы мүмкін.