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

В Google Colab приложил симуляции, которые показывают, как интуитивно работают методы + прикрепил разбор статьи с описанием работы различных методов, сходимости и прочее.

🔗👉 Ссылочка тут

+ за выходные ознакомился с парочкой статей, которые описывают то, как работать с тяжелыми хвостами.

Если наберется много 🐳, разберу подробней парочку из них. Где-то планируется завышать значение t-критическое, где-то отсекать хвосты и моделировать их через определенный алгоритм, а где-то их обрезать, например, как тут выкинуть топ n% выбросов, ну и существуют методы, когда заменяют выбросы значением квантилей.

В общем, кажется, идеального решения нет и всё зависит от:
1. формы распределения (логнормальное, экспоненциальное, скошенное)
2. доли активных пользователей
3. цели теста (чувствительность vs устойчивость).

🐍 Дополнительно дублирую ссылочку на Google Colab

🐸 @zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Я принес. Общение с социопатом: руководство по выживанию

Сегодня вам принес заплюсованную хабрастатью https://habr.com/ru/articles/937746/

В чем-то напоминает часть книги Гоулстона «Как разговаривать с мудаками». После первого прочтения я её не оценил и даже покритиковал. А потом спустя лет 7-10 вернулся к ней еще раз с уже поднакопившимся жизненным опытом и совсем иначе взглянул на неё 🙂

Если коротко, то суть статьи в том, чтобы понять и принять, что на работе и в бытовой жизни нам могут попадаться социопаты, которые вроде бы ведут себя как все окружающие и кажется, что хотят добра и эффективности. А в какой-то момент вы начинаете понимать, что вы делаете не то, что должны и хотели бы, а то, о чем с вами эти люди «договорились».

Договорились разными манипуляциями, обманом, давлением, газлайтингом, принижением, обещанием великого успеха вам, а потом он оказался у них в активе. Или вчера с вами человек разговаривал очень вежливо и уважительно, когда был у вас в подчинении. Завтра уже стал панибратски, когда стал вровень по иерархии. А послезавтра через губу и с нажимом, когда стал вашим руководителем.

Дальше в статье приводятся вполне разумные советы о том, как надо себя вести, какой вокруг себя забор построить, как сохранять диалог в рамках профессионализма, не давая себя затянуть в болото демагогии, где социопат уже набил руку.

Если совсем упрощать, то нужно иметь сильную позицию. Сильная позиция в том, что у вас есть план и вы его придерживаетесь, собственное аргументированное мнение и вы готовы рационально обсуждать, но не поддаваться на манипуляции и давление. И сильная позиция в том, что у вас есть или группа поддержки, или разные возможности в жизни (карьерные и финансовые, например), которые позволят сказать «ну уж нет, так со мной нельзя».

Недавно имел с друзьями разговор про буллинг (а сегодняшняя тема в некотором смысле похожа на буллинг) и что в его случае делать. Есть ряд социально одобряемых ответов типа мема «стоп! мне неприятно!», или «попробуй эскалировать наверх», или «не обращай внимания», или «забей и не связывайся». Они в некоторых случаях работают, но нередко всё это разбивается о то, что эскалировать особо некому, потому что рука руку моет (я попадал в такую ситуацию), или слова с рациональными доводами так и повисают в воздухе.

Не хочется советовать что-то плохое и обостряющее, но чем дольше живу и попадаю в разные ситуации, тем больше вижу примеров, что «буллят» тех, кто молча и покорно это принимает, тем самым поощряя и дальше такое поведение. Те, кто «дает сдачи», обычно сначала немного страдают от этой борьбы, но потом «задиры» предпочитают обходить их стороной и лишний раз не связываться, сконцентрировавшись на молчунах.

Приходилось ли вам сталкиваться с социопатами на работе и в быту? Как вы выходили из сложных ситуаций? Как отстаивали свою позицию?
Как писать промпты с появлением GPT-5. Ищем универсальный шаблон для ChatGPT, Алисы, DeepSeek и других нейросетей в 2025.

