Интересное что-то
517 subscribers
2.72K photos
253 videos
139 files
4.52K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Forwarded from .ml
Большинство советов по ускорению Pandas звучат одинаково: «уберите циклы», «используйте apply», «снижайте размер типов». Но правда в том, что в реальном проекте эти правила работают не всегда — иногда даже замедляют пайплайн и увеличивают потребление памяти.

В статье на Хабре мы собираем бенчмарки скорости и памяти на разных сценариях и делаем практические выводы, какие из лайфхаков реально работают и при каких ограничениях. А именно:

👾 Iterrows vs itertuples: почему официальная рекомендация из документации pandas может привести к Out of Memory и замедлению пайплайна.
👾 apply с raw=True: малоизвестный аргумент, который даёт почти тот же прирост, что NumPy-векторизация — без полного переписывания кода.
👾 merge → loc или reindex: правда ли merge — швейцарский нож в мире датафреймов?
👾 Типы данных: int8 vs int64, float32 vs float64, categorical и sparse — что реально экономит ресурсы, а что даёт мизерный эффект.
👾 Параллелизация: pandarallel и multiprocessing — какой инструмент выбрать и почему (или не выбирать ни один).

Если вы работаете с большими объёмами данных на Pandas, наша статья поможет избавиться от «оптимизаций ради оптимизаций».
SGR - Ликвидация галлюцинаций в LLM

Надоело, что LLM-ка на один и тот же запрос выдаёт то стихи, то рецепт борща, то вообще уходит в астрал? Ловит постоянно галлюны и никакого структурированного ответа, как будто обожралась грибов с Бали? 🤪

Но есть решение, которое уже набирает обороты и становится must have — SGR (Schema Guided Reasoning). Это подход, который превращает LLM из капризного «чёрного ящика» под грибами в управляемый и предсказуемый инструмент.

Как это работает?
SGR заставляет модель рассуждать по заранее определённым схемам. Вместо того чтобы дать ей полную свободу творчества, мы даём ей чёткий чертёж, по которому она должна построить свой ответ. Это жёстко снижает количество галлюцинаций и повышает предсказуемость 👋

На практике: вместо того чтобы просто попросить LLM «по-братски проанализировать документ», мы даем ей строгую схему, которая заставляет её выполнить последовательный и логичный мыслительный процесс:

1️⃣ Проверь применимость.
2️⃣ Дай чёткий ответ: Да/Нет.
3️⃣ Если «Нет» — выбери причину из списка и оцени, насколько всё плохо.
4️⃣ Покажи пальцем на косяки в тексте и предложи, как их исправить.

Вся магия работает через Structured Output (SO) с помощью JSON Schema. Если не душить терминами, то мы просто описываем чёткую структуру, которую хотим получить на выходе из каждого этапа 🤭

Простейший пример на Pydantic смотри на 1 картинке.
Дальше мы просто говорим модели: «Твой ответ должен соответствовать схеме ComplianceAnalysis, или я умру». И на выходе получаем чистенький, структурированный JSON, с которым уже можно нормально работать.

Базовые паттерны SGR 😎
Для практического применения удобно использовать несколько базовых паттернов:
🟣Cascade. Линейная последовательность шагов рассуждения. Подходит для
задач, где важен чёткий порядок действий (например, создание отчета).

🟡Routing. Ветвление. Модель выбирает подходящий путь рассуждения в
зависимости от условий.

🔵Cycle. Циклический процесс. Используется для итеративной работы, Например,
через этот паттерн можно реализовать ReAct-агента, где повторяются шаги
«Reasoning → Action».

Итог 🦆
SGR — это мощный инструмент, который превращает LLM из «творческого» генератора текста в надёжный и предсказуемый инструмент для анализа, чей процесс принятия решений прозрачен и легко проверяется. Короче, это мощный инструмент, который заставляет LLM работать по твоим правилам, а не генерировать рандомный грибной бред.

Почитать подробнее можно здесь, а про паттерны здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
РАБОТА В DS НА ВАЛЮТНУЮ УДАЛЁНКУ: разбор собеседования на $8000/мес

Сегодня разбираю реальное собеседование с валютной удалёнки моего ученика на зелёных грязных бумажек, он кста туда оффер получил, сейчас в Испании с дельфинами катается 😘

