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

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

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

РКН: 6348592885
Download Telegram
Вчера рассказал об этой статье 👆 выше @belozersky и он с утра под впечатлением скинул:

Смотри, дядь, атака на текст! (С)
В тему, в общем.
😁21👍1
Дистиллируй это(c) DL самогонщики.

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

Естественно,нужно упомянуть про концепцию ученик и учитель. Обычно, конечно, это малая модель и большая соответственно. Концептуально мы берём обучаем модель учитель до максимального качества, далее возможны следующие две вилки:

1. Дистилляция векторов эмбеддингов модели.

2. Дистилляция скоров модели.

3. Взаимная, комбо дистилляция.

При этом очень важные хинты:

1. Лучше всего дистиллировать в случае скоров, не пробиты (от 0 до 1), а логиты.
Почему? Ответ прост: мы не теряем после масштабирования так нужную нам вариацию целевой переменной. Именно в ней лежит максимум информации.

2. Для дистилляции векторов разных по embd dim моделей, лучше использовать proxy слои. Причём, обязательно, поверх вектора ученика,тк proxy слой тоже будет обучаемым, а учитель зафрижен. При этом, proxy слой служит выравнивателем между размерностями вектора учителя и ученика. По активациям лучше конечно использовать linear слой (чисто сжатие).

3. Лоссы, тут проще: KLD, MAE/MSE, cosine-sim. Пробуйте, выбирайте тот, который даёт большее качество на вашей downstream таске.

4.Ничто не мешает делать смешивание лоссов дистилляции и целевой задачи. Просто добавьте веса к каждой компоненте.

Из интересного и хорошо забытого: Mutual learning.

Недавно наткнулся на статью 2017г. про взаимное обучение. И это тоже тип дистилляции.

Когда мы одновременно учим модели:
1. При этом они инциализируются по разному
2. Могут иметь одинаковую или схожую задачу.
3. Могут иметь разную архитектуру.
4. Одна может дистиллировать логиты второй, другая эмбеды первой и тп.

Взаимная дистилляция обычно происходит через KLD: lossAB=KL(A/B), lossBA= KL(B/A)

Для чего применяется?
Цель - взять две небольшие модели, которые будут обмениваться знаниями в одной или смежных задачах. Например, вам надо обучить ретривер для KNN , а потом реранкер для выбора топ1 кандидата из KNN. Задачи смежные и почему бы не учить эти модели одновременно?

Подробнее об всех типах дистилляции можно посмотреть неплохую графику тут или в моём выступление тут.
🔥142👍2
GPT LLAMA index

Недавно в рамках своих задач открыл для себя и коллег интересный тул. Позволяет использовать удобный интерфейс для кастомных LLM, embeddings в связке с внешними источниками данных:документы, sql, knowledge graph и тп.

Есть интересные примеры как делать инъекции для генерации из указанных выше источников, использовать свою retrieval модельку поверх своих же графов или деревьев знаний, ну или листа доков.

В общем выглядит удобно и прикольно, будем пробовать.
👍14
Всё ещё можно сломать хД Bing всё ещё жжёт)
👍6🔥2👏1😁1
Мои други из NLP.RND Salute Devices недавно выкатили FRED-T5. Сегодня они расскажут вам более подробнее об этом в статье Habr.

https://habr.com/ru/companies/sberdevices/articles/730088/

Я со своей стороны попробовал T5 encoder оттуда и жду MLM версию)

Гогого читать!
👍5🔥3❤‍🔥11
Forwarded from Ilya Koziev
Всем доброго дня!

Я занимаюсь задачей генерации русской поэзии с помощью больших трансформерных языковых моделей. Возможно, кто-то видел статью на Хабре про это дело (https://habr.com/ru/companies/sberdevices/articles/660717/), хотя воды с тех пор утекло много.

Сейчас я сравниваю две разных модели, чтобы наметить путь к шедеврам. Буду крайне признателен всем, кто зайдет поочередно в два телеграм-бота:

https://t.me/verslibre_bot

https://t.me/haiku_guru_bot

и потратит в них 5-10 минут на оценку генераций модельками.

Что нужно делать: сначала /start, выбираете "лирику" во втором боте (в первом она всегда выбрана), и далее вводите свои затравки или жмете саджесты внизу, и ставите лайк/дизлайк, если стишок получился годный/кривой.

Да пребудет с вами сила! Спасибо :)
8👍3
Сегодня проходит второй день AINL2023.

Наша компания выступает с докладом: Multi domain dataset and augmentation methods for spelling corruption.