В начале 2025 я писал статью про “Универсальный промпт для нейросетей” для VC, лонгрид собрал сотни репостов и остается в топе популярных раздела AI. Но за полгода многое поменялось и пора разобраться c обновлениями GPT-5, Алисы, других нейросетей.

Начнем с шаблона под пятерку, пример промпта для которой я добавил к этому посту.


Что нового в GPT-5 и как с этим работать?
В https://cookbook.openai.com описано, что у модели появились два ключевых параметра, которыми можно управлять прямо в промпте и назначать как всей задаче, так и ее частям (если нужно глубже продумать и расписать конкретный подвопрос):

1️⃣reasoning_effort (усилие для размышления): Насколько глубоко нейросеть должна «задуматься».
🔴Minimal: Для простых и быстрых задач.
🔴Medium: Сбалансированный подход (стоит по умолчанию).
🔴High: Для сложных проблем, требующих глубокого анализа.

2️⃣verbosity (подробность ответа): Насколько развёрнутым будет ответ.
🔴Low: Кратко и по делу.
🔴Medium: Сбалансированное объяснение.
🔴High: Максимально детальный ответ с примерами.

Забирайте шаблон универсального промпта по новой методологии P.R.O.M.P.T. для GPT-5
P — PURPOSE (Цель)
Мне нужно, чтобы ты [сформулируйте, что нужно сделать. Используйте глаголы действия и укажите, что является конечным результатом...]. Нужный уровень «reasoning_effort»: [выбрать из Minimal — для рутины, Medium — стандартные задачи, High — сложные кейсы/исследование].

R — ROLE (Роль)
Ты — [Кто?] и работаешь с [ключевые навыки/знания/ограничения по методам работы...].

O — ORDER OF ACTION (Порядок действий)
Перед ответом на мою задачу создай план из трех шагов: 1) исследование, 2) черновик ответа, 3) анализ и улучшение ответа. Делай шаги последовательно. Если тебе не хватает вводных от меня для качественного ответа, то задай мне не более трех вопросов для уточнения перед шагом 2 «Написание черновика». Предоставь краткий контрольный список «Готово», подтверждающий результаты каждого шага. Продолжай, пока план не будет полностью выполнен.

M — MOULD THE FORMAT (Формат)
Дай ответ в виде [Опишите желаемый формат результата. Укажите тип, структуру, элементы.].

P — PERSONALITY (Личность)
Нужный уровень «Verbosity»: [Выбрать из Low — кратко и по делу, Medium — сбалансированное объяснение, High — максимально детальный ответ с примерами.].

T — TIGHT CONTROLS (Жёсткий контроль)
[Тут по желанию ограничьте действия для экономии токенов или, наоборот, требуйте настойчивости, которая потратит весь лимит.].


К промпту есть 3 дополнения:
❇️С появлением GPT-5 можно не тратить токены на запрос «покажи всю цепочку рассуждений». Это ускоряет ответ и снижает «водность», сохраняя качество.
❇️У OpenAI появился крутой инструмент для отладки промптов: https://platform.openai.com/chat/edit?models=gpt-5. В нём можно довести до ума любой шаблон.
❇️Я сделал библиотеку в десятки промптов по этому шаблону для разных рабочих и учебных задач на все случаи жизни — бесплатно забрать ее можно в моем боте.

❤️ и 👍 - если разбор и новый шаблон были полезны, в следующий раз подробно разберем чат с Алисой и ее модели.
💬- поделитесь в комментах как вам первые тесты GPT-5 и работа с новым промптом. Ваш фидбэк поможет мне сделать обновление статьи на vc.ru максимально полезным!

Мальцев: Карьера. Маркетинг. AI | Бот с контентом для подписчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from .ml
Polars в продакшене: best practices

Когда нужно готовить фичи и витрины «здесь-и-сейчас», pandas-пайплайн часто даёт лишние задержки. Разберёмся, как построить на Polars быстрый и устойчивый конвейер для ETL и ML.

