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

Фотограф-любитель, фронтенд тимлид

Отправить сообщение

Как обучать огромные модели машинного обучения на случайных GPU

Время на прочтение11 мин
Количество просмотров9.9K
Вы можете спросить: почему эти полумагические модели машинного обучения работают так хорошо? Короткий ответ: эти модели чрезвычайно сложны и обучаются на огромном количестве данных. На самом деле, Lambda Labs недавно подсчитала, что для обучения GPT-3 на одном GPU потребовалось бы 4,6 миллиона долларов — если бы такое было возможно.

Такие платформы, как PyTorch и Tensorflow, могут обучать эти огромные модели, потому что распределяют рабочую нагрузку по сотням (или тысячам) GPU одновременно. К сожалению, этим платформам требуется идентичность графических процессоров (они должны иметь одинаковую память и вычислительную производительность). Но многие организации не имеют тысячи одинаковых GPU. Малые и средние организации покупают разные компьютерные системы, что приводит к неоднородной инфраструктуре, которую нелегко адаптировать для вычисления больших моделей. В этих условиях обучение моделей даже среднего размера может занимать недели или даже месяцы. Если не принять меры, университеты и другие небольшие организации рискуют потерять конкурентоспособность в погоне за разработкой новых, лучших моделей машинного обучения. Но это можно исправить.

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


Приятного чтения!
Всего голосов 23: ↑23 и ↓0+23
Комментарии0

Использование journalctl для просмотра и анализа логов: подробный гайд

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


Journalctl — отличный инструмент для анализа логов, обычно один из первых с которым знакомятся начинающие администраторы linux систем. Встроенные возможности ротации, богатые возможности фильтрации и возможность просматривать логи всех systemd unit-сервисов одним инструментом очень удобны и заметно облегчают работу системным администраторам.

Эта статья рассматривает основные возможности утилиты journalctl и различные варианты ее применения. С помощью journalctl можно просматривать логи системы, чтобы решить возникшие проблемы на рабочей станции или сервере использующие дистрибутив linux с демоном инициализации systemd, де-факто уже ставшим стандартом в современных Linux-системах, например: RHEL, CentOS, Fedora, Debian и многих других.

Существует мнение, что systemd не так уж и хорош — он нагружает систему и это все еще предмет для споров на сегодняшний день, но нельзя отрицать, что он предоставляет прекрасный набор инструментов для управления системой и поиска проблем. Представьте, что вам приходится иметь дело с проблемным сервером, который даже не загружается — в таком случае можно загрузиться с live-дистрибутива, смонтировать системный раздел и просмотреть логи systemd, чтобы понять, в чем проблема.
Читать дальше →
Всего голосов 43: ↑41 и ↓2+60
Комментарии25

Интуитивное объяснение интеграла. Часть I — от умножения натуральных чисел до Ньютона и Лейбница

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

Если у Вас нет математического образования, если Вы хотите по-настоящему разобраться в том, что из себя представляет интеграл и интегрирование, зачем всё это надо, как математика пришла к идее интеграла, то в таком случае Вы пришли по адресу — добро пожаловать!

Читать далее
Всего голосов 17: ↑14 и ↓3+16
Комментарии67

Мелкая питонячая радость #15: генераторы тестовых данных, профайлер и консольная база знаний

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

При долгой работе с большим проектом так или иначе упираешься в поиск узких мест в коде. Что только не используют для этого — от навороченных профайлеров и брейкпоинтов до выводов print и замеров времени вручную с выводом таймстампов на консоль.

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

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

Как бы я изучал Data Science, если бы начал пару лет назад, или Руководство по эффективному изучению науки о данных

Время на прочтение5 мин
Количество просмотров30K
Когда я только начал своё путешествие к науке о данных, я потратил много времени на то, чтобы понять, с чего начать, что я должен узнать в первую очередь и какие ресурсы должен использовать. За последние два года я узнал несколько вещей, о которых хотел знать раньше, например о том, стоит ли сначала сосредоточиться на программировании или статистике, какие ресурсы я должен использовать для изучения новых навыков, как я должен подходить к изучению этих навыков и так далее. Таким образом, эта статья написана, чтобы дать направления и идеи для тех, кто изучает Data Science.

