Интересное что-то
517 subscribers
2.71K photos
253 videos
138 files
4.51K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.iss.one/asisakov_channel
Чат: https://t.iss.one/youknowds_chat
Download Telegram
Forwarded from Dataism
🌈Каждый аналитик желает знать, что там по юнит-экономике

Как вы могли заметить, в последнее время у меня начался цикл постов про продуктовую внутрянку.

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

Поехали:
https://www.youtube.com/watch?v=3fjOFBIpj9Y - разговор Ильи Красинского и Глеба Кудрявцева. Легкое введение и общие понятия.
https://gopractice.ru/product/unit-economics/ - статья на Go Practice, там же найдете шаблон расчета юнит-экономики от Ильи.
https://www.youtube.com/watch?v=h8VWl0GFW3Y&t=3s - снова лекция Яндекса в рамках школы менеджеров. Илья Красинский. Старое видео, но все еще полезное.
https://gopractice.ru/free/vid_zabudko_smirnov/ - снова Go Practice, но уже видео разбор. Финансовые модели и юнит-экономика на практике.
https://khanin.info/blog/93 - блог с разными статьями про юнит-экономику от Ханина. У него еще и книга есть по этому поводу.
Forwarded from Андрей Созыкин (Andrey Sozykin)
Сертификаты TLS/SSL и инфраструктура открытых ключей

В новом видео по протоколу TLS рассказываю об аутентификации - подтверждении подлинности сервера (а иногда и клиента), к которому происходит подключение.

Аутентификация нужна для защиты от атаки Человек посередине, когда кто-то перехватывает все наши сообщения, передает их от своего имени серверу, а ответы сервера пересылает нам. При перехвате злоумышленник может прочитать и изменить все сообщения.

Как проверить подлинность удаленного сервера? Для этого можно применить асимметричное шифрование, но не так, как мы рассматривали ранее. Если зашифровать сообщение закрытым ключом сервера, то расшифровать его можно будет только открытым ключом. Такой алгоритм называется цифровой подписью (на самом деле все устроено несколько сложнее, но технические детали нам пока не важны). Если клиент с помощью открытого ключа смог расшифровать цифровую подпись, сделанную закрытым ключом сервера, то клиент может быть уверен, что сообщение действительно отправил сервер.

Но далее возникает следующая проблема – как узнать, что открытый ключ действительно принадлежит серверу, а не злоумышленнику? Для этого нужен третий участник – удостоверяющий центр (Certificate authority). Именно удостоверяющий центр подтверждает подлинность открытого ключа сервера. Для этого создается сертификат TLS/SSL, в котором есть открытый ключ сервера и цифровая подпись удостоверяющего центра. Если клиент доверяет удостоверяющему центру, то он может быть уверен в подлинности открытого ключа сервера.

Для масштабирования на уровень интернет удостоверяющие центры организованы в иерархию - инфраструктуру открытых ключей (Public Key Infrastructure). Клиентам нужно настроить доверие только с корневыми удостоверяющими центрами, с остальными доверие будет проверено автоматически.

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

Поддержать создание курса можно на Boosty или CloudTips.
All work no play makes Claude a dull boy

Сидел недавно вечером, отдыхал после работы, кушал куриную грудку и выбирал себе плавки на яндекс маркете. Зацепился взглядом за мини-игры, которые дают какие-то бонусы, нашёл там 2048 и залип. Играл весь вечер, собрал какое-то большое число и внезапно заинтересовался — а насколько ллмки умеют играть в 2048?

Кроме автоматизации получения бонусов с яндекс маркета, меня интересовала ещё одна деталь. Моим дипломом в магистратуре была проверка умений VLM к физическому ризонингу — условно, даём модели картинку с 2D физической сценой и просим предсказать, что будет дальше. Но VLM (даже SOTA в лице GPT-4) очень плохо справлялись с этой задачей, путали лево и право и галлюцинировали цвета шариков, так что тот проект превратился в бенчмарк, где ллм в агентном цикле генерили код для симуляции этих сцен (и работало это всё равно довольно плохо). Соответственно, возникает вопрос — если в 2023 году VLM так плохо справлялись со spatial reasoning, насколько лучше с ним они будут справляться в конце 2025?

Проверить легко — вместе с клодом кодом написали движок для 2048, управляющийся через LEFT, RIGHT, UP, DOWN, прикрутили визуализацию, сделали нативный function calling (спасибо Kristaller за пулл-реквест) и запустили следующие модельки:

- Qwen-3-VL-8B-Thinking и Instruct — посмотреть, как работают мелкие open-source VL модельки, проаблейтив наличие или отсутствие thinking, текстовый или картиночный ввод и контекст в 5 ходов
- Qwen-3-VL-235B-Thinking и Instruct — посмотреть, как работают крупные open-source VL модельки, проаблейтив наличие или отсутствие thinking
- Gemini 2.5 Flash Lite — посмотреть, как работают закрытые VL модельки мелкого размера
- Claude 4.5 Sonnet — фронтир модель

К сожалению, 2048 очень рандомная игра. Хорошую стратегию всегда может испортить заспавнившаяся в неудачном месте цифра и игра будет проиграна. Да и из-за рандомности генерации двоек и четвёрок счёт в случае некоторых моделей при равном числе шагов отличался аж на 20%. Кроме того, за несколько ранов я мог наблюдать, что счёт ллмок из-за рандомности даже с зафиксированным сидом сильно скакали. Но несмотря на рандом, вот несколько паттернов, которые мне удалось заметить:

- Модели уже не слепые котятки, потому что ризонинг трейсы были относительно внятными и направления аргументировались осмысленно. Модели понимают концепцию направления и могут производить некоторый spatial reasoning, хоть и делают дофига ошибок.
- Хайскор — 256 + 128 у мелкого квена ризонера. Остальные модели добирались до 128 и дальше проигрывали. Автоматизировать получение бонусов на Яндекс Маркете не получится.
- Ризонинг, кажется, помогает. Qwen-3-VL-8B-Thinking и 235B-Thinking работали стабильно лучше, чем Instruct версии тех же моделей.
- Количество нелегальных шагов слабо зависит от итогового счёта и размера моделей. У Qwen-3-8B-Thinking в пять раз меньше нелегальных ходов, чем у Соннета.
- Кажется, мультимодальность мешает модели, но с этим непонятно. При смене домена с картиночного на текстовый число нелегальных шагов подскочило втрое, но и счёт вырос вдвое.
- 2048 — это плохой бенчмарк из-за рандомности. Что, впрочем, не остановило наших коллег из UC San Diego, UC Berkley и MBZUAI от включения этого энвайрмента в свой сабмит на ICLR 2026. Oh well.
- Я мог бы погуглить, прежде чем садиться тратить время и деньги на апи, но what's the fun in that? :P

Клод написал мне веб-страничку с визуализатором, посмотрите обязательно, это прикольно. Код выложен на моём гитхабе.
5️⃣0️⃣0️⃣ 🕺
Please open Telegram to view this post
VIEW IN TELEGRAM
Как бороться с переобучением в ML

Считаете вы значит свои данные на тренировочных данных, качество хорошее, нужно внедрять в прод. Смотрите на тестовых — все плохо. Достаточно понятное объяснение: модель подстроилась под тренировочные данные.

Чем это грозит? Когда будем получать новые данные, модель не сможет адекватно интерпретировать нашу реальность, из-за чего будем страдать. Неадекватные прогнозы, плохое обобщение модели, неверные решения для бизнеса, убытки. В общем, все хорошо приемлемо 👨‍⚖️

Вся эта борьба по сути, управление bias–variance tradeoff: либо модель слишком простая, либо слишком подгоняется под шум.


Что можно с этим сделать

1. Больше качественных данных. Взять больше выборку, предобработать лучше. Минусы: не всегда есть эти данные. Возможно, мы уже взяли те самые 100% на которых мы обучаем 👀. У меня в магистратуре есть курс по предподготовке и анализу данных. Считаю его одним из самых важных. Об этом напишу в следующих постах.