Видос получился крайне сочный и информативный, поэтому если хочешь кайфовать не с 300к, а 800к ЗПшкой где-нибудь в Тайланде, причмокивая кокос, то видео обязательно к просмотру 🤑

Специально для вас заморочился с продакшном и картинкой, чтобы ваши глазки радовались 😍

Ссылочка на видосик
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Blog
Внимание. С картинками.

До того, как стала популярна механистическая интерпретируемость, в трансформерах много надежды возлагалось на Attention. Кажется, что сейчас интерес к голому исследованию Attention спал, но всё же это чертовски красивый механизм.

Один из примеров визуализации красоты — наткнулась сегодня — визуализация Attention Flows. И вот, в статье, авторы попробовали понять механизм fine-tuning на основе сравнения Attention для претрейненной и нет модели.

Что сделали:

1. Рассмотрели граф внимания, рассмотрев как отправной [CLS] токен (на последнем слое);
2. Для каждой головы внимания выбрали токены, на которые [CLS] смотрит с весом выше порога (τ).
3. Этим токенам присвоили значения узлов на предыдущем слое, а ребра (связь слоя l-1, со слоем l) — обозначили за силу их влияния.
4. Повторили процесс для каждого выбранного токена, двигаясь слой за слоем назад, пока не будут пройдены все слои.

Почему [CLS] — в BERT финальное эмбеддинг-представление используется для классификации (через линейный слой). И всё, что модель «собирает» из текста, в итоге агрегируется в [CLS]. Поэтому, чтобы понять, какие слова повлияли на решение, начали анализ именно с этого токена.


Если алгоритм вас не впечатлил — просто посмотрите на картинку. Получилось безумно красиво.

Чего достигли на основе построения таких картинок:

Решили 3 задачи. Вернее, попробовали решить.

* T1 – Trace and query self-attention: выбор токенов или голов внимания и просмотр, как внимание распространяется по слоям вперёд и назад.
* T2 – Discover attention functionality: понимание того, какие головы и слова наиболее важны для решения задачи — как в сумме, так и по отдельности.
* T3 – Compare models: сравнение внимания в исходной и дообученной модели, поиск уникальных и общих голов внимания и различий в слоях.

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

Но картинки — просто чудо.
➡️A/B-тесты для AI-ботов

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

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

Все оценки автоматически отправляются в Langfuse, где я вижу статистику по каждой сессии и по каждой задействованной версии промпта.


Что это дает:
Могу проводить A/B-тесты промптов и сравнивать пользовательские оценки для каждого варианта
Могу тестировать разные модели - сейчас под капотом GPT-5, но можно попробовать GPT-5 mini (а так же многие другие дешевые модели) и посмотреть, насколько просядет качество

Если вы до сих пор не используете систему отслеживания работы ллм - настоятельно рекомендую начать попробовать)
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Зацените как можно на лету добавлять различные элементы в видео: юнцу - бороду, тигру - полосы, афродядьке - новую голову

Все выглядит вполне консистентно

Добавить себе татухи или подкачать бицухи можно тут:
https://ebsynth.com/

Nano banana + Veo + EbSynth: и ты сам себе режиссер!
➡️Два подхода к созданию ИИ агентов

В статье Битва за агентов подробно расписано про разницу подходов у OpenAI и LangChain к работе ИИ агентов. Рекомендую к изучению.

Для тех, кому не хочется погружаться в технический дебри, я сделал более простое (как мне кажется) изложение. Заодно и сам хоть понял что к чему😄

Итак, в мире ИИ-сервисов существует три основных подхода к организации работы:

Pipeline - это конвейер, где данные проходят через фиксированную последовательность этапов, как деталь на заводе: получили запрос → проанализировали → обработали → выдали ответ. Просто, предсказуемо, но негибко — если клиент на этапе оплаты решил изменить заказ, придётся начинать сначала.

Декларативный подход - похож на схему метро: все возможные маршруты прорисованы заранее, есть развилки и альтернативные пути, но вы не можете поехать там, где рельсов нет. Вы описываете граф состояний и переходов, а система следует по нему, выбирая нужную ветку в зависимости от условий. За этот подход топит ЛангГраф.

