Интересное что-то
517 subscribers
2.72K photos
253 videos
139 files
4.52K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Материалы с курса ML System Design

Два моих хороших товарища Mikhail Rozhkov и Alexander Guschin выложили в открытый доступ материалы по ML System Design курсу в HARBOUR.SPACE в git

C Мишей мне довелось поработать над курсом MLOps для Data Science и разработки ML моделей, а с Сашей часто общаемся по самым разным вопросам =)

Так же советую ознакомиться с постом на medium

И подписаться на канал Саши в телеграме
#llm #blog

Трендовые статьи по Large Language Model

Пост в блоге

Краткое содержания блогпоста:
- самокоррекция в LLM через обучение с подкреплением: Google Deepmind предложили инновационный подход для повышения способности больших языковых моделей (LLM) к самокоррекции.
- квантование LLM для выполнения инструкций: Было установлено, что методы квантования существенно влияют на производительность LLM. Ключевое наблюдение – квантование моделей с большими параметрами (405B) часто дает лучшие результаты.
- память в LLM: Было доказано, что LLM обладают памятью, а архитектура Transformer выполняет функцию аппроксимации входных данных, демонстрируя «память Шрёдингера», которая активируется входными данными.
- Logic-of-Thought для улучшения рассуждений LLM: Новый подход Logic-of-Thought (LoT) показал значительное улучшение производительности LLM на задачах логического рассуждения, в частности, на наборах данных ReClor, LogiQA и ProofWriter.

Пост в блоге
Forwarded from Katser
Open-source наработки в промышленности

Одна из мер поддержки опен-сорса в РФ, упомянутая отчете из этого поста, это гранты Код-ИИ. Я и сам участвовал в проекте, получившем такой грант. В этом посте поделюсь парой проектов, получивших грант и относящихся к промышленности.

1️⃣ CVFlow (13 звезд, последний коммит 4 месяца назад) — открытая библиотека CV для промышленности
Github | Youtube

Решает следующие задачи:
🔘Определение положения объектов в пространстве и расстояния между ними
🔘Поиск дефектов и прочих образований на материале
🔘Распознавание номера автомобилей
🔘Распознавание номера вагона поезда
🔘Распознавание QR и штрихкодов
🔘Классификация транспортных средств
🔘Гранулометрия, распознавание размеров однородных объектов
🔘Определения скорости объектов по видеопотоку

Из реально интересных задач: гранулометрия и поиск дефектов на материале.

Из преимуществ: доступны веса предобученных моделей, хотя нет доступных данных.

2️⃣ TSAD — Time Series Analysis for Simulation of Technological Processes (39 звезд, последний коммит 5 месяцев назад) — python библиотека для решения ML задач в промышленности
Github | Youtube

Решает следующие задачи:
🔘Прогнозирование временных рядов
🔘Поиск аномалий
🔘Автоматизированный разведочный анализ данных
🔘Предварительная обработка данных
🔘Визуализация результатов
🔘Оценки качества решения задач, включая специфичные задачи типа changepoint detection

Из преимуществ: неплохая документация, доступны данные, упор на работу с промышленными данными и решение задач PHM (Prognostics and Health Management)

Общий недостаток обеих библиотек: недостаточность функционала и недоработанность кода/подходов. Зато у каждого есть шанс поучаствовать и улучшить библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 🗞 Виз Ньюз (Nikita Rokotyan)
Делюсь с вами большущей доской, на которой собраны различные инструменты для OSINT — разведки по открытым данным. А вот тут еще можно посмотреть вебинар с обзором этих инструментов.

Автор — Клаудия Титце (Claudia Titze), известный в узких кругах OSINT специалист. Еще на ее сайте можно найти интересные видео, в которых она рассказывает про некоторые свои расследования.

@dataviznews
Forwarded from Young&&Yandex
🤟 Тренировки по ML 2.0

Первая лекция стартует 25 октября в 19:00. Для подготовки собрали ещё немного тренировок и разборов домашних заданий — освежите знания перед стартом нового сезона:

⚫️ Лекции
1. Вводная по ML + knn
2.
Линейная регрессия и регуляризация
3.
Линейная классификация, метод максимального правдоподобия
4.
Решающие деревья, композиции деревьев, Random Forest
5.
Градиентный бустинг, тонкости обучения
6.
Обзорная лекция по DL
7.
Оценка значимости признаков, обучение без учителя
8.
Бонусная встреча. Как перейти от теории к практике

⚫️ Разборы заданий
Разбор домашнего задания 1
Разбор домашнего задания 2
Разбор домашнего задания 3
Разбор домашнего задания 4

Одновременно запускаем набор на трек Алгоритм, регистрируйтесь по ссылке 🫰
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from эйай ньюз
This media is not supported in your browser
VIEW IN TELEGRAM
Авторы Chatbot Arena выпустили расширение для VS Code для оценки моделей для кодинга. По сути, это бесплатный копайлот, где предлагают выбирать из нескольких вариантов, сгенеренных разными моделями. Это должно позитивно повлиять на оценку моделей для кода, ведь именно автодополнение никто больше не бенчит. Отдельная арена тут может помочь до какой-то степени, пока разработчики на неё не оверфитнулись. А дальше придётся придумывать новые бенчи.

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