2. Регуляризация. Модель может штрафовать за сложность. Чем проще модель, тем меньше она запоминает шум в данных. Без нее модель может выучить все подряд. Почитать можно тут, все хорошо объяснено. Практически всегда стоит начинать со включенной регуляризации, если понимаете за что каждый из видов отвечает.

3. Уменьшить сложность модели. Несмотря на то, что могут быть более мощные модели, они имеют свойство переобучаться. Например, для деревьев можно ограничить глубину. Попробовать сократить количество фичей и использовать более простую модель 🤔

4. Замерять качество на валидационном датасете. Сравнивать качество на тренировочных и тестовых данных, а дальше тюнить в зависимости от обнаружения проблемы по метрикам качества модели. Про то как работать с кросс-валидацией написано тут 🍪🍪

5. Feature Selection. Определять важные для модели фичи, которые можно будет легко интерпретировать. Лучше использовать 10 хороших фичей, чем 200 случайных. Про простенький вариант на примере Титаника 😮

6. Аугментация и добавление синтетических данных. Можно обмануть алгоритм, добавив шум, предоставить те же семплы данных, но немного измененные. Обычно это подходит для CV и NLP. Например, когда, мы подаем в модель повернутые картинки котиков, искусственно масштабируя датасет. Здесь также можно применить и SMOTE / ADASYN 🙊. Важно: все oversampling / SMOTE только на тренировочной выборке, иначе будет data leakage (утечка данных). О том, что это и как с этим бороться — тут.

7. Раннее прекращение обучения модели. Если качество на валидации перестаёт расти или начинает ухудшаться, обучение стоит остановить. Дальше модель может запоминать только шум. Например, останавливать обучение, если после N итераций качество на валидации не улучшается (как это указано на картинке).

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

Хорошая модель — это не та, что идеальна на трейне, а та, что стабильно работает на новых данных 🤓


Но все должно быть объяснимо, почему может возникнуть переобучение, проблемные случаи и так далее. Мы же не на Kaggle
🔑, чтобы оптимизировать модели вслепую ради скора, а должны смотреть на все комплексно

Что-то забыл? Пишите в комментариях! Ставьте 🤪, если понравился пост! Планирую по 💻 писать больше, так как учусь на него, ну...

@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Роман с данными
Ключевые выводы McKinsey из отчета The State of AI in 2025 о применении AI агентов
1. Большинство организаций всё ещё находятся на стадии экспериментов или пилотных проектов: две трети респондентов говорят, что их организации пока не начали масштабировать ИИ на уровне всей компании.
2. Высокий интерес к ИИ-агентам: 62% участников опроса отмечают, что их организации как минимум экспериментируют с ИИ-агентами.
3. Позитивные ранние сигналы влияния ИИ: Респонденты сообщают о выгодах по отдельным сценариям применения — снижении затрат и росте выручки — и 64% говорят, что ИИ помогает инновациям.
4. Лидеры используют ИИ для роста, инноваций и снижения затрат: 80% респондентов говорят, что их компании ставят повышение эффективности целью ИИ-инициатив.
5. Перепроектирование рабочих процессов — ключевой фактор успеха: половина наиболее успешных компаний в ИИ намерена использовать ИИ для трансформации бизнеса, и большинство из них пересматривают рабочие процессы.

Цифры крутые! Но потом читаю юмористические посты
Вити Тарнавского https://t.iss.one/singularityfm/375
Леши Хахунова https://t.iss.one/aihappens/392

И складывается картинка как их внедряют😀😀😀
👋Ну что продолжаем про CAP. Меня умиляют команды, которые на каждом углу кричат: «Наш главный приоритет - доступность!». Они пишут это в README, вставляют в презентации для начальства. Звучит солидно. А потом у них падает база данных, и вся их «доступность» превращается в тыкву, потому что никто не подумал о репликации.

Давайте начистоту. Доступность (Availability) - это не галочка в Jira. Это самая дорогая и лживая метрика в IT. Вы не можете просто «выбрать доступность». Вы покупаете ее. За деньги, сложность и бессонные ночи вашей команды поддержки.

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