Я уже рассказывал о том, как мы атакуем тексты в своих пайплайнах обучения. А сегодня на индастриал секции этот доклад представит ML инженер из моей команды - Марк. Вместе с ним мы ведём разработку public версии библиотеки атак на ру-тексты и надеюсь скоро мы вас порадуем. А пока результаты её работы можно посмотреть на нашем выступлении, где будет живая демонстрация.

Кстати, у Марка есть собственный канал. А возможно, кто-то даже знает его по награде ODS2022 за лучший соревновательный прогресс в ушедшем году. В общем, везёт мне на сотрудников:)
👍7
Dealer.AI pinned «Совсем недавно студенты в одном из чатиков известного канала по DL спросили: - Дядя, а вам не тесно в *моё место работы* ? - Конечно тесно, - ответил дядя ... ... и создал таки свой канал. Тут автор будет говорить о всяком вокруг data science, что ему мило…»
Немного анти наброса. Помню как в комментариях к этому посту

https://t.me/dealerAI/90

Ребята говорили: это всего лишь идея, где код и тп. А теперь быстрый файнтюн адаптеров в LLAMA это спасительный билет для людей без A100/V100. И кстати последнее обновление было каких-то 5 дней назад.

Кстати кто-то уже опробовал?
Пишите в комментариях.
👍4
GigaChat

Наша проба пера в Instruct подходах при обучении Decoder like моделей. В течении последних нескольких месяцев мы усердно работали над нашим детищем - GigaChat. Пока это Instruct Only SFT моделька, но вскоре, надеюсь, мы порадуем вас и RLHF экспериментами.

В основе нашего GigaChat моделиNeONKA.

Текущая версия основана на претрейне ruGPT3.5 13B + SFT (supervised fine-tuning).

В side by side тестах GigaChat vs ChatGPT (когда разметчики выбирают предпочтительный вариант) результат — 30:70 в пользу последней (начинали с 3 против 97).

При этом, коллеги, планируют выкладывать компоненты лежащие в основе этого решения в open source, чтобы вы, друзья, могли сами обучать (я думаю скорее тюнить) подобные модели

Подробности в нашей статье на хабр .

UPD. Считаю, без героев дня совсем никак. Из моих подписчиков, мои герои: @lizagonch, @averkij, @walfry, @oulenspiegel, @dayyass, @kuznetsoff87,@nikolaygerasimenko, @qwertysobaka

Надеюсь никого не забыл)
🔥325🏆5👍2
Self-supervised learning book.

Ну, что, други. Прошли сутки, пора выдыхать и тянуть нашу DS'ную лямку дальше. Работку работать.
Поэтому я со свежими новостями.

Тут давече, Мета, выпустила на arxiv книжку по самообучению. ;)

Напомню, что мой любимый metric-learning, contrastive learning и обучение LM'ок в тч сводится к self-supervised. Поэтому берём на вооружение книженцию, я уже посмотрел чутка. Точно будет полезно, особенно есть как математические выкладки, так и полезные usefull хинты для практики.

Налетай!
🔥24👍63
Рецепт тюна FRED-T5 от маэстро @inkoziev

Все после релиза просят, поэтому Илья любезно поделился.

Пример кода для файнтюна модели FRED T5 XL средствами transformers.Trainer на задаче читчата: https://gist.github.com/Koziev/b54e3759bd5eb198832a36e7cec82e51

Файл с данными: https://disk.yandex.ru/d/esx80z4utAGXGQ
Это русскоязычные диалоги из проекта OpenAssistent (https://huggingface.co/datasets/OpenAssistant/oasst1)
Данных специально немного, чтобы обучение было быстрым. На моей RTX 3090 управилось за полчаса. К ним можно долить еще русскоязычных данных, например отсюда https://huggingface.co/datasets/Den4ikAI/russian_instructions_2 или отсюда https://github.com/IlyaGusev/rulm/tree/master/self_instruct и т.д.

Запускать на 1 гпушке примерно так:

python finetune_chitchat_fredt5_with_trainer.py \
--optim "adafactor" \
--learning_rate 1e-4 \
--lr_scheduler_type constant \
--per_gpu_train_batch_size 1 \
--gradient_checkpointing 0 \
--gradient_accumulation_steps 16 \
--num_train_epochs 1 \
--report_to tensorboard \
--logging_strategy steps \
--logging_steps 500 \
--output_dir ~/polygon/chatbot/tmp/fredt5_chitchat \
--save_strategy no

пути конечно надо поправить на свои.

Код инференс из отфайнтюненной модели: https://gist.github.com/Koziev/e2f03ccdff1c83781092135e0364fec8

Удачи :)
19🔥5🤗2
👍23🔥85😁1
Teaching Large Language Models to Self-Debug