Чтобы что?

📌 Меньше TCO на ETL. За счёт pushdown и параллельности вы читаете меньше данных, тратите меньше CPU и памяти. На том же кластере — больше задач и стабильнее SLA.
📌 Быстрые фичи для моделей. Окна, джоины и агрегации считаются в Polars, а в модель уходят уже компактные матрицы/тензоры — время обучения и инференса сокращается.
📌 Порог входа ниже. С SQLContext команда может начать с SQL и постепенно переходить к выражениям, не теряя производительности.

Базовый набор шагов

📝 Начинайте со scan_* и Lazy. Схема простая: scan_parquet/csv → select/filter/with_columns → финальный collect(). Ранний select() экономит I/O.

📝 Для отладки используйте fetch(), он подходит для быстрых «прогонов» на маленьком сэмпле.

📝 Настройте джоины. Для джойнов по времени — join_asof, сортировка фреймов по ключам, для строковых ключей используйте тип Categorical и включённый StringCache, чтобы джоины были и быстрее, и стабильнее по памяти.

📝 Создавайте новые фичи выражениями. Конструируйте логику через when/then/otherwise, pl.struct, селекторы pl.selectors — это заменяет циклы и apply, оставляя работу на стороне внутреннего оптимизированного движка polars.

📝 Подружите свой пайплайн с ML-стеком. NumPy/torch/sklearn: df.to_numpy()/s.to_numpy() → torch.from_numpy() — минимум копий между слоями. Pandas-мир: to_pandas(use_pyarrow_extension_array=True) включает Arrow-бэкенд и помогает экономить память за счет zero-copy операций.

📝 Включайте streaming там, где длинные пайплайны. collect(engine="streaming") и sink_* уменьшают пиковую память и сглаживают латентность. sink_* позволяет обрабатывать и записывать данные на диск батчами, чтобы не перегружать RAM.

📝 Где уместно — SQL. Регистрируйте фреймы в SQLContext, пишите запросы на SQL, а узкие места постепенно переносите на выражения. Данная практика хороша для быстрого переезда на polars в командах, которые плохо знакомы с синтаксисом polars, но разбираются в SQL-выражениях.

Анти-паттерны в продакшене

📎 collect() после каждого шага. Так вы рвёте план и теряете оптимизации. Копите цепочку и собирайте один раз в конце.
📎 Маятник между pandas и Polars. Постоянные конвертации туда-сюда съедают выигрыш. Держите данные в Polars до последнего шага; если нужна совместимость, используйте Arrow-бэкенд.
📎 Игнорирование специфики типов. Оставлять ключи строками = призывать медленные джоины. Перекладывайте ключи в Categorical и включайте общий словарь.


Кейс Точка Банк

📝 Контекст
Задача реал-тайм рекомендаций. Узкое место — джоины, фильтры и сортировки на горячем потоке данных.

📝 Что сделали
Перенесли препроцессинг с pandas на Polars, переписали джоины в lazy-план, навели порядок в типах (категориальные ключи + общий словарь) и добавили join_asof для временных связок.

📝 Результат
Пайплайн стал выполняться примерно в 5 раз быстрее end-to-end на том же железе — основной прирост дали «проталкивание» фильтров и параллельные джоины.

Получается, что если собирать пайплайн с учетом всех лучших практик работы с polars — lazy, pushdown, выражения, аккуратные джоины и понятные мосты в ML — вы получаете устойчивый прирост скорости и контроля над ресурсами.

💜 Этот пост написал Всеволод Богодист, DS в Точка Банк
Классы в Python для аналитика (?)

Знаю, что многим аналитикам тема классов кажется ненужной — и это нормально.

Сам изучал ООП на своем направлении в магистратуре, очень много всего предстояло изучить... И про свойства, про то, как реализовать, жуть короче, хочется функциями пользовать и все (и то максимум)...

Но если присмотреться, мы сталкиваемся с ними каждый день, просто не задумываемся об этом.

Например, в pandas 🐼.

