2 ТБ українського права + DeepSeek V3 860B на GCP: що ми отримаємо
У нас на проді ~1.5 ТБ ЄДРСР із векторами + ~550 ГБ реєстрів, законодавства, іспанських джерел і EU-Lex. Якщо прогнати це крізь MoE-модель розміру DeepSeek V3, масштабовану до 860B на TPU v5p — що вийде? Розбираємо датасет, архітектуру, ціну прогону і властивості моделі.
2 ТБ українського права + DeepSeek V3 860B на GCP: що ми отримаємо
У нас на проді лежить ~1.5 ТБ повнотекстової судової практики та векторів до неї, плюс ще ~550 ГБ інших легальних даних: реєстри, законодавство, бізнес-ентіті, іспанська прецедентна база, EU-Lex. Якщо взяти цей корпус і натренувати на ньому MoE-модель розміру DeepSeek V3, масштабовану до 860B параметрів, на GCP — що вийде на виході? Розбираємо датасет, архітектуру, ціну прогону, і які властивості матиме така модель на українському праві.
Що в датасеті
Весь корпус — це те, що вже крутиться у проді SecondLayer. Ніяких додаткових скрапів, ніякого Common Crawl, ніякого шуму.
ЄДРСР — ядро датасету, ~1.5 ТБ. Єдиний державний реєстр судових рішень України. 96.2 мільйона повних текстів рішень (1079 ГБ у PostgreSQL TOAST), 471 ГБ векторів у Qdrant (voyage-3.5, 1024-dim), 28 ГБ метаданих (суд, суддя, дата, категорія справи, тип провадження, код закону). Розбивка по юрисдикціях: цивільне 33.7M, адміністративне 14M+, кримінальне 12M+, господарське 6M+, КУпАП 6M+. Найбільша річна когорта — 2024 (115 ГБ текстів у TOAST).
OpenReyestr — 43 ГБ. Українські публічні реєстри: 16.7M юридичних осіб (ЄДР), структури власності (бенефіціари, учасники), боржники (ДВС), реєстри НАІС. Це основа для SneakyPiper — нашої due-diligence платформи, але тут — сирий корпус для моделі.
Законодавство — ~40 ГБ. Конституція, кодекси (ЦК, ККУ, КПК, ЦПК, ГПК, КАСУ, КЗпП, ПК, МК), закони, підзаконні акти. Все — із структурою: статті, частини, пункти, редакції з датами набрання чинності. Це не просто плоский текст: ми знаємо, що стаття 124 Конституції вступає у силу тоді-то, має таке посилання, цитується у стількох-то рішеннях.
Supreme Court переглядові практики + lu_court_decisions — ~25 ГБ. Пленуми ВС, огляди практики, Верховний Суд у великій палаті. Це найцінніша частина — правові позиції, які лягають в основу нижчих інстанцій.
Іспанські відкриті дані — ~50 ГБ. BOE (офіційний вісник), AEAT (податкові консультації), Tribunal Constitucional (КС Іспанії), BORME (реєстр компаній розділ С), CENDOJ (криміналка), Fiscalía, Consejo de Estado, EU-Lex ES. Мультилінгвальний bonus: модель отримує європейський правовий контекст у своїй другій робочій мові.
SecondLayer opendata shards — ~30 ГБ. NIPO (патенти/торгові марки), ДПА-дані, spending.gov.ua, парламентська відкрита база (Рада: депутати, законопроекти, голосування, тексти законів із zakon.rada.gov.ua), CourtSchedule, CourtExperts.
Разом — приблизно 2 ТБ сирого тексту. Після дедуплікації, фільтрації боілерплейту (типові шапки рішень, клаузули "вступає в силу з моменту", підписи), OCR-фіксів та нормалізації — очікуємо на ~800-1000 ГБ чистого токенізованого корпусу.
У токенах (SentencePiece BPE, натренований на українській): приблизно 280-330 мільярдів токенів. Для порівняння — реальний DeepSeek V3 тренувався на 14.8T токенів, в основному англомовних. Наш корпус — у 50 разів менший, але він сфокусований, доменний, структурований і майже унікальний: на відкритих даних Common Crawl українського права не вистачає за порядки.
Чому DeepSeek V3 і що означає 860B
DeepSeek V3 — Mixture-of-Experts (MoE) архітектура від DeepSeek: 671B total параметрів, 37B active на токен. Гарячий інференс дешевший, ніж у dense-моделей того ж масштабу, бо на кожен forward pass активується лише частина експертів. Для нашого use case — десятки мільйонів інференсів на місяць у проді — це критично.
860B — це гіпотетичний масштаб: беремо топологію V3 і розширюємо її приблизно на 1.28×. Конкретно: залишаємо 61 шар, збільшуємо кількість routed-експертів із 256 до ~330, зберігаємо top-8 routing + 1 shared, router-gate через sigmoid, balance-loss-free training (як у V3-R1). Total параметри ~860B, active на токен — ~47B. Це все ще inference-friendly.
Чому саме таке розширення? По-перше, для вузькодоменного корпусу більше експертів — кращий спеціалізований розподіл: один експерт на "формулювання позову у ЦПК", інший — на "податкові консультації", третій — на "аргументація ВС у касаційних постановах". По-друге, 860B залишає запас місткості (capacity) для мультилінгвальності (українська + іспанська + російська + англійська) без деградації у домені. По-третє, MoE на TPU v5p скейлиться дуже чисто — на відміну від dense-моделей того ж параметр-каунту.
Буде використано архітектурні фічі з оригінального V3: Multi-Head Latent Attention (MLA) замість GQA — це зменшує KV-cache у ~9 разів, що дає довгий контекст (256K токенів) без PetaByte-ів RAM. Multi-Token Prediction (MTP) head як аuxiliary loss під час тренінгу — покращує семплінг і відкриває speculative decoding на інференсі.
Тренінг на GCP: конфіг і гроші
GCP має TPU v5p поди — це найкраща платформа для MoE training, ліпше ніж H100 clusters по пам'яті на чіп (95 ГБ HBM3 vs 80 ГБ) і пропускній здатності міжчіпового intercconnect (ICI). Для 860B MoE з 280B токенів прикидка така.
Мінімальний виробничий конфіг: v5p-2048 (2048 чіпів, 512 хостів). На такому поді один епоч по 280B токенах прогониться приблизно за 3-4 доби. Повний пре-трейн у 3 епохи — 9-12 діб compute часу. Пошук оптимальних гіперпараметрів на малих моделях (70B/200B варіанти) — ще 5-7 діб на v5p-512.
Ціна v5p — приблизно $4.20 за chip-hour у on-demand, $2.50 у 3-річному commit. На 12 днях v5p-2048 виходить $2.5-4.2M на сам пре-трейн. Ще $200-500K на експерименти + supervised fine-tuning + DPO/RLHF на окремому судовому instruction-датасеті. Зберігання чекпойнтів у GCS ~100-200 ГБ/чекпойнт, за тиждень буде кілька ТБ.
Альтернатива — A3 Ultra (H100 Mega) на GCP. 768 H100 (48 інстансів a3-megagpu-8g) приблизно еквівалентні v5p-1024 по throughput, але гірше по MoE-efficiency через NVLink vs ICI. Ціна порівнювана, але дещо гірша. Тому — v5p.
Дані: вихідний корпус зберігається у GCS у мультистрімових TFRecord-чанках (256 MB кожен), тoкенізація робиться на льоту у data-loader-і через JAX/Flax/Paxml стек. Це стандарт для TPU-тренінгу, на відміну від PyTorch/FSDP на H100. Pipeline: TPU чіп → HBM → TensorCore, без виходу у host DRAM на hot path.
Властивості очікуваної моделі
Що ми отримаємо, прогнавши такий корпус крізь такий компуут?
Перше: native Ukrainian legal reasoning. На сьогодні немає жодної frontier-моделі, яка добре знає українське право — ні GPT-4o, ні Claude Opus 4.7, ні Gemini 2.5. Вони галюцинують статті ЦКУ, плутають редакції кодексів до/після 2022, не розрізняють адміністративне та цивільне провадження. Наша модель матиме 280B токенів української правової літератури — це у сотні разів більше, ніж було у будь-якому пре-трейн-датасеті frontier-моделі.
Друге: дрібнозерниста цитатність. Завдяки тому, що корпус структурований (кожен чанк знає свій doc_id, категорію, дату, статтю), модель навчається не просто "а ще у кодексі є стаття...", а "згідно зі статтею 611 ЦК України (редакція від 17.06.2020), у справах про стягнення неустойки...". Це не retrieval-augmented; це властивість, яку модель формує у своїх активаціях із самого пре-трейн-сигналу.
Третє: reasoning над прецедентами. На 96M рішеннях із повними метаданими (касація/апеляція/перша, судовий округ, суддя-доповідач, дата) модель вивчає, як нижчі інстанції оперують правовими позиціями ВС; як еволюціонує практика; де є розкол між колегіями. Це вже не просто "зведення інформації", це юридичне мислення, натреноване на реальних рішеннях.
Четверте: графова логіка беніфіціарів і звʼязків. 16.7M entity у OpenReyestr + SneakyPiper графи зв'язків — це сирий матеріал для того, щоб модель внутрішньо будувала knowledge graph ukr-business-world. При правильному форматуванні тренінгових семплів (тройки "компанія-беніфіціар-% володіння" як текст) модель навчиться виводити гіпотези типу "якщо особа X є кінцевим беніфіціаром 3 компаній із одним і тим же адвокатом, варто перевірити зв'язки з офшорним реєстром".
П'яте: мультилінгвальна мостова функція. Іспанський корпус (~50 ГБ) + EU-Lex ES + українська законотворчість дає мапінг між кримінально-правовими концепціями EU та України — корисно для екстрадиційних питань, MLAT-запитів, кейсів із іноземним елементом. Це не професійний переклад, а саме спільне reasoning-поле.
Шосте: радикально нижча галюцинація на доменних запитах. Очікуємо, що на тестовому сеті "правильна відповідь зі статтею/прецедентом" ми матимемо 85-92% точності — проти 40-55% у frontier моделей загального призначення. Це експериментальна оцінка, але на малих варіантах (7B/70B дообучених на підмножині корпусу) ми вже бачимо такі числа.
Що модель НЕ робитиме краще за frontier-ок: загальне reasoning поза юриспруденцією, математика, код, творче письмо не-правового жанру, нішевий англомовний контекст. Для цього у проді залишається мультимодельна оркестрація: легкі запити на квік-модель, складні юридичні — на нашу власну, загальні — на Claude/GPT.
Що це дає SecondLayer у проді
Зараз у нас мультиагентна оркестрація: класифікатор інтенту, retrieval-planner, ембединг через Voyage, пошук у Qdrant, context-building, запит у GPT-4o/Claude, post-processing. Це дорого ($0.01-0.05 за запит), це повільно (3-8 секунд на відповідь), і це залежить від того, що OpenAI/Anthropic не відключать Україну завтра.
З власною моделлю:
- Інференс у два рази дешевший за OpenAI за аналогічною якістю у домені, бо ми не платимо за токени, які пішли на загальний pre-train
- Latency 1-2 секунди замість 3-8, бо запит більше не йде через trans-atlantic з retrieval pipeline
- Self-hosted на EU-серверах, GDPR-сумісно, без залежності від зовнішнього provider
- Можливість тонкого fine-tuning під нові типи задач (податкові, трудові, адвокатська етика) без переплати за retraining frontier-моделей
Ключовий інсайт: те, що зараз у нас на диску — це не просто "дані". Це найбільший у світі доменний корпус для тренінгу юридичної моделі українського права. Жоден закордонний гравець цього корпусу не має і не матиме найближчі роки. Жоден відкритий датасет (Pile, RedPajama, Dolma, FineWeb) близько не містить стільки судової практики будь-якої юрисдикції.
Питання не в тому, чи варто це зробити. Питання — коли і з ким. $3-5M на пре-трейн — це рівень seed-to-A раунду, це робимо з одним стратегічним інвестором, який бачить ринок Ukr-legal-AI як окрему категорію. Ми вже маємо pipeline, ми маємо корпус, ми маємо команду, яка тягне прод на 96M рішень без падінь.
Далі — компуут.
Автор: Володимир Овчаров. legal.org.ua