Forwarded from дAI потестить!
Forwarded from дAI потестить!
Media is too big
VIEW IN TELEGRAM
Тут dreamina.capcut.com обновила интерфейс, при этом сохранила баги (все как мы любим😊).
Подсказал @astrolog_expert
- Регистрируем аккаунт под IP Аргентины (есть и другие страны)
- Смотрим чтобы слева у нас было 0 поинтов (значит все получилось)
- Переключаемся на IP США, и генерим все что нам нужно.
Это не безлимит, я доставал до дна. Но развлечься можно.
P.S. Еще у меня получалась сбрасывать потраченные баллы к исходным ежедневным, если переключить VPN во время генерации с Аргентины на США.
P.S.S. Кидайте в комменты, чего получилось нагенерить👇👇👇.
Пожалуйста!
#tips
Подсказал @astrolog_expert
- Регистрируем аккаунт под IP Аргентины (есть и другие страны)
- Смотрим чтобы слева у нас было 0 поинтов (значит все получилось)
- Переключаемся на IP США, и генерим все что нам нужно.
Это не безлимит, я доставал до дна. Но развлечься можно.
P.S. Еще у меня получалась сбрасывать потраченные баллы к исходным ежедневным, если переключить VPN во время генерации с Аргентины на США.
P.S.S. Кидайте в комменты, чего получилось нагенерить👇👇👇.
Пожалуйста!
#tips
Forwarded from Константин Никитинский
https://streammydata.ru/otkryvaya-mir-cepej-markova-ponimanie-i-primenenie-v-atribucii/
Статья по цепям Маркова, по которой мы с моим CTO делали проект по скриптам, считающим коэфы Маркова для каждого месяца активности пользователей в году.
Очень будет полезна маркетинговым аналитикам.
Эта статья даст базу для цепей Маркова и у вас после нее уже будут результаты и какие-то коэффициенты, что круто, научитесь считать в питоне их.
Скажу сразу, у нас получилось немного по другому, в статье не объясняют откуда 50 степень для стационарного состояния (спойлер, степень должна быть больше любой сессии любого пользователя в плане количества пользовательских событий)))) и немного странно считают removal эффект, мы считали чуть-чуть по другому.
Слишком много подсказывать не буду, NDA вся фигня😎
Статья лежит в открытом доступе в интернете, поэтому вроде я покровов никаких не срываю со своего работодателя и своего проекта. В плане технической реализации мой проект очень отличается от статьи, но общие принципы те же
Статья по цепям Маркова, по которой мы с моим CTO делали проект по скриптам, считающим коэфы Маркова для каждого месяца активности пользователей в году.
Очень будет полезна маркетинговым аналитикам.
Эта статья даст базу для цепей Маркова и у вас после нее уже будут результаты и какие-то коэффициенты, что круто, научитесь считать в питоне их.
Скажу сразу, у нас получилось немного по другому, в статье не объясняют откуда 50 степень для стационарного состояния (спойлер, степень должна быть больше любой сессии любого пользователя в плане количества пользовательских событий)))) и немного странно считают removal эффект, мы считали чуть-чуть по другому.
Слишком много подсказывать не буду, NDA вся фигня😎
Статья лежит в открытом доступе в интернете, поэтому вроде я покровов никаких не срываю со своего работодателя и своего проекта. В плане технической реализации мой проект очень отличается от статьи, но общие принципы те же
StreamMyData
Понимание и применение в атрибуции Цепей Маркова - Интеграция и сквозная аналитика от StreamMyData
Покажем как математические модели могут быть применены в сфере маркетинга для атрибуции. Мы пройдем все этапы от понимания основных концепций и принципов работы Цепей Маркова до применения их на практике в реальных датасетах.
Forwarded from Всеволод Викулин | AI разбор
4 методики работы с контекстом LLM
В Паттерне 4 мы поняли, насколько важно использовать контекст в LLM-системе.
Сейчас давайте разберемся, как это можно делать. Все эти правила прекрасно изложены в статье.
1) Запись во внешнюю память
Очень похоже на то, как люди работает с информацией. В момент поступления данных LLM может догадаться, что это важние знания и записать их куда-то. Например, в текстовый файлик. Это популярный метод, так делает рисерч агент Anthropic.
Не нужно засорять контекст, пихая в него всю информацию. Пускай модель использует только нужное для решения конкретной задачи в текущем состоянии.
2) Выбор нужного из внешней памяти
К долгой памяти нужно обращаться и искать полезные куски. Ровно также, как вы ищете в вашем блокноте полезные записи. То есть делаете RAG по памяти. Искать можно кучей вариантов, не зацикливайтесь на эмбеддингах:
- Если память маленькая, можно прочитать ее всю
- Можно размечать тегами разные участки памяти, например "error" для ошибок, и дальше искать по тегам
- Можно и нужно учитывать время, когда была сделана запись
3) Суммаризация
Часто информации настолько много, что ее проще хранить/использовать в сжатом виде. Обычно делают так: если токенов > X, тогда отдельный LLM-call суммаризует последнюю историю. Это позволяет свежую информацию хранить полностью, а старую уже менее детально.
Так делает Google со своим Gemini, когда агент играет в Покемонов (я кстати в жизни ни разу не играл, расскажите, как оно?).
4) Разделение контекста
В мультиагентских системах разумно иметь изолированные контексты разных LLM. У них могут быть свои задачи/тулы/история.
Еще можно делить контекст не с другими агентами, а с внешней средой. Например, если вы общаетесь со средой черед код, как это делает Huggingface, то среда вам может отдать только название переменной, а весь контент хранить у себя.
Например, агент будет значть, что в VAR1 лежит список всех покупок пользователя. Но сам список он может и не читать, чтобы не засорять контекст.
Нудное послесловие
Разработка крутых LLM-систем это всегда про эксперименты и креатив. Я запрещаю зацикливаться на простых решениях, типа, пихаем в контекст все. Или фиганем эмбеддинги, FAISS потом разберется. Позаботьтесь о себе и о вашей LLM.
Как обычно, рад вопросам по теме в комментариях. Если нужно разобрать ваш кейс — можно в личные сообщения.
В Паттерне 4 мы поняли, насколько важно использовать контекст в LLM-системе.
Сейчас давайте разберемся, как это можно делать. Все эти правила прекрасно изложены в статье.
1) Запись во внешнюю память
Очень похоже на то, как люди работает с информацией. В момент поступления данных LLM может догадаться, что это важние знания и записать их куда-то. Например, в текстовый файлик. Это популярный метод, так делает рисерч агент Anthropic.
Не нужно засорять контекст, пихая в него всю информацию. Пускай модель использует только нужное для решения конкретной задачи в текущем состоянии.
2) Выбор нужного из внешней памяти
К долгой памяти нужно обращаться и искать полезные куски. Ровно также, как вы ищете в вашем блокноте полезные записи. То есть делаете RAG по памяти. Искать можно кучей вариантов, не зацикливайтесь на эмбеддингах:
- Если память маленькая, можно прочитать ее всю
- Можно размечать тегами разные участки памяти, например "error" для ошибок, и дальше искать по тегам
- Можно и нужно учитывать время, когда была сделана запись
3) Суммаризация
Часто информации настолько много, что ее проще хранить/использовать в сжатом виде. Обычно делают так: если токенов > X, тогда отдельный LLM-call суммаризует последнюю историю. Это позволяет свежую информацию хранить полностью, а старую уже менее детально.
Так делает Google со своим Gemini, когда агент играет в Покемонов (я кстати в жизни ни разу не играл, расскажите, как оно?).
4) Разделение контекста
В мультиагентских системах разумно иметь изолированные контексты разных LLM. У них могут быть свои задачи/тулы/история.
Еще можно делить контекст не с другими агентами, а с внешней средой. Например, если вы общаетесь со средой черед код, как это делает Huggingface, то среда вам может отдать только название переменной, а весь контент хранить у себя.
Например, агент будет значть, что в VAR1 лежит список всех покупок пользователя. Но сам список он может и не читать, чтобы не засорять контекст.
Нудное послесловие
Разработка крутых LLM-систем это всегда про эксперименты и креатив. Я запрещаю зацикливаться на простых решениях, типа, пихаем в контекст все. Или фиганем эмбеддинги, FAISS потом разберется. Позаботьтесь о себе и о вашей LLM.
Как обычно, рад вопросам по теме в комментариях. Если нужно разобрать ваш кейс — можно в личные сообщения.
Forwarded from Data Blog
🦑 Привет, друзья!
Меня не было тут почти месяц, хотя я не прекращала работать. Или пытаться это делать. В последнее время думаю о выборе магистратуры, учу математику и пытаюсь допинать статью. Думаю ещё, чем точечно в интерпретируемости хочу заниматься и куда хочу идти.
Думать сложно, но я пытаюсь.
Вернуться хотелось как-то красиво, поэтому я с новым туториалом: LIME for Time Series Data.
LIME (Local Interpretable Model-Agnostic Explanations) — популярный модет в решении задачи интерпретации. Он основан на простой идее — приблизить прогнозы сложного оценщика (например, нейронной сети) простым — обычно линейной/логистической регрессией.
Применить LIME можно из коробки при помощи одноименной библиотеки [lime]. Однако, при применении LIME к, в частности, к временным рядам возникают особенности,
поэтому в чистом виде lime для TimeSeries не всегда легко применить.
И в этом туториале мы сделаем приближенение метода самостоятельно! И получим красивые, очень красивые, графики.
Как всегда, вместе с Хабропостом, код на гитхаб.
Скучала, и надеюсь вернуться из творческого кризиса,
Ваш Дата-автор! ❤️
Меня не было тут почти месяц, хотя я не прекращала работать. Или пытаться это делать. В последнее время думаю о выборе магистратуры, учу математику и пытаюсь допинать статью. Думаю ещё, чем точечно в интерпретируемости хочу заниматься и куда хочу идти.
Думать сложно, но я пытаюсь.
Вернуться хотелось как-то красиво, поэтому я с новым туториалом: LIME for Time Series Data.
LIME (Local Interpretable Model-Agnostic Explanations) — популярный модет в решении задачи интерпретации. Он основан на простой идее — приблизить прогнозы сложного оценщика (например, нейронной сети) простым — обычно линейной/логистической регрессией.
Применить LIME можно из коробки при помощи одноименной библиотеки [lime]. Однако, при применении LIME к, в частности, к временным рядам возникают особенности,
поэтому в чистом виде lime для TimeSeries не всегда легко применить.
И в этом туториале мы сделаем приближенение метода самостоятельно! И получим красивые, очень красивые, графики.
Как всегда, вместе с Хабропостом, код на гитхаб.
Скучала, и надеюсь вернуться из творческого кризиса,
Ваш Дата-автор! ❤️
Forwarded from с нуля до 1%
Всю неделю сижу, вайбкодингом через телеграм-бота занимаюсь. И понимаю — когда у тебя 3-4 проекта параллельно, в телеге начинается полная жесть.
Прыгаешь между чатами, теряешь контекст. А главное — вообще не видно что там агент творит.
Короче, нашёл веб-интерфейс для Claude Code.
Это просто космос.
Открываешь с телефона — и сразу видишь ВСЕ проекты на одном экране. Тапнул — и понятно что происходит. Никакой возни с чатами.
Но самое дикое даже не это.
Видишь в реалтайме что агент делает. Прям вот пишет "Using TodoWrite", "Updating files". Если что-то сломалось — сразу понятно на каком этапе.
Git прямо в интерфейсе. Какие файлы поменялись, диффы — всё под рукой. Когда сидишь в кафе с айфона — это спасение.
Вчера так и работал из кофейни. В одной вкладке телеграм-бот дебажился, в другой — старый проект рефакторился, в третьей — баги фиксились. Просто свайпаешь между ними.
Кстати, прикольный момент заметил.
Когда видишь как агент работает, начинаешь понимать его логику. Смотришь — а, он сначала структуру чекает, потом план составляет, и только потом кодит. Реально помогает понять как AI мыслит.
Телеграм-бот оставляю для быстрых фиксов голосом. Идёшь по улице, надиктовал — готово. А когда нужен контроль и работа с несколькими проектами — веб рулит.
Сейчас пилю подробный туториал для подписчиков. Покажу как за 10 минут всё настроить, какие фишки есть, как с телефона удобнее работать.
Следите за каналом — скоро выложу 🚀
Прыгаешь между чатами, теряешь контекст. А главное — вообще не видно что там агент творит.
Короче, нашёл веб-интерфейс для Claude Code.
Это просто космос.
Открываешь с телефона — и сразу видишь ВСЕ проекты на одном экране. Тапнул — и понятно что происходит. Никакой возни с чатами.
Но самое дикое даже не это.
Видишь в реалтайме что агент делает. Прям вот пишет "Using TodoWrite", "Updating files". Если что-то сломалось — сразу понятно на каком этапе.
Git прямо в интерфейсе. Какие файлы поменялись, диффы — всё под рукой. Когда сидишь в кафе с айфона — это спасение.
Вчера так и работал из кофейни. В одной вкладке телеграм-бот дебажился, в другой — старый проект рефакторился, в третьей — баги фиксились. Просто свайпаешь между ними.
Кстати, прикольный момент заметил.
Когда видишь как агент работает, начинаешь понимать его логику. Смотришь — а, он сначала структуру чекает, потом план составляет, и только потом кодит. Реально помогает понять как AI мыслит.
Телеграм-бот оставляю для быстрых фиксов голосом. Идёшь по улице, надиктовал — готово. А когда нужен контроль и работа с несколькими проектами — веб рулит.
Сейчас пилю подробный туториал для подписчиков. Покажу как за 10 минут всё настроить, какие фишки есть, как с телефона удобнее работать.
Следите за каналом — скоро выложу 🚀
Forwarded from Just links
Benchmarks I check from time to time
https://livecodebenchpro.com/
https://trishullab.github.io/PutnamBench/leaderboard.html
https://www.vgbench.com/
https://epoch.ai/data/ai-benchmarking-dashboard?view=table (FrontierMath private)
https://matharena.ai/
https://scale.com/leaderboard/humanitys_last_exam
https://livecodebench.github.io/leaderboard.html
https://lmarena.ai/leaderboard
https://balrogai.com/
https://swe-rebench.com/leaderboard
Honorable mention:
https://metr.org/ (RE-Bench)
https://arcprize.org/leaderboard
https://livebench.ai/
https://simple-bench.com/index.html
https://www.kaggle.com/competitions/konwinski-prize
https://livecodebenchpro.com/
https://trishullab.github.io/PutnamBench/leaderboard.html
https://www.vgbench.com/
https://epoch.ai/data/ai-benchmarking-dashboard?view=table (FrontierMath private)
https://matharena.ai/
https://scale.com/leaderboard/humanitys_last_exam
https://livecodebench.github.io/leaderboard.html
https://lmarena.ai/leaderboard
https://balrogai.com/
https://swe-rebench.com/leaderboard
Honorable mention:
https://metr.org/ (RE-Bench)
https://arcprize.org/leaderboard
https://livebench.ai/
https://simple-bench.com/index.html
https://www.kaggle.com/competitions/konwinski-prize
Forwarded from EasyData
Привет, друзья!
Сегодня поговорим про Numba - инструмент, который превращает обычный Python-код в "почти C" по скорости🏃♂️
Numba - это JIT-компилятор (Just-In-Time) для Python. Если вкратце, то он анализирует функции и компилирует их в машинный код прямо во время исполнения. То есть, вместо интерпретируемого Python код исполняется как скомпилированный.
Воспользоваться возможностями Numba крайне легко - нужно просто добавить декоратори всё! 🧑💻
Но пара нюансов всё же есть:
➡️ Во-первых, не все операции могут быть ускорены таким способом. Общий рецепт таков: "чем проще и численно интенсивнее функция, тем лучше". Вот несколько типичных примеров, которые хороши для Numba:
1. численные циклы (циклы for, while)
2. операции с массивами numpy
3. алгоритмы оптимизации, матричные вычисления
4. генерация чисел и математические функции (sin, exp, sqrt, и т.д.)
5. фильтрация, агрегация и другие различные манипуляции над массивами
6. простые симуляции (например, метод Монте-Карло)
➡️ А во-вторых, при первом запуске функция с Numba может работать даже медленнее обычной Python-версии🙂 Всё потому, что в первый раз Numba не просто выполняет код, а сначала компилирует его в машинный код - и это занимает время. Но уже со второго вызова скомпилированный вариант готов и работает в разы быстрее, как настоящий нативный код.
А насколько быстрым получается код с добавлением Numba - смотрите на скринах:) Замеры проведены на втором запуске😉
Документация библиотеки +:
➡️ с список Python-операций, которые могут быть ускорены
➡️ с аналогичный список для Numpy-функций
Хорошей недели и гармоничных распределений!☀️
#python@data_easy
Сегодня поговорим про Numba - инструмент, который превращает обычный Python-код в "почти C" по скорости
Numba - это JIT-компилятор (Just-In-Time) для Python. Если вкратце, то он анализирует функции и компилирует их в машинный код прямо во время исполнения. То есть, вместо интерпретируемого Python код исполняется как скомпилированный.
Воспользоваться возможностями Numba крайне легко - нужно просто добавить декоратор
@njit к функции,
@njit
def sigmoid_numba(x):
return 1 / (1 + np.exp(-x))
Но пара нюансов всё же есть:
1. численные циклы (циклы for, while)
2. операции с массивами numpy
3. алгоритмы оптимизации, матричные вычисления
4. генерация чисел и математические функции (sin, exp, sqrt, и т.д.)
5. фильтрация, агрегация и другие различные манипуляции над массивами
6. простые симуляции (например, метод Монте-Карло)
А насколько быстрым получается код с добавлением Numba - смотрите на скринах:) Замеры проведены на втором запуске😉
Документация библиотеки +:
Хорошей недели и гармоничных распределений!
#python@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Старший Авгур
Хотел было написать пост про EAGLE 1/2/3 и сделать их для Сайги, но уже успел настрадаться.
EAGLE — метод спекулятивной генерации типа Медузы, но с однослойным декодером вместо независимых голов.
Полноценный пост про него будет, когда (если) всё получится.
А пока нетривиальные факты:
- Есть 2 популярных репо, оригинальный (https://github.com/SafeAILab/EAGLE) и фанатский через HF Trainer (https://github.com/NickL77/BaldEagle). Связано это с тем, что оригинальный репозиторий — чёртова исследовательская китайская хтонь. Но для EAGLE 3 всё равно пришлось её допинывать, потому что фанатский репо EAGLE 3 не поддерживает (естественно). И даже в отдельной ветке оно сломано.
- EAGLE-1 поддерживается и в sglang, и в vllm без ограничения на семейства моделей. У vllm есть только одно нетривиальное требование: размерности KV кэша для модели и черновика должны совпадать. Если модель Мистраль, а черновик Ллама — придётся высчитывать правильный head_dim. Что-то кроме Лламы в качестве черновика не рассматривается, потому что не поддерживается почти нигде.
- EAGLE-2 не поддерживается в vllm, но поддерживается в sglang. Но пока что ни один из моих тестов не дал никакого профита по сравнению с EAGLE-1.
- EAGLE-3 на бумаге поддерживается в vllm и sglang, но по факту поддерживается только для Лламы. Плюс для Квена в sglang. Связано это с тем, что там используются активации не только с последнего слоя, а и с промежуточных тоже, и из-за этого движкам нужно патчить оригинальные модели. По одной, лол.
Первый EAGLE у меня завёлся из фанатского репо и дал что-то типа x1.3 прироста к скорости (22с -> 17с request time p50 для 1000 разных запросов), что вообще-то дерьмовенько, но уже лучше, чем ничего. Рейты: (0.59, 0.21, 0.05).
Короче, если вы делаете EAGLE не для Лламы — вы будете страдать.
EAGLE — метод спекулятивной генерации типа Медузы, но с однослойным декодером вместо независимых голов.
Полноценный пост про него будет, когда (если) всё получится.
А пока нетривиальные факты:
- Есть 2 популярных репо, оригинальный (https://github.com/SafeAILab/EAGLE) и фанатский через HF Trainer (https://github.com/NickL77/BaldEagle). Связано это с тем, что оригинальный репозиторий — чёртова исследовательская китайская хтонь. Но для EAGLE 3 всё равно пришлось её допинывать, потому что фанатский репо EAGLE 3 не поддерживает (естественно). И даже в отдельной ветке оно сломано.
- EAGLE-1 поддерживается и в sglang, и в vllm без ограничения на семейства моделей. У vllm есть только одно нетривиальное требование: размерности KV кэша для модели и черновика должны совпадать. Если модель Мистраль, а черновик Ллама — придётся высчитывать правильный head_dim. Что-то кроме Лламы в качестве черновика не рассматривается, потому что не поддерживается почти нигде.
- EAGLE-2 не поддерживается в vllm, но поддерживается в sglang. Но пока что ни один из моих тестов не дал никакого профита по сравнению с EAGLE-1.
- EAGLE-3 на бумаге поддерживается в vllm и sglang, но по факту поддерживается только для Лламы. Плюс для Квена в sglang. Связано это с тем, что там используются активации не только с последнего слоя, а и с промежуточных тоже, и из-за этого движкам нужно патчить оригинальные модели. По одной, лол.
Первый EAGLE у меня завёлся из фанатского репо и дал что-то типа x1.3 прироста к скорости (22с -> 17с request time p50 для 1000 разных запросов), что вообще-то дерьмовенько, но уже лучше, чем ничего. Рейты: (0.59, 0.21, 0.05).
Короче, если вы делаете EAGLE не для Лламы — вы будете страдать.
Forwarded from Давай деплой ML!
А вот и слайды.
Небольшой обзор по эффективному обучению и релевантным тематикам для студентов с летней школы.
В начале прикладные материалы + материалы для начинающих.
Для тех кто много знает - в конце начинается более инфровая часть и технические репорты.
На многих слайдах внизу есть ссылки на статьи/технические блоги.
Небольшой обзор по эффективному обучению и релевантным тематикам для студентов с летней школы.
В начале прикладные материалы + материалы для начинающих.
Для тех кто много знает - в конце начинается более инфровая часть и технические репорты.
На многих слайдах внизу есть ссылки на статьи/технические блоги.
Google Docs
Final efficient training airi 2025
Практические инструменты эффективного обучения Сивцов Данил Инженер-исследователь, AIRI