Приятного чтения!
Всего голосов 30: ↑29 и ↓1+35
Комментарии3

Ультимативный гайд по поиску утечек памяти в Python

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

Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим причины появления утечек в Python-приложениях, доступные инструменты для отладки и мониторинга работающего приложения, а также общую методику поиска утечек памяти.

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

Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор

Время на прочтение8 мин
Количество просмотров20K
Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (1. 概要編)".

1.1 Что такое Decision Tree?


1.1.1 Пример Decision Tree


Например, у нас есть следующий набор данных (дата сет): погода, температура, влажность, ветер, игра в гольф. В зависимости от погоды и остального, мы ходили (〇) или не ходили (×) играть в гольф. Предположим, что у нас есть 14 сложившихся вариантов.



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



Например, если посмотреть на Decision Tree, изображенный на картинке выше, мы поймем, что сначала проверяли погоду. Если было ясно, мы проверяли влажность: если она высокая, то не шли играть в гольф, если низкая — шли. А если погода была облачная, то шли играть в гольф вне зависимости от других условий.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+12
Комментарии8

Внимательно читаем одну статью по liveness detection (или не одну)

Время на прочтение9 мин
Количество просмотров5.1K
У меня сегодня формат похожий на «читаем статьи за вас» от ODS, только я взяла несколько связанных.

Отправной точкой служит статья под названием “Searching Central Difference Convolutional Networks for Face Anti-Spoofing” (2020 г) и мое желание посмотреть немного вглубь на историю методов, в ней использованных.

Я пройдусь по исходному тексту, изложу алгоритмы, углубляясь по ходу в упоминаемые темы.


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

Пишем голосового ассистента на Python

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

Введение


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

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

image
Читать дальше →
Всего голосов 10: ↑9 и ↓1+12
Комментарии5

Новые ограничения в использовании Docker Hub и как GitLab реагировал на их ввод

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

Ни для кого уже не новость, что начиная с 2 ноября 2020 года Docker Hub ввел ограничения на скачивание образов: для анонимных пользователей он будет равен одной сотне за шесть часов, а для авторизованных пользователей будет зависеть от уровня подписки.

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

Читать далее
Всего голосов 10: ↑9 и ↓1+12
Комментарии4

Заметки Датасатаниста: что делать, если перед вами оказалась NP-полная задача

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


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

А вообще реально ли встретить такие задачи в обычной жизни? На самом деле, они возникают в огромном ряде случаев: комбинаторика, графы и сети, выполнение логических формул, работа с картами, оптимальные загрузки, отображения, задачи дискретной оптимизации, нахождение самых длинных последовательностей, поиск равных сумм и многие задачи на множества! И это далеко не полный список.

Под катом неформальный гайд — как понять, что перед вам может быть NP задача и что делать, если это именно она и оказалась. Сегодня мы атакуем этот вопрос с практической стороны.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии8

Тестируем ruGPT-3 на новых задачах

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

Рекомендательные системы с нуля, чат-боты и многое другое


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

Мы представляем первые результаты самой большой из обученных моделей — ruGPT-3 Large, разработанной совместно с командами SberDevices, Sber.AI и SberCloud. Изучим границы ее применения вместе с вами.

image

В этом году на AI Journey мы подготовили соревнование применений ruGPT-3 — в трек можно сдать любое решение с использованием модели, оцениваемое по трем шкалам — инновационность, эмоциональное вовлечение и бизнес-применимость.

Спойлер:
1 млн рублей за первое место

Читать дальше →
Всего голосов 20: ↑18 и ↓2+25
Комментарии51

Open Source синтез речи SOVA

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

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



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

Всего голосов 24: ↑23 и ↓1+29
Комментарии24

Пишем ОС на Rust. Настройка среды. Бинарник для «голого» железа

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

Настройка среды. "Голый" бинарник, или Исполняемый файл без main()