Если вы боялись, что LLM начнёт помогать сама себе: улучшать себя, код и тп. It's time...

https://arxiv.org/abs/2304.05128
🔥7😱32👍2🤩1
Как запустить LLM и др.DL модельки на своём тапке MLC-LLM.

Очень интересное решение для инференса и развертывания вашей LLM,лозунг которого:

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

Ребятки имеют свою доку. Они опираются на экосистемы с открытым исходным кодом, включая HuggingFace и Google, а также LLM с открытым исходным кодом, такие как Llama, Vicuna, Dolly и др.

Конкретные инструкции по запуску LLM и чат-ботов изначально на устройствах предоставлены для iPhone, Windows, Linux, Mac и веб-браузеров.

Для пользователей iPhone MLC LLM предоставляет приложение для чата iOS, которое можно установить через страницу TestFlight. Для бесперебойной работы приложению требуется не менее 6 ГБ оперативной памяти, и оно было протестировано на iPhone 14 Pro Max и iPhone 12 Pro. Скорость генерации текста в приложении iOS временами может быть нестабильной и вначале может работать медленно, прежде чем восстановиться до нормальной скорости.

Для пользователей Windows, Linux и Mac MLC LLM предоставляет приложение интерфейса командной строки (CLI) для общения с ботом в терминале. Есть поддержка Conda.

Мне кажется, что идея запустить LLAMA с cpp компиляцией под c++ находит всё больший отклик у юзеров и такие системные решения как MLC-llm очень к месту.

Го пробовать!
👍114
Forwarded from Записки C3PO
В сеть утек внутренний документ Google, в котором говорится, что Open Source LLM модели превзойдут LLM Google и OpenAI. Moat, созданный за счет технологического доминирования корпораций, скоро исчезнет.

Удивительно, что разрыв сокращается так быстро, но сам процесс не удивителен, так как владение уникальной технологией является частным случаем "Cornered Resource" — одной из стратегических сил защиты и обособления на конкурентном поле, которая рассматривается в книге "7 Powers". За счет владения ограниченным ресурсом (технология, команда, патент и прочее) компания может выгодно обособляться и защищаться от конкурентов, но данная сила не является долгосрочным методом защиты и действует только на старте, так как рано или поздно ваш уникальный ресурс конкуренты повторят и нивелируют его силу. Далее на этапе активного роста нужно обрастать как минимум одной из 3 сил: network effects, scale economies или switching cost.

По сути, OpenAI может сделать это следующим образом:
• за счет масштаба более низкая себестоимость на обучение и разработку в пересчете на пользователя/запрос.
• сетевые эффекты на основе данных (частный случай network effects) позволяют генерировать более качественный датасет, утилизировать преимущество в виде RLHF и создавать тем самым более высокий уровень добавленной ценности за счет более лучшего качества модели.
• В случае SaaS типа Copilot, корпорации начнут использовать инструмент и из-за Switching Cost уже не смогут отказаться от него.
• В будущем инвестиции в разработку позволят иметь более низкую себестоимость инференса, что позволит создать другую силу — «Process Power».

В какой-то момент, я думаю, что весь AI на основе LLM за счет Open Source превратится в комодити, и сами модели не будут продуктом и основой бизнеса. Все эти LLM будут лишь функциями в продуктах, которые позволяют им генерировать больший уровень добавленной ценности в решении задач пользователя: писать документы, быть голосовым ассистентом, искать информацию, обучать новым знаниям и т.д. А OpenAI и прочие будут исследовать новые горизонты в поисках очередного технологического прорыва. В итоге, основной фокус будет смещаться на создание продуктов и сервисов, которые эффективно интегрируют эти модели и обеспечивают наилучший пользовательский опыт, а также на поиск новых областей применения AI.
👍18🔥54❤‍🔥2🤔1
IBM приостановит найм на роли, которые бы мог заменить AI.

Издание Bloomberg , со ссылкой на гендира IBM Кришна, сообщает: компания IBM оценивает, что уже сейчас можно заместить 7800 рабочих мест при помощи AI.

При этом, Кришна оценивает потенциал роста замещения до 26000 рабочих мест- это роли которые не требуют личного взаимодействия с людьми. Поэтому уже в течении пяти лет, 30% этого числа вполне можно заменить на автоматическое исполнение, или по крайней мере более автоматизированный труд.

Кажется, чуваки подливают масло в огонь уже бурлящих дискуссий : нас заменят, остановите прогресс ИИ я сойду и тп.
😁112🤔1😢1
Наткнулся на ещё один git с очередной LLM по типу LLAMA и тп.- PandaLM.

Панда это не только очередной SFT на инструкциях, но ещё и стабильный, как утверждают авторы пайп тюна и оценки моделей LLM между собой. Тестовый сет и скрипт для него они тоже положили в открытый доступ. А так же провели side by side с ChatGPT и говорят, что достигли близкое к ней качество. Таблица с метриками в репо.

При этом, данные для обучения панды они не выложили, но скрипт файнтюна прилагается. Кстати зашёл в него и вижу естественно wget на alpaca.json. :) Но уверен, что-то свое в формате self-instruct нагенерили.

Да и забыл. Модельку PandaLM 7b можно найти на обнимашках как и код для запуска. Но там всё стандартно. Статей кроме гита не нашёл( Поэтому ожидаю, что это таки вариации на тему Alpaca...

Ну и ещё

Из-за опасений по поводу проблем с авторским правом мы не предоставляем модель, настроенную с помощью инструкции. Модель, настроенная по инструкции, может быть легко воспроизведена в PandaLM/pandalm/scripts/
inst-tune.sh .

Да и не всё ещё выложено пишут, что весь обещанный код дольют.

Грусть... Все так спешат на хайпе застолбить место, что не докатывают код заявленной функциональности, надеюсь все будет как с LLAMa Adapter и обещания выполнят и всё дольют
👍112
Хакни твою мамку LLM-ку

Новый конкурс от AICrowd по взлому промтов.

При этом необходимо делать zero-shot взломы, т.е. модели являются bbox и вам необходимо менять промты, с целью добиться неожиданных ответов, которые по идее она должна избегать.

У вас будет 10 уровней тестов. Доступны три модели на выбор: GPT-3 (text-davinci-03) , GPT-3.5turbo (ChatGPT) и FLAN-T5-xxl, причём есть спец условия по очкам. Например, за взлом ChatGPT получаешь х2 скор. А для FLAN-t5 есть спец приз, набравшему с ним большее число очков взлома.

Очень интересная система оценки:
Она сама предоставит вам вакантное место в форматированном фрейме ввода {YOURPROMPT} , в ответ на свою атаку, в случае успеха, вы получите I have been PWNED

Можно участвовать командой.
Призовой фонд до 15к$ + доп плюшки.

Гогого решать!

https://www.aicrowd.com/challenges/hackaprompt-2023
🔥113👎3
Привет всем новоприбывшим!

Раз нас стало ещё больше, для новеньких ещё раз расскажу о чем данный канал и кто я, а также оставлю ссылки на пару интересных постов.

Тут автор говорит о всяком вокруг data science, что ему мило и любимо: анализе текстов aka NLP, поиске, соревнованиях, об RL, меньше о CV.

Немного о себе:

Head of ML команд: Нейронные сети, OpenDomainQA, KnowledgeGraphQa, мы отвечаем за понимание естественного языка (NLU), retrieval, приклад LLM и иных NLP моделей в production задачи.

Автор моделей ru_sbert_large, ru_sbert_large_multitask, ruElectra, а также первой открытой ru_ bert_reward модели. Kaggle competitions master, призёр и победитель хакатонов по Data science. Читаю лекции, веду мастер классы по NLP, ML и выступаю на конференциях.

Несколько интересных постов с канала:

1. Instructor. Обучение мультитаск модели на инструкциях .

2. Retrieval-augmented generation или как помочь GPT не лгать

3. Critic подход с human feedback для улучшения embeddings

4. Актуалочка в рамках атак на LLM. Как мы улучшаем устойчивость моделей энкодеров

Добро пожаловать на канал! 🤖🦾
👍333💩3🔥1
Мой топ Approximated Nearest Neighbors (ANN) либ для поиска соседей по векторам.

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

1. ScaNN, основывается на max dot prod подходе, разработка Google, соответственно требует tf2+

2. FAISS на мой взгляд оптимально по функционалу и сложности освоения. Разработка META.

3. Можно также попробовать Milvus и qdrant, но это уже нечто большее чем просто поиск. Там уже и свои эмбеды можно обучить, к примеру в qdrant, и свою кастом логику.

Бонус.
+ личный ноутбук демонстрации работы SBERT + ANN и другие классик вещи. Код с топ-3 мастер-класса/доклада по мнению зрителей на PyCon2021.
🔥15👍43