Скачать

@ai_newz
Audio
Наткнулся на научную статью на 16 страниц про BERT (модель машинного обучения для обработки естественного языка, разработанная Google в 2018 году) и решил протестировать этот бесплатный сервис, который сам Альтман лайкнул.

Закинул ссылку на статью и нажал на "Deep dive conversation" (подкаст с детальным обсуждением). Через пару минут получил отличный 10-минутный подкаст, в котором два ведущих — эксперт и новичок — обсуждают основные идеи статьи на понятном "человеческом" языке.

Озвучка получилась действительно крутой — интонации и эмоции передаются очень хорошо, и что важно, в этом подкасте есть смысл: там не просто какой-то сгенерированный текст. Я прикрепил аудиофайл — можете сами заценить. Жаль, конечно, что пока такие подкасты можно генерировать только на английском языке.

Но я решил сделать ещё вот что:
- Скачал аудиофайл подкаста.
- В бесплатной Google AI Studio загрузил файл и попросил извлечь текст.
- К моему удивлению, он справился с этим отлично.
Попросил написать текст на русском и добавить указания "авторов слов", то есть "ведущий 1" и "ведущий 2".

В итоге получил текстовую версию подкаста по научной статье на русском языке (результат здесь). Остался только последний шаг! Какой моделью качественно озвучить этот подкаст на русском языке?

Может, посоветуете что-то? В идеале, конечно, бесплатный сервис бы.
Привет, ребята 👋

Месяц назад я купил платную подписку на Poe и хочу сказать, что в целом это вполне себе альтернатива ChatGPT Plus.

Самые большие минусы для меня:
- Отсутствие возможности "надиктовывать", довольно плохо распознаёт речь на русском и немецком языке.

- К сожалению, нет функции Data Analyst / Code Interpreter для запуска python кода (или, по крайней мере, я не нашел среди ботов).

- Нет недавно добавленного в ChatGPT Canvas , ну и Artifacts, как у Claude

- На обработку изображений тратится очень много «поинтов» (всего 1 млн поинтов дают на месяц) по сравнению с текстом.

- GPT-4o в Poe отвечает намного короче, всего 1-2 предложения, по сравнению с оригинальным ChatGPT (если не просить "напиши подробнее").

Плюсы:
- Зато Claude отвечает очень структурировано и развернуто, особенно версия Claude 3.5 Sonnet. Возможно, для моделей Claude используется специальный системный промпт, который делает ответы более развёрнутыми.

- Жирный плюс - это конечно возможность сравнивать ответы моделей прямо в одном чате.

- Ещё есть поиск, разные боты с другими функциями и моделями, в том числе и опенсорсными.

- У Poe есть мобильное и десктопное приложение, а ботам можно подгружать базу знаний и системные промпты, как в GPTs.

- Нет дневных или недлеьных лимитов на 4o или о1-preview, есть только месячный, но его хватает за глаза (как по мне) и можно использовать так, как тебе удобно

- Нет функции "Memory", но я лично в ChatGPT отключил эту функцию, так как она предлагает сохранять много не нужных данных/фактов обо мне в каждом чате.


