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

Пользователь

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

Заставляем машинное обучение делать «брррр» через понимание базовых принципов компьютерных систем

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

Итак, вы хотите улучшить эффективность работы своей модели глубокого обучения. Как подойти к такой задаче? Народ в таких случаях часто набрасывается на «сборную солянку» из всяких хитрых приёмов, которые, вроде бы, кому‑то когда‑то помогли, или хватает что‑то, встреченное в каком‑нибудь твите, вроде «Используйте операции, изменяющие исходные данные! Задайте значение None для градиентов! Устанавливайте PyTorch 1.10.0, но ни в коем случае не 1.10.1!».

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

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

Супер-эффективная архивация — сжимаем все что угодно до 32 байт

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

Будем разрабатывать архиватор, который может сжимать данные любого размера и типа до 32 (38 с метаданными) байт. Рассмотрим достоинства и недостатки данного алгоритма, возможные способы улучшения его работы.

Распаковать
Всего голосов 96: ↑89 и ↓7+108
Комментарии79

Helena.4.0 – новый алгоритм для подбора гиперпараметров

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

С целью автоматизации процесса подбора гиперпараметров автором данной статьи разработан алгоритм Helena.4.0. Конечной целью является создание автоматической системы построения моделей (auto-ML), которая бы подбирала гиперпараметры за минимальное время.

С помощью алгоритма Helena.4.0 можно подбирать гиперпараметры для моделей градиентного бустинга, нейросетей, и более того – для генетических алгоритмов. Автор считает, что алгоритмы Helena могут заменить в генетических алгоритмах генеративную часть – т.е. уйти от биологических аналогий, заменив псевдобиологическую генерацию признаков путем процедур «скрещивания» и «мутаций» на генерацию с помощью указанных алгоритмов.

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

Сравнение алгоритма Helena.4.0 с наиболее популярными конкурентами (Optuna, HyperOpt, RandomSearch) показывает его высокую конкурентоспособность.

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

Ниже в статье приведено подробное описание алгоритма Helena.4.0 и результаты сравнительных тестов с алгоритмами-конкурентами.

Читать далее
Всего голосов 13: ↑10 и ↓3+11
Комментарии17

Flash attention is all you need

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

Всем привет. 

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

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

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

И на днях вышла работа Flash Attention, где был предложен способ существенно ускорить вычисление attention на GPU, причем никак не меняя конечный результат. То есть делается то же самое, что и раньше, но по-другому.

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

Как сделать контекстное окно на 100K в большой языковой модели: обо всех фокусах в одном посте

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

От переводчика: выражаю огромную искреннюю благодарность Дмитрию Малову @malovdmitrijза консультации по ходу этого перевода, помощь в подборе формулировок, пояснение рисунков и незаменимую человеческую поддержку.

tldr; в статье рассмотрены приёмы, позволяющие ускорить обучение больших языковых моделей (LLM) и нарастить в них логический вывод. Для этого нужно использовать большое контекстное окно, в котором умещается до 100K входных токенов. Вот эти приёмы: ALiBi с подмешиванием в вектор позиции слова в последовательности (positional embedding), разреженное внимание (Sparse Attention), мгновенное внимание (Flash Attention),  многозапросное внимание, условные вычисления и GPU A100 на 80 ГБ.  

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

Заходи в zoom как батя

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

Эта короткая статья про небольшую автоматизацию — зайти в свой ежедневный(или другой периодический) zoom митинг из командной строки.


Все что описано ниже — актуально для MacOS. На Linux и Win тоже есть. Думаю, там по аналогии.


Уверен, многие это знают и используют, но, в то же время, уверен, что не многие.)

Читать дальше →
Всего голосов 47: ↑7 и ↓40-33
Комментарии28

Как настроить зависимые выпадающие списки в MS Excel, используя СМЕЩ и СУММПРОИЗВ

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

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

В этой статье мы демонстрируем простой способ по настройке зависимых выпадающих списков в MS Excel.

Статья будет особенно полезна тем, кто еще не пользуется ни формулами массива, ни клавишей F9 при их написании.

С уважением,
Владимир

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

Как мы подбирали грузы для перевозчиков

Время на прочтение6 мин
Количество просмотров2.5K
Добрый день. Нас зовут Илья Баштанов (разработчик, Точка-Точка) и Татьяна Воронова (аналитик данных, Центр 2М). И мы хотим рассказать о технической реализации задачи подбора грузов для перевозок.

Суть задачи в следующем. На складе есть грузы, которые нужно перевезти из города А в город Б. Можно считать, что учитывается только вес грузов, а их размеры более-менее стандартные (европаллеты). Перевозчик, желающий взять попутный груз, хочет перевезти как можно больше, но ограничен весом и количеством грузовых мест. Нужно сформировать для него несколько вариантов партий из имеющихся на складе грузов.

Решаемые задачи для бизнеса в данном случае:

  1. Максимально эффективно загружать транспортные средства и тем самым увеличить доход от перевозок.
  2. Решать задачу доставки в приемлемые сроки для пользователя (включая принцип FIFO).
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии3

Онлайн-хакатон от Naviaddress

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

Это вам не двухдневный хакатон, где мало спишь и много кодишь. Это целых десять суток на создание продуманного проекта. С 20 по 30 сентября глобальная цифровая адресная система Naviaddress проводит хакатон для «программистов на длинные дистанции». В качестве финишной ленточки – призовой фонд в 400 000 рублей.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии5

Мой адрес не дом и не улица: какой будет адресация XXI века

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

Винсент Вега на парковке. Винсент Вега в поликлинике. Винсент Вега в городе Ковров Владимирской области… Мемы с растерянным героем Джона Траволты – это не только смешно, но ещё и правда. Кто из нас не оказывался в ситуации безнадёжного поиска объекта, когда только и остается, что развести руками?

Два самых распространенных подхода к адресации – почтовый и геокоординатный – зачастую бессильны в современном мире. Из-за неверно указанного адреса 20% почтовой корреспонденции возвращаются отправителям. Неспособность доходчиво объяснить своё точное расположение снижает клиентский поток бизнесов, которым не повезло с адресом. Люди тратят жизнь и нервы, прежде чем найдут искомое.

Читать дальше →
Всего голосов 19: ↑11 и ↓8+3
Комментарии115

SALI — это Вам ~ язык программирования

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

Зачем ещё один язык программирования?


Это не совсем язык программирования, вернее — это язык совсем не программирования. SALI — язык написания приложений. Программа, в простейшем случае — последовательность команд, которые ЭВМ выполняет последовательно. SALI — язык, в котором не существует функций, методов, циклов да и вообще исполняемого кода, поэтому он не позволяет писать программы, а вот приложения…

К чёрту интриги, велком под CUT.
Читать дальше →
Всего голосов 47: ↑8 и ↓39-31
Комментарии68

Еж с ужом в одной корзине, а также немного об отсутствии схемы

Время на прочтение3 мин
Количество просмотров8.8K
В последнее время часто вижу статьи о том, почему вы должны использовать nosql или о том, что вы никогда не должны им пользоваться и уповать только на реляционные хранилища. Однако, на мой взгляд, эти прекрасные инструменты могут отлично уживаться вместе, позволяя использовать их общие достоинства и избегая их недостатков.
image
Чуть больше под катом
Всего голосов 22: ↑13 и ↓9+4
Комментарии23

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность