Search
Write a publication
Pull to refresh
-2
0.1
Send message

Как мыслит GPT? Визуализируем скрытые слои

Reading time8 min
Views4K

В стремлении прояснить языковые модели Transformer с помощью пакета Ecco авторы показывают механизм генерации предложений внутри предварительно обученной языковой модели. После генерации предложения возможно визуализировать представление о том, как модель пришла к каждому слову — речь идёт о столбце на рисунке выше. Строки — это слои модели. Чем темнее элемент строки, тем выше ранг токена в слое. Слой 0 расположен на самом верху. Слой 47 — в самом низу. К старту курса о машинном и глубоком обучении показываем и рассказываем о том, как мыслит GPT.

Читать далее

Как превратить фотографию в 3D-объект с помощью Nvidia Kaolin и PyTorch: рендеринг DIB-R

Reading time13 min
Views17K

В научной работе NVIDIA 2019 года улучшенный дифференциальный рендерер — DIB-R представлен как инструмент решения одной из самых популярных сегодня задач Deep Learning: генерации 3D-объектов из одного двухмерного изображения. Статья на ArXiv содержала исходный код, но в ней не оказалось необходимой для его выполнения ML-модели. К старту курса «Machine Learning и Deep Learning», партнёр которого — компания NVIDIA, делимся переводом о том, как запустить руководство по работе с этой программой визуализации, как она работает, как обучить ML-модель рендеринга и проверить её в действии.

Читать далее

Что такое базовые методы компрессии нейронных сетей и где этому учат

Reading time8 min
Views7.8K

Сегодня нейросетевые подходы составляют большую часть решений задач в области компьютерного зрения, но при этом работа инженеров в этой области не ограничивается обучением state-of-the-art архитектур на своих данных. Часто такие задачи требуют анализа видео или фотографий в режиме реального времени или с минимальной задержкой на конечных устройствах без возможности горизонтального масштабирования. Это может быть редактирование фотографий на смартфонах или же анализ качества продукции на производстве с помощью микрокомпьютеров. 

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

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

Мы можем оптимизировать следующие показатели:

Узнать про оптимизацию!

Делаем лампочку вечной и суперэффективной

Reading time3 min
Views96K
Я нашёл новую отличную светодиодную лампу, которую можно за пять минут превратить в вечную.
Получится лампа, дающая 816 лм, с рекордной эффективностью почти 150 лм/Вт и почти неограниченным сроком службы.

Читать дальше →

WebRTC в Docker. Борьба за ресурсы

Reading time8 min
Views4.4K

Несколько недель назад мы выкатили статью про Докер и WebRTC сервер и рассказали в ней о нюансах запуска. Читатели справедливо усомнились в пригодности докера для продакшена по следующим причинам:

Читать далее

Модели глубоких нейронных сетей sequence-to-sequence на PyTorch (Часть 1)

Reading time24 min
Views22K

Этот туториал содержит материалы полезные для понимания работы глубоких нейронных сетей sequence-to-sequence (seq2seq) и реализации этих моделей с помощью PyTorch 1.8, torchtext 0.9 и spaCy 3.0, под Python 3.8. Материалы расположены в эволюционном порядке: от простой и неточной модели к сложной и обладающей наибольшей точностью.

Читать далее

Как новый метод упаковки в BERT ускоряет обработку естественного языка в 2 раза

Reading time11 min
Views2.8K

Используя новый алгоритм упаковки, в Graphcore ускорили обработку естественного языка более чем в 2 раза при обучении BERT-Large. Метод упаковки удаляет заполнение, что позволяет значительно повысить эффективность вычислений. В Graphcore предполагают, что это также может применяться в геномике, в моделях фолдинга белков и других моделях с перекошенным распределением длины, оказывая гораздо более широкое влияние на различные отрасли и приложения. В новой работе Graphcore представили высокоэффективный алгоритм гистограммной упаковки с неотрицательными наименьшими квадратами (или NNLSHP), а также алгоритм BERT, применяемый к упакованным последовательностям. К старту курса о машинном и глубоком обучении представляем перевод обзора соответствующей публикации на ArXiv от её авторов. Ссылку на репозиторий вы найдёте в конце статьи.

