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

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

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

РКН: 6348592885
Download Telegram
Очень красивый подход с DPO без тюна, ретривер кстати можно взять лайтовый аля tinyBert или MiniLM MsMarco. 👇
Forwarded from AI[ex]Time (Александр Голубев)
ICDPO (In Context Direct Preference Optimization), или DPO без файн-тюнинга

Очередная работа по методам тюнинга, на этот раз немного необычная. Основной плюс — мы по факту ничего не делаем с весами модели, то есть используем претрейн. За это расплачиваемся дополнительным временем и памятью. Теперь давайте подробнее. Обозначим заданный промпт как x, датасет с заготовленными чистыми примерами как D. Далее:

1. Извлекаем d примеров из D, которые похожи на x. Это классический ретривал, то есть можно использовать BM25 + Sbert, bert, colbert, you name it.
2. Генерируем n различных ответов, поместив примеры d в контекст.
3. Для каждого ответа считаем вероятность p(y | x) = a и p(y | d, x) = b, то есть с условием на примеры d в контексте и без. Можно сказать, что это оценка вероятности ответа y в формате zero-shot и few-shot.
4. Считаем некоторый скор S, который отражает разницу между b и a. Это число показывает, насколько хорошо заалайнен ответ, так как d — качественные примеры из заготовленного датасета. В итоге берем генерацию с максимальным S.

По экспериментам репортят, что удается добиться метрик на уровне тюнинга с LoRA. Ну и как раз за счет ретривера + n генераций мы сильно замедляемся по скорости, так что область применения такой техники сильно ограничена 😢

Статья ICDPO: https://arxiv.org/abs/2402.09320
Статья DPO: https://arxiv.org/abs/2305.18290
🥴4🔥21👍1
Dealer.AI
Первым делом, расскажу о своём любимом information retrieval для NLP. Так уж вышло, что волею судьбы, мне выпала честь развивать retrieval based dialogue system в одной крупной финансовой компании. И поэтому хайп, который творится вокруг chatGPT, докатился…
Внезапно тихо, после Mistral7b -e5-instruct появился новый инструктор эмбеддер и для multiling-e5.

Идея как в статье reply'я: для того, чтобы не плодить К тасок для каждого типа задачи : qa, retrieval , nli, etc - давайте сделаем инструкции и приклеим их к запросам. Далее вкинем в один батч и получим для одного и того же запроса, но разных тасок разные префикс инструкции, а значит разные эмбеды. Тем самым повысим разнообразие и дадим доп инфо.

На MTEB для english она конечно похуже miastral-e5, но лучше родительской me5 и входит в топ10. Думаю для ру языка она будет лучше mistral-e5, но замерим.

Upd. тех папир тут по me5: https://arxiv.org/abs/2402.05672
👍12🤔3
Опа, Mistral waifu tune от МТС AI на MERA

https://mera.a-ai.ru/ru/leaderboard
🤪15🔥6👍2😁1🥴1
Не так интересен черт gemma, как его малюют...
16😁2
Dealer.AI
Photo
😁35👍4
Токенизируй меня полностью.

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

Далее, советую ознакомиться с еще одной мерой описания информации на токен - фертильность. Понятие старое, придуманное еще IBM в далекие 90-е, в рамках машинного перевода. Основная интуиция, лежащая в основе манипуляций с фертильностью, заключалась в том, что одно понятие может быть выражено на английском языке множеством непересекающихся слов. То же справедливо, конечно и для ру языка.

Вопрос: Зачем нужна фертильность? Ответ: Для оценки эффективности словаря.

В языковых моделях мы можем рассматривать число сабвордов/токенов на одно реальное слово. Тогда для словаря только из лексем (реальных слов) фертильность будет равна 1, тк один токен = 1 реальное слово. Но у слов есть словоформы зависящие от числа рода и падежа и тп. Так словарь будет разбухать от сингл лексем, будет пухнуть эмб матрица -> расти модель, время на обучение и тп.

Эффективнее разумеется переходить к сабвордам, тк из их комбинаций можно собрать много слов. Таким образом, вся эта токенизация при помощи bpe/bbpe/wpiece/spiece и др. предстает перед нами с другой стороны. И как мы оцениваем нормальность LLM через перплексию, так мы можем оценить эффективность словаря добавив еще и фертильность. Для примера, в данной работе, авторы при создании многоязычного словаря и токенизатора к нему, проводят непрямое расширение словаря. Для этого они заменяют низкочастотные лексемы одного языка на соответствующие частотные другого, устремляя фертильность расширенного словаря к изначальному монолингвальному (тут я еще сам осознаю как это работает, ибо не лингвист).

