48228
Аналитика данных админ - @haarrp @ai_machinelearning_big_data - Machine learning @itchannels_telegram - 🔥лучшие ит-каналы @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚
🖥 Контроль за дрейфами предсказательных моделей и Popmon
Для решения задачи мониторинга данных в голландском банке ING была разработана библиотека Popmon для Python, название которой является сокращением от «population monitoring» — «наблюдение за популяцией».
В качестве датасета для демонстрации я буду использовать данные ежедневных замеров метеорологических сенсоров с 1961 по 1978 год: показания трех датчиков, минимальная и максимальная температура воздуха, минимальная температура травы, количество осадков и скорость ветра. Целью датасета является предсказание скорости ветра. Источник находится здесь.
Данная библиотека позволяет найти отклонения по входным и выходным данным в датасетах. Также имеется возможность провести сравнительный анализ датасета на основе статистики из другого.
Popmon умеет работать с датафреймами из библиотек Pandas и PySpark. В целях демонстрации я буду использовать Pandas.
▪Читать дальше
▪Github
@data_analysis_ml
Яндекс уже применяет нейросеть YandexGPT в браузере и в Алисе, голосовом помощнике. Какие профессии нужны, чтобы нейросеть становилась умнее, и как отбирают данные для обучения — расскажут сотрудники, работающие над YandexGPT.
→ Бесплатно, 21 августа в 19:00 Мск
Наши спикеры:
◾️Николай Зинов
Руководитель группы YaLM Alignment в Яндексе
◾️Ирина Барская
Руководитель службы аналитики и исследований в Яндексе
Вы узнаете:
— что такое нейросетевые языковые модели;
— как модель предобучают на гигантском наборе текстов, а затем учат делать то, что попросит человек;
— кто в этом участвует: разработчики, аналитики и другие специалисты;
— как аналитики собирают данные и почему эти данные так важны.
→ Зарегистрируйтесь на вебинар
Реклама АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033, erid:LjN8JvPzS
❗️Один из важнейших инструментов MLOps — это MLFlow.
▶️ 10 августа в 20:00 мск в рамках онлайн-курса MLOps от OTUS пройдёт открытый урок «MLflow версии 2. Рецепты и пайплайны в машинном обучении».
✅ На открытом уроке вы узнаете:
🔹 О развитии MLFlow и о том, какие усовершенствования вошли в новые релизы (2.x)
🔹 О роли пайплайнов в организации процессов машинного обучения
🔹 Что такое MLFlow recipes и как их использовать для повышения эффективности работы DS
🧑💻 Спикером выступит преподаватель OTUS Данила Слепов. Он проектирует AI-системы, разрабатывает архитектуру MLOps платформ.
👉 РЕГИСТРАЦИЯ
https://otus.pw/KJDp/Нативная интеграция. Информация о продукте www.otus.ru
🔥В OTUS открыт набор в группу курса “Язык R для анализа данных”. На серии открытых уроков преподаватели раскрывают возможности применения языка R и его особенности, а также делятся практическими советами.
Одна из сфер применения языка R — финансы. Поэтому мы решили посвятить этой теме следующее практическое занятие, участие в котором бесплатно.
📌14.08 в 20.00 (мск) приглашаем на вебинар “Анализ финансового портфеля с помощью языка R”, на котором разберем:
- как загружать и обрабатывать финансовые данные в R;
- способы сборки из данных портфелей;
- методы анализа построенного портфеля;
- характеристики портфеля.
Результат урока: вы научитесь работать с финансовыми данными в R. Построите финансовый портфель и узнаете какие есть подходы к анализу построенного портфеля.
👉Регистрация для участия https://otus.pw/Aa2R/
Не упустите возможность протестировать формат обучения и получить ценные знания. Приобретая курс, возможно оформить рассрочку на весь период обучения, а также получить скидку.
Нативная интеграция. Информация о продукте www.otus.ru
📎 Практическое применение Scrapy в Data Science
• Установка и настройкаpip install scrapy
• Основы веб-скрепинга
Чтобы проиллюстрировать фундаментальную концепцию Scrapy, давайте создадим простой веб-скрепер, извлекающий данные с сайта. В этом примере мы будем извлекать цитаты с сайта “http://quotes.toscrape.com”. Изображение 1.
✔️ Мы определяем класс с именем “QuotesSpider”, который наследуется от класса Scrapy Spider. Мы указываем URL-адреса, с которых парсер начинает собирать данные. Метод “parse” является точкой входа парсера, в нем мы извлекаем нужные данные (цитаты и авторов) с помощью CSS-селекторов. Для возврата извлеченных данных мы используем оператор “yield”.
• Продвинутые техники скрапирования
Рассмотрим две важные техники парсинга: работу с пагинацией на страницах и извлечение данных из страниц всех собранных страниц. Изображение 2.
✔️ Мы создаем класс под названием “ProductSpider” для сбора информации о товарах с сайта электронной коммерции. В методе “parse” мы извлекаем название продукта и его цену со страниц. Кроме того, мы переходим по ссылкам на страницы с подробной информацией с помощью метода “response.follow” и определяем отдельный метод “parse product” для разбора страниц с подробной информацией об отдельных товарах. В методе “parse_product” мы извлекаем дополнительные сведения, например, описание товара.
• Обработка входа в систему и аутентификации
Scrapy предлагает функции для обработки сценариев входа в систему и аутентификации, что позволяет собирать данные из закрытых областей сайта. Пример обработки входа в систему с помощью FormRequest: Изображение 3.
✔️ Мы создаем класс с именем “LoginSpider” для обработки процесса входа в систему. В методе “parse” мы извлекаем данные формы входа в систему, включая CSRF-токен. Затем мы отправляем форму входа в систему с помощью FormRequest, передавая данные формы и функцию обратного вызова “after_login” для обработки ответа. В методе “after_login” можно выполнять дальнейшие операции Парсинга на аутентифицированных страницах.
@data_analysis_ml
👀 12 лучших репозиториев GitHub по компьютерному зрению
Список из наиболее важных Awesome репозиториев GitHub, посвященных компьютерному зрению, которые охватывают широкий спектр исследовательских и образовательных тем. Огромный кладезь знаний из области CV.
1. Awesome Computer Vision
2. Computer Vision Tutorials by Roboflow
3. Transformer in Vision
4. Awesome Referring Image Segmentation
5. Awesome Vision Language Pretraining Papers
6. Awesome Vision and Language
7. Awesome Temporal Action Detection
8. Awesome Masked Autoencoders
9. Awesome Visual Transformer
10. Transformer-Based Visual Segmentation
11. CVPR 2023 Paper with Code
12. Awesome Deepfakes Detection
👍Лайк , если полезно
@data_analysis_ml
Скидка до 22% на ресурсы управляемых баз данных Greenplum и OpenSearch в Yandex Cloud
Теперь у вас есть возможность резервировать определенный объем ресурсов — Committed volume of services, CVoS — с фиксированной ценой в течение полугода или года. Это предложение доступно для всех пользователей и позволяет существенно сократить расходы при стабильном потреблении сервисов.
Условия CVoS распространяются на Yandex Managed Service for Greenplum и Yandex Managed Service for OpenSearch, работающие на платформах с процессорами Intel Ice Lake. Размер скидки: 15% при резервировании на пол года и 22% при резервировании на 1 год.
➡️ Подробнее по ссылке.
⚡️OTUS приглашает посетить открытый урок по Machine Learning для начинающих.
Тема: Разведочный анализ данных на Python для Machine Learning.
Вебинар приурочен к старту онлайн-курса "Специализация Machine Learning".
Дата: 9 августа, 18:00
На занятии мы поговорим о том как проводить первичный анализ данных с использованием фреймворка Pandas. Расскажем об основных аспектах анализа данных. Научимся обрабатывать признаки и заполнять пропущенные значения.
🙎🙎♀️Кому подходит урок:
- IT-специалисту, который хочет перейти в Data Science;
- Начинающему Data Scientist, желающему углубиться в профессию;
- Тому, кто самостоятельно изучает Data Science;
- Для того, кто хочет войти в IT, но не знает что выбрать.
После урока будет открыт доступ ко второму занятию "Введение в Machine Learning", а курс можно будет приобрести в рассрочку по спец.цене.
👉Регистрация: https://otus.pw/l2Tq/
📚Tricking Data Science
Настоящие кладезь знаний для дата сайентистов.
Будучи программистом, вы часто натыкаетесь на изящные трюки с кодом на StackOverflow или в блогах крутых специалистов и думаете про себя: "Эй, я должен это сохранить".
Вы сохраняете страницу в закладки, а через день забываете про это навсегда.
Но в голове у вас остается размытое значение, что есть какой-то действительно классный способ решения задачи, но вы не можете его вспомнить и написать код. С этим сталкиваются многие программисты, и все они по-разному справляются с этим (или не справляются) с этим. Так вот, эта книга - отличный способ справиться с этой проблемой.
Tricking Data Science - это коллекция фишек с кодом, советов, гайдов, проектов, библиотек, которые автор собрал за два года о науке о данных на Medium. Проект в виде книги опубликован в Jupyter Book.
📔 Книга
@data_analysis_ml
🚀Petals
Petals — это фреймворк, который позволяет дата сайентистам совместно запускать большие языковые модели.
Вы загружаете небольшую часть модели, а затем объединяетесь с людьми, обслуживающими другие части, для проведения вычислений или файнтюнига.
Инструмент позволяет генерировать текст с помощью LLaMA-65B или BLOOM-176B, и настраивать их для своих собственных задач.
Работает под GNU/Linux, macOS и Windows с WSL2.
Возможность подключить свой графический процессор, для увеличение мощности Petals.
▪Github
▪Colab
▪Статья
@data_analysis_ml
📕 Руководство по добавлению шума в синтетические данные с использованием Python и Numpy
❓Что такое шум?
Шум — это в основном бессмысленная информация, добавляемая к данным, которая приводит к их повреждению или искажению.
Наличие шума в данных является результатом их неправильного сбора и хранения.
Например, набор табличных данных может собирать шум из-за человеческих ошибок, таких как небрежное отношение к точности данных, усечение данных, неправильная маркировка данных, программные ошибки и мошенническое вмешательство в данные. Нечеловеческие причины шума обычно включают проблемы с датчиком камеры, проблемы с микрофоном и неправильную фильтрацию, вызывающую шум в изображениях и звуке.
Неправильное хранение фотопленок может привести к появлению шумов на пленках. Тепловые колебания в материале могут вызвать шум в электрических сигналах, проходящих в этом материале. Шум в радиосигналах может быть вызван электромагнитными помехами в космосе.
Шум также может быть добавлен намеренно по причинам, которые вы узнаете в следующем разделе. ➡️
▪Читать
@data_analysis_ml
🤖 Список полезных нейросетей для датасаентита:
• Amazon CodeWhisperer -сервиc, который помогает создавать приложения с помощью ии-помошника по написанию кода с поддержкой ML.
• Stenography - Автоматическое документирование кода.
• tabnine -Крутой сервис для автозаполнение кода.
Помогает автоматически дописывать функции на
Генерирует блоки кода на основе комментариев на естественном языке.
• GPT Engineer - генерация кода с помощью ИИ.
• Code Mentor - оптимизирует и рефакторит код.
• Polycoder - Генерирует код на 12 языках программирования.
• Cogram - переводит текстовый запрос на язык баз данных и интегрируется со средой разработки Jupyter.
• Copilot by GitHub - облегчает написание кода через автодополнение.
• CodeT5 - преобразовывает запрос в код и дописывает начатые функции.
• Ghostwriter - ИИ- программист с искусственным интеллектом для генерации кода.
• Agent GPT - устанавливает в вашем браузере ИИ-агента, который помогает в выполнении поставленной задачи.
• Mintlify - ИИ, который пишет документацию и комментарии.
• ExplainDev - инструмент, который обучает в процессе и помогает разобраться в коде.
@data_analysis_ml
Файнтюниг Llama 2 на пользовательском наборе данных за 4 шага с помощью Lit-GPT.
📌Github
📌Подробная инструкция
@data_analysis_ml
📝 Предварительная обработка текста в NLP с помощью Python.
Продолжаем тему NLP.
Предварительная обработка текста является одним из основных и важнейших этапов обработки естественного языка (NLP). Ее основная цель - очистить и преобразовать необработанные текстовые данные в презентабельную форму, пригодную для анализа и прогностического моделирования.
На картинках приведены основные этмпы и распространенные методы предварительной обработки текста.
@data_analysis_ml
🚀 ETL: Извлечение, преобразование, загрузка с Python!
🔎 Что такое ETL и почему он важен?
• Представьте себе владельца перспективного стартапа, вооруженного невероятным алгоритмом искусственного интеллекта, который предсказывает риск развития диабета на основе роста и массы тела.
• Однако ваши данные разбросаны по файлам CSV и JSON, а измерения производятся в разных единицах. Введите ETL!
ETL – аббревиатура от Extract, Transform, Load.
• Извлечение, преобразование и загрузка данных 🧲 – это сбор огромного количества данных из различных источников, преобразование их в единый формат и загрузка в центральную базу данных или целевой файл. 🗄️
📝 Реализуем ETL с помощью Python
• Начнем с определения функции extract, которая предполагает использование функции glob из модуля glob.
• Эта удобная функция позволяет находить файлы с определенными расширениями (например, .json и .csv) и извлекать из них данные, преобразуя их в фреймы данных для дальнейшей обработки. 📁
• Импортируем некоторые важные библиотеки, необходимые для выполнения операций!
В изображениях 1, 2, 3, 4.
🔄 Преобразование данных для обеспечения их целостности
@data_analysis_ml
✔ Redis Explained
Глубокое техническое погружение во все тонкости Redis.
В статье рассматриваются различные топологии Redis, персистентность данных и форкинг процессов.
Отличная иллюстрированная статья для глубокого понимания Redis.
▪Читать
@data_analysis_ml
Руководство по созданию бота YouTube с помощью LangChain и Pinecone Vectorstore 🤖📹
Просмотр часового видеоролика на YouTube по любой научной теме, безусловно, непростая задача. ИИ может помочь с этим.
К концу этого поста вы сможете создать свой собственный чат-бот для YouTube с искусственным интеллектом.
Я проведу вас через весь процесс шаг за шагом. Вы сможете:
•Создать модели OpenAI
•Загрузить исходные документы
•Разделить текст на фрагменты
• Создать и обработать векторные эмбеддинги
•Задать любой вопрос боту и получить ответ
Инициирование модели OpenAI
Запустим модель LLM и добавим в код ключ API. Мы будем использовать модель gpt-3.5-turbo , но вы можете выбрать любую другую.from langchain.llms import OpenAI
llm = OpenAI(model_name = 'gpt-3.5-turbo',
openai_api_key = 'ваш ключ',
temperature = 0.7)
Загрузка исходго видео.
Скопируйте и вставьте ссылку на видео с YouTube. Загрузите текст видео с помощью функции loader.load() и сохраните его в переменной, как показано ниже.from langchain.document_loaders import YoutubeLoader
loader = YoutubeLoader.from_youtube_url('<https://www.youtube.com/watch?v=ogEalPMUCSY&pp=ygUJTGFuZ2NoaWFu>')
doc = loader.load()
Разделение текста на фрагменты
Размделим весь PDF-файл с текстом из видео на фрагменты с помощью функциии RecursiveCharacterTextSplitter. Установим размер фрагмента 1000 и значение перекрытия фрагментов 10. Это позволит разбить документ на фрагменты по 1000 слов.from langchain.text_splitter import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=10)
text_chunks = text_splitter.split_documents(doc)
Создание и хранение векторных эмбеддингов
Настроим функцию эмбедингов OpenAIEmbeddings и хранилище векторов Pinecone. Подключим pinecone. Загрузите все текстовые фрагменты в векторное хранилище с помощью функции Pinecone.from_texts.from langchain.vectorstores import Pinecone
from langchain.embeddings import OpenAIEmbeddings
import pinecone
import tqdm
import os
embeddings = OpenAIEmbeddings(openai_api_key= 'ваш апи ключ')
pinecone.init(
api_key= 'PINECONE_API_KEY'
environment = 'PINECONE_API_ENVIRON'
)
index_name = 'chatchain'
docsearch = Pinecone.from_texts(texts = [t.page_content for t in text_chunks],embedding=embeddings, index_name=index_name)
Настроим запросыsimilarity_searh и k=4 выдаст 4 наиболее релевантных фрагмента, относящихся к нашему запросу. Передайте эти документы в load_qa_chain. Он просуммирует фрагменты в соответствии с нашим запросом и выдаст наилучший возможный ответ.from langchain.chains.question_answering import load_qa_chain
query = 'what is vector embeddings'
docs = docsearch.similarity_search(query, k=4)
chain = load_qa_chain(llm, chain_type = 'stuff')
chain.run(input_documents=docs, question=query)
С помощью этого чат-бота вы можете загрузить любое видео,, задать любые вопросы по нему и получить искомое за считанные секунды с помощью ии-бота.
📌Бесплатный курс от Activeloop на LangChain & Vector Databases in Production.
📌pinecone
📌Статья
@data_analysis_ml
🦙 MM-Vet: Evaluating Large Multimodal Models for Integrated Capabilities
MM-Vet - новый оценочный бенчмарк, который проверяет большие мультимодальные модели (БММ) на сложных мультимодальных задачах.
▪Github
▪Модель
▪Статья
▪Датасет
@data_analysis_ml
🔥 Awesome Data Science: List of Resources for Data Scientists
Продолжаем публиковать крутые Awesome репозитории. Тщательно подобранный список Awesome ресурсов по науке о данных.
▪Статьи
▪Книги
▪Шпаргалки
▪Датасеты
▪Инструменты
▪Игры
▪Курсы
и многое другое
🖥 Github
👍Лайк , если полезно
@data_analysis_ml
⚡️Маст-хэв список для программистов, каналы с последними книжными новинками, библиотеками, разбором кода и актуальной информацией, связанной с вашим языком программирования.
Лучший способ получать свежие обновлении и следить за трендами в разработке.
Машинное обучение: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
C#: t.me/csharp_ci
C/C++/ t.me/cpluspluc
Data Science: t.me/datascienceiot
Devops: t.me/devOPSitsec
Go: t.me/Golang_google
Базы данных: t.me/sqlhub
Rust: t.me/rust_code
Javascript: t.me/javascriptv
React: t.me/react_tg
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Linux: t.me/+A8jY79rcyKJlYWY6
Big Data: t.me/bigdatai
Хакинг: t.me/linuxkalii
Тестирование: /channel/+F9jPLmMFqq1kNTMy
Java: t.me/javatg
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка машинное обучение: /channel/addlist/_FjtIq8qMhU0NTYy
📕 Бесплатные Книги для программистов: /channel/addlist/YZ0EI8Ya4OJjYzEy
🎞 YouTube канал: uproger" rel="nofollow">https://www.youtube.com/@uproger
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🔮Как временные ряды помогают бороться с влиянием между группами в A/B-тестировании
Зачастую для того, чтобы правильно провести A/B-тест, может быть недостаточно случайно и стратифицированно разбить пользователей на группы. Могут помешать “сетевые эффекты“, которые сделают группы зависимыми. И это касается не только социальных сетей.
🪄Как понять, когда могут возникнуть такие проблемы? И как измерить, насколько сильно искажается эффект? Есть немало методов разного уровня сложности и надежности.
Но одним из самых простых и в то же время строгих методов является Interrupted Time Series Design.
Читайте статью о методе и делитесь своим мнением в комментах.
🚀 Отличный ,бесплатный мини-курс, который научит работе с LLM.
Курс содержит описание языковых моделей, описание задачи NLP с точки зрения теории информации и алгоритмов семплирования (т.е. генерации текста) с использованием языковых моделей.
В курсе представлены ноутбуки с кодом от базового до продвинутого, материалы по использованию Huggingface для генерации текста. Кроме того, будет предоставлено множество полезных ссылок на научные статьи и курсы.
📌 Курс
@data_analysis_ml
✅ 6 способов оптимизировать рабочий процесс в Pandas
#1. Отображение графиков в столбце DataFrame
Jupyter — это IDE на веб-основе. Поэтому при выводе DataFrame он отображается с использованием HTML и CSS. Это позволяет форматировать вывод так же, как и любую другую веб-страницу.
Одним из интересных способов такого форматирования является вставка встроенных графиков, которые появляются в столбце DataFrame. Их также называют “спарклайнами” (“sparklines”). В итоге мы получаем нечто подобное: *изображение 1.
Как это создать? Смотрите код ниже.
• Сначала выполним импорт:import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from base64 import b64encode
from io import BytesIO
from IPython.display import HTML
%matplotlib inline
• Теперь создадим выдуманный набор данных:n = 100
data = [
('Bitcoin', 40000*np.random.rand(n).round(2)),
('Ethereum', 2000*np.random.rand(n).round(2)),
('BNB', 500*np.random.rand(n).round(2)),
('Litecoin', 150*np.random.rand(n).round(2)),
]
df = pd.DataFrame(data, columns=['Name', 'Price History'])
df.head()
Name Price History
0 Bitcoin [24800.0, 12400.0, 14800.0, 24800.0, 20800.0, ...
1 Ethereum [1900.0, 380.0, 420.0, 1760.0, 800.0, 620.0, 1...
2 BNB [120.0, 170.0, 255.0, 255.0, 395.0, 150.0, 180...
3 Litecoin [126.0, 109.5, 94.5, 49.5, 81.0, 129.0, 66.0, ...
• В соответствии с четырьмя строками у нас есть список случайно сгенерированных историй цен. Теперь наша цель — добавить линейный график в каждую строку. Таким образом, мы можем создать функцию и использовать метод apply().
Как упоминалось выше, Jupyter отображает DataFrame с помощью HTML. Если мы придумаем способ, с помощью которого сможем предоставить HTML в качестве значения ячейки, ссылающейся на изображение, Jupyter сможет это отрисовать и отобразить соответствующий линейный график.
Вот код, который мы для этого используем:def create_line(data, **kwags):
# Преобразование данных в список
data = list(data)
# Создание объекта фигуры и оси с заданным размером и аргументами ключевых слов
fig, ax = plt.subplots(1, 1, figsize=(3, 0.25), **kwags)
# Построение графика из данных
ax.plot(data)
# Удаление границ в графике
for k,v in ax.spines.items():
v.set_visible(False)
# Удаление делений у осей x и y
ax.set_xticks([])
ax.set_yticks([])
# Создание красной точки в последней точке данных
plt.plot(len(data) - 1, data[len(data) - 1], 'r.')
# Заполнение области под графиком с помощью alpha=0.1
ax.fill_between(range(len(data)), data, len(data)*[min(data)], alpha=0.1)
# Закрытие графика, чтобы он не отображался
plt.close(fig)
# Сохранение графика как изображения в формате png и получение его бинарных данных
img = BytesIO()
fig.savefig(img, format='png')
encoded = b64encode(img.getvalue()).decode('utf-8')
# Возвращение закодированных данных изображения в виде тега изображения HTML
return '<img src="data:image/png;base64,{}"/>'.format(encoded)
Хотя часть построения довольно очевидна, сосредоточимся на том, для чего предназначены последние четыре строки кода (не включая комментарии).
Цель состоит в том, чтобы преобразовать график в изображение, которое может быть отображено на веб-странице.
📌 Продолжение
@data_analysis_ml
Почему датасаентисты тоже разработчики
Ещё в 2018 году работодатели требовали от DS-специалистов основы математики, теорию ML/DL, git и базовые знания python. Теперь даже для джунов к этому списку прибавляются Docker, FastAPI, k8s/ansible, CI/CD и прочие термины из Dev и Ops.
Чтобы соответствовать рынку, необходимо постоянно учиться и изучать смежные области. Но надо с чего-то начать. Можно начать с приведения в порядок репозиториев с экспериментами. Ребята с канала DeepSchool проводят бесплатную лекцию, где расскажут об этом подробнее.
На онлайн-лекции обсудят:
🔹почему датасаентисты тоже разработчики
🔹требования к DL-инженеру на рынке в 2023 году и почему они растут
🔹что изменить в экспериментах, чтобы приблизиться к соответствию этим требованиям
🔹какие шаги нужно предпринять и какие инструменты использовать, чтобы сделать эксперименты воспроизводимыми, прозрачными и доступными для команды
🔹и представят курс CV Rocket, а также подарят скидки на обучение и список полезных библиотек для CV инженера
Лекцию будут вести:
- Тимур Фатыхов — один из основателей школы DeepSchool, ex Lead CV Engineer KoronaPay
- Андрей Шадриков — Head of R&D в компании Verigram, команда которого занимает топовые позиции в независимых тестах биометрических систем
🗓 Лекция пройдет в четверг 3 августа в 18:00 Мск
🎁 При регистрации по ссылке в боте вы получите доступ к одной из лекций курса CV Rocket с разбором сверточных архитектур от VGG до Effnet. Лекция освежит в памяти основные открытия в сверточных архитектурах, поможет подготовиться к собеседованиям или улучшить свои модели!
Регистрируйтесь на лекцию в боте, чтобы повышать свои навыки в CV!
С чего начать путь в Data Science?
Данных становится всё больше с каждым годом и компаниям нужны специалисты, умеющие работать с Big Data. Но как войти в сферу и пробиться на рынке труда?
Расскажем обо всем на бесплатном вебинаре «Как начать карьеру в Data Science».
Ведущие вебинара:
▪️Анатолий Карпов — основатель школы Data Science и разработки karpovꓸcourses, работал ведущим аналитиком в Mail.Ru, VK и JetBrains.
▪️Оксана Васильева — руководительница карьерного центра karpovꓸcourses, трудоустроевшего более 1500 учеников
На вебинаре вы узнаете:
- Как перейти в Data Science
- Как понять, какую профессию выбрать: аналитика данных или машинное обучение
- Как пробиться на рынке и получить первый оффер и опыт
- С чего начать погружение в профессию
Вебинар пройдет 8 августа в 19.00.
Постройте карьерный трек в Data Science вместе с нами!
Регистрируйтесь по ссылке!
Оптимизации работы Jupyter notebook при помощи параллельных вычислений (Библиотека Joblib)
В данном посте я расскажу о возможностях применения параллельных вычислений в интерактивной среде Jupyter notebook языка Python.
Для чего нам необходим параллелизм?
Параллелизм играет важную роль в задачах Data Science, так как может значительно ускорить вычисления и обработку больших объемов данных.
Вот некоторые основные причины, почему мультипроцессинг важен для этих задач:
🟢Ускорение вычислений: многие задачи в DS, такие как обучение моделей машинного обучения, кластеризация, обработка изображений и анализ больших данных, являются вычислительно интенсивными. Использование параллельных вычислений позволяет распределить работу между несколькими ядрами процессора или даже между несколькими компьютерами, что приводит к существенному ускорению выполнения задач.
🟢 Обработка больших объемов данных: параллельные вычисления позволяют эффективно распараллелить обработку данных, разделив ее на более мелкие части и выполняя их одновременно.
🟢 Оптимизация гиперпараметров: за счет параллельного выполнения экспериментов с различными значениями гиперпараметров можно ускорить процесс поиска оптимальных параметров модели.
🟢 Обработка потоковых данных: может быть необходимо обрабатывать потоковые данные в реальном времени. Мультипроцессинг позволяет эффективно обрабатывать и анализировать потоки данных, особенно в случае высоких нагрузок и необходимости обработки данных в режиме реального времени.
В языке Python уже есть реализация параллелизма на основе базового модуля — multiprocessing. Тогда почему в Jupyter notebook он не будет работать?
🟢 Читать
@data_analysis_ml
Just wanted to share with you that CrunchDAO is organizing the ADIA Lab Market Prediction Competition with a 100 000 USD Prize pool!
Here is what we offer (on top of the 100 000$ Prize pool) for you to participate).
- 128$ (40$Crunch) if you score > 3.5
- 320$ (100$Crunch) if you score > 4
These rewards are paid in $Crunch (you can swap it against USDC whenever you want).
They are only intended for you and can only work if you register through this link : https://crunchdao.com/live/adialab
The challenge of the competition is to rank the investments from best to worst at each given date. The scoring function for the competition is based on Spearman's rank correlation, which measures how well the predicted ranking of the investments matches up with the actual ranking.
🤗 HuggingFace Model Downloader
Полезный инструмент, написанный на Go для загрузки HuggingFace моделей.
Утилита дает возможности многопоточной загрузки файлов LFS и гарантирует целостность загруженных моделей, проверяя их контрольную сумму SHA256.
Скачивание происходит в разы быстрее, чем при использовании Git LFS.
Скрипт загрузит нужную версию на основе os/arch и сохранит бинарник под именем "hfdownloader" в той же папке: bash <(curl -sSL https://g.bodaay.io/hfd) -h
▪ Github
@data_analysis_ml
🚗 Тест-драйв PyTorch 2.0 и заглядываем под капот «двушки»
JIT-компиляция (Just-In-Time compilation) - это процесс, при котором код на высокоуровневом языке преобразуется в код на низкоуровневом языке, который может быть быстрее и эффективнее исполнен процессором или графическим ускорителем. torch.compile() использует TorchDynamo и заданный бэкенд для JIT-компиляции кода PyTorch.
Для того чтобы понять, как работает torch.compile() рассмотрим основные его компоненты, которые отвечают за различные аспекты JIT-компиляции кода PyTorch:
• TorchDynamo – это динамический компилятор, который анализирует код PyTorch и определяет, какие части кода могут быть скомпилированы в оптимизированные ядра. Отслеживает изменения в коде и перекомпилирует его при необходимости.
• AOT AutoGrad – это система автоматического дифференцирования, которая позволяет вычислять градиенты для скомпилированных ядер. Генерирует код для обратного распространения ошибки во время компиляции, а не во время исполнения, что ускоряет процесс обучения нейронных сетей.
• PrimTorch – это набор примитивных операций, которые используются для построения скомпилированных ядер. Включает в себя базовые математические и логические операции, а также операции над тензорами, такие как сложение, умножение, свертка и т.д.
• TorchInductor – это бэкенд для JIT-компиляции кода PyTorch в оптимизированные ядра для разных устройств. Поддерживает разные бэкенды и адаптирует код PyTorch к специфике каждого устройства.
Далее подробнее рассмотрим, как работают компоненты TorchDynamo и TorchInductor и как они взаимодействуют друг с другом, чтобы обеспечить JIT-компиляцию кода PyTorch.
📌Читать
@data_analysis_ml
🔥 Бесплатный курс: Прикладная математика для машинного обучения
Курс направлен на студентов без математического бэкграунда. Будут изложены основные понятия необходимые для понимания методов, на которых строится машинное обучение и модели нейронных сетей. Также целью курса является разъяснить как могут быть преобразованы и представлены данные для последующего обучения моделей на них.
Курс состоит из 13 лекций и 13 семинаров. На лекциях излагаются теоретические основы перечисленных тем, с простыми примерами. На семинарах планируется разбор, демонстрация и практика применения программных реализаций и алгоритмов обозначенных теоретических объектов.
После освоения курса от слушателя ожидается в первую очередь понимание того, что из себя представляют как представлять свои данные численно, и как они обрабатываются моделями машинного обучения численно. Одновременно с этим, курс не ставит перед собой цель, обучить всех строгому выводу каждой формулы и каждой теоремы, только понимание требующееся для прикладного использования.
https://teach-in.ru/course/applied-mathematics-for-machine-learning/about
@data_analysis_ml