Data Secrets
77.3K subscribers
6.04K photos
592 videos
20 files
2.42K links
Главный по машинному обучению

Сотрудничество: @veron_28

РКН: clck.ru/3FY3GN
Download Telegram
RNN в картинках

Объясняем как работют рекуррентные нейронные сети по такому рецепту: минимум слов, максимум схем и примеров.

😻 #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥43
5 способов векторизации текста

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

😻 #NN #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍348🤯3
Gradient Checkpointing: сокращение использования памяти при обучении нейросетей на 60%

Нейронные сети в основном используют память двумя способами:

• Сохранение весов модели.
• Вычисление и сохранения активаций всех слоев при прямом проходе + вычисление градиентов на каждом слое при обратном проходе

То есть чем больше сеть, тем сложнее впихнуть ее в память. Но есть способ это оптимизировать: Gradient Checkpointing (вот он в PyTorch). Рассказываем, что это такое.

😻 #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍298🔥6🤯3
Про гроккинг

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

Статьи:
От OpenAI
От MIT
От Google

😻 #NN #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33👍10🤔3
Любая LSTM – это своего рода RNN. Но не любая RNN – LSTM ☝️

Так в чем же разница и чем LSTM лучше RNN (про эту архитектуру мы говорили тут)? Разбираемся и рассказываем, как работает LSTM.

😻 #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍255
Лемматизация и стемминг текста

Обычно тексты содержат разные грамматические формы одного и того же слова (например, "ученый" и "ученым"), а также в документе могут встречаться однокоренные слова. Как объяснить машине, что это по сути одно и то же? Для этого нужно текст нормализовать, то есть привести все встречающиеся словоформы к одной, нормальной словарной форме. Самые простой варианты это сделать – использовать стемминг и лемматизацию.

😻 #NN #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🔥74
Вариации градиентного спуска

Градиентный спуск – это основа основ оптимизации в машинном обучении. Существует множество вариаций этого алгоритма. Три самые известные из них: стохастический спуск, batch спуск и mini-batch спуск. Сейчас расскажем, чем они отличаются и как работают.

😻 #train #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍304🔥432
Byte Pair Encoding

Обработка текстов на сегодняшний день – флагман нейросетевых задач. Но, поскольку нейросети работают с числами, до передачи в модель текст нужно преобразовать, в том числе разбить на части – токены. Для этого есть множество подходов, и один из них BPE. Он используется в моделях BERT и GPT-2. Рассказываем, как он работает.

Оригинальная статья
Реализация Google
Реализация Facebook AI Research
Обгоняющая по скорости Google и Facebook в 10-50 раз реализация VK

😻 #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥63
Как работает BERT?

Модель BERT (Bidirectional Encoder Representations from Transformers) была представлена в статье от исследователей из Google AI Language. Она вызвала нешуточный ажиотаж в сообществе, и эту модель до сих пор все очень любят. Мы подготовили лонгрид о том, как она работает, и как ее использовать для своих задач.

Вот, кстати, ссылка на исходный код

😻 #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
26👍14
Крутой инструмент для ускорения LLM

Это Medusa, и она упрощает и ускоряет большие языковые модели. Делает она это так: в процессе обучения к LLM добавляется несколько так называемых «heads», которые затем отдельно настраиваются в процессе обучения. В процессе генерации каждый из этих выходов выдает несколько вероятных слов для соответствующей позиции. Затем эти варианты комбинируются и обрабатываются с помощью механизма внимания, а наиболее правдоподобные из них отбираются для дальнейшего декодирования.

🖥 Github
🗂 Подробнее о том, как это работает

😻 #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
👍173😇2
Детекция образов с R-CNN

Проблему классификации изображений неплохо решают сверточные нейронки (CNN). С ними мы можем отделить фото котят от фото щеночков. Но что делать, если объектов на картинке несколько? Здесь работают уже более сложные модели. Про изящную архитектуру одной из них – R-CNN, мы сегодня и расскажем.

😻 #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥17👍95
Для тех, кто хотел разнообразить обучение

Представляем вашему вниманию: парень исполняет песенку про то, как обучить модельку в PyTorch. Весело, понятно, запоминается на ура.

😻 #forfun #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19😁11🔥5
Как правильно поставить PyTorch, чтобы не взорвать компьютер

Как гласит древняя мудрость: "Главное испытание в жизни дсника – не математика и даже не программирование, а установка PyTorch". Поэтому вот вам простой пайплайн, как установить правильно и не сойти с ума:

0) Установите пакетный менеджер Anaconda.

1) Клонируйте нужный репозиторий:
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch


2) Установите зависимости:
conda install cmake ninja
pip install -r requirements.txt


3) Теперь мы готовы с установке. Чтобы все прошло гладко, воспользуйтесь этим конструктором команд. Укажите свою ОС, Conda в качестве Package, язык и, если собираетесь кодить с CUDA, укажите версию, иначе оставьте опцию Default в последней строке. Запустите получившуюся команду, например:
conda install pytorch torchvision torchaudio cpuonly -c pytorch

4) Если вы решили работать с GPU, не забудьте скачать драйверы NVIDIA

4*) CUDA скачивать необязательно, так как conda внутри себя уже содержит все необходимое. Но если очень хочется, то сделать это можно тут

5) Вы великолепны и готовы к работе!

Надеемся, было полезно. Не забудьте сохранить!

😻 #advice #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
👍379🤨8🔥5😁1
Gradient Accumulation

Из-за ограничений памяти всегда рекомендуется обучать нейронную сеть с небольшим размером батча. Но что, если мы скажем вам, что можно увеличить размер батча без увеличения размера батча?

😻 #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27👍14🤯32❤‍🔥1
DeepFace – лучшая библиотека для работы с лицами

Она проста в использовании и предлагает широкий функционал. В карточках рассказали, как ей пользоваться, и для каких задач она подойдет.

😻 #python #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥53👌1😇1
Что такое torch.device()

Часто в коде для обучения нейросетей на торче можно встретить конструкцию, которая использует внутри себя метод device():

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

Это очень важная штука. При помощи нее мы определяем, где должны храниться тензоры. Тут мы как бы сообщаем, что хотим пользоваться GPU-ускорением, когда оно доступно, но при его отсутствии откатываться обратно к вычислениям на CPU.

Дальше остается только в нужных местах приписывать .to(device). Это удобный способ отправлять параметры устройства на GPU, если в качестве device задан GPU, так как иначе (если device == CPU) ничего делаться не будет.

P.S. Важно перенести параметры устройства на соответствующее устройство прежде, чем передавать их оптимизатору; иначе оптимизатор не сможет правильно отслеживать параметры!

😻 #python #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍12🎃2🕊1
DSSM: нейросети для рекомендаций

Как порекомендовать пользователю что-то релевантное, и при этом быстро? В 2013 году microsoft ответили на этот вопрос так: DSSM. И получили неплохие результаты. Знакомимся с этой архитектурой.

😻 #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍384🔥4😐1
А мы написали нашу первую статью на Хабр!

Посвятили ее крутой библиотеке RecTools от коллег из МТС. Внутри:

▶️за что мы так любим эту библиотеку;
▶️ликбез по основным рексис-моделям (ItemKNN, ALS, SVD, Lightfm, DSSM);
▶️как готовить данные и запускать модели в библиотеке;
▶️как рассчитывать метрики;
▶️оставили много полезных дополнительных материалов.

Очень старались, так что ждем ваших реакций!

😻 #NN #train
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55🔥20👏4🌚3