Forwarded from Agentic World
На днях у одного из моих любимых авторов вышла новая крутая статья, посвященная альтернативам классическому трансформеру в LLM. Она очень интересная, поэтому сделал ее перевод. Будет про гибриды с линейным вниманием, диффузионные LLM, модели мира и малые рекурсивные трансформеры.
https://habr.com/ru/articles/964658/
https://habr.com/ru/articles/964658/
Хабр
Не только трансформеры: за пределами стандартных архитектур LLM
Привет! Это перевод очень крутой и захватывающей статьи, в которой автор рассматривает альтернативные архитектуры LLM: гибриды с линейным вниманием, диффузионные LLM, модели мира и малые рекурсивные...
Forwarded from Data Blog
Привет, друзья!
💫 В DLS вышли обещанные лекция и семинар по базовым методам XAI. Семинар мне самой нравится очень — в нем показаны и визуализированы разные тонкости методов LIME, SHAP и всех, которые я отношу к "графическим" — PDP, ALE, ICE.
Лекция [YouTube, Vk, презентация]
Семинар [YouTube, Vk, ноутбук]
Очень рада была записать что-то в DLS! Безумно люблю их и много-много лекций смотрела от школы (в частности, разные разборы от Тани), когда только начинала заниматься DS.
Тогда я мало понимала. Поэтому становилось ещё интереснее)
Надеюсь, вам будет полезно!
По крайней мере, на первой лекции очень громко мурчит кот.🐈⬛
💫 В DLS вышли обещанные лекция и семинар по базовым методам XAI. Семинар мне самой нравится очень — в нем показаны и визуализированы разные тонкости методов LIME, SHAP и всех, которые я отношу к "графическим" — PDP, ALE, ICE.
Лекция [YouTube, Vk, презентация]
Семинар [YouTube, Vk, ноутбук]
Очень рада была записать что-то в DLS! Безумно люблю их и много-много лекций смотрела от школы (в частности, разные разборы от Тани), когда только начинала заниматься DS.
Тогда я мало понимала. Поэтому становилось ещё интереснее)
Надеюсь, вам будет полезно!
По крайней мере, на первой лекции очень громко мурчит кот.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Лекция. Основы области Explainable AI для моделей машинного обучения
Занятие ведёт Садиех Сабрина
Ссылка на материалы занятия:
---
Deep Learning School при ФПМИ МФТИ
Каждые полгода мы запускаем новую итерацию нашего двухсеместрового практического онлайн-курса по глубокому обучению. Наборы проводятся в августе-сентябре…
Ссылка на материалы занятия:
---
Deep Learning School при ФПМИ МФТИ
Каждые полгода мы запускаем новую итерацию нашего двухсеместрового практического онлайн-курса по глубокому обучению. Наборы проводятся в августе-сентябре…
Forwarded from Варим МЛ
Сегодня почти отвлечёмся от LLM и прочего ML, а порассуждаем на тему более приземлённую - что делать с бесконечной тревогой, когда работаешь в сфере ML в 2025 году.
Кстати, у нас новая вакансия на CV-инженера.
#Жека
Кстати, у нас новая вакансия на CV-инженера.
#Жека
Telegraph
Тревога в мире LLM
Недавно наткнулся на твит от авторов свежей опенсорсной LLM MiniMax M2. Уже первые абзацы заставили меня почувствовать сильную внутреннюю тревогу. Окей, я хотя бы смог прочитать и понять, что написано, уже хорошо, бывает, что прям совсем не выкупаю. Но если…
Forwarded from что-то на инженерном
Гарантии доставки сообщений в Kafka✈️
В распределенных системах часто приходится выбирать: в каких сценариях можно позволить себе потерю или задержку сообщения, а где важно гарантировать его обработку без повторов.
В Kafka есть несколько уровней гарантий доставки: At Most Once, At Least Once и Exactly Once. От выбора уровня зависит поведение системы при сбоях, баланс между производительностью и надежностью, а также требования к идемпотентности обработки.
Предлагаю разобрать подробно, что означает каждая гарантия и где её целесообразно применять.
✅ At Most Once (Не более одного раза)
Это гарантия, при которой сообщение отправляется только один раз, и если оно потерялось, повторной доставки не будет. Такой подход исключает дублирование, но допускает потерю данных.
Как это работает в Kafka?
⭕️ Продюсер отправляет сообщение, не дожидаясь подтверждения от брокера (
⭕️ Брокер не гарантирует сохранение, т.е. сообщение может быть потеряно при сбое.
⭕️ Консьюмер может использовать автофиксацию смещений (
Когда использовать?
Подходит для систем, где допустима небольшая потеря данных ради высокой пропускной способности, например:
⭕️ сбор событий кликов на веб-сайтах;
⭕️ телеметрия с IoT-устройств, где пропуски некритичны.
✅ At Least Once (Как минимум один раз)
Гарантирует, что сообщение будет доставлено минимум один раз. Это исключает потерю сообщений, но допускает их дублирование.
Как это работает в Kafka?
⭕️ Продюсер отправляет сообщение и ждет подтверждения от брокера (
⭕️ Консьюмер получает сообщение, обрабатывает его и только после успешной обработки коммитит смещение (manual commit).
⭕️ Если консьюмер или процесс обработки упадет после выполнения бизнес-логики, но до комитта, консьюмер сможет запросить то же сообщение повторно.
Когда использовать?
Подходит для систем, где потеря данных недопустима, а дублирование можно обработать:
⭕️ обработка заказов или событий e-commerce;
⭕️ системы мониторинга и логирования;
⭕️ ETL-пайплайны, где данные могут быть дедуплицированы на следующем шаге.
✅ Exactly Once (Ровно один раз)
Строгая гарантия, при которой сообщение обрабатывается ровно один раз, даже при сбоях или повторных доставках.
Как это работает в Kafka?
⭕️ Продюсер включает идемпотентность (
⭕️ Используются транзакции, объединяющие запись сообщений и фиксацию смещений в одну атомарную операцию.
⭕️ После успешной транзакции коммит смещений и запись данных происходят одновременно, что исключает двойную обработку.
Когда использовать?
Идеален для критичных сценариев, где недопустимы ни потери, ни дублирование:
⭕️ финансовые расчеты и платежные системы;
⭕️ обработка заказов с жесткими гарантиями;
⭕️ интеграции, где консистентность данных обязательна.
Источники:
📎 Доставка сообщений и гарантии Kafka
📎 Гарантированная доставка и хранение данных в Apache Kafka: внутренняя механика
©️что-то на инженерном
В распределенных системах часто приходится выбирать: в каких сценариях можно позволить себе потерю или задержку сообщения, а где важно гарантировать его обработку без повторов.
В Kafka есть несколько уровней гарантий доставки: At Most Once, At Least Once и Exactly Once. От выбора уровня зависит поведение системы при сбоях, баланс между производительностью и надежностью, а также требования к идемпотентности обработки.
Предлагаю разобрать подробно, что означает каждая гарантия и где её целесообразно применять.
Это гарантия, при которой сообщение отправляется только один раз, и если оно потерялось, повторной доставки не будет. Такой подход исключает дублирование, но допускает потерю данных.
Как это работает в Kafka?
acks=0).enable.auto.commit=true), что приведет к автоматическому коммиту даже до успешной обработки данных.Но! Если консьюмер упадет после чтения сообщения, но до завершения обработки, это сообщение уже не будет доступно для повторной обработки.
Когда использовать?
Подходит для систем, где допустима небольшая потеря данных ради высокой пропускной способности, например:
Гарантирует, что сообщение будет доставлено минимум один раз. Это исключает потерю сообщений, но допускает их дублирование.
Как это работает в Kafka?
acks=1 или acks=all).Чтобы избежать искажений при повторной обработке, операции должны быть идемпотентными, т.е. повторное выполнение не должно изменять результат.
Когда использовать?
Подходит для систем, где потеря данных недопустима, а дублирование можно обработать:
Строгая гарантия, при которой сообщение обрабатывается ровно один раз, даже при сбоях или повторных доставках.
Как это работает в Kafka?
enable.idempotence=true), чтобы брокер игнорировал дубликаты сообщений.Консьюмер должен использовать isolation.level=read_committed, чтобы видеть только зафиксированные транзакции.
Когда использовать?
Идеален для критичных сценариев, где недопустимы ни потери, ни дублирование:
Зафиксируемся:⭕️ At Most Once - высокая скорость, но есть риск потери данных.⭕️ At Least Once - надежно, но возможны дубликаты.⭕️ Exactly Once - идеальная консистентность, но требует дополнительных усилий и ресурсов.
Источники:
©️что-то на инженерном
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from что-то на инженерном
Разбираемся с TTL в Clickhouse
Представьте, что вы храните логи пользователей, которые активно используются только в течение первого месяца. Далее эти данные нужны только для редких запросов, и хранить их на быстром и дорогом SSD нецелесообразно.
С помощью TTL (Time-to-Live) в Clickhouse можно настроить автоматический перенос данных старше 30 дней в холодное хранилище, а в быстром доступе оставить агрегированные данные для статистики. Как это сделать расскажу ниже.
Что такое TTL?
TTL задает правило, по которому данные (строки или значения столбцов) автоматически обновляются или удаляются после истечения указанного времени, обычно связанного со столбцом типа Date, DateTime или DateTime64.
Виды TTL
🟣 TTL для столбца задает правило для конкретного поля таблицы: через заданный интервал значение этого столбца заменяется на значение по умолчанию.
Если все значения столбца в части таблицы устарели, Clickhouse удалит этот столбец из части, экономя место. Такой подход полезен для частичной очистки данных, например, удаления чувствительных атрибутов (IP, имя пользователя) через сутки, но сохранения остальной информации.
Например:
➡️ Через сутки IP-адрес будет заменен на значение '' (пустую строку).
Или
➡️ Через месяц агрегируются данные по product_id.
🟣 TTL для таблицы задает условие для удаления всех строк целиком. Например, хранение логов за 30 дней, по истечении которых устаревшие строки полностью удаляются. Это более простое и часто используемое правило управления историей данных.
Например:
➡️ Через 30 дней данные переместятся на том cold_storage, а после дальнейшего срока удалятся.
Рекомендации по настройке TTL
⭐️ Официальной докой рекомендуется всегда включать настройку ttl_only_drop_parts
⭐️ С включенной ttl_only_drop_parts можно уменьшить значение merge_with_ttl_timeout - интервала между слияниями с удалением устаревших частей, поскольку операция удаления становится проще и занимает меньше ресурсов.
⭐️ Принудительно запустить применение TTL можно командой:
⭐️ Для моментального обновления данных без ожидания фоновых слияний можно использовать команду OPTIMIZE ... FINAL, но она тяжелая и не рекомендуется к частому применению.
Подробнее про TTL и больше примеров➡️ в моей статье на Medium.
©️что-то на инженерном
Представьте, что вы храните логи пользователей, которые активно используются только в течение первого месяца. Далее эти данные нужны только для редких запросов, и хранить их на быстром и дорогом SSD нецелесообразно.
С помощью TTL (Time-to-Live) в Clickhouse можно настроить автоматический перенос данных старше 30 дней в холодное хранилище, а в быстром доступе оставить агрегированные данные для статистики. Как это сделать расскажу ниже.
Что такое TTL?
TTL задает правило, по которому данные (строки или значения столбцов) автоматически обновляются или удаляются после истечения указанного времени, обычно связанного со столбцом типа Date, DateTime или DateTime64.
Важно: TTL-операции (удаление, обновление) выполняются не мгновенно. Они происходят во время фоновых операций слияния (merges) частей данных. Если части долго не сливаются, устаревшие строки могут сохраняться в таблице дольше указанного срока.
Виды TTL
Если все значения столбца в части таблицы устарели, Clickhouse удалит этот столбец из части, экономя место. Такой подход полезен для частичной очистки данных, например, удаления чувствительных атрибутов (IP, имя пользователя) через сутки, но сохранения остальной информации.
Например:
ip_address String TTL event_time + INTERVAL 1 DAY;
Или
price Float64 TTL event_time + INTERVAL 1 MONTH GROUP BY product_id SET price = avg(price);
Например:
TTL event_date + INTERVAL 30 DAY
TO VOLUME 'cold_storage'
DELETE;
TTL для таблицы можно комбинировать с TTL для отдельных столбцов. Это удобно при хранении чувствительных данных, которые нужно анонимизировать раньше, чем удалять весь ряд.
Рекомендации по настройке TTL
Параметр ttl_only_drop_parts = 1 означает, что Clickhouse будет удалять только целые части данных, в которых все строки устарели по TTL, вместо попыток частичного удаления строк внутри части.
Это существенно облегчает процесс удаления и снижает нагрузку.
При таком подходе, особенно если партиции совпадают с единицами удаления по TTL (например, по дням), данные из отдельных дней не сливаются между собой, что позволяет эффективно и быстро удалять устаревшие части.
Это снижает влияние TTL на производительность сервера и уменьшает время реакции на удаление устаревших данных.
По умолчанию составляет 14400 секунд (4 часа), но можно безопасно уменьшать, например, до 300-600 секунд.
При слишком низком значении могут возникать частые внеплановые слияния, что увеличит нагрузку на систему.
ALTER TABLE my_table MATERIALIZE TTL;
Подробнее про TTL и больше примеров
©️что-то на инженерном
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
Mastering TTL in ClickHouse: Automating Data Lifecycle
TTL (Time-to-Live) in ClickHouse is a built-in mechanism that automatically manages your data by deleting, moving, or aggregating it based…
Forwarded from Daniilak — Канал
Сделал небольшое сравнение между Playwright и Selenium
Надеюсь, будет полезным
Надеюсь, будет полезным
Forwarded from Neural Info
Отличная статья, которая на примере vLLM разбирает как работает LLM Inference Engine.
Не самая легкая для прочтения (где-то 1-2 часа вдумчивого чтения мне понадобилось), но дает хорошее понимание того, какие приемы используются для эффективного сервинга LLM at scale в multi-gpu, multi-node сетапе.
https://www.aleksagordic.com/blog/vllm
Не самая легкая для прочтения (где-то 1-2 часа вдумчивого чтения мне понадобилось), но дает хорошее понимание того, какие приемы используются для эффективного сервинга LLM at scale в multi-gpu, multi-node сетапе.
https://www.aleksagordic.com/blog/vllm
Forwarded from Андрей Созыкин (Andrey Sozykin)
Книги по нейронным сетям
В этом семестре веду курс по нейронкам в Уральском федеральном университете. Cобрал для студентов список рекомендованных книг (все доступны бесплатно, что важно для студентов):
- Alice’s Adventures in a differentiable wonderland, Simone Scardapane. Понятное объяснение математики нейронных сетей с наглядной визуализацией. Примеров кода не очень много. Рекомендую читать, если хотите разобраться во внутреннем устройстве нейронок.
- Deep Learning with Python, François Chollet, Matthew Watson. Третье издание книги автора Keras Франсуа Шолле вышло в этом году. На мой взгляд, самая понятная книга для тех, кто хочет начать применять нейронные сети для практических задач. Код на Keras и TensorFlow, есть репозиторий на GitHub.
- Dive into Deep Learning, Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Интерактивный учебник по нейронным сетям с математикой и кодом. Более глубокая, чем две предыдущие книги, но и более сложная. Книга очень популярная, 27 тыс. звезд у репозитория на Github! Примеры кода есть на четырех фреймворках: PyTorch, TensorFlow, JAX и MXNET. Рекомендую читать после Alice’s Adventures in a differentiable wonderland и Deep Learning with Python. Но можно и сразу, если уверены в своих силах 🙂
- Хендбук по машинному обучению от Яндекс. Написали преподаватели и выпускники Школы анализа данных Яндекса. Хендбук о машинном обучении в целом, по нейронным сетям есть несколько разделов. Кроме текста в хендбуке есть полезные упражнения с автоматической проверкой, рекомендую их выполнять.
Какие книги по нейронным сетям нравятся вам?
В этом семестре веду курс по нейронкам в Уральском федеральном университете. Cобрал для студентов список рекомендованных книг (все доступны бесплатно, что важно для студентов):
- Alice’s Adventures in a differentiable wonderland, Simone Scardapane. Понятное объяснение математики нейронных сетей с наглядной визуализацией. Примеров кода не очень много. Рекомендую читать, если хотите разобраться во внутреннем устройстве нейронок.
- Deep Learning with Python, François Chollet, Matthew Watson. Третье издание книги автора Keras Франсуа Шолле вышло в этом году. На мой взгляд, самая понятная книга для тех, кто хочет начать применять нейронные сети для практических задач. Код на Keras и TensorFlow, есть репозиторий на GitHub.
- Dive into Deep Learning, Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Интерактивный учебник по нейронным сетям с математикой и кодом. Более глубокая, чем две предыдущие книги, но и более сложная. Книга очень популярная, 27 тыс. звезд у репозитория на Github! Примеры кода есть на четырех фреймворках: PyTorch, TensorFlow, JAX и MXNET. Рекомендую читать после Alice’s Adventures in a differentiable wonderland и Deep Learning with Python. Но можно и сразу, если уверены в своих силах 🙂
- Хендбук по машинному обучению от Яндекс. Написали преподаватели и выпускники Школы анализа данных Яндекса. Хендбук о машинном обучении в целом, по нейронным сетям есть несколько разделов. Кроме текста в хендбуке есть полезные упражнения с автоматической проверкой, рекомендую их выполнять.
Какие книги по нейронным сетям нравятся вам?
Forwarded from Андрей Созыкин (Andrey Sozykin)
YouTube
Целостность данных в TLS | Компьютерные сети 2025 - 41
Лекция по обеспечению целостности данных в протоколе Transport Layer Security.
Как поддержать курс:
- Boosty - https://boosty.to/asozykin
- Cloudtips - https://pay.cloudtips.ru/p/45a4055b
Заранее спасибо за помощь!
Сайт курса - https://www.asozykin.ru…
Как поддержать курс:
- Boosty - https://boosty.to/asozykin
- Cloudtips - https://pay.cloudtips.ru/p/45a4055b
Заранее спасибо за помощь!
Сайт курса - https://www.asozykin.ru…
Продолжаем рассматривать протокол TLS, в этот раз целостность данных - обнаружение случайного или преднамеренного изменения данных.
Чтобы обеспечить целостность в TLS используется Message Authentication Code (MAC), русскоязычное название имитовставка. Не путать с MAC-адресом на канальном уровне.
Идея простая: считаем хэш от сообщения с помощью криптографической хэш-функции и добавляем его к сообщению. Получатель также считает хэш по таким же правилам и сравнивает его с хэшем в полученном сообщении. Если хэши совпадают, то сообщение не было изменено.
Однако такая простая схема не работает: злоумышленник может перехватить сообщение, изменить его, пересчитать хэш, записать обновленное значение хэша в сообщение, а затем передать получателю.
Поэтому в Message Authentication Code хэш считается не только от самого сообщения, но и от ключа, который есть только у отправителя и получателя. Такой код аутентификации злоумышленник не может подделать (только если не получит доступ к ключу, но в этом случае вся защита закончится).
В современной версии TLS 1.3 используется еще более сложный подход: шифры типа Authenticated Encryption with Associated Data (AEAD). В них сразу выполняется шифрование и MAC. Примеры таких шифров: AES-GCM, Chacha20-Poly1305.
Если плохо работает YouTube, то можно смотреть в Дзен или VK.
Поддержать создание курса можно на Boosty или CloudTips.
Чтобы обеспечить целостность в TLS используется Message Authentication Code (MAC), русскоязычное название имитовставка. Не путать с MAC-адресом на канальном уровне.
Идея простая: считаем хэш от сообщения с помощью криптографической хэш-функции и добавляем его к сообщению. Получатель также считает хэш по таким же правилам и сравнивает его с хэшем в полученном сообщении. Если хэши совпадают, то сообщение не было изменено.
Однако такая простая схема не работает: злоумышленник может перехватить сообщение, изменить его, пересчитать хэш, записать обновленное значение хэша в сообщение, а затем передать получателю.
Поэтому в Message Authentication Code хэш считается не только от самого сообщения, но и от ключа, который есть только у отправителя и получателя. Такой код аутентификации злоумышленник не может подделать (только если не получит доступ к ключу, но в этом случае вся защита закончится).
В современной версии TLS 1.3 используется еще более сложный подход: шифры типа Authenticated Encryption with Associated Data (AEAD). В них сразу выполняется шифрование и MAC. Примеры таких шифров: AES-GCM, Chacha20-Poly1305.
Если плохо работает YouTube, то можно смотреть в Дзен или VK.
Поддержать создание курса можно на Boosty или CloudTips.