Читать далее

Лучшее в мире видео-объяснение нейронных сетей, глубокого обучения, градиентного спуска и обратного распространения

Reading time1 min
Views58K
image

Видео от 3Blue1Brown отличаются поразительной понятностью и лаконичностью. Делать конспект видеоуроков по нейронным сетям у меня не получилось, ибо это была бы просто раскадровка, да и особая магия динамики именно видео непросто передать.

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

30 миллиардов параметров: реально ли обучить русский GPT-3 в «домашних» условиях?

Reading time17 min
Views33K

Не так давно Сбер, а затем и Яндекс объявили о создании сверхбольших русских языковых моделей, похожих на GPT-3. Они не только генерируют правдоподобный текст (статьи, песни, блоги и т. п.), но и решают много разнообразных задач, причем эти задачи зачастую можно ставить на русском языке без программирования и дополнительного обучения — нечто очень близкое к «универсальному» искусственному интеллекту. Но, как пишут авторы Сбера у себя в блоге, «подобные эксперименты доступны только компаниям, обладающим значительными вычислительными ресурсами». Обучение моделей с миллиардами параметров обходится в несколько десятков, а то сотен миллионов рублей. Получается, что индивидуальные разработчики и маленькие компании теперь исключены из процесса и могут теперь только использовать обученные кем-то модели. В статье я попробую оспорить этот тезис, рассказав о результатах попытки обучить модель с 30 миллиардами параметров на двух картах RTX 2080Ti.

Читать далее

Detekt — пишем свои правила

Reading time6 min
Views8.5K

Мы в «Ситимобил», используем статический анализатор кода Detekt. Это инструмент, который при запуске проходит по проекту и показывает допущенные в коде code smell.
Сегодня мы расскажем, как написать свое правило и помочь команде соблюдать уникальные для проекта договоренности написания кода.

Читать далее

Assembler. Установка интерпретатора и запуск первой программы через DOSBox

Reading time4 min
Views72K

В данном курсе планируется разобрать основные особенности программирования на самой простой реализации assembler – TASM. Этих знаний лично мне вполне хватило, чтобы на отлично сдать ЭВМ в институте и закончить все лабораторные работы. Во многих уроках будет домашние задание по их мотивам.

Для начала давайте установим наш старенький компилятор.
Ссылка

Читать далее

Splunk-react-app или создание дашбордов любой сложности в Splunk

Reading time4 min
Views2.9K

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

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

Lingtrain Aligner. Написал приложение для создания параллельных книг, которое вас удивит

Reading time6 min
Views24K

title


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


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


Установка


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


Итак, для запуска приложения у себя на компьютере нужно выполнить следующие команды:


docker pull lingtrain/aligner:v4
docker run -v C:\app\data:/app/data -v C:\app\img:/app/static/img -p 80:80 lingtrain/aligner:v4

C:\app\data и C:\app\img — это папки на вашем компьютере.


Контейнер скачается с репозитория Docker Hub и запустится на 80-м порту. Откроем приложение в вашем любимом браузере по адресу localhost.


Lingtrain app 1


Сделаем три шага: загрузка, выравнивание, генерация.

Смотреть демо

Пузыри — вверх! Речной барьер, который защищает море от пластика

Reading time5 min
Views10K

Пузыри это не только весело (дети не дадут соврать) и финансовые пирамиды, но и весьма полезный инструмент. В Нидерландах нашли эффективный способ предотвратить попадание пластикового мусора в океан: построен барьер пускающий воздушные пузырьки. Они не мешают судоходству и рыбам, но эффективно удерживают пластик. Использованные маски, пластиковые бутылки, старые телевизоры, уличные знаки, мотоциклетные шлемы, доски для виндсерфинга, рождественские ёлки и многое другое были пойманы «завесой» пузырей на канале Вестердок в Амстердаме.
Читать дальше →

