Pull to refresh
12
0
Send message

Как самому разработать систему обнаружения компьютерных атак на основе машинного обучения

Reading time17 min
Views20K

На фото – Arthur Lee Samuel, пионер машинного обучения, демонстрирует возможности искусственного интеллекта и играет в шашки с собственной программой Checkers-Playing, одной из первых самообучающихся программ в мире. 1962 год.

Спустя почти 60 лет, я решил познакомиться с машинным обучением и научить свою собственную программу – систему обнаружения компьютерных атак – находить вредоносный трафик в сети.

Как разработчик средств защиты информации я в общих чертах представлял архитектуру такой системы. Но как ML инженер, который должен был научить ее, я мало что знал.

В этом длинном посте я расскажу о своем опыте разработки модели машинного обучения, по шагам: от поиска хороших данных и сокращения признакового пространства до настройки и апробации модели на реальном трафике. С примерами, графиками, открытым кодом.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments4

Визуализируя нейронный машинный перевод (seq2seq модели с механизмом внимания)

Reading time5 min
Views48K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)" автора Jay Alammar.


Sequence-to-sequence модели (seq2seq) – это модели глубокого обучения, достигшие больших успехов в таких задачах, как машинный перевод, суммаризация текста, аннотация изображений и др. Так, например, в конце 2016 года подобная модель была встроена в Google Translate. Основы же seq2seq моделей были заложены еще в 2014 году с выходом двух статей — Sutskever et al., 2014, Cho et al., 2014.


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


Sequence-to-sequence модель – это модель, принимающая на вход последовательность элементов (слов, букв, признаков изображения и т.д.) и возвращающая другую последовательность элементов. Обученная модель работает следующим образом:


Total votes 10: ↑9 and ↓1+13
Comments2

Transformer в картинках

Reading time14 min
Views130K

В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (Transformer) – модель, которая использует механизм внимания для повышения скорости обучения. Более того, для ряда задач Трансформеры превосходят модель нейронного машинного перевода от Google. Однако самое большое преимущество Трансформеров заключается в их высокой эффективности в условиях параллелизации (parallelization). Даже Google Cloud рекомендует использовать Трансформер в качестве модели при работе на Cloud TPU. Попробуем разобраться, из чего состоит модель и какие функции выполняет.


Впервые модель Трансформера была предложена в статье Attention is All You Need. Реализация на TensorFlow доступна как часть пакета Tensor2Tensor, кроме того, группа NLP-исследователей из Гарварда создали гид-аннотацию статьи с реализацией на PyTorch. В данном же руководстве мы попробуем максимально просто и последовательно изложить основные идеи и понятия, что, надеемся, поможет людям, не обладающим глубоким знанием предметной области, понять данную модель.

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments5

Как работают трансформеры: разбираем математику

Level of difficultyMedium
Reading time28 min
Views20K

В этом посте я представлю подробный пример математики, используемой внутри модели трансформера, чтобы вы получили хорошее представление о работе модели. Чтобы пост был понятным, я многое упрощу. Мы будем выполнять довольно много вычислений вручную, поэтому снизим размерность модели. Например, вместо эмбеддингов из 512 значений мы используем эмбеддинги из 4 значений. Это позволит упростить понимание вычислений. Мы используем произвольные векторы и матрицы, но при желании вы можете выбрать собственные значения.

Как вы увидите, математика модели не так уж сложна. Сложность возникает из-за количества этапов и количества параметров. Перед прочтением этой статьи я рекомендую прочитать пост Illustrated Transformer (или читать их параллельно) [перевод на Хабре]. Это отличный пост, объясняющий модель трансформера интуитивным (и наглядным!) образом, поэтому я не буду объяснять то, что уже объяснено в нём. Моя цель заключается в том, чтобы объяснить, как работает модель трансформера, а не что это такое. Если вы хотите углубиться в подробности, то изучите известную статью Attention is all you need [перевод на Хабре: первая и вторая части].

Читать далее
Total votes 40: ↑40 and ↓0+40
Comments8

Эволюция метрик качества машинного перевода — Часть 1

Level of difficultyEasy
Reading time5 min
Views8.8K

