dimhold.by
← Артыкулы

Кожная сёмая "беларуская" старонка ў mC4 на рускай

У артыкуле пра mT5 пералічаная 101 мова і беларуская сярод іх. У дадатку ёсць табліца з аб’ёмам кожнай мовы ў mC4, корпусе, на якім mT5 навучалі. Беларуская мае 2,0 мільярда токенаў, руская 713 мільярдаў. Я чытаў гэтую табліцу не раз і браў з яе толькі суадносіны. Мала, але ёсць. Што гэтыя 2 мільярды токенаў гэта беларускі тэкст, я проста меркаваў, хоць файлы адкрытыя і я ні разу ў іх не зазіраў.

Дык я ў іх зазірнуў. mC4 ляжыць на Hugging Face у копіі AllenAI, беларуская частка гэта 128 файлаў і 3,4 ГБ у сціснутым выглядзе. Побач я ўзяў CC-100, корпус, на якім навучаны XLM-R, там беларуская гэта 1 файл на 0,72 ГБ. Корпусы я не захоўваў на дыску. Кожны дакумент прайшоў праз 2 вызначальнікі мовы на Python і для кожнага дакумента я запісаў адзін радок прыкмет. Першы гэта CLD3, той самы вызначальнік, якім mC4 выбіраў мову старонкі. Другі гэта fastText 0.9.2 з мадэллю lid.176 2017 года. mC4 яе не выкарыстоўваў. CC-100 выкарыстоўваў. Гэта я даведаўся толькі пасля падліку і ніжэй гэта важна.

Я не першы, хто глядзіць унутр. Kreutzer з суаўтарамі ўручную праверылі выбаркі са шматлікіх вэб-корпусаў і апублікавалі гэта сёлета ў TACL. Для беларускай у mC4 яны ацанілі каля 100 сказаў. 92% аказаліся правільнымі, 4% на іншай мове, астатняе ўвогуле не мова. Да падліку я запісаў, чаго чакаю: fastText назаве беларускімі не менш за 90% дакументаў mC4 і не менш за 95% дакументаў CC-100. Ніжэй за 80% я б назваў пазнаку ненадзейнай.

Аб’ём

Рускай у mC4 у 408 разоў больш, чым беларускай, па сціснутых байтах і ў 357 разоў па колькасці токенаў з табліцы mT5. mC4 сабраны са здымкаў Common Crawl да 2020 года. Для параўнання, апошні здымак, які я ўзяў, студзеньскі 2022 года, пазначае беларускімі 0,0153% старонак і на кожную беларускую старонку ў ім 408 рускіх. Супадзенне 408 выпадковае. Тут старонкі супраць байтаў і здымак, якога mC4 не бачыў. Гэта параўнанне кажа толькі пра тое, што парадак велічыні той самы.

З CC-100 інакш. Там рускай усяго ў 68 разоў больш, чым беларускай. Англійскай у 121 раз больш, а ў mC4 у 1174. Абодва корпусы пачынаюцца з Common Crawl, але CC-100 узяў 1 здымак для англійскай і 12 для астатніх моў. Гэта тлумачыць значную частку разрыву па англійскай. Па рускай 2 корпусы разыходзяцца ў 6 разоў і гэтага я растлумачыць не магу. У CC-100 яшчэ свая фільтрацыя і я не разбіраўся, які крок дае розніцу.

у колькі разоў рускай больш, чым беларускай (лаг. шкала) 1 10 100 1000 табліца mT5, токены mC4 357 mC4, сціснутыя байты 408 Common Crawl 2022-05, старонкі 408 CC-100, сціснутыя байты 68
Руская супраць беларускай. Табліца з артыкула пра mT5, памеры файлаў mC4 (копія AllenAI) і CC-100, статыстыка Common Crawl за студзеньскі здымак 2022 года.

Што ляжыць у беларускай тэчцы

У беларускай частцы mC4 1742030 дакументаў. CLD3 называе беларускімі ўсе. Гэта чаканы вынік, бо менавіта так яны ў тэчку і трапілі. fastText згодны ў 81,6% выпадкаў. У 14,3% ён кажа “руская”, у 1,6% “украінская”. Значыць, мае 90% не спраўдзіліся і вынік лёг крыху вышэй за рысу, якую я правёў для ненадзейнай пазнакі.

Потым я палічыў словы замест дакументаў. Калі лічыць па колькасці слоў, fastText называе беларускімі 93,2% і рускімі ўсяго 2,7%. Гэта блізка да 92% з ручной праверкі. Я нейкі час думаў, што мае лікі разыходзяцца з Kreutzer, пакуль не зразумеў, што яны лічылі сказы, а я дакументы. Словы таксама не сказы, так што супадзенне часткова выпадковае. Але прычына разрыву зразумелая: рускія дакументы малюсенькія.

mC4, дакументы 81,6% 14,3% mC4, словы 93,2% CC-100, дакументы 98,8% CC-100, словы 99,96% беларуская руская украінская іншае
Усе 1742030 дакументаў mC4 be і ўсе 1450734 дакументы CC-100 be. Мова паводле fastText lid.176.

Іх 249162. Медыянная даўжыня 27 слоў, 3 з 4 карацейшыя за 50 слоў. 146160 з іх ляжаць на даменах .ru. Я прачытаў 47, якія трапілі ў выпадковую выбарку з 400 дакументаў. 14,3% далі б 57, але 400 гэта малая выбарка. 26 з іх гэта яўна старонкі крам: сухая пастэль, матрацы 90x205 у Самары, душавыя кабіны, акумулятар для SonyEricsson K770. Яшчэ 5 гэта спісы тавараў на старонках, якія не зусім крамы. Астатняе торэнты, тэма на форуме, спіс лекараў, казіно, рэцэпт і падобнае. 3 з 47 не чыста рускія. Ніводнага звычайнага артыкула сярод іх я не знайшоў. На старонцы з назваў тавараў амаль няма звычайных рускіх слоў, таму літары, якія адрозніваюць рускую ад беларускай, амаль не трапляюцца.

Я ўзяў адну такую старонку з грылем з расійскай інтэрнэт-крамы. Я падаваў CLD3 яе радкі, дадаючы па адным. Калі даць толькі першы радок, ён кажа “руская”. З другога радка ён кажа “беларуская” да радка 7, дзе слова “доставка” вяртае рускую. Калі даць усе 8 радкоў, зноў беларуская, з упэўненасцю 0,797. mC4 адкідаў старонкі з упэўненасцю ніжэй за 0,7, так што гэтая прайшла.

пазнака CLD3 пасля радкоў 1..k парог mC4 0,7 1 Барбекю : Гриль OFYR Classic 100 Black steel ru 0,424 2 Главная/Каталог/Барбекю/Гриль OFYR Classic 10… be 0,768 3 Гриль OFYR Classic 100 Black steel be 0,768 4 Гриль OFYR Classic 100 Black steel - характер… be 0,768 5 Описание: Гриль OFYR Classic 100 Black steel be 0,784 6 Отзывы Гриль OFYR Classic 100 Black steel be 0,784 7 Гриль OFYR Classic 100 Black steel - доставка ru 0,486 8 Гриль OFYR Classic 100 Black steel - монтаж be 0,797
CLD3 на першых k радках старонкі з in-kamin.ru. Тэкст старонкі рускі.

CC-100 выглядае чысцейшым. fastText называе беларускімі 98,8% з 1450734 дакументаў CC-100 і 99,96% слоў. Мае 95% спраўдзіліся. Але CC-100 фільтравалі той самай мадэллю lid.176, так што тут fastText у асноўным пацвярджае ўласнае ранейшае рашэнне.

Што гэта значыць для mT5

mT5 навучалі 1 мільён крокаў на батчах з 1024 паслядоўнасцей па 1024 токены, гэта каля 1,05 трыльёна токенаў. Пры выбарцы моў беларускай дасталася 0,59% з іх. Гэта 6,19 мільярда токенаў пры тым што ўсяго ў тэчцы 2,0 мільярда, гэта значыць мадэль прайшла беларускую тэчку прыкладна 3 разы. Гэта ўваходныя токены пасля маскавання адрэзкаў (span corruption), так што сапраўдны лік, магчыма, крыху большы. Рускай дасталася 3,71% навучальных токенаў, але рускай так шмат, што мадэль адзін раз убачыла толькі каля 5,5% яе.

Выходзіць, мадэль паўтарае беларускую тэчку 3 разы, разам з рускамоўнымі старонкамі крам. З усяго рускага масіву яна чытае каля 5,5%. Па колькасці слоў руская гэта 2,7% таго, што паўтараецца. У маёй выбарцы большая частка гэтага крамы. Для мадэлі гэта, мусіць, не праблема. Але калі вы бераце выпадковыя дакументы з mC4, каб нешта палічыць, fastText назаве рускай кожную сёмую “беларускую” старонку.

2 правапісы ў адной тэчцы

У беларускай мове 2 правапісы ў ужытку, афіцыйны і класічны, які называюць тарашкевіцай. Тарашкевіцай пішуць пераважна незалежныя медыя і ў яе ёсць свая Вікіпедыя. Корпусы іх не раздзяляюць. Я шукаў падлік тарашкевіцы ў mC4 або CC-100 і не знайшоў.

У класічным правапісе мяккі знак паміж зычнымі пішацца там, дзе ў афіцыйным яго няма: сьнег супраць снег, жыцьцё супраць жыццё. Я склаў спіс такіх спалучэнняў плюс літару ґ і праверыў яго прыкладна на 200 выпадковых артыкулах з абедзвюх беларускіх Вікіпедый. У афіцыйнай ён не знайшоў нічога. У класічнай злавіў 49 з 52 артыкулаў даўжынёй ад 100 да 200 слоў і ўсе даўжэйшыя.

Сярод беларускіх дакументаў даўжынёй ад 100 слоў класічны правапіс у 22,0% у mC4 і ў 20,9% у CC-100. Я чакаў ад 15% да 40%. Выходзіць, прыкладна кожны пяты доўгі беларускі тэкст у абодвух корпусах напісаны класічным правапісам, якога афіцыйныя правілы не прызнаюць.

Чаго я не правяраў

fastText не эталон. Кароткія беларускія старонкі з малой колькасцю літар цяжкія для любога вызначальніка. У артыкуле пра mT5 сказана, што mC4 пакідаў толькі старонкі, дзе хоць бы 3 радкі не карацейшыя за 200 знакаў. Рускія старонкі ў тэчцы значна карацейшыя. Магчыма, доўгія радкі потым выдалілі як дублікаты, але я гэтага не правяраў. Падлік тарашкевіцы прапускае частку тэкстаў ад 100 да 200 слоў, 3 з 52 у праверцы на Вікіпедыі, так што 22,0% крыху заніжана. Кароткія тэксты я не лічыў зусім. І дакумент залічваецца класічным, нават калі ў ім адна цытата гэтым правапісам. Я нічога не навучаў, так што як рускія крамы ўплываюць на беларускую ў mT5, я магу толькі здагадвацца.