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

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

Курс по ML: https://clc.to/4hNluQ

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

РКН: https://gosuslugi.ru/snet/67a5b03124c8ba6dcaa121c9
加入频道
Привет, друзья! 👋

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

Какую самую нелепую ошибку вы когда-либо совершали на собеседовании?
Что, по вашему мнению, может мгновенно испортить впечатление о кандидате?

Не стесняйтесь делиться своими историями и мнениями в комментариях! Самые интересные и полезные советы попадут в нашу статью. 🚀 Спасибо за участие!
👍3
📈 Стать аналитиком Big Data: пошаговое руководство 2024

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

Ознакомьтесь со статьей, а также забирайте наши курсы для Data Science:
🔵 Базовые модели ML и приложения
🔵 Математика для Data Science

🔗 Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🤔 Как меняется математика в разных индустриях: от мобильных игр к фондовым рынкам

🗓 22 августа в прямом эфире разберем как математика применяется в разных отраслях бизнеса. И какие математические навыки необходимы для успешной работы в каждой из них.

Приглашенный спикер: Павел Запольский – Senior Quantitative Researcher at Exness и Co-founder GrowLytics. Запустивший более 10 проектов по машинному обучению и анализу данных для ведущих компаний.

😮 На вебинаре узнаете:

🔵 Математика в бизнесе: Чем отличаются разные сферы друг от друга. Почему стоит понимать специфику сферы
🔵 ML и продуктовое IT: Чем различается математическая сложность от индустрии к индустрии. Какие к ним необходимы уровни подготовки
🔵 Баевская математика в GameDev. Баевская математика как альтернатива AB тестированию. Как математические методы применяются в разработке игр
🔵 Finance: Что такое количественные финансы и математическое моделирование. Обсудим текущие индустриальные тренды в отрасли
🔵 Backtest: Как знания математики делают ваши активы более надежными
🔵 На практике подробно разберем два математических кейса по GameDev и Backtest.

➡️ Зарегистрироваться: https://proglib.io/w/dcdc91a6
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🚀 Ускорьте свою базу данных: 7 проверенных методов масштабирования и оптимизации

Масштабирование улучшает производительность и повышает надежность систем хранения данных путем оптимизации использования ресурсов и распределения нагрузки. В этой статье мы рассмотрим 7 эффективных методов масштабирования и оптимизации базы данных.

🔗 Читать статью
🔗 Зеркало
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
👆Наглядное объяснение того, как языковые модели предсказывают следующее слово в тексте👆
🔥8👍6🌚2
Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉авторов в наше медиа proglib.io
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
1
🧮🏭 Индустриальная математика: когда ∫f(x)dx равно миллиардам

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

🔗 Статья
👍4
💀 Ликбез: «SQL-инъекции» в LLM с использованием специальных токенов

Андрей Карпаты тут недавно объяснил, как устроены атаки на LLM с применением специальных токенов. Мы сделали перевод:

🪅 Токенизаторы, используемые LLM, могут особым образом разбирать специальные токены (например, <s>, <|endoftext|> и т.д.) в строке ввода. Это хоть и выглядит удобным, на практике может привести к неприятным ошибкам или, что ещё хуже, к уязвимостям, аналогичным SQL-инъекциям.

⚠️Нужно запомнить, что вводимые пользователем строки не являются надёжными данными⚠️

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

Вот пример из дефолтного токенизатора Llama 3:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3.1-8B")
tokenizer("hello world <|end_of_text|> haha").input_ids
# [128000, 15339, 1917, 220, 128001, 63450]


Тут одновременно происходят две неочевидные вещи:
1⃣ Токен <|begin_of_text|> (128000) был добавлен в начало последовательности.
2⃣ Токен <|end_of_text|> (128001) был извлечён из строки, и вместо него вставлен специальный токен. Теперь текст может нарушить протокол токенов и заставить LLM выдавать непредсказуемые результаты.

Карпаты советует всегда использовать токенизатор с двумя дополнительными флагами: add_special_tokens=False и split_special_tokens=True, а также добавлять специальные токены в коде самостоятельно. С этими настройками результат будет более правильным. На картинке (⤴️) можно увидеть, что <|end_of_text|> теперь рассматривается как обычная строковая последовательность и разбивается базовым BPE токенизатором так же, как и любая другая строка.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги

👉Подписаться👈
👍2
🧪 Байесовское A/B-тестирование vs частотное: преимущества, недостатки и способ реализации на Python

A/B-тестирование — это метод сравнения двух версий чего-либо для определения, какая из них работает лучше.

В новой статье разберёмся, в каких случаях лучше применять частотный подход, а в каких — байесовский, и напишем продвинутый байесовский тест на Python без использования специальных A/B-библиотек.

👉 Читать статью
👍8😁2
Media is too big
VIEW IN TELEGRAM
📹 Документалка про создание PyTorch

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

🔗 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
✏️ Разбор задачи с экзамена ШАД

Условие: Раскройте скобки в матричном выражении: 1️⃣

Подсказка: Матрицы не коммутируют

#задачи_шад
👍3🤔3
📊 Подборка материалов по аналитике данных:

🔹 Шпаргалка по Power BI
Небольшое руководство по созданию визуализаций и работе с данными в Power BI.

🔹SQL Tutorial
Это большой туториал с теорией и практикой.