В общем, если кому-то интересна альтернатива ChatGPT Plus, рекомендую попробовать Poe! К тому же, он работает без VPN, что удобно для тех, кто находится в регионах, где ChatGPT недоступен.
Please open Telegram to view this post
VIEW IN TELEGRAM
😢 Думал, что выкладывал сюда эту статью, но нет :(

50 оттенков линейной регрессии, или почему всё, что вы знаете об A/B тестах, помещается в одно уравнение

Авторы предлагают рассмотреть привычные нам методы A/B тестов с точки зрения уравнения линейной регрессии.

Формула, которая используется на протяжении всей статьи

Y = b0+ b1D + e, где D - принадлежность к группе теста или контроля (1 и 0), b0 - матожидание в контроле, b0+b1, матожидание в тесте


Что в статье?

1. Про стандартную оценку эффектов, ATE (Average Treatment Effect)

2. CUPED

3. Стратификация

4. Все в одном уравнении, такое тоже есть, все через модель линейной регрессии.

5. Пример на Python, оценка теста, используя модель линейной регрессии.

В общем, статья хорошая, ставлю лайк 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
Propensity Score Matching (Causal Inference ч. 2).

Сегодня обсудим то, что такое, рассмотрим какие-то кейсы и то, как можно интерпретировать то, что получается с помощью этого метода

Итак, представьте, вы раскатили фичу на всех, оценить эффект может быть очень тяжело, либо невозможно по причинам, указанным выше. Например, запустили какой-то функционал, хотите понять эффект спустя какое-то время на срезе тех пользователей, кто пользуется фичой. Но тут у вас возникает вопрос (скорее всего), а с кем сравнивать вообще, как оценить влияние на бизнес? Должно быть понятно, что если мы раскатили фичу на срез пользователей в >=50%, то матчить будет не из кого.

Наверное, вы или ваш менеджер продукта определяет различные сроки проектов, т.е. с этим у нас проблем нет (treatment date, предположим, у нас есть). Это означает, что мы знаем фактическую дату раскатку фичи, формата и так далее, но нам важно честно замерить эффект. Ранее я прикреплял видео по PSM, где аналитик из Маркета рассказывал то, как оценивать эффект.

Как это реализуется? У нас есть срез пользователей, кто является для нас таргетом. Для них нужно подобрать репрезентативный контроль таким образом, чтобы в предпериоде (так же, как и при рандомной семплировании при A/B тестировании) целевые метрики / ковариаты не расходились. В общем случае в различных сегментах наши пользователи могут различаться (например, нашей фичой пользуется сегмент богатых, а мы сравниваем их со всеми, нечестно, получается). На данном этапе мы хотим подобрать максимально похожих пользователей на основе некого значения Propensity Score (прикрепил статейку от X5, тут очень интересно можно прочитать про это) и тут

Алгоритм:
1. Собираем признаковое пространство на сущность, которую мы хотим тестировать с таргетом - отнесение к определенному срезу пользователей (бинарная случайная величина).
2. Определяем вероятность отнесения к определенной группе, можно воспользоваться predict_proba для любого классификатора, в качестве бейзлайна
3. На выходе нам нужно подобрать наиболее подходящие группы по Propensity Score (можно использовать Nearest Neighbors, предварительно обученной на тритменте, поскольку мы предполагаем, что тритмента меньше, чем контроля + нам нужно замерить именно ATT, Average Treatment Effect of the Treated), таким образом получить наложенные друг на друга плотности вероятности ковариат (признаки) и таргета (целевой метрики, например, количество заказов).

На выходе получаем группу пользователей (не всегда 1:1, в зависимости от того, какое можно задать правило, у этого есть свои приколы). Вопрос того, насколько сильный дисбаланс и насколько маленькая группа (среди тех, кого надо матчить). Статейка со с цитатой ниже
Classical 1:1 matching without replacement may not be the most suitable approach when the number of individuals enrolled in a study is small, and when an imbalance in terms of treated and untreated subjects is present. Moreover, the initial sample size of the study, which is generally small, can be further reduced, increasing the sampling variability associated with the treatment effect estimate and reducing the accuracy of the findings


Далее можно построить временные ряды на предпериоде, получить то, что мы могли бы сделать при рандомной семплировании в A/B тестировании (метрики не должны разъезжаться на предпериоде). Далее, мы можем отобразить эффект как ступеньку, которую можно будет увидеть графически, либо применить статистический тест.

У метода могут быть проблемы, если сравнивать с классическим A/B тестом (в т. ч. сложность интерпретации, много условий, определенные искажения и смещения

🍪🍪 Если вам было интересно, ставьте реакции, пересылайте друзьям / коллегам, пишите комментарии, а я в следующих постах разберу более подробно другие вариации или разберу статейки по Propensity Scores, различные подходы и др.
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Изучаем SQL индексы!

Индексы в базах данных — это структуры, которые помогают ускорить поиск и извлечение данных.

Вот основные типы индексов:
B-Tree индексы: Наиболее распространённый тип индексов. Используется для диапазонного поиска и поддерживает сортировку данных. Работает по принципу сбалансированного дерева.
Hash индексы: Используются для быстрого поиска по точному совпадению. Не поддерживают диапазонные запросы, но могут быть очень быстрыми для конкретных значений.
GiST (Generalized Search Tree): Позволяет создавать индексы для сложных типов данных, таких как географические данные. Поддерживает множество операций поиска.
GIN (Generalized Inverted Index): Эффективен для индексации массивов и полнотекстового поиска. Использует инвертированный индекс, что делает его подходящим для текстовых данных.
Кластеризованные индексы: Определяют физический порядок хранения данных в таблице. То есть физически сортирует строки таблицы в соответствии с индексом. Обычно создаются на первичном ключе и позволяют значительно ускорить чтение данных.
Некластеризованный индекс (Nonclustered): Создаются отдельно от основной таблицы и содержат указатели на строки данных. Позволяют создавать несколько индексов для одной таблицы.
Составные индексы: Индексы, которые включают несколько колонок таблицы. Полезны для запросов, которые фильтруют данные по нескольким полям.


В этом посте собраны полезные статьи и видео на YouTube о SQL индексах, которые помогут вам разобраться в этой важной теме:

📌 Статья: Влияние индексов БД на производительность выборки данных
📌 Статья: Обслуживание индексов MS SQL Server: как, когда и, главное, зачем?
📌 YouTube: Что такое SQL ИНДЕКСЫ за 10 минут: Объяснение с примерами
📌 YouTube: ИНДЕКСЫ В БАЗАХ ДАННЫХ. СОБЕС В OZON.
📌 YouTube: Как устроен B-TREE индекс в базах данных
📌 YouTube: EXPLAIN в базах данных за 10 минут
📌 YouTube: Андрей Сальников — Индексы в PostgreSQL. Как понять, что создавать
📌 YouTube: Оптимизация запросов с помощью индексов
📌 Статья: 14 вопросов об индексах в SQL Server, которые вы стеснялись задать

#Индексы #btree #hashindex #index