Что дальше?

А дальше, можно потыкать вот такую тулзу на HF для демо работы токенизации: https://huggingface.co/spaces/Xenova/the-tokenizer-playground

Посмотреть обзор multiling-bert словаря на предмет покрытия токенов, в тч с расчетом фертильности:
https://juditacs.github.io/2019/02/19/bert-tokenization-stats.html

Почитать про фертильность "мохнатого" года статью.
15🔥3
много картинок про фертильность
multiling-bert словаря для разных языков.

Фертильность указана над графиком.

https://juditacs.github.io/assets/bert_vocab/bert_sent_len_full_fertility_sorted.png
5
Балалайка, березка, Matryoshka.

Выпустили концептуальный гайд по эмбам матрехи на hf. Красивые картиносы матрех и схемы, концепты теории и примеры на sentence-transformers.

Ну че тут рассказывать? Все просто берем embs и вдоль dim нарезаем по нарастающей, сводим саб эмбы и эмбы в конвеере metric learning на нужной датке в NLI, STS или qa задачках. Хочешь сводишь все на одном и том же, хочешь каждому эмбу из нарезки сообщаешь свою таску.

В чем польза?
1. Меньше индекс - на поверхности.
2. Возможность строить быстрые каскадные пайпы ранжирования. Преранк, например, на full index с маленьким эмбом (так быстрее), далее сложные примеры на more big эмбах, итоговый реранк в топ1 на жирнючем.

Код в блоге присутствует. Поэтому дерзайте.
👍18🔥2🦄21
Forwarded from AbstractDL
Do Large Language Models Latently Perform Multi-Hop Reasoning? (by Google)

Авторы обнаружили, что если вопрос сформулирован неявно, то LLM уже во время его чтения "пытаются" подставить промежуточный шаг рассуждений в латентном пространстве. Например, для эмбеддингов последних токенов этого вопроса
Сколько людей живут в крупнейшем городе Европы?

растут логиты, соответствующие слову "Стамбул".

Выходит, что на промежуточных слоях происходит multi-hop reasoning. Пока авторы нашли подтверждение этому максимум до 2 шагов рассуждений, причём качество первого шага растёт по мере увеличения модели, а вот второй шаг размазывается по всем слоям и почему-то не сильно зависит от размеров LLM.

Статья
👍12🔥72🤔1
Генеративные модели достигли в программировании уровня сеньоров
😁62
Сергей Марков: машинное обучение, искусство и шитпостинг
Генеративные модели достигли в программировании уровня сеньоров
Добавлю комментарии источника:

"зелёное написал человек, а Copilot предлагает продолжение в виде серого текста".

Вот так еще веселее)

Надеюсь там нет кода: "не запускай - убьет" или "я бы не лез сюда, ты еще молодой ... ".
😁4
Forwarded from Complete AI (Andrey Kuznetsov)
Вот и статья про Sora пожаловала от OpenAI
(А точнее от Lehigh University и Microsoft Research)

Сделать разбор статьи о том, что внутри?

PDF

@complete_ai
💯53👍4🥴1
Последний день этого отпуска. Читал Макиавелли. Принцип лисы и льва: "лиса обойдет ловушки, а лев даст бой, если нужно".

А я блин пока медвед с балалайкой.

А кто вы?
😁181👎1
Восстанови промт, если сможешь.

Новое соревнование на kaggle:
LLM Prompt Recovery | Kaggle

По уже новой традиции соревок с LLM (к примеру LLM detect):

- Трейна неть (ходите генерите сами) 🤨

- Тест 1400 семплов, но мы его вам не дадим, у вас докУментов нету 🤣

Из плюсов понятна моделька, из которой все это безобразие* идет: Gemma2b или все же 7/9b? 😀
Не ясны параметры генерации (врубаем брутфорс перебор).

Че там наделали с ней? Взяли исходный промпт кожАных, переписали его с Gemma, далее получили по этому промпту конечную генерацию. Воть, далее извольте определить, измененный промпт из теста и генерация совместны или нет.

Метрика косинус между векторным представлением промпта вашего решения и верным ответом. Эмбы получают с помощью sentence-t5 модели.

Подстава в том, что у нас нет опорных затравок для переписывания промпта с Gemma. Следовательно, придется выдумывать самому (трансферить стиль на 1 данном примере с LLM я как-то не вижу смысла).

* gemma в последнее время = безобразие ;)
Please open Telegram to view this post
VIEW IN TELEGRAM