Сложность: 800
"A model doesn’t see code — it sees reasons."
После инцидента корпорация Holmes Industries внедрила систему машинного аудита.
Модель должна была отмечать заражённые коммиты, помогая инженерам находить следы инсайдеров.
Но с каждым месяцем отчёты модели становились всё страннее:
она указывала на безобидные правки, игнорировала явные угрозы — и всё же её уверенность росла.Теперь отдел анализа решил разобраться.
Ваша цель — понять, где именно модель “видит смысл”.
Ведь только так можно понять, что она на самом деле поняла.
Дана замороженная модель F, обученная классифицировать фрагменты кода на классы
infected / clean.
Для каждого коммита вы можете подать не весь код, а только его часть — диапазон токенов.
Модель вернёт уверенность в исходном классе при этом усечённом вводе.
Ваша цель —
для каждого коммита выбрать подстроку кода,
которая делает модель максимально уверенной в правильной классификации исходного класса.
Иными словами, вы должны найти тот участок кода, который модель действительно “считает доказательством”.
commits.csv — данные о коммитах:
commit_id, code, true_label
attn_maps/ — сохранённые attention-веса модели:
layer_{L}head{H}.npy
где каждая матрица имеет размер [N, T, T],
где N — количество примеров, T — число токенов в коде.
Ограничение:
end - start ≤ K
(максимальная длина выбранного фрагмента — K токенов).
Файл submission.csv должен содержать:
commit_id,start,end,confidence
где:
- start, end — границы выбранного диапазона токенов;
- confidence — ожидаемая уверенность модели при подаче выбранного фрагмента.
Retention Score
Score = (1 / N) * Σ [ F(x_i) = F(x_i_crop) ] · F_c(x_i_crop)
где:
- F(x_i) — исходный класс для полного кода,
- F_c(x_i_crop) — уверенность модели при вводе выбранного фрагмента.
Интуиция:
Хорошее решение сохраняет смысл — вырезает всё неважное и оставляет ядро, в котором “глаз модели” видит класс.
В первой задаче вы искали инсайдеров среди людей.
Во второй — следы их кода.
Теперь — вы исследуете саму модель, чтобы понять, куда она смотрит
и что для неё вообще значит “доказательство”.
Чтобы отправить решение, войдите в аккаунт.
| ID | Дата | Статус | Детали | |
|---|---|---|---|---|
| Нет посылок | ||||