Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
18.9K subscribers
2.08K photos
109 videos
64 files
4.5K links
Все самое полезное для дата сайентиста в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/f83f07f1

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b03124c8ba6dcaa121c9
Download Telegram
Построение мел-спектрограммного преобразования с помощью библиотеки librosa

Мел-спектрограммное преобразование — это метод анализа звуковых сигналов, который преобразует аудио сигнал в спектрограмму с учетом восприятия человеком звуков по частоте. Это помогает улучшить различение между звуками важными для человека. Оно широко используется в распознавании речи.
Какие языки программирования могут заменить Python в Data Science?

Недавно писали пост про перспективы языка Swift в машинном обучении, сегодня продолжаем эту тему.

🟠 R
В области статистики и исследований уже конкурирует с Python, но вряд ли пойдет дальше. Основная проблема - ограничение в оперативной памяти и приоритет на исследования, а не на продакшен.
🟠 Scala
Scala уже сейчас является практически необходимым инструментов в работе Data Engineer вместе с Apache Spark, так как он очень удобен в обработке больших данных, при этом оставаясь не очень популярным языком в целом. Также Scala работает на JVM и обеспечивает лучшую поддержку парадигмы функционального программирования, что очень ускоряет обработку больших данных.
🟠 Go
Go выглядит сейчас скорее как конкурент Scala в Data Engineering, так как является одним из лучших яп для паралельной обработки и изначально задумывался Google во многом для этих целей, но на нем достаточно сложно проводить быстрые исследования, что очень важно в DS.
🟠 Julia
В теории звучит как идеальный язык программирования для DS:
- удобный и простой синтаксис
- возможность использовать код на Python
- высокая производительность (обгоняет Python, R, MATLAB)
- интерактивность не смотря на то, что язык компилируемый
При этом язык на старте своего развития, но уже вошел в топ-5 любимых языков программирования среди разработчиков по версии Stack Overflow.
Основной минус пока что в отсутствии такой экосистемы, как у Python, но это звучит как вопрос времени.
🟠 Huskell
Этот язык полностью функциональный, что является как плюсом, так и минусом. Его сложно освоить, функциональная парадигма подразумевает полностью отличное от привычного мышление, но это может окупиться засчет скорости обработки больших данных и затратах на время и количество кода. Сейчас этот яп используется для вычислений, обработки данных и написания бэкенда.
Из минусов очень высокий порог вхождения и медленное развитие, но многие разработчики Huskell переходят на Scala из-за поддержки функциональной парадигмы последнего и быстро становятся востребованы в этой области. Есть даже статья, где описана миграция бэкенда с JS на Huskell, причем разработчик Huskell один написал аналогичный код быстрее, чем группа из пяти разработчиков JS.
Альтернативы Python для Data Science, завершение

Третий завершающий пост на тему альтернатив Python в DS.

🟧 На данный момент есть два перспективных языка, которые при должном развитии могли бы заменить Python целиком в DS - это Swift и Julia, их объединяет возможность использовать Python из коробки, простой и понятный синтаксис, быстрое написание кода, компилируемость и значительно более высокая производительность, чем в Python/R/MATHLAB.
🟧 Однако Swift последнее время развивается в направлении быстрого запуска решений на готовых архитектурах в продакшен, уходя от исследований и развития индустрии. При этом Swift остается закрытым яп для Apple. Поэтому если вы хотите обучать ии для мобильных приложений, то определенно стоит углубиться в Swift.
🟧 Julia же наоборот позиционируется как открытый яп, который любят и развивают разработчики, не смотря на то, что он компилируемый, он интерактивный, благодаря чему для него уже сделали поддержку Jupyter Notebook - неотъемлемый инструмент Data Scientist. Скорее всего Julia будет только больше набирать популярность, так что на этот яп точно стоит обратить внимание.

🟦 В ИИ есть много областей, кроме непосредственно обучения моделей и остальные языки из подборки используются именно в них и вряд ли заменят Python в целом.
🟦 Если вы хотите заниматься исследованиями в отрыве продакшена и больше в сфере статистики и классического машинного обучения, то вам подойдет R.
🟦 Для задач Data Engineering уже практически обязательно владеть Scala с Apache Spark
🟦 Также отдельно хочется выделить Huskell, который может использоваться и в математических исследованиях вместо R, и в задачах обработки больших данных вместо Scala, однако у него очень высокий порог вхождения и немного подобных вакансий, часто вакансии появляются сразу внутри комьюнити.
Простой гайд по построению модели синтеза речи

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

Ссылка на источник
Трансформеры

Статься на русском с очень подробным объяснением архитектуры Transformers.
На данный момент эта архитектура используется почти во всех сферах ИИ, особенно в обработке естественного языка. Все LLM основаны именно на этой архитектуре.

Ссылка на источник
✍️ Библиотека программиста» находится в поиске авторов оригинальных статей

Языки
● C#, Go, SQL.

Тематика
● Data Science (Python), базовые и продвинутые концепции языков C#, Go, SQL.

Объем
● от 7 до 15 тыс. знаков.
● 3-4 статьи в месяц.

Оплата
● 4к руб. за статью.
● Работаем с самозанятыми, ИП.

Статья публикуется на сайте proglib.io, в группе ВК (424к подписчиков), на канале «Библиотека программиста» (77к подписчиков) и в одном из профильных тг-каналов: Библиотека Шарписта, Data scientist’а, Go-разработчика.

➡️ Заполнить анкету ⬅️

Я хорошо программирую, но пишу «так себе». Что делать?
Если вы хорошо программируете, но навыки письма немного отстают, пройдите наш бесплатный курс на Степике «Статьи для IT: как объяснять и распространять значимые идеи».
Соглашение Эйнштейна о суммировании

einsum - это функция, предоставляемая библиотеками NumPy, PyTorch и тд. Она используется для выполнения операций над массивами с помощью спецификации индексов, что позволяет выполнять различные математические операции над многомерными массивами более эффективно и удобно.

Спецификация индексов в einsum определяет, какие элементы из входных массивов должны быть комбинированы, и каким образом они должны быть комбинированы. Это может быть полезным, например, для перемножения матриц, вычисления скалярных произведений, агрегирования данных и других операций, где необходимо управлять взаимодействием между элементами массивов.

Пример использования вложенных циклов и einsum для перемножения матриц:
Подборка ресурсов про MLOps

🔸 Статья про MLOps в финтех и общие тенденции
🔸 Репозиторий с передовыми инструментами
🔸 Открытый курс по MLOps
🔸 Вебинар по облачному MLOps от VK
🔸 Подборка докладов от ODS
🔸 Статья на Medium про создание конвеера
🔸 Подборка библиотек для MLOps
🔸 Общая статья про инструменты MLOps
Marqo - векторная поисковая система с открытым исходным кодом для приложений искусственного интеллекта

Генерация, хранение и извлечение векторов с помощью единого API.

Векторные базы данных — это невоспетые герои современного движения ИИ, хранящие неструктурированные данные, такие как изображения, видео и текст, чтобы люди и системы могли искать некатегоризированный контент. Они особенно важны для больших языковых моделей (LLM), таких как GPT-4 (который поддерживает ChatGPT), во многом благодаря способности баз данных обеспечивать индексацию и поиск в реальном времени по мере создания или обновления данных — это важно для функций персонализации, систем рекомендаций, анализа настроений и многого другого.

Подробнее по ссылке на источник
Promptitude - самый простой и быстрый способ интегрировать GPT

Шаги по использованию:
🔸 Вставить ключ API чтобы использовать Promptitude для запросов
🔸 Настроить свои входные данные и персонализировать результат
🔸 Получить ключ API Promptitude
🔸 Просмотр истории использования

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

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

Cambrian создан для более сложного глубокого поиска более 240 000 статей с машинным обучением, постоянно поглощая недавно выпущенные работы.

Быстрый поиск знаний обеспечивается с помощью CambrianGPT, внутреннего LLM для запросов по отдельным статьям.

Ссылка на источник
LangChain для Gen AI и LLM

Подробный туториал по аугментации данных в LangChain: автор рассказывает, как предоставить LLM доступ к дополнительной информации и сократить количество галлюцинаций.

Ссылка на источник
Как развитие технологий повлияет на будущее нейронных сетей?

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

🟠 deeppavlov - open-source библиотека от лаборатории МФТИ с большим количеством предобученных моделей для NLP задач
🟠 ResVectores - семантические модели для русского языка с возможностью поиграться прямо на сайте
Чего ждать от языка Mojo?

Несколько дней назад новый язык программирования Mojo (Python++) стал доступен для локальной загрузки. А в статье из источника подробно разбираются перспективы этого языка.

Люди, как обычно, разделились на два лагеря и комментарии варьируются от "Вау, они изобрели Cython" до восхищения.

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

Пример обучения модели для распознавания цифр на Swift с возможностью легко добавить в свое приложение.

Подробный гайд в официальном источнике
S4 лучше трансформеров?

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

В источнике подробно и с примерами кода и графиков описывается новый подход.
Курс лекций ИТМО по распознаванию и синтезу речи

Курсу уже несколько лет, но при этом он очень подробно погружает в тему, после чего намного проще разобраться в новом материале
Гайд по обучению модели на PyTorch и MLlib

PyTorch - один из самых удобных пакетов для обучения нейронных сетей, MLlib - конвейер с открытым исходным кодом для управления пайплайнами и вывода в прод. В источнике гайд по их совместному использованию.
Pytorch + C++ = TorchScript

Гайд от ODS по TorchScript - инструмент, который позволяет с помощью пары строк кода и нескольких щелчков мыши сделать из пайплайна на питоне отчуждаемое решение, которое можно встроить в систему на C++
Как ускорить инференс классификатора BERT с помощью ONNX?

ONNX - открытый стандарт для конвертации моделей машинного обучения из разных фреймворков в единый формат, а также для обмена моделями между фреймворками, для которого существует библиотека ONNX Runtime.

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