Forwarded from DeepSchool
Когда память дороже точности: приближённые структуры данных
Проблема: многие алгоритмы с линейным потреблением памяти не справляются с большим количеством данных. Решение: приближённые структуры!
В новой статье разбираем три популярные структуры данных с константным потреблением памяти, решающие ключевые задачи:
- HyperLogLog — оценка количества уникальных элементов,
- Фильтр Блума — проверка принадлежности ко множеству,
- Count-Min Sketch — подсчёт частот элементов.
Все они работают приближенно, зато позволяют работать с огромными объёмами данных. Читайте, как применять их на практике: https://blog.deepschool.ru/math/kogda-pamyat-dorozhe-tochnosti-priblizhyonnye-struktury-dannyh/
Проблема: многие алгоритмы с линейным потреблением памяти не справляются с большим количеством данных. Решение: приближённые структуры!
В новой статье разбираем три популярные структуры данных с константным потреблением памяти, решающие ключевые задачи:
- HyperLogLog — оценка количества уникальных элементов,
- Фильтр Блума — проверка принадлежности ко множеству,
- Count-Min Sketch — подсчёт частот элементов.
Все они работают приближенно, зато позволяют работать с огромными объёмами данных. Читайте, как применять их на практике: https://blog.deepschool.ru/math/kogda-pamyat-dorozhe-tochnosti-priblizhyonnye-struktury-dannyh/
DeepSchool
Когда память дороже точности: приближённые структуры данных - DeepSchool
HyperLogLog, Bloom/Cuckoo, Count-Min Sketch: что выбрать, если данные огромные, а память ограничена. Алгоритмы, точность и подбор параметров.
Forwarded from LLM под капотом
Иллюстрация пайплайна из истории про спасение проекта с LLM под капотом
(проект про извлечение промышленных данных из разных PDF от разных поставщиков с таблицами и графиками)
Ссылки:
(1) Серии: 1, 2, 3, 4, 5, 6+7, Эпилог
(2) Описание первого и второго промпта.
Ваш, @llm_under_hood 🤗
(проект про извлечение промышленных данных из разных PDF от разных поставщиков с таблицами и графиками)
Ссылки:
(1) Серии: 1, 2, 3, 4, 5, 6+7, Эпилог
(2) Описание первого и второго промпта.
Ваш, @llm_under_hood 🤗
Forwarded from Science and AI with Mike in English
Forwarded from Заскуль питона (Data Science)
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь указан переход от классической теоремы к задаче машинного обучения на примере датасета со спамом. Дополнительно приведен пример для непрерывных случайных величин и описаны базовые предположения для использования метода.
1. Ссылка на статью.
2. Датасет, с которым работал.
3. Код в Google Colab.
Первый раз писал тут, делюсь болью:
1. Столкнулся с тем, что при написании текста, страничка залагала, а при обновлении не сохранился кеш + нет автосохранения. После каждого написания текста советую нажимать "сохранить".
2. Нет конвертации в LaTeX. Поэтому пришлось писать формулы, конвертировать их в .svg, заливать в GitHub и по ссылке прикреплять в текст, вот такой замечательный пайплайн.
3. Периодически картинки не отображаются (хотя ведет на доступные ссылки) в моем GitHub.
Всем приятного чтива, а я пошел писать следующий пост!
Следующие посты будем разбирать математику, которая есть в A/B тестах или в ML. На примете разбор логистической регрессии.
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Инжиниринг Данных (Dmitry)
Microsoft опубликовал большой курс по Generative AI.
https://github.com/microsoft/generative-ai-for-beginners/tree/main
Снизу по ссылке будут дополнительные ссылки на другие курсы.
Самые горячие кейсы по GenAI, с которыми сталкиваюсь:
- Text to Insights (уже несколько проектов по Snowflake + Cortex Analyst и один по BigQuery + TextQL). Такие проекты для больших компаний (enterprise), больше похоже на продажу AI на уровне директора/VP аналитики другим директорам/VP бизнес подразделений, ну типа мы AI driven
- Developer Performance с использование Cursor или Claude Code. GitHub CoPilot пока не дотягивает. Компания покупают лицензии и дают своим инженерам. В репозиториях обязательно файлы с правилами для GenAI.
- PR reviews, часто с Claude Code и Cursor. Опять же можно добавить правила (best practices) для PR review, чтобы фиксить согласно заданным требованиям (правилам)
- RAG - компании строят чат боты по внутренней и внешней документации и базе знаний, чтобы клиенту было проще найти ответ на свой вопрос.
- MCP интеграции, например DataHub (дата каталог) может ходить в Snowflake (хранилище данных), Cursor может писать запросы и на базе них создавать dbt модели.
Это прям, что мои команды используют. Все сходятся на позиции, что prompt (context) engineering очень важен, и нужно знать основы и следовать рекомендациям вендоров.
PS и конечно это все идет в мою любимую рубрику - увлекательные истории для вашего будущего собеседования:)
https://github.com/microsoft/generative-ai-for-beginners/tree/main
Снизу по ссылке будут дополнительные ссылки на другие курсы.
Самые горячие кейсы по GenAI, с которыми сталкиваюсь:
- Text to Insights (уже несколько проектов по Snowflake + Cortex Analyst и один по BigQuery + TextQL). Такие проекты для больших компаний (enterprise), больше похоже на продажу AI на уровне директора/VP аналитики другим директорам/VP бизнес подразделений, ну типа мы AI driven
- Developer Performance с использование Cursor или Claude Code. GitHub CoPilot пока не дотягивает. Компания покупают лицензии и дают своим инженерам. В репозиториях обязательно файлы с правилами для GenAI.
- PR reviews, часто с Claude Code и Cursor. Опять же можно добавить правила (best practices) для PR review, чтобы фиксить согласно заданным требованиям (правилам)
- RAG - компании строят чат боты по внутренней и внешней документации и базе знаний, чтобы клиенту было проще найти ответ на свой вопрос.
- MCP интеграции, например DataHub (дата каталог) может ходить в Snowflake (хранилище данных), Cursor может писать запросы и на базе них создавать dbt модели.
Это прям, что мои команды используют. Все сходятся на позиции, что prompt (context) engineering очень важен, и нужно знать основы и следовать рекомендациям вендоров.
PS и конечно это все идет в мою любимую рубрику - увлекательные истории для вашего будущего собеседования:)
Forwarded from Dimension AI | Dmitry Sirakov
Hybrid: SGR + Tools - закрываем дыры, не ломая протокол
После горячих обсуждений и двух предыдущих постов (пост 1, пост 2) я решил показать рабочий гибридный паттерн и сделать вклад в опенсорс-подход к SGR (линк в конце поста).
TLDR пост1 и пост2: SGR пишет ответ через «поля» и якоря [благодаря чему, приводит к более предсказуемым и верным ответам], но в чистом виде легко размывает семантику tool-calling (если мы ее задействуем): в истории появляются вызовы инструментов, которых не было в объявленном наборе и не передались в чат-темплейт, а если неаккуратно обрабатывать вызовы - нас ждёт еще больше проблем. И всё это расходится с практиками провайдеров и публичными бенчмарками по агентости.
Что я сделал:
Я вынес рассуждение в отдельный инструмент generate_reasoning и заставляю модель вызывать его принудительно сразу после любого пользовательского сообщения с помощью управления tool_choice. Внутри reasoning используется SGR: цель, план, ограничения, проверка предпосылок, сигналы о том, нужно ли звать инструменты и какие именно. Далее "агент", опираясь на получившееся рассуждение, вызывает только те функции, которые явно объявлены в tools, строго через нативный механизм вызовов.
Ключевые свойства подхода:
1. Никакого «динамического tools из воздуха». Всё, чем пользуется модель, заранее объявлено; в истории нет инструментов, которых нет в tools. Контроль с помощью tool_choice.
2. История сообщений валидна и читаема: отдельно видно этап рассуждения и отдельно - действия и финальный ответ.
3. Совместимость с практиками провайдеров и бенчами: снижается риск tool-hallucination, корректнее проходит проверка релевантности функций.
4. Контроль внимания вместо хаоса: сначала гарантированное рассуждение, потом действия. Это делает маршрутизацию детерминированной и устойчивой. Тк много трейновых датасетов, как и в каких ситуациях вызывать тулы, мы используем очень много компьюта в свою пользу: не только будущая корректная оценка цепочек ризонинга (для метрик), но и адаптивный выбор тулов.
Почему это устойчивее, чем «SGR-only»:
- Нативные tool_calls, а не эмуляция вызовов через content (да, можно этого избежать, подкладывая вызов SGRв tool_calls, но не решается следующий пункт:
- Меньше неожиданностей для модели: нет сценария «ответил JSON -> внезапно прилетел tool», когда tools пусты.
- Проще поддерживать качество: reasoning становится обычным шагом workflow. Его вообще можно вынести на значительно более мощные модели или наоборот, более слабые. Позволяет нам давать больше контроля.
Получается стабильный и интерпретируемый паттерн: чат-темплейт согласован с историей, вызовы инструментов не идут «против шерсти», а модель ведёт себя предсказуемо.
Рекомендую попробовать гибрид SGR + Tools на своих задачках
линк на код
поддержите реакциями ❤️
После горячих обсуждений и двух предыдущих постов (пост 1, пост 2) я решил показать рабочий гибридный паттерн и сделать вклад в опенсорс-подход к SGR (линк в конце поста).
TLDR пост1 и пост2: SGR пишет ответ через «поля» и якоря [благодаря чему, приводит к более предсказуемым и верным ответам], но в чистом виде легко размывает семантику tool-calling (если мы ее задействуем): в истории появляются вызовы инструментов, которых не было в объявленном наборе и не передались в чат-темплейт, а если неаккуратно обрабатывать вызовы - нас ждёт еще больше проблем. И всё это расходится с практиками провайдеров и публичными бенчмарками по агентости.
Что я сделал:
Я вынес рассуждение в отдельный инструмент generate_reasoning и заставляю модель вызывать его принудительно сразу после любого пользовательского сообщения с помощью управления tool_choice. Внутри reasoning используется SGR: цель, план, ограничения, проверка предпосылок, сигналы о том, нужно ли звать инструменты и какие именно. Далее "агент", опираясь на получившееся рассуждение, вызывает только те функции, которые явно объявлены в tools, строго через нативный механизм вызовов.
Ключевые свойства подхода:
1. Никакого «динамического tools из воздуха». Всё, чем пользуется модель, заранее объявлено; в истории нет инструментов, которых нет в tools. Контроль с помощью tool_choice.
2. История сообщений валидна и читаема: отдельно видно этап рассуждения и отдельно - действия и финальный ответ.
3. Совместимость с практиками провайдеров и бенчами: снижается риск tool-hallucination, корректнее проходит проверка релевантности функций.
4. Контроль внимания вместо хаоса: сначала гарантированное рассуждение, потом действия. Это делает маршрутизацию детерминированной и устойчивой. Тк много трейновых датасетов, как и в каких ситуациях вызывать тулы, мы используем очень много компьюта в свою пользу: не только будущая корректная оценка цепочек ризонинга (для метрик), но и адаптивный выбор тулов.
Почему это устойчивее, чем «SGR-only»:
- Нативные tool_calls, а не эмуляция вызовов через content (да, можно этого избежать, подкладывая вызов SGRв tool_calls, но не решается следующий пункт:
- Меньше неожиданностей для модели: нет сценария «ответил JSON -> внезапно прилетел tool», когда tools пусты.
- Проще поддерживать качество: reasoning становится обычным шагом workflow. Его вообще можно вынести на значительно более мощные модели или наоборот, более слабые. Позволяет нам давать больше контроля.
Получается стабильный и интерпретируемый паттерн: чат-темплейт согласован с историей, вызовы инструментов не идут «против шерсти», а модель ведёт себя предсказуемо.
Рекомендую попробовать гибрид SGR + Tools на своих задачках
линк на код
поддержите реакциями ❤️
Forwarded from Заскуль питона (Data Science)
90% задач аналитик решает в SQL. Но остаются те самые 10%, где без Python никак
Я собрал Google Colab, где в одном месте покрыта большая часть методов (практические все), которые реально нужны аналитику: от базовых конструкций (строки, списки, словари) до pandas/numpy, работы с API, визуализации, Spark и Airflow и др.
Ставьте
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Zero to Vibe[coding]
Чтобы вы могли поиграться на выходных, ловите инструкцию как подружить Figma и Cursor за 1 минуту.