1️⃣ Класс: pandas.DataFrame, который задает структуру таблиц: колонки, индексы, методы
2️⃣ Объект: df = pd.DataFrame(...), может быть задан через чтение баз данных, csv, вручную и тд.
3️⃣ Методы: df.groupby(), df.query, df, etc.

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

🔽Опишу самый простой пример 🔽

Класс User описывает пользователя продукта.
У него есть: атрибуты user_id, os, orders и метод is_active(),
который определяет, активен ли пользователь (есть ли у него заказы).

class User:
"""Класс, описывающий пользователя продукта."""

def __init__(self, user_id: int, os: str, orders: list[int]):
"""
Args:
user_id (int): Уникальный идентификатор пользователя.
os (str): Операционная система (например, 'iOS' или 'Android').
orders (list[int]): Список идентификаторов заказов пользователя.
"""
self.user_id = user_id
self.os = os
self.orders = orders

def is_active(self) -> bool:
"""Проверяет, есть ли у пользователя хотя бы один заказ."""
return len(self.orders) > 0


Я слышал, что на некоторых курсах по аналитике уже включают ООП. Например, в теме по 🆎.
Это логично: когда ты работаешь с десятками экспериментов, хочется выстроить для них единую структуру, чтобы каждый тест имел одинаковый формат, методы расчёта и итоговую инфу 👀

class Experiment:
def __init__(self, name, control, test, metric_name):
self.name = name
self.control = control
self.test = test
self.metric_name = metric_name

def calc_mean(self, group):
return group[self.metric_name].mean()

def uplift(self):
return (self.calc_mean(self.test) - self.calc_mean(self.control)) / self.calc_mean(self.control)

def summary(self):
return {
"experiment": self.name,
"uplift": round(self.uplift() * 100, 2),
"control_mean": self.calc_mean(self.control),
"test_mean": self.calc_mean(self.test),
}


Но в крупных компаниях зачастую реализована своя A/B платформа, аналитику остается только делать дизайн эксперимента, подводить итоги и делать рекомендации... 🧐


💻💻 Подход с классами не ограничивается тестами.

Необязательно использовать что-то сложное, например, на обучении я реализовывал классы для обращения к API / обработке ошибок / хранения информации на кошельке у юзера. Офк, это можно решить и с помощью SQL (про хранение данных), а у меня проект был без него 💅

Его можно применять и в других задачах — например, в ML, где удобно базово описать модель под свои данные и потом переиспользовать или наследовать её в будущем.

class ConversionModel:
def fit(self, df):
...
def predict(self, new_data):
...


✏️ Что можно почитать?

1.
🔗 Ссылочка 1
2. 🔗 Ссылочка 2
3.
🔗 Ссылочка 3

Если интересен разбор с кейсами применения ООП, ставьте
🐳, пишите, использовали ли вы у себя?

@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Полезные материалы по RAG/GitHub и новый поток курса по ИИ-прототипам и вайб-кодингу!

——————————————————————————
Чтобы не затерялось хотел бы поделиться ссылками на интерактивныe материалы по RAG (в дополнении к заметке) и GitHub-инструментам, которые готовил для разных мероприятий в этом году.

📚 Полезные материалы по RAG:

https://dzhechko.github.io/yc-rag-lecture-intro/
https://rag-sandbox-guide.pages.dev

🔧 GitHub инструменты:
https://github-ecosystem-guide.pages.dev/

🔑 Коды доступа к продвинутому курсу:
`llmnotes2024`
`github-premium`
`advanced-course`
`telegram-llm`

💡 Как использовать код:
• Перейдите к разделу "Продвинутый курс"
• Введите код в поле "Введите код доступа"
• Нажмите "Проверить"
• Откроется доступ к курсу


——————————————————————————

И приглашаю всех желающих 29 октября (в эту среду) на пятый поток курса по "ИИ-прототипам и вайб-кодингу", где за 8 занятий мы будем копировать киллер-фичи успешных стартапов с оценкой свыше $1B! 💰

