Рады анонсировать очередной Tinkoff Lab RL Event — митап, на котором лаборанты исследовательской лаборатории Тинькофф делятся опытом и рассказывают о своих научных проектах.
Если вы учитесь на технической специальности и интересуетесь задачами искусственного интеллекта, а аббревиатуры ML, DL и RL для вас уже как родные — ребята из Тинькофф ждут вас 25 марта в 19:00 в московском офисе Тинькофф.
Все подробности и регистрация тут: https://o.tinkoff.ru/tlab_RL
Daily reminder
17 числа, 12:00 - ближайший к вам избирательный участок.
Я ставлю подпись за Даванкова, ради этого даже не лень поехать в соседнюю страну, ибо в Грузии голосовать нельзя, ну и вы не поленитесь.
Всех жду
> я работаю в Сбере/Яндексе/бигтехе, получаю 1м+ в месяц, меня это не коснется.
Ну, только твои 1м+ в месяц похудеют ещё на 5% и твои годовые премии похудеют на 5%.
А продукты из азбуки которые ты покупаешь подоржают х2 с рублевой зп.
И шмотки которые ты покупаешь в Дубае подражают х2 для тебя с рублевой зп.
Можно прекрасно сидеть в пузыре и кушать гос деньги, это отличная стратегия выживания, до тех пор пока у государства есть лишние деньги и пока оно не захочет пустить ваши разработки на osint, умное принятие решений и прочее.
Можно конечно ничего не замечать и жить как получается, но оно тебе нужно уважаемый читатель?
Я педпочитаю делать хоть что то и тебе советую.
По бенчам хуже чем гпт4, но вероятно лучше всего опенсурса. Достойно для 35В модели!
Читать полностью…C4AI Command-R
- 35 В
- 128к контентекста
- alignment на tool, rag usage(!)
- русский в претрене
- лицензия под что угодно
Бенчей нет
Карточка на хф
Playground умеет в chat with doc и web search из коробки
если вам интересны точные цифры
я не ебу почему это работает и почему на тех или иных бенчах те или иные числа
анекдот вспомнился: /channel/lovedeathtransformers/6849
ELLA: Equip Diffusion Models with LLM for
Enhanced Semantic Alignment
Идея:
- CLIP как эмбедер не очень, давайте добавим в исходных Unet от sd1.5/xl слои которые будем обучать на эмбедингах из LLM, тем самым мы не потратим миллион денег на компьют, но начнем рисовать текст, понимать промпты и генерировать как большая модель.
site
code(выйдет попозже погулять)
RUNorm и char level number tokenization
1. Немного о RUNorm
Сейчас помимо RUAccent, я начал заниматься проектом RUNorm. Данная система должна нормализовывать текст перед акцентуацией и собственно синтезом речи.
Нормализацию текстов можно подразделить на следующие подзадачи:
1. Нормализация сокращений (1990 г. -> 1990 год, г. Москва -> город. Москва)
2. Нормализация аббревиатур (ПТСР -> пэ тэ эс эр)
3. Нормализация английских слов (Microsoft -> майкрософт)
4. Нормализация чисел (в 2009 -> в две тысячи девятом)
Нормализация сокращений уже работает довольно неплохо:
:> Моя зп. всего 15 тыс. руб.
>>> Моя зарплата всего пятнадцать тысяч рублей
:> Мой адрес : г. Москва, р-н Бутово, д. 12, кв. 20
>>> Мой адрес город Москва, район Бутово, дом двенадцать, квартира двадцать
:> Я родился в 1900 г.
>>> Я родился в 1900 году.
Текущий пайплайн сейчас состоит из двух моделей - ruT5-base, bert на 3м параметров и некоторых правил взятых отсюда.
2. Как посимвольная токенизация цифр должна помочь в нормализации?
Эксперимент с решением задачи "в лоб" показал, что модель часто галлюцинирует и путает некоторые числа.
Пример таких галлюцинаций:
:> Конец света будет в 2045 г.
>>> Конец света будет в тысяча сорок пятом году.
:> В 1987 г. произошло самое большое падение Промышленного индекса Доу Джонса за всю его историю, — 22,6 %
>>> В тысяча девятьсот семьдесят седьмом году произошло самое большое падение Промышленного индекса Доу Джонса за всю его историю, — двадцать два целых и шесть десятых процента.
Возможное решение подобных проблем - правильная токенизация чисел.
Стандартный токенизатор модели ruT5-base работает примерно так:
:> tokenizer_orig.tokenize("Я родился 12.09.1923")
>>> ['▁Я', '▁родился', '▁12', '.09.', '1923']
Новый токенизатор:
:> tokenizer.tokenize("Я родился 12.09.1923")
>>> ['▁Я', '▁родился', '▁1', '2', '.', '0', '9', '.', '1', '9', '2', '3']
Доработка токенизатора очень простая, все токены являющиеся числами и длиной более 1 символа (без учета пунктуации), были заменены на "<garbage>".
Подробнее можно ознакомиться в данном ноутбуке
Для теста полученной модели была выбрана задача решения арифметических задач, т.к. датасет был под рукой и было можно обучить в короткие сроки.
По результатам тестирования были получены следующие метрики:
Arith acc digit5_ft: 0.586286056492664
Arith acc rut5_ft: 0.2418904082243737
P.S. Все тесты проводились без сэмплинга
Модель с модифицированным токенизатором ушла вперед с огромным отрывом.
Проект Open Language Data Initiative, про который я рассказывал недавно, заведует не только тестовым датасетом FLORES+, но и обучающим датасетом NLLB-seed.
Это 6К предложений из английской Википедии на разнообразные темы, часто на какую-то сложную научную тематику. Мои коллеги в своё время организовали перевод этого датасета на 39 малоресурсных языков, и показали, что включение этих текстов в обучающий датасет для модели-переводчика значительно улучшает её качество.
Сейчас проект oldi.org принимает переводы этого датасета и на другие языки тоже. Но проблема в том, что кроме английского, этот датасет сейчас существует только на редких языках, переводить с которых будет ещё сложнее чем с английского (хотя для переводов на тюркские языки, наверное, можно подглядывать в крымскотатарскую версию).
Чтобы решить эту проблему, я сделал бота @crowd_translate_bot для сбора и проверки человеческих переводов* с английского на русский (с тем, чтобы потом с русского было проще переводить на другие языки нашего региона). Будет здорово, если воспользуетесь этим ботом и поучаствуете в коллективном переводе датасета 🙃
* Хотя многие модели уже очень хорошо переводят между английским и русским, важно собирать именно человеческие переводы, потому что это всё-таки чуть надёжнее, и потому, что если собрать переводы от нескольких людей, они будут разнообразнее по стилю, чем машинно переведёные.
Нас тут 2К в этом чате, и если каждый третий из нас переведёт по 10 предложений (и проверит где-то по 25, включая намайненные мной возможные переводы из Википедии и двойную проверку переводов других людей), то перевод NLLB-Seed на русский будет собран, и можно будет переходить к более интересным языкам.
Orca-Math: Unlocking the potential of SLMs in Grade School Math
Оказывается если затюнить модель на датасет очень похожий на test set, то модель будет лучше работать на test set. Данные в свою очередь надистилировали из gpt4 turbo.
Data
Папир
У меня есть несколько значительных апдейтов касательно AQLM:
Базовое качество: мы улучшили процедуру глобального файнтюна сетки квантизации, уменьшив зазор качества до FP16 на еще 10-30%. Мы обновили чекпоинты старых моделей и выложили еще несколько новых, включая gemma-2b.
Можно тюнить: мы прикрутили AQLM к PEFT, чтобы можно было тюнить LoRA поверх AQLM. Mixtral так можно тюнить в 15Gb VRAM хоть на колабе! (Colab Demo)
I am speed: мы добавили поддержку компиляции графа вычислений модели, что позволяет эффективно занулить оверхед питона при генерации, ускоряя ее в ~3 раза. (Colab Demo)
Возможно в текущем виде lmsys уже недостаточен, субъективно claud3 > gpt4 turbo > gpt4
Читать полностью…проблема разнообразия ответов
если вы хотите косплеить дипмайнд и решать задачу LLMкой, но в стиле монтекарло, то вы упираетесь в одну простую проблему - количество уникальных адекватных вариантов которые генерит LMка на один и тот же запрос лежит в диапазоне от 10(для DPO) до 1000 (для отдельных aligment чекпоинтов).
и эта проблема будет вас приследовать вне зависимости от того насколько "хороша" ваша модель, такой юзкейс не распространен вне alpha* like задач
Принес вам реальные метрики Claude 3 vs GPT-4
Маркетологи Anthropic решили сравнивать Claude 3 не с последней версией GPT-4-Turbo, а GPT-4 годичной давности, взяв метрики модели GPT-4 марта 2023 года.
А по факту, GPT-4-Turbo показывает результаты, которые значительно лучшие, чем Claude 3.
АИ алармисты не тупые, твердо и чётко, или оптимисты я неуверен.
Хотя твит интересный конечно
Ссылка
Проект Open Language Data Initiative, про который я рассказывал недавно, заведует не только тестовым датасетом FLORES+, но и обучающим датасетом NLLB-seed.
Это 6К предложений из английской Википедии на разнообразные темы, часто на какую-то сложную научную тематику. Мои коллеги в своё время организовали перевод этого датасета на 39 малоресурсных языков, и показали, что включение этих текстов в обучающий датасет для модели-переводчика значительно улучшает её качество.
Сейчас проект oldi.org принимает переводы этого датасета и на другие языки тоже. Но проблема в том, что кроме английского, этот датасет сейчас существует только на редких языках, переводить с которых будет ещё сложнее чем с английского (хотя для переводов на тюркские языки, наверное, можно подглядывать в крымскотатарскую версию).
Чтобы решить эту проблему, я сделал бота @crowd_translate_bot для сбора и проверки человеческих переводов* с английского на русский (с тем, чтобы потом с русского было проще переводить на другие языки нашего региона). Будет здорово, если воспользуетесь этим ботом и поучаствуете в коллективном переводе датасета 🙃
* Хотя многие модели уже очень хорошо переводят между английским и русским, важно собирать именно человеческие переводы, потому что это всё-таки чуть надёжнее, и потому, что если собрать переводы от нескольких людей, они будут разнообразнее по стилю, чем машинно переведёные.
Нас тут 2К в этом чате, и если каждый третий из нас переведёт по 10 предложений (и проверит где-то по 25, включая намайненные мной возможные переводы из Википедии и двойную проверку переводов других людей), то перевод NLLB-Seed на русский будет собран, и можно будет переходить к более интересным языкам.
Large Language Models as Optimizers [2023]
Формулировка промпта серьёзно влияет на качество работы LLM. Именно здесь был найден тот самый "Take a deep breath and work on this problem step-by-step", дающий хорошую производительность. Попробуем разобраться в этой работе.
Авторы формулируют технику Optimization by PROmpting (OPRO), использующую LLM в качестве оптимизатора. На вход модели подаётся следующее:
1) Мета-промпт - описание, что и зачем оптимизируем. Вся полезная информация о задаче.
2) Пары "решение - скор". В ходе оптимизации будут генерироваться новые кандидаты. Все кандидаты сортируем по скору и добавляем топ лучших пар в этот вход
Далее мы запускаем эту штуку много раз и получаем всё более и более крутых кандидатов. Применять это можно в теории к чему угодно, хоть вместо градиентного спуска использовать. Но преимущество данного метода в том, что для него естественно языковое пространство, поэтому его используют для оптимизации промпта. Получается схема на картинке.
Из хорошего - промпт, генерируемый для определённой LLM на одном датасете, хорошо переносится на другой. Из плохого - промпты, хорошо работающие для одной LLM, не обязательно работают хорошо для другой LLM. Интересна природа таких отличий, ведь их претрейн должен быть +- похож, а вот дообучение на Human Feedback уже нет. Есть ли там хоть какая-то связь или это чистая случайность?
Возникает и другой вопрос - какова роль именно LLM в качестве оптимизатора? Вряд ли она в себе содержит представление о том, как разные конкретные LLM буду работать при разных промптах. Насколько такой оптимизатор является "умным", насколько он далёк от случайного перебора промптов?
Так или иначе, вновь мы видим доминацию оптимизации над человеческим проектированием. Возможно, какая-то большая и сложная оптимизация поверх LLM даст интересные плоды, но проблема в том, что сама LLM - очень большой вычислительный кусок, и его внутренности и обучение никак не оптимизируются. Но мы когда-нибудь заменим и их, тогда точно заживём.
@knowledge_accumulator
Привет!
Мы хотим сделать Россию лучше чем она есть сейчас, если вы сейчас в России или ваши родственники в России - пожалуйста, расскажите им что нужно проголосовать за кого то кроме Путина.
Расскажите им про то что после выборов повысят налоги, а мужчин мобилизуют на фронт.
Расскажите что продукты подражают, а пенсии уменьшаться.
Уже кто угодно будет лучше чем Путин, помните это. Нравятся коммунисты? Пожалуйста. Нравится Жириновский? Сомнительно, но Окай и такой имеется.
А ещё можно поставить на даванкова, попробовать накидать ему столько голосов сколько получится. Это в наших силах и даже если мы проебем - мы воспользуемся.
За Россию дамы и господа!
релиз слив? Фалс индекс?
Все поисковык роботы почему-то проиндексировали странную страницу c gpt4.5-t с knowledge cutoff на июнь 2024
Наконец доехал из перевода Veles2.5 - переведенный на русский Hermes2.5 через gpt3.5
Вероятно доедет за несколько недель вихрь-велес
Датасет для русского
Однажды я сидел в ереване, кушал фалафель с кебабом и думал - а почему мы можем стакать модели(копировать блоки друг за другом), но не можем урезать блоки? ну те что нам мешает взять и оставить из 30 блоков модели например 20? А почему не 10?
Ну я пришел домой, обрезал мистраль в 10 блоков из 30(модель стала 2B) и .... это полетело! НУ те бенчи просели cильно, но не в рандом!!
(в данном контексте 100% это 45 по ммлу)
А потом кто то из подписчиков скинул работу ShortGpt - логика примерно такая же, получается даже неплохо.
paper
smallstral
🧦 Удобный датасет для сегментации одежды на HF 🧦
Я взяла за основу IMaterialist — профильтровала и адаптировала его под задачу сегментации, решив ряд сложностей:
1. На фотках присутствуют несколько людей, иногда одежда размечена только у одного
2. Много лишних деталей. Так, например, если класс "карманы" который относится и к карманам на куртке, и к карманам на юбке
3. Нереально большое число классов распознавания, которое на практике не особо нужно
4. К сожалению, в оригинальном датасете присутствуют ошибки разметки. Я постаралась также их уменьшить на постпроцессинге
Что я сделала:
1. Убрала фотки где присутствует человек с неразмеченной одеждой
2. Постаралась максимально раскидать карманы по ближайшим классам, чтобы они были частью кофты/штанов. Оставила 8 самых главных классов ('background', 'upperbody', 'upperbody_up', 'lowerbody', 'wholebody', 'wholebody_up', 'shoes', 'accesories')
3. Перепроцесснула сложный csv в удобный формат с простым классом датасета: он берет данные из папки с исходными фотками и из папки с масками в формате .npy
На 3.5k подписчиков выложу код
А как вы развлекаетесь на выходных? 😄
Cледуй за белым кроликом - WhiteRabbitNeo
- это сетка орентированна на киберсеков и она не плохая для проги
- она умеет генерить ответы с json, вызывать тулы и прочее
- сходу пишет код с многопоточностью(приятно)
- неплохо пишет DL код
Она и правда классная!
hf org
site
ЙОУ, скучали? Я сильно. Во-первых, всех причастных, поздравляю с праздником. Для меня этот праздник имеет теплую атмосферу и ассоциацию с весенним настроением 🥰
Теперь о главном🤓
SPAR: Personalized Content-Based Recommendation via Long Engagement Attention
Рекомендашки заполонили мою жизнь уже почти полгода как, а особенно интересно учитывать целостно контент из всех модальностей сразу. И вот пока меня не было в сети тг, вышла офигенная статья, как раз по теме, которой я занимаюсь. Поговорим о том, как в 24 году построить рекомендашку, которая учитывает текст
Базово: есть разные подходы😬
💛Основной: давайте возьмем айдишники товаров и построим сиквенсы новых рекомендаций на основе истории.
💛Также мы можем применять 2 башни моделей (dssm), чтобы точнее использовать характеристики еще и персональные. Одна голова товаров, а другая пользователей.
💛Окей, но что делать, чтобы учитывать еще и текст? Все просто, давайте получать эмбединги и внедрять в обработку как и раньше. Тут на ум приходят уже все многочисленные подходы в названии которых содержится “BERT”
❔Так вот, в чем отличие именно нового подхода?
Смотрим картинку в приложении и распутываем в голове последовательности всех блоков
😎текстовый контент может выходить за 5к токенов. Поэтому, как уже и принято в подобных архитектурах, мы кодируем разные части историй взаимодействий отдельно, а потом объединяем. В этой статье авторы еще и придумали считать sparse attention, так как обычно в рекомендательных системах особо остро стоит потребность в быстрой обработке, тут мы хотя бы можем сократить сложность вычислений.
😎решаем проблему холодного старта с помощью формирования портрета с помощью LLM (эх, жаль, что такие гениальные идеи приходят одновременно многим людям, круто что авторы уже реализовали это в своем подходе первыми)
😎кодируем каждый сеанс пользователя отдельно, чтобы обучить codebook внимания и составлять общую историю на late fusion. За это респект. Опять же высоким RPS подход передает привет
😎на выходе используем NCE loss
Какие минусы увидела, пока читала статью (субъективно мое мнение):
😭 прошаревшись в том, что для рекомендательных систем необходима высокая скорость вычисления, я не нашла в статье ни одного упоминания скорости помимо оптимизаций внимания, что меня пока расстраивает
😭 я не нашла хоть какой-нибудь репозиторий с кодом
😭 меня смутило, что качество замерили на каких-то абсолютно старых безлайнах. Камон, почему бы хотя бы не сравниться со всем известным BERT4Rec, если ваш подход такой классный
Статья
Релиз русифицированной модели от sambanovasystems
Взяли базовую лламу2
- докинули 25к русских токенов в словарь
- пробежали 63B русских токенов на большом датасетe culturalX (довольно очищенный mc4 к слову)
- дополнительно полирнули Instruct на zephуr+DPO на ultrafeedback
модель
blog
Иван Бегтин сегодня анонсировал новую платформу для поиска данных — Dateno.
Это сайт, на котором можно найти открытые данные и статистику со всего мира по поисковому запросу. На нём уже проиндексировано 10 миллионов датасетов (из них — 219 тысяч по России), а к концу года это количество планируют расширить до 30 миллионов. Можно указать тематику, язык источника, формат данных. А работает это уже лучше, чем тот же Google Dataset Search.
Портал пока находится в стадии беты, но уже работает:
https://dateno.io/
Чат, ищу людей с опытом подачи на UK talent как человек из науки (ds не наука в этом контексте), если у вас есть такой опыт - вас очень ждёт @rerayne
Читать полностью…