🔥Уровень 1: «Бытовая доступность»

Это ваш типичный проект-монолит на одном сервере. Доступен ли он? Да, пока сервер работает. Когда он падает - из-за сбоя питания, обновления ОС или потому что уборщица выдернула шнур - система недоступна. Все просто и честно. Это ларек с шаурмой. Если продавец заболел, ларек закрыт. Никто не ждет от него доступности 24/7.

Когда это нормально: 90% внутренних систем, админок, MVP, которые вы показываете инвестору. Короче, везде, где минута простоя стоит дешевле, чем зарплата еще одного инженера.

🔥Уровень 2: «Три девятки» (99.9%) - Начало боли

Это примерно 8.7 часов простоя в год. Чтобы этого достичь, одного сервера уже мало. Вам нужен как минимум второй сервер и балансировщик нагрузки. Теперь, если один сервер падает, второй подхватывает трафик. Звучит просто? А теперь подумайте: вам нужна репликация данных между ними, консистентность этих данных, система мониторинга, которая поймет, что первый сервер упал, и автоматический механизм переключения. Ваша архитектура усложнилась в три раза. Цена - деньги на железо и зарплата DevOps-инженера.

Когда это нужно: Обычные интернет-магазины, контентные сайты. Бизнес, который теряет деньги каждую минуту простоя, но может пережить сбой в 3 часа ночи раз в квартал.

🔥Уровень 3: «Пять девяток» (99.999%) - Элитный клуб самоубийц

Это 5 минут простоя в год. ПЯТЬ. МИНУТ. Это включает время на развертывание, обновление, любые сбои. Чтобы достичь такого, вам уже недостаточно двух серверов. Вам нужны несколько дата-центров в разных городах. Геораспределенная репликация. Автоматическое восстановление после сбоев. Канареечные релизы. Команда SRE-инженеров, которые 24/7 смотрят в дашборды. Это стоит как чугунный мост.

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

Вы все еще хотите поговорить о «видах» доступности? Это не виды. Это ценники.

Перестаньте гоняться за девятками, как за покемонами. Вместо этого задайте себе и бизнесу один-единственный вопрос:

Сколько денег мы теряем за каждую минуту простоя нашего сервиса?

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

Доступность - это не технология. Это экономика. И тот, кто этого не понимает, обречен платить за свои амбиции из кармана компании.

#этобаза

Токсичный (it) архитектор
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Инжиниринг Данных (Dmitry)
S3 самый популярный элемент современного технологического мира. И это не обязательно AWS S3, ведь можно создать blob storage on-premise.

В статье How Amazon S3 Works кратко описываю системный дизайн S3. Для масштабирования с высокой производительностью не нужно дорогое оборудование — достаточно умной архитектуры и правильных алгоритмов. Amazon использует недорогие HDD-диски, но компенсирует их ограничения через параллелизм, умную организацию данных и эффективную репликацию.

Альтернативы:

🔄Крупные облачные провайдеры
Google Cloud Storage — хорошо работает с другими сервисами Google (BigQuery, ML), несколько классов хранения, понятные тарифы, от $0.020/GB в месяц.
Azure Blob Storage — от Microsoft, три уровня хранения (горячий, холодный, архив), отлично интегрируется с Office 365 и Azure, от $0.018/GB в месяц.
IBM Cloud Object Storage — для крупных компаний, автоматически оптимизирует затраты, работает с Watson AI, подходит для банков и медицины.

🔄Бюджетные варианты без платы за скачивание
Cloudflare R2 — бесплатная отдача данных (egress), быстрая доставка через CDN Cloudflare, хранение $0.015/GB в месяц.
Wasabi — один тариф $6.99/TB в месяц, нет платы за скачивание и API-запросы, все данные доступны мгновенно.
Backblaze B2 — очень дешево $6/TB в месяц, бесплатное скачивание до 3x от объема хранения, полностью бесплатно с Cloudflare CDN.

🔄Для разработчиков
DigitalOcean Spaces — простой и понятный, $5/месяц за 250GB + 1TB трафика, встроенная CDN, легко настроить.
iDrive e2 — до 80% дешевле S3 ($0.005/GB в месяц), нет платы за трафик, простой интерфейс.
Hetzner Object Storage — европейский провайдер, $0.00713/GB в месяц, очень дешевое скачивание ($0.00143/GB), соответствует GDPR.

🔄Другие варианты
Oracle Cloud — 10GB бесплатно навсегда, архив от $0.0026/GB в месяц.
Telnyx Storage — быстрый, низкие задержки, бесплатное скачивание, до 100 бакетов бесплатно.
Storj — децентрализованное хранилище на блокчейне, данные распределены по тысячам серверов, повышенная безопасность.

🔄Альтернативы on-premise
MinIO — самый популярный open-source, полностью совместим с S3, очень быстрый (до 183 GB/s), хорошо работает с Kubernetes и ML.
Ceph — мощная система для больших компаний, поддерживает объекты, блоки и файлы, масштабируется до петабайтов, но сложная в настройке.
OpenIO — быстрый, для AI/ML и big data, совместим с S3, можно комбинировать с облаком.
Cloudian HyperStore — коммерческое решение, совместимо с S3, полный контроль над данными, поддержка 24/7, для банков и госструктур.
SeaweedFS — легкий и быстрый, написан на Go, хорошо работает с миллиардами маленьких файлов (фото, документы).
Rook — упрощает работу с Ceph в Kubernetes, автоматическое масштабирование и восстановление.
GlusterFS — объединяет обычные серверы в одно хранилище, проще чем Ceph, поддержка от Red Hat.
LocalStack — эмулирует 90+ сервисов AWS на вашем компьютере, можно разрабатывать и тестировать без затрат и подключения к интернету.

Из всего списка я работал с классикой Google Cloud Storage, AWS S3, Azure Storage и использовал LocalStack для CI pipelines. Часто попадалась информация про MiniO S3 и Cloudflare R2 или Hetzner.
Please open Telegram to view this post
VIEW IN TELEGRAM
#git #python #code

Возможно, уже репостил - но очень нужная штука!
git-lfs: храним большие файлы в репозитории правильно

https://www.youtube.com/watch?v=82wj6y2rmR4

Вы сталкивались с проблемой, что рабочий проект клонируется 10 минут?
А когда начинаешь разбираться: почему так? То оказывается, что внутри десятки непережатых картинок для фронта, которые еще и менялись регулярно (а значит, оставили след в истории git навсегда).

Данная проблема влияет не только на локальное использование, ведь мы на самом деле довольно редко делаем git clone с нуля, но и самое главное – на скорость всех наших сборок (если мы не используем fetch-depth: 1 или аналог, а использовать их надо).

Решение: использовать git-lfs!

Я пригласил замечательного Олега Чирухина @tg_1red2black, чтобы обсудить:
- Как работает git-lfs на базовом уровне?
- Как мигрировать на него с базового сетапа?
- Как он устроен внутри? Поднимаем https://github.com/git-lfs/lfs-test-server и детально смотрим, что там внутри происходит

Ну и конечно чуть-чуть глянули исходники, они, кстати, на #go 🌚️️️️

Обсуждение: как вы храните большие файлы в рабочих проектах? Насколько большие файлы вы храните?

| Поддержать | YouTube | GitHub | Чат |
Forwarded from Ctrl+Shift+Boss
Что происходит, когда вы нажимаете “в корзину”?

Снаружи — будто бы магия.
Нажали кнопку — и через долю секунды товар уже в корзине, или вам назначили машину такси.

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

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

Из него вы поймёте:
— что такое балансер,
— зачем нужен L7-роутер,
— почему все говорят про Kafka,
— и как эти штуки взаимодействуют между собой.

Очень советую смотреть с компьютера — так прототип раскрывается гораздо лучше.

И небольшой интерактив:
если хотите такую же версию, но совсем нетехническим языком (для менеджеров) —
набираем 100 лайков, и я делаю.

@ctrlshiftboss 🏆