Интересное что-то
516 subscribers
2.72K photos
253 videos
139 files
4.52K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Forwarded from эйай ньюз
This media is not supported in your browser
VIEW IN TELEGRAM
Авторы Chatbot Arena выпустили расширение для VS Code для оценки моделей для кодинга. По сути, это бесплатный копайлот, где предлагают выбирать из нескольких вариантов, сгенеренных разными моделями. Это должно позитивно повлиять на оценку моделей для кода, ведь именно автодополнение никто больше не бенчит. Отдельная арена тут может помочь до какой-то степени, пока разработчики на неё не оверфитнулись. А дальше придётся придумывать новые бенчи.

Если хотите попользоваться, учтите, что ваш код будут отправлять хостерам моделек на арене, что допустимо для опенсорс разработок и каких-то личных проектов. А вот для коммерческой разработки, конечно же, такое использовать не стоит.

Скачать

@ai_newz
Audio
Наткнулся на научную статью на 16 страниц про BERT (модель машинного обучения для обработки естественного языка, разработанная Google в 2018 году) и решил протестировать этот бесплатный сервис, который сам Альтман лайкнул.

Закинул ссылку на статью и нажал на "Deep dive conversation" (подкаст с детальным обсуждением). Через пару минут получил отличный 10-минутный подкаст, в котором два ведущих — эксперт и новичок — обсуждают основные идеи статьи на понятном "человеческом" языке.

Озвучка получилась действительно крутой — интонации и эмоции передаются очень хорошо, и что важно, в этом подкасте есть смысл: там не просто какой-то сгенерированный текст. Я прикрепил аудиофайл — можете сами заценить. Жаль, конечно, что пока такие подкасты можно генерировать только на английском языке.

Но я решил сделать ещё вот что:
- Скачал аудиофайл подкаста.
- В бесплатной Google AI Studio загрузил файл и попросил извлечь текст.
- К моему удивлению, он справился с этим отлично.
Попросил написать текст на русском и добавить указания "авторов слов", то есть "ведущий 1" и "ведущий 2".

В итоге получил текстовую версию подкаста по научной статье на русском языке (результат здесь). Остался только последний шаг! Какой моделью качественно озвучить этот подкаст на русском языке?

Может, посоветуете что-то? В идеале, конечно, бесплатный сервис бы.
Привет, ребята 👋

Месяц назад я купил платную подписку на Poe и хочу сказать, что в целом это вполне себе альтернатива ChatGPT Plus.

Самые большие минусы для меня:
- Отсутствие возможности "надиктовывать", довольно плохо распознаёт речь на русском и немецком языке.

- К сожалению, нет функции Data Analyst / Code Interpreter для запуска python кода (или, по крайней мере, я не нашел среди ботов).

- Нет недавно добавленного в ChatGPT Canvas , ну и Artifacts, как у Claude

- На обработку изображений тратится очень много «поинтов» (всего 1 млн поинтов дают на месяц) по сравнению с текстом.

- GPT-4o в Poe отвечает намного короче, всего 1-2 предложения, по сравнению с оригинальным ChatGPT (если не просить "напиши подробнее").

Плюсы:
- Зато Claude отвечает очень структурировано и развернуто, особенно версия Claude 3.5 Sonnet. Возможно, для моделей Claude используется специальный системный промпт, который делает ответы более развёрнутыми.

- Жирный плюс - это конечно возможность сравнивать ответы моделей прямо в одном чате.

- Ещё есть поиск, разные боты с другими функциями и моделями, в том числе и опенсорсными.

- У Poe есть мобильное и десктопное приложение, а ботам можно подгружать базу знаний и системные промпты, как в GPTs.

- Нет дневных или недлеьных лимитов на 4o или о1-preview, есть только месячный, но его хватает за глаза (как по мне) и можно использовать так, как тебе удобно

- Нет функции "Memory", но я лично в ChatGPT отключил эту функцию, так как она предлагает сохранять много не нужных данных/фактов обо мне в каждом чате.


В общем, если кому-то интересна альтернатива ChatGPT Plus, рекомендую попробовать Poe! К тому же, он работает без VPN, что удобно для тех, кто находится в регионах, где ChatGPT недоступен.
Please open Telegram to view this post
VIEW IN TELEGRAM
😢 Думал, что выкладывал сюда эту статью, но нет :(

50 оттенков линейной регрессии, или почему всё, что вы знаете об A/B тестах, помещается в одно уравнение

Авторы предлагают рассмотреть привычные нам методы A/B тестов с точки зрения уравнения линейной регрессии.

Формула, которая используется на протяжении всей статьи

Y = b0+ b1D + e, где D - принадлежность к группе теста или контроля (1 и 0), b0 - матожидание в контроле, b0+b1, матожидание в тесте


Что в статье?

1. Про стандартную оценку эффектов, ATE (Average Treatment Effect)

2. CUPED

3. Стратификация

4. Все в одном уравнении, такое тоже есть, все через модель линейной регрессии.

5. Пример на Python, оценка теста, используя модель линейной регрессии.

В общем, статья хорошая, ставлю лайк 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
Propensity Score Matching (Causal Inference ч. 2).

Сегодня обсудим то, что такое, рассмотрим какие-то кейсы и то, как можно интерпретировать то, что получается с помощью этого метода

Итак, представьте, вы раскатили фичу на всех, оценить эффект может быть очень тяжело, либо невозможно по причинам, указанным выше. Например, запустили какой-то функционал, хотите понять эффект спустя какое-то время на срезе тех пользователей, кто пользуется фичой. Но тут у вас возникает вопрос (скорее всего), а с кем сравнивать вообще, как оценить влияние на бизнес? Должно быть понятно, что если мы раскатили фичу на срез пользователей в >=50%, то матчить будет не из кого.

Наверное, вы или ваш менеджер продукта определяет различные сроки проектов, т.е. с этим у нас проблем нет (treatment date, предположим, у нас есть). Это означает, что мы знаем фактическую дату раскатку фичи, формата и так далее, но нам важно честно замерить эффект. Ранее я прикреплял видео по PSM, где аналитик из Маркета рассказывал то, как оценивать эффект.

Как это реализуется? У нас есть срез пользователей, кто является для нас таргетом. Для них нужно подобрать репрезентативный контроль таким образом, чтобы в предпериоде (так же, как и при рандомной семплировании при A/B тестировании) целевые метрики / ковариаты не расходились. В общем случае в различных сегментах наши пользователи могут различаться (например, нашей фичой пользуется сегмент богатых, а мы сравниваем их со всеми, нечестно, получается). На данном этапе мы хотим подобрать максимально похожих пользователей на основе некого значения Propensity Score (прикрепил статейку от X5, тут очень интересно можно прочитать про это) и тут

Алгоритм:
1. Собираем признаковое пространство на сущность, которую мы хотим тестировать с таргетом - отнесение к определенному срезу пользователей (бинарная случайная величина).
2. Определяем вероятность отнесения к определенной группе, можно воспользоваться predict_proba для любого классификатора, в качестве бейзлайна
3. На выходе нам нужно подобрать наиболее подходящие группы по Propensity Score (можно использовать Nearest Neighbors, предварительно обученной на тритменте, поскольку мы предполагаем, что тритмента меньше, чем контроля + нам нужно замерить именно ATT, Average Treatment Effect of the Treated), таким образом получить наложенные друг на друга плотности вероятности ковариат (признаки) и таргета (целевой метрики, например, количество заказов).

На выходе получаем группу пользователей (не всегда 1:1, в зависимости от того, какое можно задать правило, у этого есть свои приколы). Вопрос того, насколько сильный дисбаланс и насколько маленькая группа (среди тех, кого надо матчить). Статейка со с цитатой ниже
Classical 1:1 matching without replacement may not be the most suitable approach when the number of individuals enrolled in a study is small, and when an imbalance in terms of treated and untreated subjects is present. Moreover, the initial sample size of the study, which is generally small, can be further reduced, increasing the sampling variability associated with the treatment effect estimate and reducing the accuracy of the findings


Далее можно построить временные ряды на предпериоде, получить то, что мы могли бы сделать при рандомной семплировании в A/B тестировании (метрики не должны разъезжаться на предпериоде). Далее, мы можем отобразить эффект как ступеньку, которую можно будет увидеть графически, либо применить статистический тест.

У метода могут быть проблемы, если сравнивать с классическим A/B тестом (в т. ч. сложность интерпретации, много условий, определенные искажения и смещения

🍪🍪 Если вам было интересно, ставьте реакции, пересылайте друзьям / коллегам, пишите комментарии, а я в следующих постах разберу более подробно другие вариации или разберу статейки по Propensity Scores, различные подходы и др.
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Изучаем SQL индексы!

Индексы в базах данных — это структуры, которые помогают ускорить поиск и извлечение данных.

Вот основные типы индексов:
B-Tree индексы: Наиболее распространённый тип индексов. Используется для диапазонного поиска и поддерживает сортировку данных. Работает по принципу сбалансированного дерева.
Hash индексы: Используются для быстрого поиска по точному совпадению. Не поддерживают диапазонные запросы, но могут быть очень быстрыми для конкретных значений.
GiST (Generalized Search Tree): Позволяет создавать индексы для сложных типов данных, таких как географические данные. Поддерживает множество операций поиска.
GIN (Generalized Inverted Index): Эффективен для индексации массивов и полнотекстового поиска. Использует инвертированный индекс, что делает его подходящим для текстовых данных.
Кластеризованные индексы: Определяют физический порядок хранения данных в таблице. То есть физически сортирует строки таблицы в соответствии с индексом. Обычно создаются на первичном ключе и позволяют значительно ускорить чтение данных.
Некластеризованный индекс (Nonclustered): Создаются отдельно от основной таблицы и содержат указатели на строки данных. Позволяют создавать несколько индексов для одной таблицы.
Составные индексы: Индексы, которые включают несколько колонок таблицы. Полезны для запросов, которые фильтруют данные по нескольким полям.


В этом посте собраны полезные статьи и видео на YouTube о SQL индексах, которые помогут вам разобраться в этой важной теме:

📌 Статья: Влияние индексов БД на производительность выборки данных
📌 Статья: Обслуживание индексов MS SQL Server: как, когда и, главное, зачем?
📌 YouTube: Что такое SQL ИНДЕКСЫ за 10 минут: Объяснение с примерами
📌 YouTube: ИНДЕКСЫ В БАЗАХ ДАННЫХ. СОБЕС В OZON.
📌 YouTube: Как устроен B-TREE индекс в базах данных
📌 YouTube: EXPLAIN в базах данных за 10 минут
📌 YouTube: Андрей Сальников — Индексы в PostgreSQL. Как понять, что создавать
📌 YouTube: Оптимизация запросов с помощью индексов
📌 Статья: 14 вопросов об индексах в SQL Server, которые вы стеснялись задать

#Индексы #btree #hashindex #index
Немного рефлексии

Как-то я был на тренинге про то, как нетворкаться на мероприятиях, если ты представитель компании, которая это мероприятие делает. Вел его, кстати, Алексей Обровец, душевнейший человек и недавний гость в нашем подкасте «Кода кода».

Так вот там в начале было упражнение. Надо суметь за минутку рассказать (имитируя представление) ответы на три вопроса:
1. Кто я?
2. Какова моя экспертиза?
3. Чем и кому я могу быть полезен?

Недавно мы это обсуждали и один товарищ сказал, что испытал экзистенциальный кризис при этих ответах. Давайте разбираться, что там такого и зачем нам на это отвечать.

Кто я?
Тут хочется вспомнить классическую историю Жени Кота про то, как он заблудился в Мексике и хотел спросить дорогу. Местный житель спросил у него: «Ты кто?», и Женя ответил: «Я менеджер и фронтенд-разработчик», на что вопрошающий ответил: «А я – Хуан».

Это я к чему? К тому, что отвечая на этот вопрос и имея в виду даже работу, и то можно запутаться. Например, я формально ведущий технический менеджер проектов, но еще я выполняю роль тимлида команды, и вижу пользу и в том, и другом аспекте. Поэтому я представляюсь как «разнорабочий» 🙂

А вот если взглянуть на себя более целостно, то можно понять еще больше всякого, например, что твоя идентичность и самооценка со временем стала неотделима от работы.

Какова моя экспертиза?
Очень важный вопрос. Он и для самооценки, как специалиста, важен, и для карьеры, работы, денег и всего прочего, что мы в айтишечке обсуждаем. Вы не представляете, как много я видел людей, которые не задавались этим вопросом (а может боялись задаваться) хоть иногда и просто плыли по течению. А потом, когда доплывали до точки, где надо менять работу (сокращают, или надо больше денег, или переезжают), то оказывается «ой-ой-ой, я в болоте засиделся и стагнировал годами, а рынок труда хочет совсем другого».

Чем и кому я могу быть полезен?
Ответ на этот вопрос поможет сформулировать понятную ценность от вас и вашей экспертизы. Это пригодится и для резюме, и чтобы понимать, где лучше принести пользу на работе, где навести всякие горизонтальные связи в компании, и просто что-то факультативное для себя придумать.

Например, про себя я знаю, что у меня хорошо получается работа с людьми, я умею и люблю заниматься общественно-полезной деятельностью. Поэтому я очень полезен нашим деврелам (чтобы выступать от имени компании и продвигать бренд), или другим коллегам-тимлидам (никогда не отказываю в том, чтобы обсудить тимлидские проблемы и способы их решения), и любым другим тимлидам, желающим ими стать, или желающим помочь своим тимлидам в компании (так 4 года назад и родился мой небольшой и ламповый консалтинг).

Итог
Призываю вас выделить 10-15-30 минут, чтобы подумать и сформулировать ответы на эти 3 вопроса. Искренне уверен, что это может вам пригодиться если не прямо сейчас, то в обозримом будущем.
Forwarded from FSCP
🤯 Энтузиаст дропнул запрос, который помогает Claude 3.5 Sonnet превзойти OpenAI o1 в рассуждениях! Промпт запускает целую цепочку мыслей из 20-50 шагов перед тем, как выдать ответ.

В некоторых тестах такой подход позволил Claude 3.5 Sonnet достичь уровня GPT-4 и o1. Запрос будет работать не только в Claude, но и во многих других LLM, чтобы поднять их эффективность на максимум.

Сохраняйте, чтобы попробовать — тут.

_______
Источник | #notboring_tech
@F_S_C_P

Стань спонсором!
Forwarded from Voice stuff
Почему модели генерации изображений не умели генерировать тексты?

Я всегда думал что это просто недостаточный обучающий сет, либо задача слишком сложная, либо разрешение латентов недостаточное. И у меня даже был план обучить SDXL на текстах и сгенерировать датасет для этого (картинка прилагается. Но там всё неправильно)

Оказалось что просто CLIP энкодер слабоват. Генерация изображений нормально работает только с хорошим энкодером текстов. Во ВСЕХ работах, где заменяли CLIP на T5 или на что-то подобное, тексты генерируются хорошо.

Причём, можно выбросить вообще оба CLIP энкодера из SDXL и оставить только один T5 и всё равно будет лучше типография.

Ключевая статья:
https://arxiv.org/html/2403.09622v1

Другие примеры помимо FLUX и SD3:
https://github.com/deep-floyd/IF
https://github.com/TencentQQGYLab/ELLA
Forwarded from Speech Technology
https://github.com/SWivid/F5-TTS

A Fairytaler that Fakes Fluent and Faithful Speech with Flow Matching

This paper introduces F5-TTS, a fully non-autoregressive text-to-speech system based on flow matching with Diffusion Transformer (DiT). Without requiring complex designs such as duration model, text encoder, and phoneme alignment, the text input is simply padded with filler tokens to the same length as input speech, and then the denoising is performed for speech generation, which was originally proved feasible by E2 TTS. However, the original design of E2 TTS makes it hard to follow due to its slow convergence and low robustness. To address these issues, we first model the input with ConvNeXt to refine the text representation, making it easy to align with the speech. We further propose an inference-time Sway Sampling strategy, which significantly improves our model’s performance and efficiency. This sampling strategy for flow step can be easily applied to existing flow matching based models without retraining. Our design allows faster training and achieves an inference RTF of 0.15, which is greatly improved compared to state-of-the-art diffusion-based TTS models. Trained on a public 100K hours multilingual dataset, our Fairytaler Fakes Fluent and Faithful speech with Flow matching (F5-TTS) exhibits highly natural and expressive zero-shot ability, seamless code-switching capability, and speed control efficiency. Demo samples can be found at https://SWivid.github.io/F5-TTS. We will release all code and checkpoints to promote community development.
Forwarded from Душный NLP
Архитектура LLaMA 3.1

Продолжаем разбирать LLaMA 3.1. В прошлый раз речь шла о претрейн-датасете, а в этот раз — об архитектуре модели.

Llama 3 использует стандартную архитектуру трансформера, которая не сильно отличается от того, что было в LLaMA и LLaMA 2. Однако отличия есть. Скажем, если в LLaMA 2 Grouped Query Attention (GQA) с восемью ключевыми головами внимания использовались только в моделях на 34B+, то здесь GQA применяется для всех моделей LLaMA 3.1. Это позволило повысить скорость вывода и уменьшить объём данных, необходимых для кеширования во время декодирования.

Ещё одно важное изменение — увеличение контекстного окна до 128 тысяч токенов. Это стало возможным благодаря увеличению гиперпараметра базовой частоты RoPE до 500 тысяч. Такой подход позволяет модели эффективно решать задачи, связанные с большими объёмами текстов. Модель также использует словарь на 128 тысяч токенов.

Разработчики внедрили четырёхмерный параллелизм (4D Parallelism), который включает тензорный, пайплайновый, контекстный и параллелизм данных. Этот подход позволяет значительно улучшить утилизацию ресурсов при обучении на тысячах GPU. Например, для обучения модели с 405 миллиардами параметров использовалось до 16 тысяч GPU, а средняя утилизация вычислительных ресурсов составила около 41%​.

Контекстный параллелизм позволяет разбивать длинные строки на части. В отличие от классических методов, такой параллелизм синхронизирует только ключи и значения в attention-слое, что минимизирует задержки при обработке длинных последовательностей.

Помимо этого, в архитектуре LLaMA 3.1 активно используется FP8-квантизация, которая значительно ускоряет вычисления без значительных потерь в точности. Это позволяет экономить до 50% времени на вычисления по сравнению с традиционными методами, что критично для моделей с миллиардами параметров. FP8-квантизация используется не для всех слоев, потому что она может вызвать ошибки при вычислении в attention-слоях. Подход доказал свою эффективность при решении большинства задач​.

Разбор подготовил Михаил Хрущев

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM