Dealer.AI
14.4K subscribers
672 photos
44 videos
16 files
699 links
Жоский ИИ Дядя
Твой личный поставщик AI 🦾🤖
Канал о мире интересного AI: GenAI, RecSys, поиск, classic ML, бизнес приклад и ai-meme👾

Для связи @dealer_ai
(реклама и консультации)

Head of ML, AI.
Kaggle: https://www.kaggle.com/andrilko

РКН: 6348592885
Download Telegram
Метрики по красоте.

P. S. Фильтрация это ранкинг reward top1
Интересное открытие flex дня.
Или не BERT и LLM живёт земля...

Был сегодня на встрече со своими коллегами по цеху и даже с бывшими коллегами по работе.

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

Что же за модель спросите вы?

BERT? Нет. GPT? Нет.

Ответ:
BiLSTM+attention+glove и fastext 💃 эмбеддинги. Обучены конечно эмбы на логах той же системы. Как сейчас помню 15 гигов логов.
Обучение на CPU макбука в ночь перед уходом с работы, утром проверил метрики и собрал новую ветку на релиз... Вот такие пирОги.

Забавно, что все несли BERTы (ну как же хайпово), а приросту значимого не было...

А вы LLM, трансформеры.. Остальное умерло (хотя кто-то уже и BERTы хоронит).

Кстати тут прошёл сорев, где один человек завёл классик пайп на DeBERTa + почистил данные, ушёл на месяц в свои дела. Через месяц внезапная радость 3е место, золото, призовые. А вокруг один decoder-like... 🚬

Говорит закат энкодеров пошёл... Ага щаз... Всему своё место.

Выводы: юзайте сначала что-то простое, если уже сливки с метрики собрали, упёрлись в потолок, усложняйте пайп, чтобы правый хвост добить качества. Если оно вам конечно надо.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍323🗿1
Юмор выходного дня 😂

Наткнулся в ленте.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁19💯7
Augmentex - твой карманный аугментер текста.

Мы недавно вместе с коллегами опубликовали супер-либ SAGE. И зовётся супер-либ не случайно, тк состоит из генеративной части и нашей библиотеки Augmentex.

Если вы хотите получить возможность аугментации текстов на основе добавления опечаток, перестановок и др. и вам не нужны механики генеративной аугментации или custom имитации ошибок- это ваш выбор. Иначе юзайте SAGE.

Например, Augmentex работает на CPU и умеет, на основе general частот ngramm, заменять корректные символы/наборы символов на их комплиментарные ошибки. Тоже самое можно делать и на уровне слов. Встроена возможность добавлять пробелы между символами или склеивать слова и многое другое, см. мануал в репо.

Мы уже поддерживаем 2 языка - русский и английский, а также имитации general ошибок ввода с ПК и мобильной (поддержка Android/IOS раскладок) клавиатур.

Также мы планируем добавить наши bbox атаки , о которых я говорил в своих постах и на выступлениях. Атаки включают и encoders и LLM дискриминацию. Следите за обновлениями!

P. S. Использование атак в генерации батча при обучении наших моделей, добавляет устойчивости и апает метрики качества на 2-5%.
👍36🔥52
#чтивонаночь по быстрому

CODEFUSION: A Pre-trained Diffusion Model for Code Generation

и
это прям умно - авторы берут претрен T5 еncoder, кидают его стейты в Denoiser(10 блоков трансформера - неизвестных) а в качестве декодера - 6 блоков декодера.
По метрика лучше чем соседи по классу, местами бьет 100кратно лучшие модели


а еще слили размер chatgpt, оказывается она всего то 20B. Имаджинируете лица людей которые разгоняли что у open ai в проде 175b?

paper
😁9👏1🤯1
Новый NLP сорев на kaggle.

В век LLM встаёт вопрос детекции синтетики/сгенерированных текстов. И вот наконец-то докатилось и до моей любимой платформы соревнований.

Кстати советую почитать каналы:
1. Юрия Кашницкого
2. И Техножрицы

Всё на тему детекции сгенерированных текстов. Особенно пленяет подход на основе определения размерности вложения и по нему детекции синтетики. Читаем в канале п2.

Соревнование тут:

https://www.kaggle.com/competitions/llm-detect-ai-generated-text/

Всем успехов!


UPD. Дополнение от @inkoziev

1) статья "Intrinsic Dimension Estimation for Robust Detection of AI-Generated Texts" https://arxiv.org/pdf/2306.04723.pdf

2) реп https://github.com/ArGintum/GPTID к пред. статье

3) либа scikit-dimention https://scikit-dimension.readthedocs.io/en/latest/quick_start.html
👍193❤‍🔥1
Forwarded from Alex Ryzhkov
Коллеги, всем привет!

Поскольку большинство из нас не только строит ML модели, но и объединяет их в разного рода композиции для улучшения финального качества, подготовил пост с примером ноутбука по различным методам типа блендинга, голосования, стеккинга и т.п.: https://www.kaggle.com/competitions/playground-series-s3e24/discussion/452123
Думаю, что подобный код будет полезен каждому в качестве шаблона при решении задач и позволит ускорить этап построения композиций
🔥155👍1
Какой у тебя длинный... 🫢
Вход в transformer. 📝

Или пара вредных советов для создания вашего longformer...

Тут давече вышел хабропост про то, как из вашей модели сделать longformer и расширить вход за 512 seqlen.

Нас это зацепило и мы решили, что можем воспроизвести. Засучили рукава и принялись за работу. В процессе подготовки словили несколько факапов и набили пару шишек. Поэтому, думаю, дополнения от Жеского Дяди не помешает.

Итого, что советуем:

1. При расширении контекста, нужно довыровнять global position embeddings и attention, тк мы же увеличили seqlen. Для адаптации автор поста врубал MLM и фризил всё остальное,кроме указанных выше позиций и внимания. На данном этапе не забудьте расфризить MLM head.

2. Когда собрали и запустили код, обнаружили, что при сетапе из п1. у нас стали умирать конечные эмбеды. Наши метрики упали. А хотелось бы их сохранить. Поэтому автор предлагает 30% доливать коротких текстов. Но на модели с нашим числом весов (large) пришлось увеличить долю до 40%.

3. Но и доработки п.2 не хватало. Обнаружили проблемы с прогревом, снизили его с 15к шагов до 2-5к , иначе всё сходилось не к той области весов и после отключения прогрева разлетелось к чертям.

4. Катастрофическая забывчивость для малых текстов за 2-3 пункты поличилась, но зазор всё ещё был 2-3%
качества, а хотелось воспроизвести результат поста и получить минимум разницы или даже прирост.

Поэтому дядя вспомнил про ChatGPT и как там в RLHF PPO используют KLD регуляризации к reference модели. По сути self дистилляция. И тут мы врубили её к изначальной версии без выравнивания (она учитель) и только для коротких текстов.

Крч дописали ещё одну голову совместно с MLM. В итоге получили даже где-то прирост 0.5% , что радует.

Почему в посте на хабр так всё вышло гладко и сладко? Особенно для tiny модельки. Думаю дело в числе весов и модель успела быстро сойтись и не разлететься по лоссу не в том пространстве. Сетап изначально был напомню 1 в 1. Для больших моделей от large и выше пользуйтесь советами выше.

Как-то так. Дерзайте и кидайте свои наблюдения, советы в комментариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍32🔥1
Forwarded from Жёлтый AI
Появились записи с Monolog 2023!

На нем мы рассказывали, где теперь NLP Research ищет идеи после выхода GPT-4; как работает автоматизация поддержки в банке; и где найти данные для предобучения LLM.

Не забывыйте подписываться на наш канал, там будет еще много интересного 👾
👍7
Новый любимый лось:
SigLIP Log-Sigmoid
loss 🌿

Крч, недавно ребята анонсировали в SigLIP модифицированный log-sigmoid лосс. И да, это тот, который в reward юзают для обучения. 😎

Об этом уже писал тут. Обещали быстрый, с малыми затратами по компьюту эффект для contrastive learning. В их случае image2text на примере CLIP-like.

А так как я маньяк на всякие self-supervised штуки а-ля metric/contrastive learning, взял да и реализовал лосю со статьи, но в своём стиле.

Было:
LogSigmLoss = -E[LogSigmoid(Ri -Rj)],
где R=dot(emb1, emb2.T)
- значение близости между двумя эмб матрицами. Там могут лежать текст эмбы или текст эмбы и картиночные эмбы.

В статье: добавляется температура и биас так, что R=dot(emb1, emb2.T)*exp(T)+bias

При этом близость косинусная, тк эмбы перед этим L2 нормализуют.

У меня чет не завелось для текстов с нормализацией L2. Поэтому я просто модифицировал свой adaptive margin loss к виду SigLIP. А именно везде, где у нас близости, добавил обучаемый T и bias и загнал в LogSigmoid, где пары имеют близость:

PosSim - без изменений dot-prod между позитивной парой.

NegSim=Log[Sum(exp(neg_mul*exp(T) +bias))] , - это чудовище плата за отсутствие нормализации.

Итого сравнил до и после результаты с добавлением и без обучаемых параметров температуры и смещения. На наших метриках ранжирования recall@10 сходится к лучшим значениям в 3-4 раз быстрее! Это при одинаковом батче, схеме lr scheduling и тп. К примеру recall@10 = 0.74 был достигнут за 27 эпох против 102 до! 📈

Это успех, господа и дамы. Мой новый фаворит. 💃
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥37🤯52👍1
Занятная альтернатива prompt-tuning, апгрейд на бенчмарках GLUE и Super-GLUE. Понравилась работа из-за оценки схожести в эмбединговом пространстве множеств задач относительно друг друга

Теперь по-порядку: у prompt-tuning идея в том, что можно поставить виртуальные токены в начало и обучить только эту часть представлений.

Идея SPoT, а давайте не просто обучим, а сделаем некоторый codebook (как в vq-vae, но это условно, просто уж идея очень похожа). Как составить этот словарик? На ранних стадиях виртуальные токены берем, как значения эмбедингов задачи, а на лучшем чекпоинте (уже поучили), как source prompt (получаем словарь ключ – значение). При обучении, ищем самый близкий эмбединг задачи и настраиваем дальше его source prompt.

Смысл в том, что можно миксовать задачи и дообучать одну из другой, что судя по бенчам хорошо работает, а сам heatmap на третьем скрине

В общем-то еще один способ для мультитаска, а вот сам
🖥 код
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤔4
Forwarded from Пресидский залив (Nadia ズエバ)
Вчера был DevDay от openai, где представили несколько новых любопытных обновлений. Главное из них — GPT-4 Turbo! Еще более умная версия 😎

1. Размер контекста GPT-4 Turbo увеличили в 16 раз по сравнению с предыдущим. Для сравнения Сэм сказал, что это примерно 300 книжных страниц
2. В API завозят json mode аутпуты. То есть теперь не нужно будет выцеживать нужную информацию из текстового ответа, можно ее просто явно запросить
3. Знания модели не будут ограничены 2021 годом, сейчас модель знает про мир до апреля 2023го. И разработчики пообещали поддерживать модель актуальной
4. В API теперь можно будет прокидывать картинки (а не только url как было раньше), в GPT-4 turbo будет интеграция с DALLE-3. Кроме того, обещают скоро открыть Whisper v3, в котором будет еще больше языков
5. Откроют gpt-4 для файнтюнинга в экспериментальном режиме. Заверили, что на данных которые юзеры используют для дообучения они не учатся. Анонсировали b2b дообучение моделей под нужды клиента
6. Повысили лимиты токенов в минуту, сделали более приятный прайс. Если нужны еще более высокие лимиты, можно отправлять запросы
👍6🔥1
Рубрика: сотру пыль со "старых" книг. 2016год , время BiLSTM+attention и на пороге уже первые transformers. Уже тогда предлагалось усиливать сетки с поиском в интернете...
🤗23👍1
Мой падаван сделал отличную подборку заметок...

Хех.. Помню когда там было 4 пункта первых.:)

Переходите по ссылке и наслаждайтесь

https://t.me/kaggle_fucker/105
11🔥1😁1
О GigaSearch замолвите слово.

Тут @chckdskeasfsd активно меня спрашивал: "Э дядь, а че там под капотом Giga Салюта в GigaSearch? RAG? "

Скажу от себя так: идея RAG на минималках.

Тк в самом алгоритме помимо инкапсуляции топа выдачи ретривала в текст, нужно делать маргинализации вероятности в LLM, чего видеть вы можете по схеме - нет.

Но уже даже простой in-context долив с внешней базы знаний работает хорошо. И это подтверждается исследованиями Аурко Ройа тут. Там подобные подходы работали не хуже REALM (тоже из семьи RAG).

Кстати в статье засветилась и наша ruElectra. Мы рады, что участвовали в процессе создания архитектуры GigaSearch и помогали коллегам.

Далее, подробно смотрите тут:
https://habr.com/ru/companies/sberdevices/articles/773180/
👍16🔥2
Forwarded from AbstractDL
The Shape of Learning: Intrinsic Dimensions in Transformer-Based Models

Препринт нашей новой работы! Оказалось, что языковые модели «упаковывают» свои репрезентации в очень компактное пространство с внутренней размерностью не больше 60. И при этом анизотропия на средних слоях трансформеров-декодеров стремится к единице! Получается, эмбеддинги из середины модели расположены вдоль одной линии.

Еще одно интересное наблюдение — обучение LLM делится на две фазы: расширение и последующее сжатие активаций (см. картинку). А перед взрывами лосса их размерность немного подрастает.

Статья
🔥162👍2👏2