Как правильнее всего измерять качество машинного перевода? Многие слышали о BLEU, но на самом деле метрик много. В этой статье расскажем, какие существуют метрики, как они эволюционировали и какие сегодня наиболее адекватны. Часть 1: эволюция метрик и обзор традиционных метрик.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments1

Распознавание лиц с помощью сиамских сетей

Reading time7 min
Views26K


Сиамская нейросеть — один из простейших и наиболее популярных алгоритмов однократного обучения. Методики, при которой для каждого класса берётся лишь по одному учебному примеру. Таким образом, сиамская сеть обычно используется в приложениях, где в каждом классе есть не так много единиц данных.

Допустим, нам нужно сделать модель распознавания лиц для организации, в которой работает около 500 человек. Если делать такую модель с нуля на основе свёрточной нейросети (Convolutional Neural Network (CNN)), то для обучения модели и достижения хорошей точности распознавания нам понадобится много изображений каждого из этих 500 человек. Но очевидно, что такой датасет нам не собрать, поэтому не стоит делать модель на основе CNN или иного алгоритма глубокого обучения, если у нас нет достаточного количества данных. В подобных случаях можно воспользоваться сложным алгоритмом однократного обучения, наподобие сиамской сети, которая может обучаться на меньшем количестве данных.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments3

На практике пробуем KAN – принципиально новую архитектуру нейросетей

Level of difficultyMedium
Reading time5 min
Views36K

На днях ученые из MIT показали альтернативу многослойному перцептрону (MLP). MLP с самого момента изобретения глубокого обучения лежит в основе всех нейросетей, какими мы их знаем сегодня. На его идее в том числе построены большие языковые модели и системы компьютерного зрения.

Однако теперь все может измениться. В KAN (Kolmogorov-Arnold Networks) исследователи реализовали перемещение функций активации с нейронов на ребра нейросети, и такой подход показал блестящие результаты.

Читать далее
Total votes 56: ↑56 and ↓0+76
Comments15

Tfidfvectorizer, BERT, LASER: векторизация данных и кластерный анализ для улучшения рекомендательной системы

Reading time9 min
Views12K

Мир онлайн-покупок становится всё привычнее, а значит, и обезличенных данных про каждого пользователя всё больше. Билайн ТВ использует для онлайн-кинотеатра рекомендательную систему на основе данных: она советует пользователю новый триллер, если он уже посмотрел пять похожих фильмов. 

Чтобы реализовать такую систему, компания CleverData (группа ЛАНИТ) сформировала эмбеддинги для пользователей Билайн ТВ. Ассоциация больших данных помогла сделать этот кейс возможным. 

В этой статье расскажем подробности этой задачи:

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments0

Quantization Deep Dive, или Введение в современную квантизацию

Level of difficultyMedium
Reading time16 min
Views22K

Привет! Меня зовут Василий Землянов, я занимаюсь разработкой ML-инфраструктуры. Несколько лет я проработал в команде, которая делает споттер — специальную маленькую нейросетевую модельку, которая живёт в умных колонках Яндекса и ждёт от пользователя слова «Алиса». Одной из моих задач в этой команде была квантизация моделей. На пользовательских устройствах мало ресурсов, и мы решили, что за счёт квантизации сможем их сэкономить — так в итоге и вышло.

Потом я перешёл в команду YandexGPT. Вместо маленьких моделей я стал работать с очень крупными. Мне стало интересно, как устроена квантизация больших языковых моделей (LLM). Ещё меня очень впечатляли истории, где люди берут гигантские нейросети, квантизируют в 4 бита и умудряются запускать их на ноутбуках. Я решил разобраться, как это делается, и собрал материал на доклад для коллег и друзей. А потом пришла мысль поделиться знаниями с более широкой аудиторией, оформив их в статью. Так я и оказался на Хабре :)

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

Читать далее
Total votes 66: ↑65 and ↓1+81
Comments13

Как развивалась технология экстремального сжатия LLM: от QuIP до AQLM с PV-tuning

Reading time4 min
Views9.4K

