ЖИ хакатоны: шешімді финалдық питчке дейін қалай тексеруге болады
Ұйымдастырушыға арналған тексеру тәртібі: бөлек бақылау жиынтығын дайындау, ЖИ прототипін қарапайым шешіммен салыстыру және қазыға қайталап іске қосуға жеткілікті жазба беру.
·5 мин оқу
Команда модельдің сәтті жауабын көрсетеді. Қазы кіріс мәтінін өзгерткенде нәтиже басқаша шығады: күн жоғалады, ойдан шығарылған қала пайда болады немесе сұрау орындалмай тұрып қалады. Мұны таныстырылымға дейін анықтау үшін ұйымдастырушыға тексеру тәртібі керек: қандай мысалдар тексеріледі, жауаптар немен салыстырылады және іске қосқаннан кейін не сақталады.
Оны әзірлеу басталмай тұрып дайындаңыз. Сонда командалар тексеру форматын біледі, ал қазылар іске қосуды қайталап, қатені талдауға жеткілікті материал алады. Төменде бір оқу мысалындағы ЖИ прототипіне осындай тәртіп дайындаймыз.
1. Тексерілетін нәтижені анықтаңыз
Оқу мысалы: сервис қысқа хабарландырудан қаланы, іс-шара форматын және тіркелудің соңғы күнін бөліп алады. Барлық хабарландыру ойдан шығарылған. Жауапта city, format, deadline өрістері бар JSON күтіледі. Мән берілмесе, null қайтарылуы керек; формат үшін online, offline, hybrid мәндері рұқсат етіледі; күн YYYY-MM-DD түрінде жазылады.
Кіріс мәтінінің мысалы: «Алматы, онлайн. Тіркелу 2026 жылғы 18 қазанға дейін». Күтілетін мәндер: Алматы, online, 2026-10-18. Жарияланған күні көрсетілмеген «ертең тіркеліңіз» деген тіркес нақты мерзімді анықтамайды. Мұндайда болжамның орнына null күтіледі.
Басталар алдында қала атауының рұқсат етілген жазылу нұсқаларын, толық емес күндер мен екіұшты тұжырымдарды өңдеу тәртібін келісіңіз. Оларды тапсырма брифіне енгізіңіз. Екі тексеруші дұрыс жауапты әртүрлі анықтаса, алдымен тапсырма сипаттамасы мен белгіленген жауаптарды түзетіңіз.
2. Әзірлеу мен бақылау тексерісін бөліңіз
Тексеру тәртібін көрсету үшін 30 жасанды хабарландыру алайық: 18-і командаларға қолжетімді, 12-сі бақылау үшін сақталады. Бұл оқу мысалы үшін таңдалған шарттар, ұсынылатын көлем немесе әмбебап арақатынас емес. Мұндай шағын жиынтық нақты келіп түсетін деректердегі сапа туралы қорытынды жасауға жеткіліксіз.
Команда қолжетімді мысалдарда промптты, мәтінді өңдеу тәсілін және шешімін жетілдіреді. Модельді оқытатын болса, әзірлеуге арналған деректердің ішінде оқыту және валидация бөліктері бөлек болуы керек. Бақылау жиынтығы қорытынды тексеруге сақталады. Google бұл бөлуді түсіндіреді: тест жауаптарына қарап өзгеріс таңдау тестті баптау процесінің бір бөлігіне айналдырады.
Бақылау жиынтығына жауапты адамды белгілеңіз. Шешімдер бекітілгенше ол кіріс деректері мен күтілетін жауаптарды командалардан бөлек сақтайды. Бір іс-шара туралы қайталанған хабарландыруларды топтастырыңыз, олардың нұсқалары бөлудің екі жағына түсіп кетпеуі керек. Біздің мысалда алдын ала таңдалған орысша және қазақша мәтіндерді, мәні жоқ өрістерді және екіұшты күндерді қосыңыз.
Алдын ала өңдеу қадамы деректерден үйренетін болса, оны тек оқыту бөлігінде үйретіңіз. scikit-learn құжаттамасы алдын ала өңдеу арқылы бақылау деректерінің модельді баптауға араласып кетуі туралы арнайы ескертеді. Бұл ереже қарапайым дерек дайындау болып көрінетін қадамдарға да қатысты.
3. Салыстыру үшін қарапайым шешім дайындаңыз
Baseline, яғни салыстыруға арналған бастапқы шешім құрыңыз: қала атауларының сөздігі, форматтың анық белгілері және толық көрсетілген күндерді тану ережелері. Ақпарат жеткіліксіз болса, ол да null қайтарады. Бақылау тексерісіне дейін сөздік нұсқасы мен ережелерін бекітіңіз.
Baseline мен ЖИ шешімін бірдей кіріс деректерінде, бірдей салыстыру тәртібімен тексеріңіз. Сонда модельдің қарапайым тәсілден қай жерде жақсы жұмыс істейтіні және қай жерде қате қосатыны көрінеді. Google-дың ML жөніндегі нұсқаулығы қарапайым шешімнен бастауды және өлшенетін нәтижені алдын ала анықтауды ұсынады.
Өрістерді бөлек тексеріңіз: қала, формат, мерзім және дерек жоқ кездегі жауап. Дұрыс жауаптар санымен бірге тексерілген өрістер санын сақтаңыз. Нені санағаны түсініксіз болса, оларды бір ғана «дәлдік» көрсеткішіне біріктірмеңіз. Бұл тексерулердің жалпы бағаға әсерін қазыларға арналған критерийлер арқылы келісіңіз.
4. Әр іске қосудың жазбасын сақтаңыз
Бақылау деректерін ашпай тұрып шешімнің коммитін және тексеру параметрлерін бекітіңіз. Командадан мына өрістері бар қысқа іске қосу жазбасын сұраңыз:
Іске қосу идентификаторы, коммит және бақылау жиынтығының нұсқасы.
Модель: атауы және қолжетімді API нұсқасы немесе жергілікті checkpoint идентификаторы.
Промпт нұсқасы, жауап схемасы және алдын ала өңдеу ережелері.
Орындалу ортасы мен тәуелділіктердің нұсқалары, генерация параметрлері және қолданылса seed.
Әр мысалдың идентификаторы, бастапқы жауап, мәртебе және іске қосу уақыты.
API нұсқасы сыртқы сервистің ішкі күйін әрдайым бекіте бермейді. Провайдер қандай параметрлерді бекітуге мүмкіндік беретінін және команда қандай шарттарды басқара алмайтынын жазыңыз. Файлға кілттерді, токендерді және нақты пайдаланушылардың деректерін қоспаңыз.
Жауаптарды форматын түзетпей тұрып сақтаңыз. Әйтпесе модель дұрыс JSON қайтарды ма, әлде қолданба қатеден кейін оны қалпына келтірді ме, анықтау мүмкін емес. Пайдаланушы көрген өңделген нәтижені бөлек жазыңыз.
Нәтижесі әр іске қосқанда өзгеруі мүмкін шешім үшін қайталау санын алдын ала анықтап, әр нәтижені сақтаңыз. Тексеруден кейін сәтті шыққан нұсқаны ғана таңдамаңыз. Бекітілген seed өздігінен бірдей жауапқа кепіл болмайды. PyTorch құжаттамасында нұсқалар, платформалар және CPU/GPU арасында айырмашылық болуы мүмкін екені ескертіледі. Сыртқы API үшін оның провайдерінің шектеулерін де ескеріңіз.
5. Қателерді әр мысал бойынша талдаңыз
Қазыға әр іске қосудағы әр кіріс мәтініне бір жазба келетін журнал қажет. Мына үлгіні қолданыңыз: run_id, example_id, кіріс мәтіні, күтілетін өрістер, бастапқы жауап, өңделген жауап, қате түрі, іске қосу мәртебесі және тексерушінің ескертпесі.
Біздің мысалда жоғалған күнді, ойдан шығарылған қаланы, қате JSON форматын, дұрыс null мәнін және ақаудан жауап келмеген жағдайды ажыратыңыз. Ақпарат жеткіліксіз кезде болжаудан бас тарту деректі бөліп алу қатесінен өзгеше. API-ға кіру мәселесіне де бөлек мәртебе қажет.
Орындалмай тұрып қалған сұраулар мен келмеген жауаптарды есептен алып тастамаңыз. Барлық жоспарланған мысалдардың, аяқталған іске қосулардың және ақаулардың санын көрсетіңіз. Күтілетін жауап қате белгіленсе, түзетуді жазып, екі шешімді де бірдей ережемен қайта есептеңіз. Команда бақылау қателеріне қарап шешімін баптағаннан кейін бұрынғы жиынтық келесі нұсқаны тәуелсіз тексеруге жарамайды.
6. Қазыға тексеруді қайталауға мүмкіндік беріңіз
Алдымен тапсырылған пакет нұсқаулық бойынша іске қосыла ма, тексеріңіз. Қолжетімділік, бекітілген нұсқа және резервтік демо үшін техникалық қабылдау чек-парағын қолданыңыз. Тексерілмеген кодты жұмыс құпиялары жоқ бір реттік оқшауланған ортада, бөлек тесттік есептік жазбамен іске қосыңыз.
Содан кейін қазы келісілген бақылау жиынтығынан мысалдарды таңдап, жазылған параметрлермен іске қосуды қайталайды. Бастапқы жауаптарды сақталған жауаптармен салыстырыңыз. Олар өзгеше болса, айырмашылықты, шарттарды және команданың түсіндірмесін жазыңыз. Видео көрсетілген нәтижені растайды, бірақ бұл іске қосуды алмастырмайды.
Питчке дейін қазыларға шешім нұсқасын, іске қосу жазбасын, baseline салыстыруын және қателер журналын беріңіз. Шектеулерде тексерудің көлемі мен құрамын, тексерілмеген кіріс түрлерін, сыртқы сервиске тәуелділікті және адам тексеруі қажет тұстарды көрсетіңіз. Команда прототиптің қазір не істей алатынын және келесіде қандай тексеру керегін түсіндіргенде, қазы нақты жауаптар мен ақауларға сүйене алады.