🎯 Что будем делать:
За 2 часа работы в Cursor/Lovable/Replit/Claude Code воссоздаем основные функции каждой компании-единорога

🦄 Список компаний для копирования:

1️⃣ MindTickle ($1.2B) - ИИ-тренажер для продавцов (делали в прошлом потоке)
2️⃣ Yuanfudao ($15.5B) - ИИ-репетитор
3️⃣ G2 ($1.1B) - Отзовик по B2B-SaaS-сервисам
4️⃣ OnlyFans ($8B) - Платный контент для взрослых
5️⃣ Outreach ($4.4B) - Поиск b2b-лидов и письма им
6️⃣ Whatnot ($5B) - Живые аукционы
7️⃣ BetterUp ($4.7B) - ИИ-коучинг и менторинг в компаниях
8️⃣ Guild ($4.4B) - Корпоративное обучение
9️⃣ DeepL ($2B) - Синхронный перевод

Теперь этим компаниям-единорогам стоит опасаться конкуренции! 😄

📈 Бонус: еще с десяток проектов из прошлых наборов будут доступны в записи!

📝Официальный анонс здесь
📝 Регистрация: https://productuniversity.ru/cursor
🎮 Интерактив: https://quest.productuniversity.ru/
(пройдя интерактив, вы получите ссылку на запись свежего видео-обзора лучших AI-инструментов для Vibe Coding'а)

Отличная возможность запустить свой стартап или внутренний проект! 🚀

@llm_notes

#rag #vibecoding #github #courses #startup
🤖 Microsoft выпустила Agent Lightning — фреймворк для обучения ИИ-агентов с помощью обучения с подкреплением

Многие ИИ-агенты отлично работают в демо, но проваливаются в реальных сценариях с многоэтапными задачами, приватными данными и незнакомыми инструментами. Промпт-инжиниринг не всегда надежен и имеет свои ограничения.

Microsoft представила Agent Lightning — открытый фреймворк, который обучает ИИ-агентов методом обучения с подкреплением практически без изменений в существующем коде.
Хотя, например, авторы Manus считают, что излишнее усложнение агентов путем дообучения моделей - это ловушка, которой следует избегать (см. интерактивный транскрипт из заметки)

🔧 Как это работает:
ИИ-агент работает в обычном режиме, а фреймворк перехватывает поток выполнения. Он фиксирует каждый вызов LLM, обращение к инструментам и сигналы вознаграждения в виде структурированных блоков данных, а затем передает эти данные в алгоритмы оптимизации, которые реально улучшают производительность агента.

⚡️ Основные возможности:

1️⃣ Простая интеграция — добавьте трейсер в существующий код агента и начните собирать данные для обучения. Система автоматически инструментирует вызовы LLM без переписывания под конкретные фреймворки

2️⃣ Множественные методы оптимизации — выбирайте между обучением с подкреплением с интеграцией VERL для файн-тюнинга модели или автоматической оптимизацией промптов

3️⃣ Независимая архитектура масштабирования — запускайте десятки воркеров на CPU-машинах, пока обучение происходит на GPU-кластерах

4️⃣ Мониторинг в продакшене — встроенное логирование отслеживает каждое решение агента, вызов LLM и сигнал вознаграждения через OpenTelemetry

🔗 Совместимость:
Работает с любыми фреймворками для ИИ-агентов: LangChain, OpenAI Agent SDK, AutoGen, CrewAI, Microsoft Agent Framework, или даже без фреймворка (чистый Python OpenAI).

📊 Преимущество RL над обучением с учителем:
Обучение с подкреплением требует только сигналы результата (задача решена/провалена), в то время как обучение с учителем требует детальных аннотаций для каждого шага каждой задачи, что крайне дорого для интерактивных сценариев.

🔬 Подробнее:
• GitHub: https://github.com/microsoft/agent-lightning
• Документация: https://microsoft.github.io/agent-lightning/latest/
• DeepWiki: https://deepwiki.com/microsoft/agent-lightning

@llm_notes

#reinforcement_learning #rl #agents #microsoft #machine_learning #ml #llm
#agents

Ждали и дождались - агентов теперь и без кода пишем
🤖 LangChain запускает свой Agent Builder — конструктор ИИ-агентов без кода

LangChain представил LangSmith Agent Builder в закрытом превью — платформу для создания ИИ-агентов без необходимости писать код. Теперь создавать автономных агентов смогут не только разработчики.

Что отличает от конкурентов:

🔹 Это не визуальный конструктор workflow, а именно агент-билдер
🔹 Агенты принимают решения динамически, а не следуют заранее заданному пути
🔹 Встроенная система памяти — агент запоминает исправления и применяет их в будущем

Ключевые возможности:

1️⃣ Разговорная настройка — описываете задачу простым языком, система задает уточняющие вопросы и автоматически генерирует промпты

2️⃣ Адаптивная память — агенты обновляют свои инструкции на основе ваших корректировок без ручного редактирования

3️⃣ Интеграция с сервисами — подключение к Gmail, Slack, Linear, LinkedIn через OAuth и MCP

4️⃣ Agent Inbox — мониторинг всех потоков агентов с индикаторами статуса и уведомлениями

Архитектура агента включает:

Промпт — логика и описание задач агента
Инструменты — подключение к внешним сервисам через MCP
Триггеры — автоматический запуск по событиям или расписанию
Субагенты — разделение сложных задач на специализированные модули

Платформа подходит для внутренних задач: email-ассистенты, чат-боты, интеграция с Salesforce. Например, агент может ежедневно присылать сводку встреч или создавать задачи в Linear на основе писем.

В целом, все это можно сделать и в том же manus.im через интеграционную связку "отправка задания по email" в manus, внутри которого предварительно настроены нужные mcp-серверы.
Но если вы хотите влиять на архитектуру agent flow и в дальнейшем мониторить его состояние, то LangSmith Agent Builder подойдет лучше, чем универсальная система вроде manus.im.
Получается, LangSmith Agent Builder - это что-то вроде lovable/replit для построения мульти-агентной системы.
Кстати, вот еще один вариант системы такого плана, но которую можно потестировать и без private preview (я ее использовал в третьем потоке курса по ИИ-прототипированию для быстрого создания мульти-агентных цепочек).

Источники:
📝 [Официальный блог LangChain]
🎥 [Демо на YouTube]

@llm_notes

#agents #langchain #automation #productivity #builder
Forwarded from дAI потестить!
This media is not supported in your browser
VIEW IN TELEGRAM
Че как там дела у нейрофотографов? Все еще делают нейрофототсессии за деньги??

P.S. Промпт подглядел у Юли 85Gb, но буду делать вид что придумал сам.
P.P.S.S. С некоторыми лицам работает плохо, но от этого только интереснее.

Бесплатно https://labs.google.com/mixboard/
Forwarded from КПД
Точность имеет значение

У наиболее распространенного на данный момент для обучения формата bfloat16 всего 7️⃣ бит на мантиссу. Обычно полагается, что такой формат lossless с точки зрения обучения и инференса (есть работы указывающие на сложность в воспроизводимости результатов в bf16).

Однако для некоторых слоев и тензоров, могут быть интересные последствия.

Некоторое время назад, обучая модельку, мы обнаружили, что веса при RMS нормах вообще не сдвинулись с места. При этом градиент тек по ним, и оптимизатор вполне себе их захватывал.

А дело в том, что в момент инициализации веса при RMS норме равны 1, и если обновление по величине не превышает 1e-3, то вес никогда не изменится.

В bfloat16: 1 + 1e-3 = 1

Собственно для таких ситуаций и нужна мастер копия в fp32.
Forwarded from Egor Krasnoperov
Недавно столкнулся с похожей проблемой, надо было замаскировать значения в тензоре из bf16, и после дебага выяснилось, что выражение 1 > 0.999 в bf16 == False, 0.999 при касте в bf16 превращается в 1