Как стать автором
Обновить

Компания Институт системного программирования им. В.П. Иванникова РАН временно не ведёт блог на Хабре

Сначала показывать

Я больше не верю публичным датасетам

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров11K

Когда я прочитал новость о том, что исследователи MIT обнаружили вплоть до 10% ошибок в разметке самых популярных датасетов для обучения нейросетей, то решил, что нужно рассказать и о нашем опыте работы с публичными датасетами.

Уже более пяти лет мы занимаемся анализом сетевого трафика и машинным обучением моделей обнаружения компьютерных атак. И часто используем для этого публичные наборы обучающих данных. Расскажу, с какими сложностями мы при этом столкнулись и почему больше не верим публичным датасетам.

Читать далее
Всего голосов 24: ↑23 и ↓1+31
Комментарии14

Уязвимость к атакам российских больших языковых моделей с открытым исходным кодом

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.2K

Маленькая ремарка


С появлением больших языковых моделей обществу был брошен вызов. Первые проблемы, с которыми пришлось столкнуться в области LLM, были связаны с тем, что модели могут неправильно трактовать информацию, давать губительные советы в убедительном тоне, говорить, как сделать бомбу, или вообще оскорблять определенные расы. Естественно, после такого поведения моделей последовало несколько неприятных событий.



Читать дальше →
Всего голосов 10: ↑8 и ↓2+13
Комментарии4

Зачем искать поверхность атаки для своего проекта

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.5K

Любые программные системы включают в себя нужные и не очень нужные пакеты. Получается огромный объём кода (для одного несложного сайта npm list -a выдаёт список из 4256 зависимостей). А так как «весь код — это ваш код», то такие зависимости надо тестировать. И регулятор требует, да и просто собственные продукты хочется защитить от вторжений, утечек и других неприятностей.

Читать далее
Всего голосов 6: ↑6 и ↓0+8
Комментарии4

Мы так и не смогли защитить свою модель машинного обучения от состязательных атак. Пока

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.7K

Наша команда разработчиков Исследовательского центра доверенного искусственного интеллекта ИСП РАН первые два года занималась построением сетевой системы обнаружения вторжений, основанной на применении методов машинного обучения. А в последний год мы сменили щит на меч и начали атаковать состязательными атаками (adversarial attacks) синтезированную нами же модель.

Задача была простой: оценить устойчивость модели к состязательным атакам. Спойлер: модель не устойчива, а как это исправить — мы пока не знаем. Подробности ниже.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии8

Как найти поверхность атаки незнакомых приложений с помощью Natch

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.3K

Поиск ошибок в программах дело творческое и интересное. Чаще всего мы ищем ошибки в своём коде, чтобы его починить. Кто-то может искать ошибки в чужом коде, чтобы его сломать или поучастовать в баунти-программе.

А вот где именно искать ошибки? Какие функции тестировать? Хорошо, если программа полностью ваша. Но что если вы занимаетесь тестированием, а эти программисты постоянно придумывают что-то новое? Никаких рук не напасёшься.

Как хоть немного автоматизировать процесс?
Всего голосов 8: ↑7 и ↓1+6
Комментарии0

Истории

Как загружать классы в Java 8 и Java 9+?

Уровень сложностиСложный
Время на прочтение24 мин
Количество просмотров7.1K

Привет, Хабр! Я разработчик в Институте Системного Программирования РАН, занимаюсь разработкой статического анализатора Svace. Недавно я столкнулся с задачей самостоятельной загрузки классов в JVM, что оказалось непросто, потому что в проекте мы используем модули Java.

Модули появились в Java, начиная с версии 9. Прошло уже несколько лет, но если попытаться найти актуальную информацию о связи модулей и загрузчиков классов, её придётся собирать по крупицам. В статье я поделюсь своим опытом изучения вопроса самостоятельной (и автоматической) загрузки классов с помощью кастомного загрузчика, а также разберу примеры, описывающие большинство случаев загрузки, постараюсь их объяснить.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии0

Dedoc: как автоматически извлечь из текстового документа всё и даже немного больше

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5.7K

Привет, Хабр! 

Мы команда разработчиков Института Системного Программирования РАН, занимаемся Computer Vision в обработке электронных документов. Мы разработали open-source библиотеку dedoc, которая помогает разработчикам и дата-сайентистам в пару строк кода читать различные форматы текстовых документов и изображений с текстом, и далее приводить информацию к единой аккуратной структуре.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии6

Cotea: программный контроль исполнения Ansible

Время на прочтение11 мин
Количество просмотров6K

Привет!

Я Давид Бадалян, работаю в Исследовательском центре доверенного искуственного интеллекта ИСП РАН. В статье я хочу поговорить об Ansible – одной из самых популярных систем по автоматизации развёртывания. 

Стоит запустить Ansible программно, и он становится черным ящиком – нет никакого контроля над его выполнением, нет информации о тасках. Эту проблему мы обнаружили, разрабатывая оркестратор Michman для сервисов уровня PaaS. В результате мы создали cotea и gocotea: инструменты для программного исполнения Ansible-плейбуков из языков Python и Go.

Про cotea, её архитектуру и кейсы применения я расскажу подробно под катом. Если вы DevOps-инженер и хотите узнать, как можно гибко использовать Ansible – статья точно для вас.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии7