Forwarded from Заскуль питона (Data Science)
predict_proba выдает на выходе вероятности отнесения к какому-либо классу. Мы решаем задачу с Propenity Score Matching, нам нужно в первой итерации (как бы сокращая размерность) для каждого объекта выборки определить вероятность отношения к тритменту (то есть определить 1 - пользователь совершил какое-то действие).
1. Сначала мы вычисляем линейную комбинацию векторов признаков и весов (с определенным байесом).
2. Результат подается в функцию активацию, например, классический вариант, это сигмоида (для бинарной классификации) и softmax (для многоклассовой классификации).
3. Определяем вероятности.
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
X, y = make_classification()
lr = LogisticRegression()
lr.fit(X, y)
z = np.dot(X, lr.coef_.reshape(-1, 1)) + lr.intercept_
model_predict = lr.predict_proba(X)[:5, 1]
naive = 1 / (1 + np.exp(-z)).flatten()[:5]
print(model_predict)
print(naive)
Дополнительные материалы:
1. How to Use Logistic Regression predict_proba Method in scikit-learn
2. CatBoost. Predict Proba
3. Predict_proba examples in MLflow - October 2024
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Тимлид Очевидность | Евгений Антонов
Я принес. «У нас нет культуры встреч»
Сегодня я принес вам пост своей знакомой, Вероники Ильиной, про то, как минимальными усилиями создать базовую культуру встреч. https://t.me/ask_catwomenko/132
А еще на похожую тему когда-то делал доклад во Владимире https://t.me/general_it_talks/333
Суть невероятно проста и меня всегда очень расстраивает, когда даже её люди не делают (а это встречается нередко).
⁃ Готовимся ко встрече: составляем свою и читаем чужую агенду.
⁃ Фасилитируем встречу, чтобы всё нужное было обсуждено.
⁃ Делаем резюме встречи с конкретикой кому и чем заняться.
Это не отнимает много времени и энергии, зато сильно увеличивает продуктивность этих встреч. А еще снижает их повторяемость.
Сегодня я принес вам пост своей знакомой, Вероники Ильиной, про то, как минимальными усилиями создать базовую культуру встреч. https://t.me/ask_catwomenko/132
А еще на похожую тему когда-то делал доклад во Владимире https://t.me/general_it_talks/333
Суть невероятно проста и меня всегда очень расстраивает, когда даже её люди не делают (а это встречается нередко).
⁃ Готовимся ко встрече: составляем свою и читаем чужую агенду.
⁃ Фасилитируем встречу, чтобы всё нужное было обсуждено.
⁃ Делаем резюме встречи с конкретикой кому и чем заняться.
Это не отнимает много времени и энергии, зато сильно увеличивает продуктивность этих встреч. А еще снижает их повторяемость.
Telegram
Вероника отвечает
«У нас нет культуры встреч», — жалуются мне и сотрудники компаний, и их руководители
Все ждут, что кто-то напишет чек-лист идеальной встречи, план коммуникаций о нем, сделает магические пассы руками и волшебным образом интегрирует чек-лист каждому в голову.…
Все ждут, что кто-то напишет чек-лист идеальной встречи, план коммуникаций о нем, сделает магические пассы руками и волшебным образом интегрирует чек-лист каждому в голову.…
Forwarded from LLM под капотом
История развития State of the Art локальных моделей.
Ловите картинку на базе бенчмарков. Вместо трендов теперь для каждой категории модели отображается нормальный cumulative maximum.
Gemini 1.5 Flash 8B добавлен со звездочкой - его нельзя выкачать и запустить локально. Надо будет ждать, пока не появится открытая модель.
NB: Модели разделены условно на те категории железа, которые я чаще всего вижу у клиентов. Считаем VRAM на запуск с запасом места под контекст и без квантизаций.
На картинке видно, что крупные модели начали появляться относительно недавно, но у них прогресс пока быстрее всего идет.
Маленькие модели, которые влазят в 4090, достаточно долго стагнировали. Gemini 1.5 Flash 8B стал недавно внезапным рывком.
Ваш, @llm_under_hood 🤗
Ловите картинку на базе бенчмарков. Вместо трендов теперь для каждой категории модели отображается нормальный cumulative maximum.
Gemini 1.5 Flash 8B добавлен со звездочкой - его нельзя выкачать и запустить локально. Надо будет ждать, пока не появится открытая модель.
NB: Модели разделены условно на те категории железа, которые я чаще всего вижу у клиентов. Считаем VRAM на запуск с запасом места под контекст и без квантизаций.
На картинке видно, что крупные модели начали появляться относительно недавно, но у них прогресс пока быстрее всего идет.
Маленькие модели, которые влазят в 4090, достаточно долго стагнировали. Gemini 1.5 Flash 8B стал недавно внезапным рывком.
Ваш, @llm_under_hood 🤗
Forwarded from Information Retriever
Статья на Хабре про индустриальные тренды рексистем.
В мае я выступал на датафесте с докладом про тренды рексистем, а сейчас появился пост на Хабре, где мы подробнее расписали содержимое доклада, приложили ссылки на статьи, добавили больше пояснений.
Ссылка — https://habr.com/ru/companies/yandex/articles/857068/
В мае я выступал на датафесте с докладом про тренды рексистем, а сейчас появился пост на Хабре, где мы подробнее расписали содержимое доклада, приложили ссылки на статьи, добавили больше пояснений.
Ссылка — https://habr.com/ru/companies/yandex/articles/857068/
Хабр
ML-тренды рекомендательных технологий: шесть приёмов, которые помогают угадывать желания пользователя
Главная задача рекомендательной системы — предоставить пользователю контент, фильм, трек, книгу, товар или информацию, которые могут заинтересовать его в данный момент. Сложность...
Forwarded from Евгений Козлов пишет про IT (Eugene Kozlov)
Учел ваши пожелания и собрал все посты по теме многозадачности и производительности в один пост. Приятного чтения, дальше больше, это еще далеко не конец😊
🔹Многозадачность на уровне железа и OS / Kernel Space
1. Многозадачность в OS. Введение.
2. Процессор и его роль в многозадачности
2.1. Про Hyper Threading
3. Процессы. Начало
4. Процессы в Linux
5. Потоки. Начало
6. Потоки в Linux
7. Модели ввода-вывода. Универсальная(блокирующая) модель ввода-вывода
8. Multiplexed IO
9. Asynchronous IO
🔹Легковесные потоки в User Space / Многозадачность в языках программирования
10. Fibers. Виды многозадачности с примерами в языках программирования.
11. Сравнительный обзор двух видов многозадачности
🔹Многозадачность на уровне железа и OS / Kernel Space
1. Многозадачность в OS. Введение.
2. Процессор и его роль в многозадачности
2.1. Про Hyper Threading
3. Процессы. Начало
4. Процессы в Linux
5. Потоки. Начало
6. Потоки в Linux
7. Модели ввода-вывода. Универсальная(блокирующая) модель ввода-вывода
8. Multiplexed IO
9. Asynchronous IO
🔹Легковесные потоки в User Space / Многозадачность в языках программирования
10. Fibers. Виды многозадачности с примерами в языках программирования.
11. Сравнительный обзор двух видов многозадачности
Forwarded from Записки MLEшника
Forwarded from Data, Stories and Languages
Говорят, что достали системный промпт Advanced Voice Mode
https://www.reddit.com/r/OpenAI/comments/1fp1fes/the_system_prompt_of_advanced_voice_mode_it_can/
https://www.reddit.com/r/OpenAI/comments/1fp1fes/the_system_prompt_of_advanced_voice_mode_it_can/
Forwarded from Small Data Science for Russian Adventurers
#книга
Онлайн-учебник по машинному и глубокому обучению от преподавателя ВМК МГУ Виктора Китова
https://deepmachinelearning.ru/
Онлайн-учебник по машинному и глубокому обучению от преподавателя ВМК МГУ Виктора Китова
https://deepmachinelearning.ru/
Forwarded from Николай Хитров | Блог
Статья Быстрее пули: как найти счастье с PostgreSQL
Большая классная статья про поиск в
В статье автор рассказывает про:
👉
👉 нормализацию слов и морфологию
👉 словари синонимов
👉 ранжирование результатов по релевантности
https://habr.com/ru/companies/rostelecom/articles/853124/
Большая классная статья про поиск в
postgresql. На мой взгляд отлично подходит для ситуаций, когда по каким-то причинам еще не хочется (или не можется) завезти отдельную колоночную БД для поиска по типу elasticsearch, но простого WHERE ILIKE уже не хватает.В статье автор рассказывает про:
👉
tsvector, tsquery и GIN индексы👉 нормализацию слов и морфологию
👉 словари синонимов
👉 ранжирование результатов по релевантности
https://habr.com/ru/companies/rostelecom/articles/853124/
Хабр
Быстрее пули: как найти счастье с PostgreSQL
Введение Полнотекстовый поиск — это неотъемлемая часть современных приложений, особенно тех, которые работают с большими объемами текстовой информации, будь то блог-платформы, системы управления...
Forwarded from DziS Science | Data Science
Привет всем!👋
Про эффективность созвонов.
Только ленивый в DS не ругался касаемо количества бесполезных созвонов.
Вроде бы у тебя есть задача, дедлайн не завтра, но количество встреч, притом посреди рабочего дня только с получасовым перерывом на обед раздражают даже самого спокойного сотрудника.
Нередко, даже в чатах с вакансиями в качестве плюса указывают маленькое количество созвонов в течение рабочей недели.
-Но почему так?
Дело в том, что созвоны в рамках любой схемы «эффективного» рабочего процесса это неотъемлемая часть, но нередко мы страдаем из-за злоупотребления данным инструментом.
🔸 Прежде чем ответить себе на вопрос, эффективный ли созвон, на котором я нахожусь, надо понять, что это инструмент решения конкретной задачи и понять, а решает ли этот созвон что-то решает или помогает решить ее эффективно?
Нередко, именно на этом вопросе можно заканчивать половину созвонов.
Если ответ невнятный, то можно поблагодарить коллег и попросить прислать статус по почте.
Это кстати второй тезис для понимания, а эффективен ли созвон.
🔵 Если проблема, решаемая данным инструментом, может быть исчерпана одним коротким письмом, то данный созвон явно не эффективен.
🔹 Созвон содержит слишком много людей. Если вам нужен конкретный человек из другого подразделения, то не всегда нужно звать всех 40 специалистов из его подразделения. Достаточно позвать конкретного и, максимум, его руководителя. Объективно, 38 оставшихся сотрудников будут сидеть без дела.
🔸 Однако и тут, важен тайминг. Представьте ситуацию: у вас с подчинении n людей и вам нужно собрать краткий статус по задачам. Из практики, лучше собрать n людей на 30 минут, чем n*30 минут провести на персональных встречах 1 на 1. Результат будет одинаковый, но времени потратите на пару часов меньше. Если нужно, поставьте дополнительную встречу.
Эта проблема, кстати, настигала меня совсем недавно. Я делал статусы по отдельным направлениям, хотя ни один из них не выбивался за 30 минутный тайминг. Получилось, что всех и все можно собрать в полчаса.
Обычно формула простая: на каждых новых 4 человек добавляется во встрече 30 минут. Но не более 1 часа, дальше теряется внимание, проверено на опыте. Т.е за одну встречу вы эффективно можете узнать как дела по работе, не более чем у 8х. Это лично наблюдение.
🔸 Обязательно должна быть встреча 1 на 1 по нерабочим процессам, хотя бы раз в месяц.
Таким образом, я выработал некоторый чек лист:
1️⃣ . Встреча должна решать проблему!
2️⃣ . У нее должна быть цель, повестка или структура.
3️⃣ . Встреча больше часа - зло. Исключение - увеселительная встреча с пиццей.
4️⃣ . Встреча на кучу людей, в т.ч не относящихся к проблеме - зло.
5️⃣ . Можно решить проблему по переписке - не ставьте созвон.
6️⃣ . Можно собрать кучу встреч в одну? - собирайте. Лучше потом поставить одну лишнюю, но нужную, чем ставить регулярно кучу.
7️⃣ . Встреча 1 на 1 не рабочая должна быть, хотя бы раз в 1 месяц. Если нет или это очередной дейлик - плохо.
8️⃣ . Какой-то менеджер ставит вам по поводу и без встречи, не стесняйтесь, игнорируйте.
9️⃣ . Встреча, на которой вас позвали «за компанию» - бесполезная. Исключение - общие регулярные встречи на всех сотрудников, например демо или общеновостная.
Следуя этим правилам, я разгрузился сам и разгрузил свою команду. Теперь даже время что-то полезное сделать есть.
А то смотрю я на 2-3 встречи на всех каждый день, аж плакать хочется. Славу богу, что у меня не так😂
А как у вас с этим в компании? Пишите в комменты⬇️
#статьи #трудовые_будни
Про эффективность созвонов.
Только ленивый в DS не ругался касаемо количества бесполезных созвонов.
Вроде бы у тебя есть задача, дедлайн не завтра, но количество встреч, притом посреди рабочего дня только с получасовым перерывом на обед раздражают даже самого спокойного сотрудника.
Нередко, даже в чатах с вакансиями в качестве плюса указывают маленькое количество созвонов в течение рабочей недели.
-Но почему так?
Дело в том, что созвоны в рамках любой схемы «эффективного» рабочего процесса это неотъемлемая часть, но нередко мы страдаем из-за злоупотребления данным инструментом.
Нередко, именно на этом вопросе можно заканчивать половину созвонов.
«Коллеги, а какая повестка созвона? А есть ли она вообще?»
Если ответ невнятный, то можно поблагодарить коллег и попросить прислать статус по почте.
Это кстати второй тезис для понимания, а эффективен ли созвон.
Нередко, особенно начинающие руководители, делают очень интересный трюк. На любой вопрос, на который даже можно ответить «да/нет» руководитель может поставить аж полуторачасовую(‼️) встречу, где будет рассказывать все, но не то, что надо. Потом с полной уверенностью в своей эффективности будет рассказывать всем, что целый день занят важными созвонами.
К сожалению, такой персонаж сильно заблуждается. Он лишь отлынивает от работы.
Эта проблема, кстати, настигала меня совсем недавно. Я делал статусы по отдельным направлениям, хотя ни один из них не выбивался за 30 минутный тайминг. Получилось, что всех и все можно собрать в полчаса.
Обычно формула простая: на каждых новых 4 человек добавляется во встрече 30 минут. Но не более 1 часа, дальше теряется внимание, проверено на опыте. Т.е за одну встречу вы эффективно можете узнать как дела по работе, не более чем у 8х. Это лично наблюдение.
А то как вам говорить, что у вас на руках есть оффер или вам все не нравится?
Таким образом, я выработал некоторый чек лист:
Следуя этим правилам, я разгрузился сам и разгрузил свою команду. Теперь даже время что-то полезное сделать есть.
А то смотрю я на 2-3 встречи на всех каждый день, аж плакать хочется. Славу богу, что у меня не так😂
А как у вас с этим в компании? Пишите в комменты
#статьи #трудовые_будни
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Start Career in DS
ℹ️ Всё про токенизацию и токенизаторы в языковых моделях
❕Токен - это минимальная единица текста, с которой работают современные языковые модели. В качестве токена могут выступать как полноценные слова, так и части слов, слоги или отдельные символы.
✂️ Например, в некоторых моделях слово «привет» может разбиваться на токены: [«при», «вет»].
❕Токенизация — процесс предобработки входного текста в список токенов. Обычно далее каждый токен векторизуется и весь этот массив векторов подаётся модели на вход, с чем она начинает работать.
🤯 В моделях Transformer токенизаторы обучаемы. Обучение токенизаторов не схоже с тем, как обучаются ML-модели, наоборот, это статистический процесс, который определяет, какие сочетания символов (подслов, слов) лучше всего выбрать для корпуса текста, с которым мы работаем.
🔝Современные токенизаторы можно разделить по следующим видам:
1. Byte-Pair Encoding (используется в GPT-like моделях, обучается слиянием символов из основного корпуса, выбирая пары по наибольшей частоте встречаемости, подробно про алгоритм и реализацию кода обучения читайте тут)
2. WordPiece (используется преимущественно в BERT-like моделях, также обучается слиянием, но используется не частота встречаемости, а более универсальная формула, также подробно читайте про реализацию и формулу тут)
3. Unigram (не так применим, однако, для полноты картины читайте о нем тут)
❗️Почему это важно:
1️⃣ Фертильность (мера, показывающая среднее количество токенов на одно слово после токенизации предложения):
Напрямую влияет на стоимость использования любой модели: больше токенов после токенизации предложения -> больше входная последовательность в LLM -> больше стоимость.
2️⃣ Качество работы:
Правильно токенизированная последовательность также сильно влияет на качество модели из-за появления символов, которых модель не видела или из-за особенностей некоторых языков, где нет, например, пробелов.
Очень грамотно и подробно этот нюанс описан тут.
3️⃣ Скорость работы:
Следствие из первого пункта: чем больше последовательность токенов, тем больше вычислений стоит делать, что также влияет на скорость ответа модели.
🔥 Дополнительная информация по теме:
- Краткий обзор токенизаторов на Хабре
- О токенизаторах с NLP-курса на Hugging Face
- «Насколько хорош Ваш Токенайзер» - статья на arxiv [ENG]
- Статья на английском для начинающих о токенах в LLM [ENG]
Теперь вы знаете, как работают токенизаторы🔥
Ждём ваших лайков и обратной связи❤️
До встречи👋🏻
❕Токен - это минимальная единица текста, с которой работают современные языковые модели. В качестве токена могут выступать как полноценные слова, так и части слов, слоги или отдельные символы.
✂️ Например, в некоторых моделях слово «привет» может разбиваться на токены: [«при», «вет»].
❕Токенизация — процесс предобработки входного текста в список токенов. Обычно далее каждый токен векторизуется и весь этот массив векторов подаётся модели на вход, с чем она начинает работать.
🤯 В моделях Transformer токенизаторы обучаемы. Обучение токенизаторов не схоже с тем, как обучаются ML-модели, наоборот, это статистический процесс, который определяет, какие сочетания символов (подслов, слов) лучше всего выбрать для корпуса текста, с которым мы работаем.
🔝Современные токенизаторы можно разделить по следующим видам:
1. Byte-Pair Encoding (используется в GPT-like моделях, обучается слиянием символов из основного корпуса, выбирая пары по наибольшей частоте встречаемости, подробно про алгоритм и реализацию кода обучения читайте тут)
2. WordPiece (используется преимущественно в BERT-like моделях, также обучается слиянием, но используется не частота встречаемости, а более универсальная формула, также подробно читайте про реализацию и формулу тут)
3. Unigram (не так применим, однако, для полноты картины читайте о нем тут)
❗️Почему это важно:
1️⃣ Фертильность (мера, показывающая среднее количество токенов на одно слово после токенизации предложения):
Напрямую влияет на стоимость использования любой модели: больше токенов после токенизации предложения -> больше входная последовательность в LLM -> больше стоимость.
2️⃣ Качество работы:
Правильно токенизированная последовательность также сильно влияет на качество модели из-за появления символов, которых модель не видела или из-за особенностей некоторых языков, где нет, например, пробелов.
Очень грамотно и подробно этот нюанс описан тут.
3️⃣ Скорость работы:
Следствие из первого пункта: чем больше последовательность токенов, тем больше вычислений стоит делать, что также влияет на скорость ответа модели.
🔥 Дополнительная информация по теме:
- Краткий обзор токенизаторов на Хабре
- О токенизаторах с NLP-курса на Hugging Face
- «Насколько хорош Ваш Токенайзер» - статья на arxiv [ENG]
- Статья на английском для начинающих о токенах в LLM [ENG]
Теперь вы знаете, как работают токенизаторы🔥
Ждём ваших лайков и обратной связи❤️
До встречи👋🏻