🔹Интегрируем pandas с электронными таблицами: три способа
Статья на «Хабре» объясняет, как интегрировать библиотеку pandas с электронными таблицами через три метода: работу с файлами Excel, Google Таблицы и CSV.

🔹Data Analyst Portfolio Project
Это плейлист с роликами, посвящёнными созданию проектов для портфолио аналитика данных. Рассматриваются как SQL, так и Power BI с Tableau.
👍81
Привет, друзья! 👋

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

Какая самая необычная причина прокрастинации у вас была в работе над проектом?
Какой метод борьбы с прокрастинацией оказался для вас наиболее эффективным?
Как вы справляетесь с когнитивной перегрузкой во время работы над сложными задачами?

Не стесняйтесь делиться своими историями и лайфхаками в комментариях! 💬 Ваш опыт может помочь другим разработчикам справиться с прокрастинацией. Спасибо за участие!
😁2🌚2
This media is not supported in your browser
VIEW IN TELEGRAM
🛷 Хотите посмотреть, как человечек из Line Rider спускается по вашей кривой потерь?

Вам поможет библиотека LossRider. Она позволяет визуализировать процесс обучения моделей машинного обучения, генерируя графики в стиле Line Rider, по которым «скатывается» персонаж на санках.

Библиотека поддерживает интерактивные графики в Jupyter Notebooks, а также позволяет настраивать оси и экспортировать визуализации.

🔗 Ссылка на репозиторий LossRider
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22👍3😍1
🌲Какие операции с деревьями как структурами данных вы знаете?

Дерево — это иерархическая структура данных, состоящая из узлов, соединённых рёбрами.

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

🔹Insert (вставка)
Если нет ограничений на размещение узла, вставка может быть простым добавлением нового потомка к существующему листу.

🔹Basic Search (обход дерева)
В самой простой форме обход дерева — это рекурсивная функция, которая вызывает саму себя для каждого потомка узла до тех пор, пока не будет найден целевой узел.

🔹Delete (удаление)
Если нужно удалить целое поддерево, это можно сделать, используя метод поиска узла. После того как целевой узел найден, его можно удалить из списка потомков его родителя.

#вопросы_с_собеседований
👍3
Media is too big
VIEW IN TELEGRAM
🐍 Производительность Python для Data Science

В новом выпуске подкаста Talk Python To Me разработчики обсуждают инструменты и подходы, которые будут полезны для дата-сайентистов.

🔗 Смотреть ролик на YouTube
🔗 Перейти на страницу подкаста со всеми ссылками, упомянутыми в ролике
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
🤔 Кем я хочу быть – DS или ML engineer?! Стоит ли понимать специфику сферы?!

🗓 Встречаемся сегодня в 20:00 по МСК чтобы ответить на эти и другие вопросы на вебинаре «Как меняется математика в разных индустриях: от мобильных игр к фондовым рынкам»

В эфире вас будет ждать Павел Запольский – Senior Quantitative Researcher at Exness и Co-founder GrowLytics. Запустивший более 10 проектов по машинному обучению и анализу данных для ведущих компаний.

➡️ Регистрируйтесь, если еще не успели: https://proglib.io/w/b286e0c8
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
🤖 Автоматизация управления ML-экспериментами с помощью СI/CD

CI/CD — это автоматизированный процесс, при котором код автоматически интегрируется в репозиторий, проходит сборку, тестирование и, в случае успеха, автоматически разворачивается на production-сервере.

В новой статье на «Хабре» описана настройка CI/CD для управления ML-экспериментами с помощью GitHub Actions и Neptune.ai. Процесс включает:

▪️Создание скриптов для обучения моделей и экспериментов.
▪️Настройку GitHub Actions для автоматической сборки окружения, установки зависимостей и запуска экспериментов при каждом коммите.
▪️Интеграцию с Neptune.ai для отслеживания результатов экспериментов, логов и метрик в реальном времени.

🔗 Читать подробнее по этой ссылке
👍2🔥2
Forwarded from ML Underhood
Как мы работали над YaFSDP

Недавно запустилась библиотека YaFDP, которая ускоряет обучение больших языковых моделей. Подробнее о ней можно почитать в статье на Хабре. А сегодня руководитель группы претрейна YandexGPT Михаил Хрущев ответил на несколько наших вопросов о том, как создавалась библиотека.

Когда и как началась работа над YaFSDP?

За 2 недели до Нового года в 2023-м. К концу года стало ясно, что некоторые наши оптимизации не дают ускорения, которого мы ожидали. Я пошёл искать причины такого и нашел праздничную «ёлочку».

Ориентировались ли на существующие решения? Были ли какие-то референсы, может?

Сам алгоритм предложили в статье ZeRO: Memory Optimizations Toward Training Trillion Parameter Models. Его реализация была также представлена в фреймворке DeepSpeed. К сожалению, она не очень масштабировалась и содержала много багов. Другая реализация, FSDP, сильно лучше, но и там есть проблемы с аллокацией памяти и коммуникациями. Поэтому я начал разрабатывать свою реализацию, к которой впоследствии подключились и другие ребята из моей команды.

Какие трудности возникали во время работы?

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

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

На этом на сегодня все. Рассказывайте о своём опыте работы с LLM в комментариях!

ML Underhood
👍2