Императивный подход - работает совершенно иначе - вы даёте AI цель и набор инструментов, а дальше он сам решает, как действовать. Чаще всего в основе лежит паттерн ReAct (Reasoning + Acting): AI размышляет о задаче, выбирает действие, наблюдает результат и решает, что делать дальше. Это как отправить опытного сотрудника решить проблему клиента - он сам определит, нужно ли сначала выяснить бюджет или важнее понять сценарий использования, когда привлечь специалиста, а когда справится сам. За этот подход топит ОпенАИ.


Примеры декларативного и императивного подходов

Пример 1: Служба поддержки банка

У вас два AI-агента:

Агент переводов
Агент кредитов

Сценарий клиента:
"Хочу перевести деньги и узнать про кредит на машину"

ДЕКЛАРАТИВНЫЙ ПОДХОД (карта)
1. Анализ запроса → два вопроса обнаружено
2. Сначала → Агент переводов (критично по времени)
3. Потом → Агент кредитов (может подождать)
4. Проверка → все ли решено?
5. Завершение
Клиент всегда получит ответ в одинаковом порядке
Легко проверить для аудита
Негибко для нестандартных ситуаций

ИМПЕРАТИВНЫЙ ПОДХОД (компас)
AI сам решает:
- Может спросить "Что важнее сейчас?"
- Может параллельно запустить обоих агентов
- Может предложить сначала оформить кредит, чтобы были деньги для перевода
Адаптируется под контекст
Может найти неочевидные решения
Непредсказуемый результат
Сложно контролировать


Пример 2: Интернет-магазин техники

Агенты:

Консультант по товарам
Менеджер доставки

Сценарий клиента:
"Посоветуйте ноутбук для работы и доставьте завтра"

ДЕКЛАРАТИВНЫЙ:
Жёсткая последовательность:

Консультант выясняет требования
Предлагает 3 модели
После выбора → передача менеджеру доставки
Менеджер проверяет возможность на завтра

Проблема: Что если завтра доставки нет? Клиент зря потратил время на выбор.

ИМПЕРАТИВНЫЙ:
AI может сразу проверить доставку на завтра и предложить только те модели, которые успеют привезти. Или спросить, что важнее — конкретная модель или срочность?


Пример 3: Медицинская система

ГДЕ НУЖЕН ДЕКЛАРАТИВНЫЙ:
Пациент: "У меня болит голова и нужен больничный"

Фиксированный протокол:
1. Сбор симптомов → обязательно все пункты
2. Проверка противопоказаний → без пропусков
3. Только потом → выдача больничного

Нельзя пропускать шаги или менять порядок!

ГДЕ ПОДОЙДЁТ ИМПЕРАТИВНЫЙ:
Фитнес-консультант AI:
"Хочу похудеть и накачать пресс"

AI свободно решает:
- Начать с питания или тренировок?
- Предложить сначала обследование?
- Адаптироваться под ответы человека


Главный вывод

Декларативный = Рецепт
Вы даёте AI пошаговый рецепт. Он не может от него отступить.
Когда нужно: банки, медицина, юридические услуги

Императивный = Цель
Вы даёте AI цель. Он сам выбирает путь.
Когда нужно: творческие задачи, консультации, обучение

Кто же прав в споре?
OpenAI: "Дайте AI свободу, модели уже достаточно умные"
LangChain: "Без контроля AI может навредить. Нужен баланс"
Реальность: Идеальная система умеет работать в обоих режимах. Для оформления кредита — строгий протокол. Для выбора подарка — творческая свобода.
Please open Telegram to view this post
VIEW IN TELEGRAM
#llm #petproject #startup

Кто хотел много деняк заработать?
➡️Поисковая оптимизация и ИИ: размышления о современном подходе к созданию сайтов

Размышлять - не мешки ворочать. Поэтому хочу поделиться этой простыней с мыслями о построении инфраструктуры по созданию SEO-оптимизированных сайтов, максимально используя возможности ЛЛМ.

Контекст и предпосылки

Имея за плечами 16+ лет в SEO, я хорошо понимаю классические подходы к построению сайтов. Но сейчас, с появлением ЛЛМ и ИИ-инструментов, открываются совершенно новые возможности для автоматизации и оптимизации процессов.

Этот текст будет затравкой для общения - может кто-то скажет "есть такие-то готовые решения, стоит туда идти". Предметной области я не касался уже более 5 лет, и возможно многое изменилось в мире SEO и веб-разработки. И я придумываю велосипед. Если так – просьба сообщить в каментах.

