46 lines
7.9 KiB
Typst
46 lines
7.9 KiB
Typst
#import "common.typ": pz-fig, pz-table
|
||
|
||
= Вариативная профессиональная компетенция (ВПК-2)
|
||
|
||
В рамках образовательной программы по направлению 09.03.04 «Программная инженерия» формируется вариативная профессиональная компетенция (ВПК-2):
|
||
|
||
#emph[Способен решать прикладные задачи анализа данных и принятия решений с использованием искусственного интеллекта.]
|
||
|
||
В текущей версии Wallenc модели машинного обучения в runtime не внедрены: продукт строится на zero-knowledge модели, отсутствует доверенный сервер приложения, а выгрузка расшифрованного содержимого storage на облако для обучения противоречила бы заявленным требованиям безопасности. Ниже рассмотрено, какие прикладные задачи анализа данных и автоматизированных решений *могли бы* быть добавлены в перспективе без нарушения клиентской модели угроз.
|
||
|
||
== Связь компетенции с предметом ВКР
|
||
|
||
Wallenc уже оперирует структурированными данными, пригодными для анализа: журнал синхронизации (пути, операции, ревизии, метки времени), метаданные файлов (имя, размер, тип по расширению), события фоновых задач. Это не «сырой» пользовательский контент, а агрегаты, которые можно обрабатывать локально. Компетенция ВПК-2 в контексте ВКР раскрывается постановкой задач, выбором данных и моделей, метриками качества и правилами принятия решений – даже если в MVP остаётся только проектный анализ.
|
||
|
||
== Прикладные задачи анализа данных и принимаемые решения
|
||
|
||
#pz-table(
|
||
[Гипотетические задачи ИИ в экосистеме Wallenc],
|
||
(1.05fr, 1.15fr, 1.05fr, 0.82fr, 1.08fr),
|
||
table.header([Задача], [Данные для анализа], [Тип модели], [Где inference], [Решение для пользователя]),
|
||
[Классификация и теги файлов], [Имя, расширение, размер; опционально эмбеддинг после локального decrypt], [#text(hyphenate: true, lang: "ru")[Лёгкий класси#sym.zws фикатор / k-NN]], [On-device (TFLite)], [Предложить теги, группировку в vault],
|
||
[Аномалии в журнале sync], [Частота операций по путям, время, actorId], [Isolation Forest, пороговые правила], [On-device], [Предупреждение о подозрительной активности],
|
||
[Похожие имена / дубликаты], [Нормализованные имена, размер], [Эмбеддинги строк + косинусная близость], [On-device], [Подсказка при синхронизации или импорте],
|
||
[Импорт секрета со скриншота], [Изображение экрана (только по действию пользователя)], [OCR (ML Kit)], [On-device], [Заполнить поле текстового секрета],
|
||
) <tbl-vpk-ml-tasks>
|
||
|
||
Каждая строка таблицы связывает *анализ данных* (входные признаки) с *решением* (действие системы или рекомендация), что соответствует формулировке компетенции.
|
||
|
||
== Модели, обучение и развёртывание
|
||
|
||
*Классификация файлов.* Обучающая выборка может формироваться из синтетических имён и публичных датасетов типов файлов без доступа к реальным vault пользователей. Пайплайн: разметка классов (документ, изображение, архив) → обучение компактной сети (MobileNet-подобный backbone) → квантизация → конвертация в TensorFlow Lite @tflite-docs. Метрики: accuracy, F1 по классам на hold-out.
|
||
|
||
*Детектор аномалий sync.* Признаки: число UPSERT/DELETE за окно времени, доля новых путей, смена `actorId`. Обучение на журналах, сгенерированных unit-тестами и симуляциями `StorageSyncEngineTest`, плюс размеченные «нормальные» и «атакующие» сценарии. Метрики: precision/recall для класса «аномалия». Решение: показать уведомление, не блокировать sync автоматически без подтверждения.
|
||
|
||
*OCR.* Google ML Kit Text Recognition @mlkit-text позволяет извлечь текст без собственного обучения; дообучение нужно только для специфичных шрифтов. Решение: предзаполнить поле секрета с возможностью редактирования.
|
||
|
||
Общая схема on-device inference приведена на рис. @fig-36: метаданные и признаки не покидают устройство в открытом виде; обучение на расшифрованном содержимом всех пользователей в облаке для Wallenc неприемлемо. Альтернатива – *федеративное обучение* только на агрегированных градиентах по opt-in, без централизованного хранения файлов.
|
||
|
||
#pz-fig("fig_36_ml_on_device.png", [Гипотетический контур on-device ML], "fig-36")
|
||
|
||
== Этика, ограничения и вывод по ВПК-2
|
||
|
||
Любой модуль ИИ должен быть отключаемым (opt-in), объяснять пользователю основание рекомендации (например, «похожее имя файла») и не подменять явное действие при удалении или синхронизации. Конфликт с E2E возникает, если отправлять ciphertext или ключи на внешний API inference – в проекте такой путь не рассматривается.
|
||
|
||
*Вывод.* Компетенция «решать прикладные задачи анализа данных и принятия решений с использованием искусственного интеллекта» в пояснительной записке раскрыта анализом применимости ML к Wallenc: сформулированы задачи, источники данных, типы моделей, метрики обучения и границы развёртывания on-device. Внедрение в текущий MVP не выполнялось осознанно – в соответствии с целями ВКР по защищённому хранению без доверенного backend.
|