Forwarded from что-то на инженерном
Знакомимся с Apache Iceberg: что такое каталог данных, табличный формат и как устроен Iceberg?
Представьте, что ваша компания - это огромная библиотека, где вместо книг хранятся терабайты и петабайты данных, разбросанных по разным хранилищам: облачным бакетам (S3, GCS), HDFS, базам данных и т.д.
🔘 Каталог данных - это как индексный каталог этой библиотеки. Он не хранит сами "книги" (данные), но содержит всю метаинформацию о них:
— где лежат данные (путь к файлам, подключение к базе данных).
— что в этих данных (схема таблицы: названия колонок, их типы).
— как они организованы (партиции, форматы файлов).
— кто владеет данными, кто может к ним получить доступ.
— когда данные были обновлены, какая у них история изменений.
🔜 Зачем он нужен?
Без каталога Data Lake быстро превращается в «болото данных» (Data Swamp): невозможно найти нужную информацию, обеспечить качество или управлять доступом.
Раньше данные в озерах хранились как обычные файлы (Parquet, ORC), лишённые функциональности БД.
🔘 Табличный формат (Table Format) - это слой абстракции и управления метаданными, который накладывается поверх этих файлов. Он позволяет "видеть" коллекцию разрозненных файлов как единую, полноценную таблицу, давая ей функциональность, присущую базам данных:
— ACID-транзакции - безопасные обновления/удаления;
— Эволюция схемы - изменение структуры без перезаписи данных;
— Time Travel - доступ к прошлым версиям таблиц;
— Оптимизация - ускорение запросов через статистику.
Табличные форматы (Apache Iceberg, Delta Lake, Hudi) добавляют слой абстракции, превращая набор файлов в «умные» таблицы.
➡️ Apache Iceberg - это один из ведущих открытых табличных форматов для Data Lake, который является развитием концепции Hive Metastore.
Ключевые компоненты архитектуры Iceberg
Чтобы понять, как Iceberg достигает всех этих преимуществ, важно знать его основные компоненты:
*️⃣ Каталог (Catalog): Iceberg нуждается во внешнем Каталоге (да-да, том самом "оглавлении"), чтобы хранить указатель на текущий снапшот таблицы. Это может быть Hive Metastore (да, он еще нужен, но уже для другой, упрощенной роли!), Nessie, AWS Glue, или даже специализированный REST-каталог Iceberg.
*️⃣ Таблица (Table): логическое представление данных через метаданные.
*️⃣ Снапшоты (Snapshots): каждое изменение в таблице создает новый снапшот. Снапшот - неизменяемые версии таблицы (реализуют Time Travel).
*️⃣ Манифест-листы (Manifest Lists): Файлы, содержащие список манифест-файлов. Каждый снапшот указывает на свой манифест-лист.
*️⃣ Манифест-файлы (Manifest Files): Содержат записи о файлах данных (Parquet, ORC, Avro), из которых состоит таблица в данном снапшоте. Эти файлы также хранят статистику по каждому файлу (например, min/max значения колонок), что используется для data skipping (ускорения фильтрации).
*️⃣ Файлы данных (Data Files): Сами файлы с данными, расположенные в облачном хранилище (S3, GCS) или HDFS.
Эта многоуровневая структура метаданных позволяет Iceberg эффективно управлять изменениями, обеспечивать ACID-гарантии и работать с огромными объемами данных.
Что рекомендую изучить по этой теме:
⭐️ Apache Iceberg The Definitive Guide | dremio.com
📹 Короткое видео о том, зачем нужен Iceberg и как устроена его архитектура | ENG: YouTube
📹 Доклад с конференции Smart Data: подробное устройство архитектуры, интеграция с Trino | RUS: YouTube
📕 Статья про архитектуру и развертывание Spark+Iceberg в Docker | ENG: Medium
В вашей компании уже используете Iceberg или планируется переход? 👀Делитесь опытом в комментариях!
©️что-то на инженерном
Представьте, что ваша компания - это огромная библиотека, где вместо книг хранятся терабайты и петабайты данных, разбросанных по разным хранилищам: облачным бакетам (S3, GCS), HDFS, базам данных и т.д.
— где лежат данные (путь к файлам, подключение к базе данных).
— что в этих данных (схема таблицы: названия колонок, их типы).
— как они организованы (партиции, форматы файлов).
— кто владеет данными, кто может к ним получить доступ.
— когда данные были обновлены, какая у них история изменений.
Без каталога Data Lake быстро превращается в «болото данных» (Data Swamp): невозможно найти нужную информацию, обеспечить качество или управлять доступом.
Раньше данные в озерах хранились как обычные файлы (Parquet, ORC), лишённые функциональности БД.
— ACID-транзакции - безопасные обновления/удаления;
— Эволюция схемы - изменение структуры без перезаписи данных;
— Time Travel - доступ к прошлым версиям таблиц;
— Оптимизация - ускорение запросов через статистику.
Табличные форматы (Apache Iceberg, Delta Lake, Hudi) добавляют слой абстракции, превращая набор файлов в «умные» таблицы.
Ключевые компоненты архитектуры Iceberg
Чтобы понять, как Iceberg достигает всех этих преимуществ, важно знать его основные компоненты:
Эта многоуровневая структура метаданных позволяет Iceberg эффективно управлять изменениями, обеспечивать ACID-гарантии и работать с огромными объемами данных.
Что рекомендую изучить по этой теме:
В вашей компании уже используете Iceberg или планируется переход? 👀Делитесь опытом в комментариях!
©️что-то на инженерном
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Neural Kovalskii
Валера Ковальский на Conversations 2025.pdf
83.2 MB
Как и обещал в комментариях выкладываю свой доклад, про концепции и подходы
DCD-Domain>>>Collection>>>Document
Про реальные вызовы и опыт про построение workflow llm assistant
DCD-Domain>>>Collection>>>Document
Про реальные вызовы и опыт про построение workflow llm assistant
Forwarded from Valerii Kovalskii
1) Выбрали RAGAS не как готовое решение, а как методологическую основу
Выкинули большую часть компонентов и оставили концепцию "LLM as Judge" для оценки качества генерации
Это дало больше гибкости в настройке метрик под конкретные задачи, чем жесткая структура DeepEval
2) Если под "use case" имеются в виду конкретные пользовательские сценарии и типы запросов
Разметка происходит итеративно через пользовательский фидбек в продакшене, сбор сложных кейсов и edge cases, автоматическую разметку через более сильные модели
Сейчас самый большой размеченный датасет около 5k качественных примеров
3) Метрики качества ретривала
Собрали обширный набор метрик с динамическими порогами: базовые Precision@K, Recall@K, MRR, RAGAS context metrics, кастомные метрики семантической близости
Практика показала, что универсального порога не существует каждый ассистент требует тонкой настройки под свой домен
4) Используем T-Lite (Qwen 2.5 7B) и T-Pro (Qwen 2.5 32B) от Тинькофф
Дообучение на внутренних данных не проводили, используем базовые версии адаптов (за рекламу до сих пор никто не заплатил)
5) Пробовали, но отказались из-за сложности в интеграции и поддержке bottom-up архитектур
Разработали DCD (Domain Collection Document) структуру, где пользователь понимает как сделать top-down структуру чтобы самому потом что-то обновить
Можно легко прикручивать роутеры-маршрутизаторы на базе 7B модели без сложной адаптации
6) Не могу раскрыть детали NDA
Выкинули большую часть компонентов и оставили концепцию "LLM as Judge" для оценки качества генерации
Это дало больше гибкости в настройке метрик под конкретные задачи, чем жесткая структура DeepEval
2) Если под "use case" имеются в виду конкретные пользовательские сценарии и типы запросов
Разметка происходит итеративно через пользовательский фидбек в продакшене, сбор сложных кейсов и edge cases, автоматическую разметку через более сильные модели
Сейчас самый большой размеченный датасет около 5k качественных примеров
3) Метрики качества ретривала
Собрали обширный набор метрик с динамическими порогами: базовые Precision@K, Recall@K, MRR, RAGAS context metrics, кастомные метрики семантической близости
Практика показала, что универсального порога не существует каждый ассистент требует тонкой настройки под свой домен
4) Используем T-Lite (Qwen 2.5 7B) и T-Pro (Qwen 2.5 32B) от Тинькофф
Дообучение на внутренних данных не проводили, используем базовые версии адаптов (за рекламу до сих пор никто не заплатил)
5) Пробовали, но отказались из-за сложности в интеграции и поддержке bottom-up архитектур
Разработали DCD (Domain Collection Document) структуру, где пользователь понимает как сделать top-down структуру чтобы самому потом что-то обновить
Можно легко прикручивать роутеры-маршрутизаторы на базе 7B модели без сложной адаптации
6) Не могу раскрыть детали NDA
Forwarded from Варим МЛ
Сегодня у меня на обзоре книга "Карьера разработчика", которую мне в бумажном виде прислало издательство Питер. Такие коллаборации я очень люблю, пишите побольше с такими предложениями, а не с платной рекламой эвентов и курсов! Книгу я давно хотел прочесть, и в итоге она мне очень понравилась, ну где-то на 8.5 из 10, подробнее читайте по ссылке.
Ещё ребята из CS Space при ПОМИ РАН запустили (возродили) свой клуб и попросили упомянуть в каком-нибудь посте питерский офлайн-митап про LLM для решения математических и алгоритмических задач. Пока я рожал, места на митап закончились... Но ребятам я обещал упоминание, так что просто отрекламирую их сообщество, офлайны с такими спикерами и докладами - это всегда круто.
#Жека #books
Ещё ребята из CS Space при ПОМИ РАН запустили (возродили) свой клуб и попросили упомянуть в каком-нибудь посте питерский офлайн-митап про LLM для решения математических и алгоритмических задач. Пока я рожал, места на митап закончились... Но ребятам я обещал упоминание, так что просто отрекламирую их сообщество, офлайны с такими спикерами и докладами - это всегда круто.
#Жека #books
Telegraph
Книга "Карьера разработчика"
Сегодня у меня на обзорчике книга "Карьера разработчика: стафф - круче, чем senior", в оригинале она называется "The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change". Я точно не являюсь стафф-разработчиком, да и вообще…
Forwarded from Refat Talks: Tech & AI
Media is too big
VIEW IN TELEGRAM
Официальные гайды по промт-инжинирингу от OpenAI, Anthropic и Google в NotebookLM - сделал апдейт и вынес ресурсы в Google Drive
Вам зашла эта подборка в NotebookLM. Помногочисленным просьбам выкладываю все файлы, чтобы вы могли собрать свой ноутбук (как выяснилось, Google не дает копировать публичные ноутбуки).
→ Ссылка на Google Drive
Что в папке:
- Все файлы с официальными гайдами
- Текстовый файл со всеми ссылками для добавления (смотрите в видео как добавлять ссылки)
Плюс добавил пару новых источников, например свежий Prompt Migration Guide от OpenAI.
Забирайте, пользуйтесь🎹
🔥➕🔁
Вам зашла эта подборка в NotebookLM. По
→ Ссылка на Google Drive
Что в папке:
- Все файлы с официальными гайдами
- Текстовый файл со всеми ссылками для добавления (смотрите в видео как добавлять ссылки)
Плюс добавил пару новых источников, например свежий Prompt Migration Guide от OpenAI.
Забирайте, пользуйтесь
🔥➕🔁
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from gonzo-обзоры ML статей
На Google I/O connect не анонсировали, но сделали это сейчас -- полный релиз Gemma 3n, модель на основе матрёшечного трансформера (MatFormer), которая и так маленькая, но можно ещё и практически произвольные размеры из неё "выжимать" (между 2B и 4B). С крутыми аудио и картиночными энкодерами.
https://goo.gle/45EaFch
Результатами на LMArena нынче никого не удивишь, но блин для такого размера это круто.
https://goo.gle/45EaFch
Результатами на LMArena нынче никого не удивишь, но блин для такого размера это круто.
Googleblog
Google for Developers Blog - News about Web, Mobile, AI and Cloud
Learn how to build with Gemma 3n, a mobile-first architecture, MatFormer technology, Per-Layer Embeddings, and new audio and vision encoders.
Forwarded from Базы данных & SQL
DevOps в локальных облаках: как строить высоконагруженные системы с CI/CD, Kubernetes и Grafana
Читать статью
Читать статью
Хабр
DevOps в локальных облаках: как строить высоконагруженные системы с CI/CD, Kubernetes и Grafana
Введение: DevOps в условиях локальных ограничений Когда мы начали разворачивать высоконагруженную fintech-платформу в локальном облаке, задача казалась выполнимой: привычные инструменты, знакомые...
Forwarded from 5 minutes of data
Lea - это минималистичный SQL оркестратор, аналог dbt и SQLMesh.
На данный момент поддерживает DuckDb и BigQuery, но проект активно развивается и поддерживает добавление новых фичей.
Из интересного:
- Поддерживает разделение на прод и дев, так же как и SQLMesh.
- Поддерживает Write-Audit-Publish паттерн.
- Тестирование моделей во время запуска.
На данный момент поддерживает DuckDb и BigQuery, но проект активно развивается и поддерживает добавление новых фичей.
Из интересного:
- Поддерживает разделение на прод и дев, так же как и SQLMesh.
- Поддерживает Write-Audit-Publish паттерн.
- Тестирование моделей во время запуска.
GitHub
GitHub - carbonfact/lea: 🏃♀️ Minimalist SQL orchestrator
🏃♀️ Minimalist SQL orchestrator. Contribute to carbonfact/lea development by creating an account on GitHub.
Forwarded from Quant Researcher
🎯 Базовые квантовые репозитории, если раньше не сталикивались
Мир кванта — это джунгли. Полуготовые библиотеки, кривые бэктестеры, проблемы с данными. Но есть проверенные инструменты, о которых мы иногда рассказываем. Подборка от блога Algo Insights на Медиуме👇
1. OpenBBTerminal — Если пока не накопили на Bloomberg :)
Интерфейс терминала, написанный на Python. Подтягивает данные из Yahoo Finance, SEC, криптобирж и других источников. Можно анализировать отчеты, котировки, волатильность и др.
✅ Особенности:
• Интерактивные дешборды
• Поддержка скриптов
• Подходит для ресерча и анализа
2. ArcticDB — Работа с финансовыми рядами на стероидах
Хранилище больших объемов временных рядов. Аналог TSDB: просто, быстро, написано с учетом работы в pandas. Если устали от PostgreSQL или пока не успели раскатить «альтернативное» — можно глянуть.
✅ Фишки:
• Без серверов и зависимостей
• Поддерживает огромные датасеты
• Нативно дружит с pandas
3. zipline-reloaded — Классика бэктестинга, оживленная сообществом
Форк старого доброго Zipline от Quantopian. Поддерживает реалистичный учет комиссий, проскальзываний и прочих “болевых точек” настоящего рынка. Работает с акциями, фьючерсами и ETF.
✅ Почему стоит использовать:
• Моделирует реальный рынок
• Сообщество активно поддерживает
• Интеграция с pyfolio
4. VectorBT — Векторный бэктестинг с NumPy
Забудьте про циклы. VectorBT использует векторизацию и позволяет прогнать тысячи идей за секунды. Подходит для частых стратегий.
✅ Почему топ:
• Cкорость работы
• Полный контроль над логикой
• Поддержка кастомных индикаторов
5. quantstats — Красивые отчеты по стратегии за 1 строчку кода
Выдает метрики уровня Bloomberg: Sharpe, drawdown, доходность по годам и т.д. Делает красивые графики и сравнивает с бенчмарками. Особенно хорош при презентациях перед клиентами/бенефициаром.
✅ Что умеет:
• Генерирует PDF-отчеты
• Визуализации “как у настоящего фонда”
• Поддержка pandas DataFrames
6. pyfolio-reloaded — Диагностика стратегии на уровне риска
Позволяет копнуть вглубь: распределение доходностей, волатильность, корреляции, Value at Risk. Идеально в связке с zipline или любым другим бэктестером.
✅ Метрики:
• Drawdown
• Beta, Alpha
• CAGR, Calmar
7. alphalens-reloaded — Проверка силы сигналов (факторный анализ)
Если у вас есть факторы (low P/E, RSI, momentum и т.д.) — с помощью этой библиотеки можно проверить, как хорошо они объясняют доходность. IC-анализ, анализ decile-групп и многое другое.
✅ Что даёт:
• Information Coefficient
• Факторный PnL по квантилям
• Простой API
8. optopsy — (Бонус уровень) Опционы!!!
Нишевая библиотека для опционов: straddle, covered calls и другие стратегии. Простая, быстрая. Документации маловато, но функционал отлично подойдет для погружения и анализа.
✅ Плюсы:
• Заточена под опционы
• Простое API
• Легкая установка и использование
🔚 Вывод
Если собрать все эти инструменты — получится почти полноценный quant-stack:
🔍 OpenBB для данных
🗄 ArcticDB для хранения
⚙️ zipline и VectorBT для симуляций
📊 quantstats и pyfolio для анализа
🧠 alphalens для генерации альф
📉 optopsy для опционов
⚡️ Рынки не прощают неучтенного проскальзывания в бэктестах, но грамотный инструментарий даст преимущество!
Quant Researcher
Мир кванта — это джунгли. Полуготовые библиотеки, кривые бэктестеры, проблемы с данными. Но есть проверенные инструменты, о которых мы иногда рассказываем. Подборка от блога Algo Insights на Медиуме👇
1. OpenBBTerminal — Если пока не накопили на Bloomberg :)
Интерфейс терминала, написанный на Python. Подтягивает данные из Yahoo Finance, SEC, криптобирж и других источников. Можно анализировать отчеты, котировки, волатильность и др.
✅ Особенности:
• Интерактивные дешборды
• Поддержка скриптов
• Подходит для ресерча и анализа
2. ArcticDB — Работа с финансовыми рядами на стероидах
Хранилище больших объемов временных рядов. Аналог TSDB: просто, быстро, написано с учетом работы в pandas. Если устали от PostgreSQL или пока не успели раскатить «альтернативное» — можно глянуть.
✅ Фишки:
• Без серверов и зависимостей
• Поддерживает огромные датасеты
• Нативно дружит с pandas
3. zipline-reloaded — Классика бэктестинга, оживленная сообществом
Форк старого доброго Zipline от Quantopian. Поддерживает реалистичный учет комиссий, проскальзываний и прочих “болевых точек” настоящего рынка. Работает с акциями, фьючерсами и ETF.
✅ Почему стоит использовать:
• Моделирует реальный рынок
• Сообщество активно поддерживает
• Интеграция с pyfolio
4. VectorBT — Векторный бэктестинг с NumPy
Забудьте про циклы. VectorBT использует векторизацию и позволяет прогнать тысячи идей за секунды. Подходит для частых стратегий.
✅ Почему топ:
• Cкорость работы
• Полный контроль над логикой
• Поддержка кастомных индикаторов
5. quantstats — Красивые отчеты по стратегии за 1 строчку кода
Выдает метрики уровня Bloomberg: Sharpe, drawdown, доходность по годам и т.д. Делает красивые графики и сравнивает с бенчмарками. Особенно хорош при презентациях перед клиентами/бенефициаром.
✅ Что умеет:
• Генерирует PDF-отчеты
• Визуализации “как у настоящего фонда”
• Поддержка pandas DataFrames
6. pyfolio-reloaded — Диагностика стратегии на уровне риска
Позволяет копнуть вглубь: распределение доходностей, волатильность, корреляции, Value at Risk. Идеально в связке с zipline или любым другим бэктестером.
✅ Метрики:
• Drawdown
• Beta, Alpha
• CAGR, Calmar
7. alphalens-reloaded — Проверка силы сигналов (факторный анализ)
Если у вас есть факторы (low P/E, RSI, momentum и т.д.) — с помощью этой библиотеки можно проверить, как хорошо они объясняют доходность. IC-анализ, анализ decile-групп и многое другое.
✅ Что даёт:
• Information Coefficient
• Факторный PnL по квантилям
• Простой API
8. optopsy — (Бонус уровень) Опционы!!!
Нишевая библиотека для опционов: straddle, covered calls и другие стратегии. Простая, быстрая. Документации маловато, но функционал отлично подойдет для погружения и анализа.
✅ Плюсы:
• Заточена под опционы
• Простое API
• Легкая установка и использование
🔚 Вывод
Если собрать все эти инструменты — получится почти полноценный quant-stack:
🔍 OpenBB для данных
🗄 ArcticDB для хранения
⚙️ zipline и VectorBT для симуляций
📊 quantstats и pyfolio для анализа
🧠 alphalens для генерации альф
📉 optopsy для опционов
⚡️ Рынки не прощают неучтенного проскальзывания в бэктестах, но грамотный инструментарий даст преимущество!
Quant Researcher
Forwarded from Tensor Banana
Flux Kontext с промптами
1. Колоризация старых фото:
2. Колоризация манги:
3. снять одежду:
4. апскейл фото:
5. объект с разных ракурсов:
6. real2anime:
7. anime2real:
8. замена текста:
9. сменить пол:
10. перенос объектов с разных фото:
11. на обложку журнала:
12. лего:
13. убрать вотермарки:
14. пиксельарт/8bit:
- Разрешение 1024x1024, 1568x672 и разные вариации. Можно больше, но, скорее всего, будет хуже.
- Лоры от Flux dev работают, но хуже.
- Работает на 15-20 шагах, 40-55 секунд на 3090. TeaCache работает, но возможны ухудшения качества. 15 шагов + teacache_0.40 = 20 секунд
официальный гайд по Kontext: https://docs.bfl.ai/guides/prompting_guide_kontext_i2i#basic-object-modifications
воркфлоу: https://comfyanonymous.github.io/ComfyUI_examples/flux/#flux-extras
потестить онлайн: https://huggingface.co/spaces/black-forest-labs/FLUX.1-Kontext-Dev
Если есть еще интересные кейсы - кидайте в комменты.
1. Колоризация старых фото:
colorize this photo2. Колоризация манги:
colorize this manga3. снять одежду:
remove clothes, нужна лора https://huggingface.co/llama-anon/not-flux-kontext-dev-clothes-remover4. апскейл фото:
upscale this image, make it crisp, add details5. объект с разных ракурсов:
Same character but in the 3 positions, front, side and back.6. real2anime:
turn this photo into Ghibli Studio anime7. anime2real:
make it realistic8. замена текста:
Replace text 'BKYCHO - U TO4KA' with text 'BKYC ßAHAHA' Моя русская лора https://civitai.com/models/1056401/russian-text-or-flux , но работает так себе.9. сменить пол:
turn her into a man, but keep facial features the same. big cheekbones10. перенос объектов с разных фото:
add woman from the right image to the left image. so now they are standing together. make them the same height. right woman has bare feet11. на обложку журнала:
Turn this into VOGUE magazine cover. background is now grey. Add some titles on the cover12. лего:
turn them into Lego style13. убрать вотермарки:
remove watermarks14. пиксельарт/8bit:
turn this into 8-bit NES art- Разрешение 1024x1024, 1568x672 и разные вариации. Можно больше, но, скорее всего, будет хуже.
- Лоры от Flux dev работают, но хуже.
- Работает на 15-20 шагах, 40-55 секунд на 3090. TeaCache работает, но возможны ухудшения качества. 15 шагов + teacache_0.40 = 20 секунд
официальный гайд по Kontext: https://docs.bfl.ai/guides/prompting_guide_kontext_i2i#basic-object-modifications
воркфлоу: https://comfyanonymous.github.io/ComfyUI_examples/flux/#flux-extras
потестить онлайн: https://huggingface.co/spaces/black-forest-labs/FLUX.1-Kontext-Dev
Если есть еще интересные кейсы - кидайте в комменты.