Мы живём в эпоху LLM — компании применяют на практике всё более крупные модели с миллиардами параметров. Это здорово, потом что большие модели открывают пользователям сервисов новые возможности, но не всё так просто. Размер накладывает ограничения — запускать такие модели очень дорого, а на пользовательских компьютерах — ещё дороже и сложнее. Поэтому часто исследователи и инженеры сначала обучают большую модель, а потом придумывают, как сжать её с минимальными потерями качества, чтобы сделать доступнее. 

Модели выкладываются в формате float16, где на один вес выделяется 16 бит. Два года назад человечество научилось хорошо сжимать нейросети до 4 бит с помощью таких методов, как GPTQ. Но на этом исследователи не остановились, и сейчас актуальная задача — сжатие моделей до 2 бит, то есть в 8 раз. 

Недавно исследователи Yandex Research совместно с коллегами из IST Austria и KAUST предложили новый способ сжатия моделей в 8 раз с помощью комбинации методов AQLM и PV-tuning, который уже доступен разработчикам и исследователям по всему миру — код опубликован в репозитории GitHub. Специалисты также могут скачать сжатые с помощью наших методов популярные опенсорс-модели. Кроме того, мы выложили обучающие материалы, которые помогут разработчикам дообучить уменьшенные нейросети под свои сценарии.

О том, как исследователи пришли к сегодняшним результатам, мы расскажем на примере двух «конкурирующих» команд и их state-of-the-art алгоритмов сжатия — QuIP и AQLM. Это короткая, но увлекательная история «противостояния» исследователей, в которой каждые пару месяцев случаются новые повороты, появляются оптимизации и оригинальные подходы к решению проблем.

Читать далее
Total votes 35: ↑35 and ↓0+44
Comments14

LIBRA: Long Input Benchmark for Russian Analysis

Level of difficultyMedium
Reading time6 min
Views4.1K

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

Читать далее
Total votes 26: ↑25 and ↓1+32
Comments2

Архитектура RAG: часть вторая — Advanced RAG

Level of difficultyHard
Reading time7 min
Views9.2K

С момента написания моей прошлой статьи прошло не так много времени, но прогресс не стоит на месте и произошло несколько важных изменений. Раньше про RAG можно было услышать из холодильника, теперь же ситуация изменилась. Каким образом - читайте дальше.

Читать далее
Total votes 18: ↑18 and ↓0+20
Comments3

Архитектура RAG: полный гайд

Level of difficultyHard
Reading time13 min
Views26K

Если, открывая холодильник вы еще не слышали из него про RAG, то наверняка скоро услышите. Однако, в сети на удивление мало полных гайдов, учитывающих все тонкости (оценка релевантности, борьба с галлюцинациями и т.д.) а не обрывочных кусков. Базируясь на опыте нашей работы, я составил гайд который покрывает эту тему наиболее полно.

Итак зачем нужен RAG?

Читать далее
Total votes 27: ↑26 and ↓1+28
Comments11

Как с помощью ML делать профессиональные подборки лучше редакторов

Level of difficultyMedium
Reading time9 min
Views1.6K

Всем привет! Я Денис Красильников, работаю в отделе персонализации Т-Банка. Мы занимаемся всеми рекомендациями экосистемы. Это и ранжирование постов в пульсе, и построение лент кэшбэков, и даже подсказки для работников поддержки — всем занимается наш отдел, в том числе пишем научные статьи по рекомендательным системам и публикуем их на конференциях. 

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

Читать далее
Total votes 10: ↑9 and ↓1+10
Comments1

Ваше лицо кажется знакомым: разведка, анализ и методы атак на ML в системах распознавания лиц

Level of difficultyMedium
Reading time18 min
Views3.7K

Мы живем в мире, где системы распознавания лиц (далее — CРЛ) используются практически везде: от валидации возраста и биометрической идентификации в режиме онлайн до наблюдения и проведения оплаты в реальном мире. Технологические аспекты таких алгоритмов развиваются на наших глазах: начиная с простых систем, основанных на базовых алгоритмах, мы перешли к системам, использующим алгоритмы машинного обучения, однако и их развитие еще далеко от завершения.

В предыдущих исследованиях мы затронули биометрическую идентификацию, и эта работа является логичным продолжением погружения в системы распознавания лиц и эксплуатацию их недостатков.

Пораспознаем лица?
Total votes 16: ↑15 and ↓1+18
Comments1

Шпаргалка по рекомендательным системам

Level of difficultyMedium
Reading time7 min
Views6.2K

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

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments7

Создание рекомендательных систем на основе анализа поведения пользователей на сайте

Level of difficultyMedium
Reading time15 min
Views5.2K

Рекомендательные системы являются неотъемлемой частью современных веб-сайтов. Они играют ключевую роль в улучшении пользовательского опыта, увеличении удержания пользователей и повышении конверсии. Эффективные рекомендации помогают пользователям находить контент, продукты или услуги, которые им действительно интересны. Это увеличивает удовлетворенность клиентов и, следовательно, прибыльность вашего веб-проекта.

В этой статье мы рассмотрим все необходимые знания и инструменты для создания собственной рекомендательной системы на основе анализа поведения пользователей с использованием Python.

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments0

Рекомендательные системы: проблемы и методы решения. Часть 1

Reading time14 min
Views28K

Привет! Я хочу рассказать вам о рекомендательных алгоритмах. Мы в Prequel создаем фильтры и эффекты для редактирования фото и видео. Создаем давно, и постепенно этих эффектов стало очень много. А с ними и пользовательского контента. Мы захотели помочь с выбором из этого многообразия, для чего нам и понадобилась система рекомендаций. Если масштабы вашей системы такие, что пользователям сложно в ней ориентироваться, возможно, что рекомендации могут помочь и вам.

Задуманный систем оказался слишком объемным для одной статьи, поэтому мы разбили его на две части. Перед вами первая, она посвящена постановке задачи и базовым методам решения. В этой части мы разберем коллаборативные модели от матричного разложения (на примере ALS) до neural collaborative filtering. Кроме того, будет небольшой обзор метрик и техник борьбы с проблемой холодного старта.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments4

Поиск аномалий при запусках процессов Windows с помощью рекомендательных систем

Level of difficultyEasy
Reading time7 min
Views4.1K

В SIEM-системах есть множество написанных экспертами правил, которые помогут отследить подозрительное поведение. Однако существует много сценариев атак, которые нельзя описать строгими правилами, а значит, эффективно отслеживать.

Учитывая объем данных, обрабатываемый SIEM-системой ежедневно, а также специфические задачи анализа этих данных (целью которого является поиск действий злоумышленников), применять машинное обучение сегодня необходимо и чрезвычайно эффективно.

О том, как правильно использовать «магию» машинного обучения, какой алгоритм фактически самостоятельно «понимает» функциональные обязанности каждого пользователя и предназначение конкретной программы и при чем здесь рекомендации товаров в интернет-магазине, рассказываем в посте.

Далее
Total votes 7: ↑7 and ↓0+7
Comments3

Атаки на чат-ботов и языковые модели. И как от них защититься

Level of difficultyMedium
Reading time8 min
Views5.4K

 

Всем привет! Я – Артем Семенов, занимаюсь тестированием на проникновение и работаю в RTM Group. В этой статье я расскажу об атаках на чат-боты и языковые модели, а также о том, как от них защититься.

Чат-боты сегодня буквально повсюду. Наверняка даже ваша бабушка нет-нет, да и вставит в разговор это модное название. Для начала, давайте все же определимся, что мы имеем в виду, когда произносим это. Чат-боты — программы, которые взаимодействуют с пользователем через текстовые сообщения или голосовые команды. Они основаны на машинном обучении и используют нейронные сети для обработки запросов пользователя и предоставления ответов. Языковые модели — это системы, которые применяют нейронные сети для генерации текста на основе образцов. Они могут использоваться для создания текстовых сообщений, генерации описаний и т. д.

Сегодня такие технологии находят все большее применение в различных отраслях благодаря их способности значительно упростить общение с клиентами и сократить затраты на персонал. Также с их помощью очень удобно создавать тексты разных объемов для разных задач в короткие сроки. Все классно, но нужно понимать, что где хайп, там и хакеры. И уже существуют и применяются различные типы атак для взлома модных ботов.

Читать далее
Total votes 8: ↑7 and ↓1+7
Comments4
1

Information

Rating
Does not participate
Registered
Activity