Первый шаг в написании своей ОСи — создание бинарника, не зависящего от стандартных библиотек, это делает возможным запуск кода без ОС — мы же пишем свою.


Оригинал блога разрабатывается на GitHub. Замечания к оригиналу оставляйте на странице Issues репозитория выше, а к переводу — в личке, комментариях или тут. Код, написанный в этой статье, содержится в ветке post-01.

Читать дальше →
Всего голосов 38: ↑36 и ↓2+47
Комментарии14

Забываете передавать аргументы в функцию? Вам поможет contextvars

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


Мы в Яндекс.Такси любим писать логи. Ещё больше мы любим, когда логи помогают нам расследовать проблемы в продакшене. При нагрузке в десятки тысяч RPS просто набора лог-записей мало. Хочется уметь фильтровать логи по пользователю, видеть последовательность вызовов клиентского API, а также углубляться в логи запроса.


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

Читать дальше →
Всего голосов 12: ↑11 и ↓1+16
Комментарии4

Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Введение и часть 1

Время на прочтение6 мин
Количество просмотров27K
Внимательно прочитал очень хорошие статьи от ArtemKaravaev по сложению чисел с плавающей точкой. Тема очень интересная и хочется её продолжить и показать на примерах, как работать с числами с плавающей точкой на практике. В качестве эталона возьмём библиотеку GNU glibc (libm). А чтобы статья не была уж скучной, добавим соревновательную составляющую: попробуем не только повторить, но и улучшить код библиотеки, сделав его более быстрым/точным.

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

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

Статьи будут написаны методом погружения. Будут обсуждаться подзадачи, которые потом соберутся вместе в единое решение проблемы.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+59
Комментарии58

Как просто и быстро искать данные с помощью Whale

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

В этом материале рассказывается о простейшем и быстром инструменте обнаружения данных, работу которого вы видите на КДПВ. Интересно, что whale создан таким образом, чтобы размещаться на удаленном git-сервере. Подробности под катом.
Приятного чтения!
Всего голосов 13: ↑10 и ↓3+9
Комментарии1

Автоматизация работы с проектом Python

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

Сегодня делимся с вами переводом статьи DevOps инженера из IBM, об автоматизации сборки быстро собираемых и удобно отлаживаемых образов Docker для проектов на Python с помощью Makefile. Этот проект не только упрощает отладку в Docker, но и заботится о качестве кода вашего проекта. Подробности, как всегда, под катом.
Приятного чтения!
Всего голосов 16: ↑15 и ↓1+20
Комментарии7

SQL HowTo: ломаем мозг об дерево — упорядочиваем иерархию с рекурсией и без

Время на прочтение10 мин
Количество просмотров8.9K
Видимо, это осень так влияет, что за последний месяц на PostgreSQL уже и в «Морской бой» играли, и «Жизнь» Конвея эмулировали… Что уж оставаться в стороне! Давайте и мы потренируем мозг в реализации нетривиальных алгоритмов на SQL.

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

Прочитать-то мы прочитали, но ведь чтобы для вывода упорядочить элементы дерева в соответствии с иерархией, уж точно придется воспользоваться рекурсией! Или нет? Давайте разберемся, а заодно решим на SQL пару комбинаторных задач.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+16
Комментарии0

Создание математической библиотеки будущего

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

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




Ежедневно десятки математиков-единомышленников встречаются в чате Zulip, чтобы работать, как они считают, над созданием будущего их научной области.

Все они – поклонники программы Lean. Это инструмент интерактивного доказательства теорем, который, в принципе, способен помогать математикам писать доказательства. Однако для этого математики должны вручную ввести математические правила в базу программы, приведя собранные за тысячи лет знания к виду, понятному компьютеру.

Для многих участников проекта его преимущества практически не требуют объяснений.

«На фундаментальном уровне очевидно, что после оцифровки чего-либо его можно использовать новыми способами», — сказал Кевин Баззард из Имперского колледжа Лондона. «И мы собираемся оцифровать математику, в результате чего она станет лучше».
Читать дальше →
Всего голосов 10: ↑8 и ↓2+10
Комментарии3

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность