Обзор UDTF в PySpark

Привет, Хабр! Сегодня разберём фичу из PySpark — UDTF . Если раньше мы писали UDF и UDAF, то UDTF — это про функцию, которая запускается в секции FROM запроса и возвращает как бы несколько стро» для каждой входной записи Звучит круто. UDTFs пригодятся, когда на один входной объект нужно получить множество выходных строк. Простой пример: у нас есть строка текста и мы хотим разделить её на слова так, чтобы каждое слово вышло отдельной строкой. Со стандартным UDF такое не сделать (он возвращает одно значение, например конкатенацию или длину). Но UDTF может делать цикл yield внутри и выдавать сколько угодно строк. Итак, приступим к делу.

https://habr.com/ru/companies/otus/articles/942148/

#python #матричное_умножение #big_data #распределённые_вычисления #кластер #производительность

Обзор UDTF в PySpark

Привет, Хабр! Сегодня разберём фичу из PySpark — UDTF . Если раньше мы писали UDF и UDAF, то UDTF — это про функцию, которая запускается в секции FROM запроса и возвращает как бы несколько стро» для...

Хабр

Всё что нужно знать про torch.sparse

Разработчики PyTorch предоставили модуль torch.sparse для работы с разреженными тензорами , где большинство элементов – нули. Зачем это нужно? Представьте матрицу смежности графа, сильно обрезанную сеть или облако точек – хранить такие данные плотным массивом без надобности расточительно. Разрежённая структура сохраняет только ненулевые элементы и их индексы, что сильно экономит память и ускоряет вычисления . Например, матрица размером 10,000 на 10,000 с 100 000 ненулевых float-значений в разрежённом COO-формате займёт не 400 МБ, а около 2 МБ. Несмотря на перспективы, API разрежённых тензоров в PyTorch пока в бете и может менять крошечные детали . Будьте к этому готовы: часть операций поддерживается, часть – нет, и некоторые автоград-ячейки пока работают только для COO, а для CSR, например, градиент не считается. Но обо всём по порядку.

https://habr.com/ru/companies/otus/articles/942164/

#ml #Data_Science #разрежённые_тензоры #PyTorch #оптимизация_памяти #torchsparse #матричное_умножение

Всё что нужно знать про torch.sparse

Разработчики PyTorch предоставили модуль torch.sparse для работы с разреженными тензорами , где большинство элементов – нули. Зачем это нужно? Представьте матрицу смежности графа, сильно обрезанную...

Хабр

[Перевод] Как исследователи нарушают привычные подходы в ИИ, исключая матричное умножение

Привет, на связи Елена Кузнецова, специалист по автоматизации Шерпа Роботикс. Сегодня я перевела для вас статью, посвященную использованию моделей ИИ без лишней математики. Все мы знаем, что нейросети - дело энергозатратное. А описанные в статье исследования могут помочь снизить энергопотребление в работе нейросетей. Исследователи из Университета Калифорнии в Санта-Круз, UC Дэвис, LuxiTech и Университета Сучжоу объявили о разработке нового подхода к оптимизации работы языковых моделей ИИ, который исключает матричное умножение из вычислительных процессов. Это принципиально меняет операции нейронных сетей, которые в настоящее время ускоряются с помощью графических процессоров (GPU). Результаты работы, изложенные в недавней препринте, могут существенно повлиять на экологическую устойчивость и операционные расходы систем ИИ.

https://habr.com/ru/companies/sherpa_rpa/articles/853244/

#матричное_умножение #MLGRU #glu

Как исследователи нарушают привычные подходы в ИИ, исключая матричное умножение

На этой диаграмме, взятой из статьи, показана относительная производительность LLM без MatMul по сравнению с обычным (Transformer++) LLM на контрольных примерах Привет, на связи Елена Кузнецова,...

Хабр

Математика матричных расширений: как происходит умножение матриц на примере T-Head Matrix Extension

Привет, Хабр! Я Андрей Соколов, инженер-программист в группе разработки математических библиотек. Месяц назад моя коллега Валерия запустила цикл статей про матричные расширения, ускоряющие операции над матрицами. Вы уже смогли узнать, что они делают и какие существуют, какие из них разрабатываются для открытой архитектуры RISC-V. В заключительной статье цикла разберем пример использования матричного расширения T-Head под RISC-V для реализации алгоритма матричного умножения. Сначала кратко рассмотрим наивную скалярную реализацию и блочный вариант алгоритма. Затем реализуем аналогичный вариант с использованием матричного расширения — как для квадратных матриц, так и матриц произвольного размера. Второй случай интересен тем, что возникает необходимость обработки так называемых «хвостов» — блоков неправильной конфигурации. В заключение немного расскажу, какие идеи можно использовать для дальнейшей оптимизации матричного умножения, и поделюсь полезными ссылками. Статья не показывает пошаговую оптимизацию умножения матриц для достижения максимума FLOPS и не учит, как писать вычислительные ядра на ассемблере. Она демонстрирует использование матричного расширения и основные идеи оптимизации матричного умножения. Постарался описать все простыми словами, с иллюстрациями и небольшими вставками кода.

https://habr.com/ru/companies/yadro/articles/833948/

#riscv #thead #матричные_вычисления #матричные_расширения #матричное_умножение #математика

Математика матричных расширений: как происходит умножение матриц на примере T-Head Matrix Extension

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

Хабр

Погружение в матрицу: расширение RISC-V от T-Head

Продолжим нашу «антологию матричных расширений» текстом про независимое матричное расширение RISC-V от компании T-Head. Почему мы рассматриваем именно его? Интересно понять, что из себя представляет будущее стандартное матричное расширение RISC-V, попробовать реализовать алгоритм с его использованием, соотнести это со своим предыдущим опытом низкоуровневых оптимизаций. Кроме того, это интересная возможность попробовать написать программу для расширения, которого еще нет ни в одном процессоре, и запустить ее на эмуляторе. А еще ISA этого расширения весьма минималистична и, на мой взгляд, идеально подходит для тех, кто никогда не использовал матричные расширения в своем коде, но хочет попробовать (или узнать, как это выглядит изнутри). Не переживайте, текст не требует опыта низкоуровневых оптимизаций математических библиотек: погружение в матрицу будет постепенным. Начать погружение

https://habr.com/ru/companies/yadro/articles/827434/

#thead #матричное_расширение #матричное_умножение #операции #risvv #низкоуровневая_оптимизация #библиотеки #линейная_алгебра

Погружение в матрицу: расширение RISC-V от T-Head

Продолжим нашу «антологию матричных расширений» текстом про независимое матричное расширение RISC-V от компании T-Head.  Почему мы рассматриваем именно его? Интересно понять, что из себя...

Хабр

[Перевод] Справочник по применению GPU в машинном обучении

Это перевод популярного лонгрида Тима Детмерса " Выбор графического процессора для глубокого обучения: мой опыт и советы ". Глубокое обучение (Deep learning, DL) - область с высокими вычислительными требованиями, и выбор графического процессора будет в корне определять ваши возможности в этой сфере. Какие характеристики важны при выборе нового GPU? Оперативная память GPU, ядра, тензорные ядра, кэш? Как сделать экономически эффективный выбор? Мы рассмотрим эти вопросы, заодно разберемся с распространенными заблуждениями, разберемся в характеристиках GPU, дадим советы, которые помогут вам сделать правильный выбор.

https://habr.com/ru/articles/818963/

#GPU #deep_learning #матричное_умножение

Справочник по применению GPU в машинном обучении

Современная видеокарта похожа на деталь от инопланетного корабля, или даже на сам корабль... Это перевод популярного лонгрида Тима Детмерса " Выбор графического процессора для глубокого обучения: мой...

Хабр

[Перевод] Новый прорыв приближает умножение матриц к идеалу

Устранив скрытую неэффективность, учёные придумали новый способ умножения больших матриц, который работает быстрее, чем когда-либо. Учёные, занимающиеся информатикой, — это требовательная группа. Им недостаточно получить правильный ответ — цель почти всегда состоит в том, чтобы получить ответ как можно эффективнее. Возьмем, к примеру, умножение матриц или массивов чисел. В 1812 году французский математик Жак Филипп Мари Бине разработал базовый набор правил, которым мы до сих пор обучаем студентов. Это работает прекрасно, но другие математики нашли способы упростить и ускорить процесс умножения матриц.

https://habr.com/ru/companies/first/articles/814453/

#матричное_умножение #матрица #информатика #алгоритмы #лазерный_метод #алгоритм_штрассена

Новый прорыв приближает умножение матриц к идеалу

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

Хабр