В Твиттере завирусилось исследование 1978 года о том, что врачи якобы не могут решить простую статистическую задачу
Она звучит так: "Если тест на выявление заболевания, распространенность которого составляет 1 из 1000, имеет false positive rate в 5%, какова вероятность того, что человек с положительным результатом на самом деле болен?".
Утверждается, что верный ответ – 2% (Из 1000 будет 1 больной и 50 человек с ложноположительным тестом -> 1/51 ~ 2%). Тот же ответ получается по теореме Байеса.
Однако так ответили только 2/10 медиков. Остальные давали ответ "95%", аргументируя это примерно так: "В задаче рассматривается не случайный человек из выборки, а только тот, который уже получил положительный результат теста. В таком случае, раз false positive rate = 5%, то вероятность наличия заболевания получается 95%".
Кстати, подобное исследование проводилось еще один раз в 2014 году. Вопрос задавали уже другой: "Представьте себе гипотетического бейсболиста. Он проваливает тест на наркотики, который точен на 95 процентов. Какова вероятность того, что бейсболист действительно виновен?".
И опять верный ответ дали только 14 из 61 опрошенных. А вы бы как ответили?
👉 DataFrog | #datascience
Она звучит так: "Если тест на выявление заболевания, распространенность которого составляет 1 из 1000, имеет false positive rate в 5%, какова вероятность того, что человек с положительным результатом на самом деле болен?".
Утверждается, что верный ответ – 2% (Из 1000 будет 1 больной и 50 человек с ложноположительным тестом -> 1/51 ~ 2%). Тот же ответ получается по теореме Байеса.
Однако так ответили только 2/10 медиков. Остальные давали ответ "95%", аргументируя это примерно так: "В задаче рассматривается не случайный человек из выборки, а только тот, который уже получил положительный результат теста. В таком случае, раз false positive rate = 5%, то вероятность наличия заболевания получается 95%".
Кстати, подобное исследование проводилось еще один раз в 2014 году. Вопрос задавали уже другой: "Представьте себе гипотетического бейсболиста. Он проваливает тест на наркотики, который точен на 95 процентов. Какова вероятность того, что бейсболист действительно виновен?".
И опять верный ответ дали только 14 из 61 опрошенных. А вы бы как ответили?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Там на Kaggle завезли новые ачивки 😇
Появились значки за активности под названием Badged (например, год на Kaggle, засабмитил в командное соревнование, создал Python ноутбук и прочее). Полный список тут.
Кроме этого появились так называемые Awards: это больше про фактические достижения типа мест в рейтингах, организации соревнований, публикации датасета и тд. Полный список тут.
Делитесь, кто сколько уже насчитал у себя?
👉 DataFrog | #datascience
Появились значки за активности под названием Badged (например, год на Kaggle, засабмитил в командное соревнование, создал Python ноутбук и прочее). Полный список тут.
Кроме этого появились так называемые Awards: это больше про фактические достижения типа мест в рейтингах, организации соревнований, публикации датасета и тд. Полный список тут.
Делитесь, кто сколько уже насчитал у себя?
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое аугментация данных?
Это один из методов регуляризации нейронных сетей через внесение изменений в данные. То есть, если мы внесем небольшие адекватные изменения в данных, мы можем спасти нейросеть от переобучения и увеличить ее обобщающую способность. Но почему это работает? Разбираемся на попугаях.
Бонусом оставляем отличную библиотеку, позволяющую производить аугментацию изображений.
👉 DataFrog | #datascience
Это один из методов регуляризации нейронных сетей через внесение изменений в данные. То есть, если мы внесем небольшие адекватные изменения в данных, мы можем спасти нейросеть от переобучения и увеличить ее обобщающую способность. Но почему это работает? Разбираемся на попугаях.
Бонусом оставляем отличную библиотеку, позволяющую производить аугментацию изображений.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Еще некоторые детали про o1 aka Strawberry aka Q*
➡️ Сейчас на юзерах с подписков крутится не сама o1, а ее preview версия. Также для ChatGPT Plus будет доступна модель o1-mini (более дешевая и шустрая). o1-mini также обещают раскатить и для бесплатных аккаунтов.
➡️ Даже несмотря на то, что самой o1 пока на проде нет, лимиты в чате и цены в API уже достаточно жестокие: 30 сообщений в неделю для o1-preview, 50 для o1-mini 😳 . В API вообще песня: 20 запросов в минуту, и при этом платить придется не только за коллы, но и за сами размышления модели (reasoning tokens).
➡️ Саму o1 тоже обещают раскатить скоро. Она уже дообучена и протестирована, но, видимо, OpenAI все еще приходится решать вопросы связанные с затратами на ее инференс, и (может быть) безопасностью.
➡️ OpenAI обращают внимание на то, что промптинг с новой моделью отличается от промптинга со старыми. Они даже выкатили свой гайд с советами о том, как правильно общаться с o1. Основная мысль сводится к «Больше не надо уловок вроде "думай шаг за шагом" или "построй план решения". Формулируйте свои инструкции ясно и прямолинейно, а дальше модель все сделает сама.»
➡️ Ну и напоследок то, на что могло ускользнуть от глаз: OpenAI решили скрыть от пользователей мыслительный процесс модели. То есть те рассуждения, которые видны в чате – это выборочный материал. Остальные необработанные цепочки мыслей пользователям не видны.
🍓🍓🍓
👉 DataFrog | #datascience
🍓🍓🍓
Please open Telegram to view this post
VIEW IN TELEGRAM
Там Anthropic предложили новую технику для RAG. Разбираемся:
Как работает обычный RAG:
1. Документы в корпусе разбиваются на чанки
2. Из каждого такого чанка мы достаем эмбеддинг и кладем его в векторную БД
3. Когда поступает запрос (промпт), мы ищем в этой БД семантически близкие к нему чанки и добавляем их в промпт, чтобы модель могла использовать эту информацию для ответа
В чем тут проблема?
Дело в том, что таким образом мы можем упустить важный контекст и детали запроса. Например, пользователь запрашивает "Error code TS-999". Поиск найдет информацию про коды ошибок в целом, но может упустить точное совпадение «TS-999». К тому же, при возвращении конкретного чанка из базы может случится так, что он будет вырван из какого-то важного контекста, и это может помешать модели.
Что предлагают Anthropic?
Во-первых, они предлагают извлекать не только обычные эмбеддинги, но и делать TF-IDF энкодинг чанков с помощью BM25. TF-IDF утроен так, чтобы как раз отбрасывать наиболее "общие" вещи в тексте, и фокусироваться на редких и самых важных словах. Это поможет не упускать детали при поиске, как в примере с ошибкой TS-999.
Во-вторых, чтобы избавиться от проблемы отсутствия контекста, они предлагают этот контекст добавлять искусственно (то есть делать из такого: "Прибыль росла на 3%." ... такое: "Этот чанк относится к отчету компании ACME за Q2 2023; прибыль росла на 3%.").
Для этого перед извлечением эмбеддингов и TF-IDF энкодингом каждый чанк аннотируется с помощью отдельного запроса к модели (в случае Anthropic это делается с помощью Клода). Да, дорого. Но с помощью фишки Prompt Caching, которую недавно завезли в API, можно хорошо скостить цену.
В итоге все это дает достаточно ощутимый прирост к метрикам качества поиска. Например, фактических ошибок становится меньше на 35%, а это ничего себе!
👉 DataFrog | #datascience
Как работает обычный RAG:
1. Документы в корпусе разбиваются на чанки
2. Из каждого такого чанка мы достаем эмбеддинг и кладем его в векторную БД
3. Когда поступает запрос (промпт), мы ищем в этой БД семантически близкие к нему чанки и добавляем их в промпт, чтобы модель могла использовать эту информацию для ответа
В чем тут проблема?
Дело в том, что таким образом мы можем упустить важный контекст и детали запроса. Например, пользователь запрашивает "Error code TS-999". Поиск найдет информацию про коды ошибок в целом, но может упустить точное совпадение «TS-999». К тому же, при возвращении конкретного чанка из базы может случится так, что он будет вырван из какого-то важного контекста, и это может помешать модели.
Что предлагают Anthropic?
Во-первых, они предлагают извлекать не только обычные эмбеддинги, но и делать TF-IDF энкодинг чанков с помощью BM25. TF-IDF утроен так, чтобы как раз отбрасывать наиболее "общие" вещи в тексте, и фокусироваться на редких и самых важных словах. Это поможет не упускать детали при поиске, как в примере с ошибкой TS-999.
Во-вторых, чтобы избавиться от проблемы отсутствия контекста, они предлагают этот контекст добавлять искусственно (то есть делать из такого: "Прибыль росла на 3%." ... такое: "Этот чанк относится к отчету компании ACME за Q2 2023; прибыль росла на 3%.").
Для этого перед извлечением эмбеддингов и TF-IDF энкодингом каждый чанк аннотируется с помощью отдельного запроса к модели (в случае Anthropic это делается с помощью Клода). Да, дорого. Но с помощью фишки Prompt Caching, которую недавно завезли в API, можно хорошо скостить цену.
В итоге все это дает достаточно ощутимый прирост к метрикам качества поиска. Например, фактических ошибок становится меньше на 35%, а это ничего себе!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Gradient Accumulation
Из-за ограничений памяти всегда рекомендуется обучать нейронную сеть с небольшим размером батча. Но что, если мы скажем вам, что можно увеличить размер батча без увеличения размера батча?
👉 DataFrog | #datascience
Из-за ограничений памяти всегда рекомендуется обучать нейронную сеть с небольшим размером батча. Но что, если мы скажем вам, что можно увеличить размер батча без увеличения размера батча?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8⚡1
Любители красивой математики, вам посвящается:
А еще если сложить первые
С Новым Годом, что-ли🎄
(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9)² = 20251³+ 2³+ 3³+ 4³+ 5³+ 6³+ 7³+ 8³+ 9³ = 2025(20 + 25)² = 20252025/ (2 + 0 + 2 + 5) = 225А еще если сложить первые
(20+25) нечетных чисел, тоже получится 2025С Новым Годом, что-ли
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰15🔥7❤5👍2💩1
Про Nested Cross-Validation
Это самая дорогая из "классических" схем валидации. Состоит из двух вложенных кросс-валидаций: внешней и внутренней. Внутренняя используется для подбора гипер-параметров/выбора модели, а внешняя - для оценки модели.
😻 #read
Это самая дорогая из "классических" схем валидации. Состоит из двух вложенных кросс-валидаций: внешней и внутренней. Внутренняя используется для подбора гипер-параметров/выбора модели, а внешняя - для оценки модели.
😻 #read
❤2👍2
Хотите попасть в аналитику, но теряетесь в море информации и не понимаете, какие навыки действительно важны? Боитесь, что без опыта вас не возьмут на работу? И да, ещё один популярный вопрос — а что, если мне 30/40/50+ лет?
Андрон Алексанян — эксперт по аналитике с 8-летним опытом и по совместительству CEO Simulative — покажет рабочие схемы и чёткий план, как устроиться в аналитику быстрее, даже если у вас нет опыта
Что будет на вебинаре?
— покажут реальные примеры, как оформить резюме и портфолио, чтобы привлекать внимание;
— обсудите, какие отклики работают, а какие сразу отправляют в корзину;
— изнанка найма: инсайдерский взгляд на процессы отбора
🕗 Важно досмотреть вебинар до конца, чтобы получить бонус от Simulative, который поможет бустануть карьеру
Please open Telegram to view this post
VIEW IN TELEGRAM
Установка SQLAlchemy и подключение к базе данных
SQLAclhemy — это де-факто фреймворк для работы с реляционными базами данных в Python. Он был создан Майком Байером в 2005 году. Эту систему используют, например, Reddit, Hulu и Dropbox. Знание SQLAclhemy сейчас важный навык (и требования в вакансиях это подтвердят). Для начала, научимся подключаться к базе данных.
SQLAclhemy — это де-факто фреймворк для работы с реляционными базами данных в Python. Он был создан Майком Байером в 2005 году. Эту систему используют, например, Reddit, Hulu и Dropbox. Знание SQLAclhemy сейчас важный навык (и требования в вакансиях это подтвердят). Для начала, научимся подключаться к базе данных.
❤3