Всем привет! 👋
👉 Меня зовут Максим. Я занимаюсь DS более 3-х лет. Имею большой опыт участия в соревнованиях. Люблю находить малоизвестные разработки, применять нестандартные подходы, решать трудные прогерские задачи.
Пару фактов обо мне:
🌟Stargazer: более 200 звезд на гитхабе
🪐Хакатонщик: более 40 участий за все время
🔥Упорный: коэффициент побед выше 0.5
Только за этот год я поучаствовал в 20 соревнованиях.
Вот результаты некоторых из низ:
TENDER HACK - 1 место из 20 команд
Zakupki.Hack - 1 место из 18 команд
MTS TRUE HACK - 2 место из 90 команд
У меня также есть и другие проекты, например - @gradientdip
👉 Меня зовут Максим. Я занимаюсь DS более 3-х лет. Имею большой опыт участия в соревнованиях. Люблю находить малоизвестные разработки, применять нестандартные подходы, решать трудные прогерские задачи.
Пару фактов обо мне:
🌟Stargazer: более 200 звезд на гитхабе
🪐Хакатонщик: более 40 участий за все время
🔥Упорный: коэффициент побед выше 0.5
Только за этот год я поучаствовал в 20 соревнованиях.
Вот результаты некоторых из низ:
TENDER HACK - 1 место из 20 команд
Zakupki.Hack - 1 место из 18 команд
MTS TRUE HACK - 2 место из 90 команд
У меня также есть и другие проекты, например - @gradientdip
👍6👏2🥰1🤩1💋1
💡 Metric Learning
(Туториалы в конце)
👉 Одно из направлений в глубоком обучении, которое нацелено на качественное кодирование модальностей.
☝️Активно применяется в задачах ранжирования, поиска, детектирования выбросов и кластеризации.
📎 Отличается от классического подхода к обучению тем, что наша главная задача - минимизировать расстояние между векторами похожих объектов основываясь на деталях, семантике.
Выделяют 2 основных подхода к обучению:
1️⃣ Контролируемое - мы хотим создать границу между классами, учитывать расстояние до ближайшей границы другого класса и объектами внутри классов.
2️⃣ Обучение без учителя - нелинейная техника для понижения размерности c сохранением структуры данных.
Может быть интересно:
Active Metric Learning - алгоритм сам решает, на чем лучше обучаться и экономит ресурсы пользователя.
Laplacian Eigenmaps - метод понижения размерности для сохранения локальной геометрии объектов (ближайшие объекты остаются близкими).
@data_morning
Metric Learning Tutorial [Parag Jain]
Практический Metric learning
sklearn-metric-learn
(Туториалы в конце)
👉 Одно из направлений в глубоком обучении, которое нацелено на качественное кодирование модальностей.
☝️Активно применяется в задачах ранжирования, поиска, детектирования выбросов и кластеризации.
📎 Отличается от классического подхода к обучению тем, что наша главная задача - минимизировать расстояние между векторами похожих объектов основываясь на деталях, семантике.
Выделяют 2 основных подхода к обучению:
1️⃣ Контролируемое - мы хотим создать границу между классами, учитывать расстояние до ближайшей границы другого класса и объектами внутри классов.
2️⃣ Обучение без учителя - нелинейная техника для понижения размерности c сохранением структуры данных.
Может быть интересно:
Active Metric Learning - алгоритм сам решает, на чем лучше обучаться и экономит ресурсы пользователя.
Laplacian Eigenmaps - метод понижения размерности для сохранения локальной геометрии объектов (ближайшие объекты остаются близкими).
@data_morning
Metric Learning Tutorial [Parag Jain]
Практический Metric learning
sklearn-metric-learn
🔥4
StackLLaMA: A hands-on guide to train LLaMA with RLHF
Команда Hugging Face описывает все этапы обучения модели LLaMA с RLHF на вопросах-ответах Stack Exchange с кодом и демо результатом.
@data_morning
StackLLaMA
Команда Hugging Face описывает все этапы обучения модели LLaMA с RLHF на вопросах-ответах Stack Exchange с кодом и демо результатом.
@data_morning
StackLLaMA
👍1
Про облачные технологии
Так получилось, что за последнее время мне удалось попробовать облака MTS Cloud и Yandex Cloud.
В обоих попробовал виртуальные машины, но в Яндексе дополнительно S3 и DataSphere.
Виртуалки понравились в обоих случаях. Работают стабильно и без перебоев, но в MTS они создаются дольше и выбора реигонов, как и комплектации, гораздо меньше.
DataSphere - неудобная и зависающая платформа, в которой ты переплачиваешь за встроенные сервисы. Colab и Kaggle значительно лучше функционируют и требуют меньшую плату. В несколько раз выгоднее самому поднять виртуалку и обучать на ней.
Yandex S3 - оч прикольная штука, которая позволяет быстро перемещать данные. Удобно при сохранении чекпоинтов моделей, когда работаешь с каглом/колабом. Неплохой вариант в качестве хранилища данных (временного конечно), особенно когда у тебя проблемы с интернетом или google drive ограничивает загрузку.
Позже хочу опробовать хостинг с помощью S3 (да, так можно) и Cloud Functions для хоста тг ботов.
@data_morning
Вообще, у Яндекса классная документация и кажется, что по ней можно учить линуксовские команды.
Так получилось, что за последнее время мне удалось попробовать облака MTS Cloud и Yandex Cloud.
В обоих попробовал виртуальные машины, но в Яндексе дополнительно S3 и DataSphere.
Виртуалки понравились в обоих случаях. Работают стабильно и без перебоев, но в MTS они создаются дольше и выбора реигонов, как и комплектации, гораздо меньше.
DataSphere - неудобная и зависающая платформа, в которой ты переплачиваешь за встроенные сервисы. Colab и Kaggle значительно лучше функционируют и требуют меньшую плату. В несколько раз выгоднее самому поднять виртуалку и обучать на ней.
Yandex S3 - оч прикольная штука, которая позволяет быстро перемещать данные. Удобно при сохранении чекпоинтов моделей, когда работаешь с каглом/колабом. Неплохой вариант в качестве хранилища данных (временного конечно), особенно когда у тебя проблемы с интернетом или google drive ограничивает загрузку.
Позже хочу опробовать хостинг с помощью S3 (да, так можно) и Cloud Functions для хоста тг ботов.
@data_morning
Вообще, у Яндекса классная документация и кажется, что по ней можно учить линуксовские команды.
🔥4💩1
Ограничения искусственного интеллекта
OpenAI считают (и заявляли в дискуссиях с правительствами), что запуск процесса тренировки подобных моделей должен сопровождаться сообщением о нём государству и/или регулятору. [2023]
Если вы думаете, что только сейчас начали стандартизировать искусственный интеллект, то вы сильно ошибаетесь.
Вот пример:
The AI Methods, Capabilities and Criticality Grid [2021]
Документ, который описывает возможное применение искусственного интеллекта в бизнесе и его последствия. Это своего рода переводчик с языка программистов на язык бизнеса, который поможет понять, что можно ожидать от разработки и какие преимущества она может принести.
Несколько других интересных событий:
ИИ системы могут получать патенты в соответствии с австралийским патентным законодательством [2021]
Апелляционный суд США окончательно разрешил собирать публичные данные в Интернете [2022]
@data_morning
Также стоит упомянуть историю с Copilot, где разработчики жаловались на то, что модель просто повторяет их код без изменений. Новости об этом были актуальны недавно, но последний апдейт по этой теме был 4 ноября 2022.
OpenAI считают (и заявляли в дискуссиях с правительствами), что запуск процесса тренировки подобных моделей должен сопровождаться сообщением о нём государству и/или регулятору. [2023]
Если вы думаете, что только сейчас начали стандартизировать искусственный интеллект, то вы сильно ошибаетесь.
Вот пример:
The AI Methods, Capabilities and Criticality Grid [2021]
Документ, который описывает возможное применение искусственного интеллекта в бизнесе и его последствия. Это своего рода переводчик с языка программистов на язык бизнеса, который поможет понять, что можно ожидать от разработки и какие преимущества она может принести.
Несколько других интересных событий:
ИИ системы могут получать патенты в соответствии с австралийским патентным законодательством [2021]
Апелляционный суд США окончательно разрешил собирать публичные данные в Интернете [2022]
@data_morning
Также стоит упомянуть историю с Copilot, где разработчики жаловались на то, что модель просто повторяет их код без изменений. Новости об этом были актуальны недавно, но последний апдейт по этой теме был 4 ноября 2022.
👍6
Tweets for Stocks
Вы наверняка слышали о том, как сообщения известных личностей могут повлиять на цены акций. Нашел проект, в котором решили проверить существует ли зависимость между твитами и изменением цен на акции.
Для этого они использовали несколько моделей, включая catboost, tr roberta и naive bayes. Наилучший результат на классификации (повышение/понижение цены) составил 0,58.
@data_morning
В репозитории есть все ноутбуки.
Страница проекта
Вы наверняка слышали о том, как сообщения известных личностей могут повлиять на цены акций. Нашел проект, в котором решили проверить существует ли зависимость между твитами и изменением цен на акции.
Для этого они использовали несколько моделей, включая catboost, tr roberta и naive bayes. Наилучший результат на классификации (повышение/понижение цены) составил 0,58.
@data_morning
В репозитории есть все ноутбуки.
Страница проекта
👍9
Multilingual databricks dolly 15k
Набор из 15 000 высококачественных пар запросов/ответов (инструкций), созданных людьми и предназначенных для настройки больших языковых моделей. Может применяться в коммерции.
Сделал параллельный корпус на 6 языков (Russian, English, Kazakh, Spanish, Italian, French) из исходного databricks-dolly-15k. Всего около 90к строк.
Ждем Dolly v2 для русского.
@data_morning
Данные на Kaggle
Попробовать Dolly v2
Набор из 15 000 высококачественных пар запросов/ответов (инструкций), созданных людьми и предназначенных для настройки больших языковых моделей. Может применяться в коммерции.
Сделал параллельный корпус на 6 языков (Russian, English, Kazakh, Spanish, Italian, French) из исходного databricks-dolly-15k. Всего около 90к строк.
Ждем Dolly v2 для русского.
@data_morning
Данные на Kaggle
Попробовать Dolly v2
🔥8👍1💩1
ML Model Watermarking
SAP сделали инструмент для защиты моделей машинного обучения путем добавления водяных знаков (в веса модели) на основных фреймворках: Scikit-learn, PyTorch, HuggingFace.
Добавление водяных знаков не сильно влияет на точность модели, но позволяет доказать ее владение и предотвратить несанкционированное использование.
@data_morning
github
SAP сделали инструмент для защиты моделей машинного обучения путем добавления водяных знаков (в веса модели) на основных фреймворках: Scikit-learn, PyTorch, HuggingFace.
Добавление водяных знаков не сильно влияет на точность модели, но позволяет доказать ее владение и предотвратить несанкционированное использование.
@data_morning
github
🔥10🌚2👍1🤔1
Confusion Matrix
Вероятно вы сталкивались с ней, когда изучали метрики классификации. Считать таблицу приходится крайне редко, но бывает необходимо во время собеседований.
Задача решается просто, когда мы работаем с бинарной классификацией - легко запомнить 4 случая. Но как считать матрицу, когда у нас N лейблов?
Не советую запоминать картинку как FN - строка или FP - колонка. Порешайте, потупите, но осознайте.
Сам я понял это примерно так:
Выбираем класс (пусть будет Boat)
Смотрим на советующие колонку и строку
TP - мы верно предсказали
FP - мы предсказали Boat, хотя должны что-то другое
FN - мы предсказываем что-то другое, хотя лейбл Boat
TN - все, что не попало в TP, FP, FN
Теперь нам известны значения для класса Boat.
@data_morning
Про Confusion Matrix и micro, macro усреднение (очень понравилась статья, есть примеры и иллюстрации)
Вероятно вы сталкивались с ней, когда изучали метрики классификации. Считать таблицу приходится крайне редко, но бывает необходимо во время собеседований.
Задача решается просто, когда мы работаем с бинарной классификацией - легко запомнить 4 случая. Но как считать матрицу, когда у нас N лейблов?
Не советую запоминать картинку как FN - строка или FP - колонка. Порешайте, потупите, но осознайте.
Сам я понял это примерно так:
Выбираем класс (пусть будет Boat)
Смотрим на советующие колонку и строку
TP - мы верно предсказали
FP - мы предсказали Boat, хотя должны что-то другое
FN - мы предсказываем что-то другое, хотя лейбл Boat
TN - все, что не попало в TP, FP, FN
Теперь нам известны значения для класса Boat.
@data_morning
Про Confusion Matrix и micro, macro усреднение (очень понравилась статья, есть примеры и иллюстрации)
👍6
🥋Парсинг кода
👉 tree-hugger - надстройка над tree-sitter (абстрактное синтаксическое дерево) для Python, PHP, Java, JavaScript, C++.
Основной плюс этого API - запуск из питона. Часто парсеры пишутся и запускаются из под одного языка (Условный парсер Go написан на Go). Это накладывает некоторые ограничения, когда приходится работать с несколькими ЯП.
🔥 Библиотека адаптирована под датамайнинг из открытых репозиториев и позволяет добавлять другие языки.
@data_morning
Github
👉 tree-hugger - надстройка над tree-sitter (абстрактное синтаксическое дерево) для Python, PHP, Java, JavaScript, C++.
Основной плюс этого API - запуск из питона. Часто парсеры пишутся и запускаются из под одного языка (Условный парсер Go написан на Go). Это накладывает некоторые ограничения, когда приходится работать с несколькими ЯП.
🔥 Библиотека адаптирована под датамайнинг из открытых репозиториев и позволяет добавлять другие языки.
@data_morning
Github
🔥7❤1
Fonetika
👉Библиотека позволяет представить варианты написания одного слова как последовательность букв и цифр, может измерять расстояние между фонемами.
корован -> 3090208
караван -> 3090208
К0р0ван -> 3090208
километр -> 30708049
кoрован -> 3090208 (первая 'o' - латиница)
🔥Кейс - проверка никнейма на запрещенные слова
@data_morning
Github
👉Библиотека позволяет представить варианты написания одного слова как последовательность букв и цифр, может измерять расстояние между фонемами.
корован -> 3090208
караван -> 3090208
К0р0ван -> 3090208
километр -> 30708049
кoрован -> 3090208 (первая 'o' - латиница)
🔥Кейс - проверка никнейма на запрещенные слова
@data_morning
Github
🔥16👍1🤯1