DataFrog: Data Science
رفتن به کانال در Telegram
Журнал о Data Science | Machine Learning | Big Data | Deep Learning | Neural Networks | AI @viktorreh
نمایش بیشتر1 833
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-17 روز
-930 روز
آرشیو پست ها
Перестаньте бояться алгоритмов! Они ваш друг, а не враг 🤝
Многие разработчики панически боятся алгоритмов на собеседованиях: «Я не олимпиадник!», «Зачем это, если есть Pandas?». Но спешу успокоить — алгосекция проверяет не знание экзотических структур данных, а нечто гораздо более важное.
Что на самом деле проверяют на собеседовании?
▪️ Умение мыслить структурно и декомпозировать задачу.
▪️Способность продумывать решение до написания кода.
▪️Внимательность к деталям и краевым случаям.
По сути, интервьюер хочет убедиться: с вами можно работать в команде, и вы не создадите тонну багов.
Почему алгоритмы — это прокачка навыков?
Представьте, что вы жмёте штангу в зале. Вы ведь не будете делать это в реальной жизни? Но это тренирует мышцы, которые пригодятся everywhere.
С алгоритмами та же история. Решая задачу о ступеньках, вы вряд ли будете применять это на практике. Но ваш мозг учится:
▪️Видеть закономерности
▪️Оптимизировать решения
▪️Предвидеть ошибки
Как правильно подходить к решению? ❌ Плохо: Сразу писать код, надеясь на авось. ✅ Хорошо: Читаешь задачу → пишешь тесты. Проговариваешь решение → ловишь баги в голове. Только потом кодишь. И вот уже у тебя не просто решение, а решение, которое выглядит профессионально. Интервьюер думает: «ага, с этим чуваком можно работать». Совет по подготовке: ▪️Сфокусируйтесь на LeetCode Easy/Medium ▪️Практикуйтесь мыслить вслух. Даже если ошибся — ничего страшного, это норм. Хуже молчать и сидеть с каменным лицом. ▪️Составьте шпаргалку с паттернами (two pointers, хеш-таблицы, динамическое программирование)Вывод: Алгоритмы — это не препятствие, а ваш союзник. Они качают навыки, которые делают вас сильнее как разработчика. На собеседовании важна не идеальность решения, а демонстрация системного подхода 😊 👉 DataFrog | #datascience #алгоритмы
Не хотите подключать целый ML-трекер только чтобы давать экспериментам понятные имена вроде eternal-rabbit-123?
Для этой задачи есть минималистичная библиотека
hruid. Она делает ровно одно — генерирует уникальные и читаемые идентификаторы по шаблону число-прилагательное-существительное-глагол-наречие.
import hruid
generator = hruid.Generator()
phrase = generator.random()
print(phrase)
11-suspicious-owls-consume-eagerly
Установка: pip install hruid
Репозиторий: https://github.com/nebbles/hruid-python
👉 DataFrog | #datascience #code+5
Ученые представили EGGROLL (Evolution Guided General Optimization via Low-rank Learning) — новый алгоритм для обучения огромных нейросетей без обратного распространения ошибки. Метод использует хитрые математические приемы, чтобы сделать эволюционные стратегии быстрыми и экономичными даже для моделей с миллиардами параметров. EGGROLL не уступает по качеству существующим методам, но требует значительно меньше памяти и вычислений.
👉 DataFrog | #datascience
Безопасность LLM и агентских систем (GenAI OWASP)
Если вы работаете над дизайном агентов или систем с использованием LLM, рекомендую обратить внимание на ресурс GenAI OWASP.
Там собрана отличная база знаний по ключевым угрозам для AgenticAI-систем: описываются основные уязвимости, векторы атак и методы защиты. Материалы поданы очень сжато и по делу, читаются быстро.
Например, в последних обновлениях появились важные предупреждения о рисках использования сторонних MCP-серверов.
👉 DataFrog | #datascience
Функция для фиксации случайных начальных значений (seed) во всех основных библиотеках, которые используются в машинном обучении
import os
import random
import numpy as np
import torch
def seed_all(seed: int = 42):
os.environ["PYTHONHASHSEED"] = str(seed)
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
torch.use_deterministic_algorithms(True)
torch.multiprocessing.set_start_method("fork", force=True)
Максимально "грязное" решение для достижения детерминированных результатов при обучении моделек. Функция ставит начальные сиды у всех генераторов и задаёт детерминированное поведение бекэнда. В большинстве случаев все строчки не нужны, достаточно только:
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
Более серьёзное решение, например для RL алгоритмов, это использование механизма torch.Generator() или jax.random.PRNGKey() для создания детерминированной псевдо-случайности в приложениях со многими потоками.
Pytorch: https://pytorch.org/docs/stable/generated/torch.Generator.html
Jax: https://jax.readthedocs.io/en/latest/jax.random.html
👉 DataFrog | #datascience #pytorch #code+5
Google и другие исследователи создали виртуальную симуляцию клиники DiagGym, где ИИ с помощью обучения с подкреплением учится не просто ставить диагноз, но и стратегически планировать процесс обследования: выбирать необходимые тесты, минимизируя время и затраты. Это важный шаг в развитии медицинского ИИ, направленный на развитие его стратегического мышления.
👉 DataFrog | #datascience
📖 The Little Book of Deep Learning
Книжка-шпаргалка для быстрой подготовки к собеседованиям по DL.
Скачать
Python for Data Science For Dummies
Авторы: John Paul Mueller, Luca Massaron
Год издания: 2024
#python #ds #en
Скачать книгу
Data Science в действии
Автор: Леонард Апельцин
Год издания: 2023
#ds #ru
Скачать книгу
Любители красивой математики, вам посвящается:
(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9)² = 2025
1³+ 2³+ 3³+ 4³+ 5³+ 6³+ 7³+ 8³+ 9³ = 2025
(20 + 25)² = 2025
2025/ (2 + 0 + 2 + 5) = 225
А еще если сложить первые (20+25) нечетных чисел, тоже получится 2025
С Новым Годом, что-ли 🎄+5
Gradient Accumulation
Из-за ограничений памяти всегда рекомендуется обучать нейронную сеть с небольшим размером батча. Но что, если мы скажем вам, что можно увеличить размер батча без увеличения размера батча?
👉 DataFrog | #datascience
А вы тоже все еще выбираете направление для своей карьеры в 2025 году?
🙄 Маркетинг или программирование?
🙄 Логистика или финансы?
🙄 … или аналитика?
2024 год показал: аналитика — профессия будущего. Принимать решения на коленке больше никто не хочет, даже в условиях турбулентности. Темп роста рынка — более 30% в год! Джуны со знанием SQL, Python и BI-систем получают от 100 000 рублей, а уверенные мидлы — более 250 000. Кстати, аналитика – тоже IT-профессия.
Итого, если при виде зарплат в аналитике у вас загораются глаза, то мы поможем определиться с направлением, которое вам точно подойдет!
🔮 Предлагаем вам пройти бесплатный тест на профориентацию, он займет всего 3 минуты и сразу выдаст результаты. Представляйте себя на месте любимых киногероев, отвечайте на вопросы и узнайте, какой вы аналитик! 🧚♀️
Кстати, в конце теста вас ждет промокод на скидку до 30 000 рублей на обучение аналитике в школе Changellenge >> Education, чтобы начать погружаться в любимое направление было еще приятнее!
Пройдите бесплатный тест до 15 декабря и узнайте, какой вы аналитик 🪄
Пройти тест »
Там Anthropic предложили новую технику для RAG. Разбираемся:
Как работает обычный RAG:
1. Документы в корпусе разбиваются на чанки
2. Из каждого такого чанка мы достаем эмбеддинг и кладем его в векторную БД
3. Когда поступает запрос (промпт), мы ищем в этой БД семантически близкие к нему чанки и добавляем их в промпт, чтобы модель могла использовать эту информацию для ответа
В чем тут проблема?
Дело в том, что таким образом мы можем упустить важный контекст и детали запроса. Например, пользователь запрашивает "Error code TS-999". Поиск найдет информацию про коды ошибок в целом, но может упустить точное совпадение «TS-999». К тому же, при возвращении конкретного чанка из базы может случится так, что он будет вырван из какого-то важного контекста, и это может помешать модели.
Что предлагают Anthropic?
Во-первых, они предлагают извлекать не только обычные эмбеддинги, но и делать TF-IDF энкодинг чанков с помощью BM25. TF-IDF утроен так, чтобы как раз отбрасывать наиболее "общие" вещи в тексте, и фокусироваться на редких и самых важных словах. Это поможет не упускать детали при поиске, как в примере с ошибкой TS-999.
Во-вторых, чтобы избавиться от проблемы отсутствия контекста, они предлагают этот контекст добавлять искусственно (то есть делать из такого: "Прибыль росла на 3%." ... такое: "Этот чанк относится к отчету компании ACME за Q2 2023; прибыль росла на 3%.").
Для этого перед извлечением эмбеддингов и TF-IDF энкодингом каждый чанк аннотируется с помощью отдельного запроса к модели (в случае Anthropic это делается с помощью Клода). Да, дорого. Но с помощью фишки Prompt Caching, которую недавно завезли в API, можно хорошо скостить цену.
В итоге все это дает достаточно ощутимый прирост к метрикам качества поиска. Например, фактических ошибок становится меньше на 35%, а это ничего себе!
👉 DataFrog | #datascience
Еще некоторые детали про o1 aka Strawberry aka Q*
➡️ Сейчас на юзерах с подписков крутится не сама o1, а ее preview версия. Также для ChatGPT Plus будет доступна модель o1-mini (более дешевая и шустрая). o1-mini также обещают раскатить и для бесплатных аккаунтов.
➡️ Даже несмотря на то, что самой o1 пока на проде нет, лимиты в чате и цены в API уже достаточно жестокие: 30 сообщений в неделю для o1-preview, 50 для o1-mini 😳. В API вообще песня: 20 запросов в минуту, и при этом платить придется не только за коллы, но и за сами размышления модели (reasoning tokens).
➡️ Саму o1 тоже обещают раскатить скоро. Она уже дообучена и протестирована, но, видимо, OpenAI все еще приходится решать вопросы связанные с затратами на ее инференс, и (может быть) безопасностью.
➡️ OpenAI обращают внимание на то, что промптинг с новой моделью отличается от промптинга со старыми. Они даже выкатили свой гайд с советами о том, как правильно общаться с o1. Основная мысль сводится к «Больше не надо уловок вроде "думай шаг за шагом" или "построй план решения". Формулируйте свои инструкции ясно и прямолинейно, а дальше модель все сделает сама.»
➡️Ну и напоследок то, на что могло ускользнуть от глаз: OpenAI решили скрыть от пользователей мыслительный процесс модели. То есть те рассуждения, которые видны в чате – это выборочный материал. Остальные необработанные цепочки мыслей пользователям не видны.
🍓🍓🍓
👉 DataFrog | #datascience
Приглашаем на Яндекс Analytics after dark — камерный митап для аналитиков
В конце ноября Еком и Райдтех Яндекса проводит ламповый митап — участники и спикеры поговорят об успехах, провалах и сложностях в работе над сервисами с многомиллионной аудиторией.
Митап начнется с докладов-историй об успехах в аналитике: Аня Хрущева расскажет о персонализации пушей на всех этапах жизни пользователей на примере Яндекс Маркета. Катя Меркушева объяснит, как в Лавке анализируют ассортимент и как может помочь Customer Decision Tree.
Вечер продолжится стендапами о факапах, активностями на afterparty и нетворкингом в неформальной атмосфере.
• 29 ноября, 18:00
• Москва, только офлайн
Регистрируйтесь и зовите коллег!
Обратите внимание, количество мест ограничено. После регистрации обязательно дождитесь подтверждения заявки.
Реклама. ООО «Яндекс.Такси» ИНН 7704340310
+1
Что такое аугментация данных?
Это один из методов регуляризации нейронных сетей через внесение изменений в данные. То есть, если мы внесем небольшие адекватные изменения в данных, мы можем спасти нейросеть от переобучения и увеличить ее обобщающую способность. Но почему это работает? Разбираемся на попугаях.
Бонусом оставляем отличную библиотеку, позволяющую производить аугментацию изображений.
👉 DataFrog | #datascience
❓Как научиться извлекать максимальную пользу из данных?
Приходите на курс "Основы Data Governance" с Александром Бараковым от BI Consult и получите актуальные навыки в трендовой теме управления данными! Data Governance позволит вам навести порядок в данных, ускорить разработку в ИТ-системах, повысить надежность и качество данных, аналитики и отчетности.
📆Даты: 4-13 декабря 2024 года.
Формат курса: 5 встреч по 3 часа интенсива в онлайн формате для CDO, CIO, Data stewards, BI-менеджеров, Операционных директоров и всех кому тема близка.
Автор курса: Александр Бараков - эксперт с 10-летним опытом ведения Data Governance проектов.
Курс позволит сформировать глубокое понимание темы Data Governance и 'примерить' все это на бизнес реалии вашей организации. По итогам курса у каждого слушателя будет сформирована готовая стратегия по внедрению Data Governance в свою компанию и понимание того, как настроить управление данными в любом бизнесе.
🗂На курсе мы погрузимся в темы:
• Information Management (IM)
• Data Quality (DQ)
• Data Governance (DG) (основные элементы, технологии и практики)
• Master Data Management (MDM)
• Управление и оценка эффективности DG
Каждый участник будет заполнять excel-гайд своего проекта Data Governance, применяя разделы курса на контекст своей компании.
📌Почему стоит выбрать этот курс?
• Сильная база: Вы поймете почему данные - это важно, в чем их реальная ценность и как 'продавать' проект менеджменту.
• Практическая направленность: Курс включает реальные кейсы и задачи из бизнеса.
• Нетворкинг: Участвуйте в активном обмене опытом с другими участниками курса и расширьте свою профессиональную сеть. На нашем курсе обучаются CDO и CIO таких компаний, как Максидом, Сбербанк, ВК, Sunlight и KFC.
🔝Записаться на курс
Там на Kaggle завезли новые ачивки 😇
Появились значки за активности под названием Badged (например, год на Kaggle, засабмитил в командное соревнование, создал Python ноутбук и прочее). Полный список тут.
Кроме этого появились так называемые Awards: это больше про фактические достижения типа мест в рейтингах, организации соревнований, публикации датасета и тд. Полный список тут.
Делитесь, кто сколько уже насчитал у себя?
👉 DataFrog | #datascience