Сжимаем трансформеры: простые, универсальные и прикладные способы cделать их компактными и быстрыми

Reading time6 min
Views6K

transformer_press


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


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


Тем не менее у self-attention модуля есть ряд плюсов: (i) относительная простота при правильной реализации (ii) простота квантизации (iii) относительная эффективность на коротких (до нескольких сотен элементов) последовательностях и (iv) относительная популярность (но большая часть имплементаций имеет код раздутый раз в 5).


Также есть определенный пласт статей про улучшение именно асимптотических свойств self-attention модуля (например Linformer и его аналоги). Но несмотря на это, если например открыть список пре-тренированных языковых моделей на основе self-attention модулей, то окажется, что "эффективных" моделей там буквально пара штук и они были сделаны довольно давно. Да и последовательности длиннее 500 символов нужны не очень часто (если вы не Google).


Попробуем ответить на вопрос — а как существенно снизить размер и ускорить self-attention модуль и при этом еще удовлетворить ряду production-ready требований:

Читать дальше →

Геопространственное моделирование с применением методов машинного обучения

Reading time8 min
Views5.8K


Всем привет! Меня зовут Константин Измайлов, я руководитель направления Data Science в Delivery Club. Мы работаем над многочисленными интересными и сложными задачами: от формирования классических аналитических отчетов до построения рекомендательных моделей в ленте приложения.

Сегодня я расскажу про одну из задач, которую мы решали: про автоматизацию построения зон доставки ресторанов. Зона доставки — это область вокруг заведения, и когда вы в ней находитесь, этот ресторан отображается в списке доступных для заказа. Несмотря на всю простоту формулировки, построение зон доставки ресторанов достаточно непростая задача, в которой встречается много подводных камней не только со стороны технической реализации, но и на этапе внедрения. Я расскажу про предпосылки появления этой задачи, подходы (от более простого к сложному) и подробно рассмотрю алгоритм построения зоны доставки.

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

Статья написана по мотивам выступления с Евгением Макиным на конференции Highload++ Весна 2021. Для тех, кто любит видео, — ищите его в конце статьи.

А нужен ли Redis или хватит PostgreSQL

Reading time3 min
Views20K
image

Есть проверенная архитектура, которую я видел много раз для поддержки ваших веб-сервисов и приложений:

  • PostgreSQL для хранения данных
  • Redis для координации очередей фоновых заданий (и некоторых ограниченных атомарных операций)

Redis — это фантастика, но что, если бы я сказал вам, что его наиболее распространенные варианты использования этого стека на самом деле могут быть достигнуты с использованием только PostgreSQL?

Сценарий 1: очередь заданий


Пожалуй, наиболее частое использование Redis, которое я видел, — это координация отправки заданий из вашего веб-сервиса в пул фоновых воркеров. Идея состоит в том, что вы хотите записать желание выполнить какое-то фоновое задание (возможно, с некоторыми входными данными) и гарантировать, что только один из многих ваших фоновых воркеров выполнит его. Redis помогает в этом, поскольку предоставляет богатый набор атомарных операций для своих структур данных.
Читать дальше →

Как написать пассивный доход: Пишем качественного трейд бота на JS (часть 1)

Reading time4 min
Views64K

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

Читать далее

Роботы на Тинькофф и Binance на JavaScript и +5000$;

Reading time7 min
Views42K

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

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

В общем как это водится у многих разработчиков, мне стало интересно, на что способен JavaScript и V8 с JIT, может ли он дать нужную скорость для сложной математики? И изначально все началось больше как исследовательская миссия. А дело кстати было полтора года назад.

Итак, что нам потребуются для разработки и запуска торговой стратегии, ну например, на Тинькофф Инвестиции :

Читать далее

Information

Rating
5,929-th
Registered
Activity