Исходная ситуация

Есть простой сайт-визитка про ремонт помещений на Тильде. Задача - превратить его в многостраничник, где каждый вид услуг будет на отдельной странице.
Почему это важно? Поисковики любят, когда под каждый запрос есть отдельная релевантная страница — это значительно повышает шансы попасть в топ выдачи.


Где будем использовать ИИ?

Да практически везде! Пока это будет не полностью автоматизированный пайплайн с тыщей агентов под капотом и обманутыми ожиданиями😄, а что-то похожее на вайб-SEO, где ручному труду отдается 10-30%.

Итак, задействуем ИИ тут:
Создание сайта и интеграция его на новую платформу
Анализ семантики и кластеризация
Изучение конкурентов
Генерация контента
Оптимизация структуры

Концепция вайб-SEO:

Шаг 1: Перенос и структурирование

Пересобираем исходный сайт-визитку в ИИ-сервисе Lovable. Там же закладываем правильную структуру:
Шапка сайта (хедер) - единая для всех страниц
Основной контент - уникальный для каждой страницы. Создаем типовые блоки с нумерацией, списками, цитатами, заголовками всех видом и т.д.
Подвал (футер) - тоже единый

Шапку и подвал делаем отдельными блоками - так проще вносить изменения на весь сайт сразу.

Шаг 2: Подключение системы управления сайтом

Здесь нужны два инструмента, которые предстоит развернуть:
Strapi - Система для хранения контента — это как БД для всех текстов, картинок и данных сайта
Astro - Система для сборки страниц — она берет контент и превращает его в быстрые веб-страницы
Переносим в Курсоре код из Lovable на Astro
Альтернатива Strapi + Astro - что-то типа вордпреса, но очень он кривой и неспешный.

Шаг 3: Сбор семантики с помощью ИИ

Используем Яндекс.Вордстат для сбора всех вариантов запросов (как люди ищут услуги ремонта). Получаем сотни разных формулировок: "ремонт квартир", "отделка помещений", "евроремонт под ключ" и т.д.
Роль ИИ: Отправляем все эти запросы в ЛЛМ для кластеризации - ИИ сам сгруппирует похожие запросы и подскажет, какие страницы нужно создать.

Шаг 4: Анализ конкурентов через ИИ

Для каждого ключевого запроса:
1. Через SerpApi находим топ-3 сайта в выдаче (лучше смотреть Москву — там самая жесткая конкуренция и качественные сайты)
2. Отправляем ссылки в Perplexity, чтобы он извлек текст со страницы и метаданные (ключевые слова, мета-теги, описание для поисковых роботов)
3. Генерируем там же свой вариант.

Результат: ИИ создает для нас "идеальную" страницу, которая объединяет лучшие практики топовых конкурентов.

Вместо Perplexity можем использовать вэбскрапперы (системы для парсинга вебстраниц – их часто целесообразно использовать для обхода защит от ботов) . Я лично использую scrapeops.io – он достаточно дешев и стабилен

Шаг 5: Автоматическое наполнение

Вместо ручного создания десятков страниц:
Пишем скрипт, который берет данные от ИИ
Автоматически создаем новые страницы в базе данных
Наполняем их оптимизированным контентом

Шаг 6: Сайт залетает в ТОП яндекса

Как следствие:
Экономим на рекламе
Ловим перелидоз
Стрижом баблосы
Восхищаемся собой
Говорим, а Коренев-то неплохую тему накинул - красава!


Повторив эти 6 шагов ты можешь заработать свой миллион долларов! Для нетерпеливых рекомендую сразу начать с шага 6😄


Кста, кому такое надо внедрить? Кто хочет такое научиться делать?
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Андрей Созыкин (Andrey Sozykin)
Защищенные сетевые протоколы

Завершился основательный раздел курса по компьютерным сетям, посвящённый транспортному уровню. В следующем разделе будем рассматривать Защищенные сетевые протоколы.

Какие протоколы будем изучать:
- TLS – Transport Layer Security
- HTTPS – HTTP Secure
- DNS-over-TLS, DNS-over-HTTPS
- DNSSEC – DNS Security Extensions

Если плохо работает YouTube, то можно смотреть в Дзен или VK.

Поддержать создание курса можно на Boosty или CloudTips.