RLHF, SFT, PPO и DPO — разбираемся в настройке больших языковых моделей
☣️ Здесь будут ссылки на научные статьи. Они сложные - не обязательно в них погружаться.
Большие языковые модели (БЯМ, LLM) по сути это программа, которая генерирует текст. У нее есть так называемые эмбеддинги (словарь токенов - слов и их частей - и их веса) и надстройка в виде нейронной сети, которая предсказывает вероятность следующего токена на основе весов. Чтобы получить эмбеддинги, модель нужно обучить. Современные модели обучают в основном при помощи архитектуры “трансформер” - этот этап называется pre-training (претрЕйнинг), а полученная модель - предобученной (pre-trained). И что же получается, после обучения модель уже не скорректировать? Современные БЯМы можно дообучать и настраивать, то есть файн-тьюнить (fine-tune). При этом веса модели могут меняться полностью или частично. Вот несколько популярных методов файн-тьюнинга:
➡️ Supervised fine-tuning (сьюпевАйзд фАйнтьюнинг), настройка с учителем, SFT основано на специфических задачах. Например, пусть модель обучалась на задаче генерации текста вообще, а файн-тьюнить мы ее будем на написание стихов. В результате она будет писать стихи, но, вероятнее всего, просядет по каким-то другим задачам. Обучать можно на несколько разных задач; несколько задач, связанных между собой; на нескольких примерах, которых будет достаточно (few-shot, фью-шОт).
➡️ Reinforcement learning (реинфОсмент лЁнинг), обучение с подкреплением. Материалом для обучения становится реальное поведение модели и реакция на него, например, когда человек, который получил ответ на промпт, поставил лайк или оценку. В методе RLHF (reinforcement learning with human feedback - обучение с подкреплением на основе отзывов людей) создается отдельная модель, которую люди учат награждать или штрафовать другую модель. Proximal Policy Optimization (PPO, оптимизация проксимальной политики) - это алгоритм, который помогает найти баланс между корректированием весов после фидбэка людей и дообучением на новых данных. Другими словами, он уравнивает влияние новых данных, поступивших в модель, с ее оценкой своего поведения после дообучения.
➡️ Parameter Efficient Fine-Tuning (парАметер эфИшент файн-тьЮнинг), PEFT, файн-тьюнинг с эффективной настройкой параметров. Чем меньше параметров нужно скорректировать при настройке, тем меньше времени и других ресурсов займет настройка. Т.е. это тот же файн-тьюнинг, но он по-разному меняет параметры модели. Среди методов PEFT выделяют следующие:
➡️ ➡️ Low-Rank Adaptation (LoRA, низкоранговая адаптация) - вместо большой матрицы эмбеддингов создаются две матрицы поменьше, после обучения они складываются опять в одну.
➡️ ➡️ Direct Preference Optimization (DPO, прямая оптимизация предпочтений) - в модель добавляется вес, который делает генерацию того или иного токена более или менее предпочтительной в каких-либо условиях: “dynamic, per-example importance weight” (динамический вес важности примера).
➡️ In-Context Learning (ICL), контекстное обучение - это даже не файн-тьюнинг. Ведь можно не менять параметры модели. Можно поменять промпт, дав модели больше контекста, и она в диалоге с вами начнет выполнять нужную вам задачу. Но это другая большая история..
#спискии #база
☣️ Здесь будут ссылки на научные статьи. Они сложные - не обязательно в них погружаться.
Большие языковые модели (БЯМ, LLM) по сути это программа, которая генерирует текст. У нее есть так называемые эмбеддинги (словарь токенов - слов и их частей - и их веса) и надстройка в виде нейронной сети, которая предсказывает вероятность следующего токена на основе весов. Чтобы получить эмбеддинги, модель нужно обучить. Современные модели обучают в основном при помощи архитектуры “трансформер” - этот этап называется pre-training (претрЕйнинг), а полученная модель - предобученной (pre-trained). И что же получается, после обучения модель уже не скорректировать? Современные БЯМы можно дообучать и настраивать, то есть файн-тьюнить (fine-tune). При этом веса модели могут меняться полностью или частично. Вот несколько популярных методов файн-тьюнинга:
➡️ Supervised fine-tuning (сьюпевАйзд фАйнтьюнинг), настройка с учителем, SFT основано на специфических задачах. Например, пусть модель обучалась на задаче генерации текста вообще, а файн-тьюнить мы ее будем на написание стихов. В результате она будет писать стихи, но, вероятнее всего, просядет по каким-то другим задачам. Обучать можно на несколько разных задач; несколько задач, связанных между собой; на нескольких примерах, которых будет достаточно (few-shot, фью-шОт).
➡️ Reinforcement learning (реинфОсмент лЁнинг), обучение с подкреплением. Материалом для обучения становится реальное поведение модели и реакция на него, например, когда человек, который получил ответ на промпт, поставил лайк или оценку. В методе RLHF (reinforcement learning with human feedback - обучение с подкреплением на основе отзывов людей) создается отдельная модель, которую люди учат награждать или штрафовать другую модель. Proximal Policy Optimization (PPO, оптимизация проксимальной политики) - это алгоритм, который помогает найти баланс между корректированием весов после фидбэка людей и дообучением на новых данных. Другими словами, он уравнивает влияние новых данных, поступивших в модель, с ее оценкой своего поведения после дообучения.
➡️ Parameter Efficient Fine-Tuning (парАметер эфИшент файн-тьЮнинг), PEFT, файн-тьюнинг с эффективной настройкой параметров. Чем меньше параметров нужно скорректировать при настройке, тем меньше времени и других ресурсов займет настройка. Т.е. это тот же файн-тьюнинг, но он по-разному меняет параметры модели. Среди методов PEFT выделяют следующие:
➡️ ➡️ Low-Rank Adaptation (LoRA, низкоранговая адаптация) - вместо большой матрицы эмбеддингов создаются две матрицы поменьше, после обучения они складываются опять в одну.
➡️ ➡️ Direct Preference Optimization (DPO, прямая оптимизация предпочтений) - в модель добавляется вес, который делает генерацию того или иного токена более или менее предпочтительной в каких-либо условиях: “dynamic, per-example importance weight” (динамический вес важности примера).
➡️ In-Context Learning (ICL), контекстное обучение - это даже не файн-тьюнинг. Ведь можно не менять параметры модели. Можно поменять промпт, дав модели больше контекста, и она в диалоге с вами начнет выполнять нужную вам задачу. Но это другая большая история..
#спискии #база
Telegram
Введение в искусственный интеллект
Да кто такой этот ваш эмбеддинг?
Кто эмбеддинги не обучал, тот.. я. Как-то не довелось. Чисто из интереса разбирала, как они делаются, но в перспективе обязательно запилю ноутбук с кодом.
Если жмякали мой прошлый ноутбучек (который с песнями про любовь)…
Кто эмбеддинги не обучал, тот.. я. Как-то не довелось. Чисто из интереса разбирала, как они делаются, но в перспективе обязательно запилю ноутбук с кодом.
Если жмякали мой прошлый ноутбучек (который с песнями про любовь)…
👍6
Да кто такой этот ваш random.seed?
Случайное число - это такое число, вероятность получить которое такая же, как получить любое другое число из ряда. То есть это изначально и не одно число, а целый ряд чисел. Плюс какая-то процедура, как мы будем это число доставать. В Python самая популярная библиотека для генерации случайных чисел называется random. В ней есть генератор псевдослучайных чисел и методы для различного "доставания" чисел из ряда.
Почему “псевдослучайных” и есть ли случайные события в природе? Этот вопрос делит ученых на детерминистов, готовых найти закономерности, которые привели к определенным событиям, и сказать, что ничто не случайно, и индетерминистов, которые не верят, что в этом вообще есть смысл. Псевдослучайным генератор называется потому, что в нем есть закономерность (!), которая приводит к равновероятному появлению любого числа - если не знать про закономерность. Однако, если в нее углубиться, можно предсказать каждое следующее число, что противоречит идее равновероятности.
Генерация случайных чисел - это важная процедура для моделирования явлений, в которых мы принимаем неопределенность и не стремимся к описанию всех сложных закономерностей. Машинное обучение и нейронные сети работают как раз по этому принципу, поэтому в них часто встречаются генераторы случайных чисел. В нейронных сетях это, например, инициализация весов (weight initialization). Получается, что удачная инициализация может привести к более успешному результату модели. Но если мы что-то поменяем в модели, например, количество признаков, функцию активации и т.п., то мы должны быть уверены, что новый результат обусловлен именно нашими нововведениями, а не удачей. Для этого есть метод random.seed.
В генераторе псевдослучайных чисел нужно стартовое число seed, с которого начнется генерация. По дефолту это будет время запуска кода, поэтому seed будет меняться с каждым запуском. Но вы можете задать свой seed, и веса в нейройнке будут каждый раз задаваться на первом шаге одинаковые. Поэтому если ваша библиотека нейронных сетей использует библиотеку random (а это очень-очень вероятно), то поместите в начале вашего кода вот эти три строки, и эффект удачной инициализации весов пройдет(кликбейтное получилось предложение☺️) :
Вот тут можно посмотреть результат выполнения этого кода.
NB! Для некоторых библиотек есть свои правила, как задать seed - смотрите документацию.
Интересно, что часто в примерах для seed’а используют число 42. Эта пасхалочка отсылает к роману Дугласа Адамса «Автостопом по галактике» и отвечает на главный вопрос жизни, вселенной и всего такого. Всем удачной генерации!
🍀
#база #байкиизсклепа
Случайное число - это такое число, вероятность получить которое такая же, как получить любое другое число из ряда. То есть это изначально и не одно число, а целый ряд чисел. Плюс какая-то процедура, как мы будем это число доставать. В Python самая популярная библиотека для генерации случайных чисел называется random. В ней есть генератор псевдослучайных чисел и методы для различного "доставания" чисел из ряда.
Почему “псевдослучайных” и есть ли случайные события в природе? Этот вопрос делит ученых на детерминистов, готовых найти закономерности, которые привели к определенным событиям, и сказать, что ничто не случайно, и индетерминистов, которые не верят, что в этом вообще есть смысл. Псевдослучайным генератор называется потому, что в нем есть закономерность (!), которая приводит к равновероятному появлению любого числа - если не знать про закономерность. Однако, если в нее углубиться, можно предсказать каждое следующее число, что противоречит идее равновероятности.
Генерация случайных чисел - это важная процедура для моделирования явлений, в которых мы принимаем неопределенность и не стремимся к описанию всех сложных закономерностей. Машинное обучение и нейронные сети работают как раз по этому принципу, поэтому в них часто встречаются генераторы случайных чисел. В нейронных сетях это, например, инициализация весов (weight initialization). Получается, что удачная инициализация может привести к более успешному результату модели. Но если мы что-то поменяем в модели, например, количество признаков, функцию активации и т.п., то мы должны быть уверены, что новый результат обусловлен именно нашими нововведениями, а не удачей. Для этого есть метод random.seed.
В генераторе псевдослучайных чисел нужно стартовое число seed, с которого начнется генерация. По дефолту это будет время запуска кода, поэтому seed будет меняться с каждым запуском. Но вы можете задать свой seed, и веса в нейройнке будут каждый раз задаваться на первом шаге одинаковые. Поэтому если ваша библиотека нейронных сетей использует библиотеку random (а это очень-очень вероятно), то поместите в начале вашего кода вот эти три строки, и эффект удачной инициализации весов пройдет
import random
random.seed(10)
print(random.random()) Вот тут можно посмотреть результат выполнения этого кода.
NB! Для некоторых библиотек есть свои правила, как задать seed - смотрите документацию.
Интересно, что часто в примерах для seed’а используют число 42. Эта пасхалочка отсылает к роману Дугласа Адамса «Автостопом по галактике» и отвечает на главный вопрос жизни, вселенной и всего такого. Всем удачной генерации!
🍀
#база #байкиизсклепа
❤6
Последнее "Что? Где? Когда?" человечества
Есть один разработчик больших языковых моделей для русского языка по имени Илья Гусев (работает сеньором по маш.обучу в компании Booking.com). Я давно фанат его моделей - выложены тут. У Ильи есть канал. А в этом канале есть пост, который является репостом более массового канала “Сиолошная”. Ну не суть.. Главное, о чем их посты. А они о “Последнем экзамене человечества”.
Как вы помните, техгиганты прямо сейчас пытаются создать такой искусственный интеллект, который не то, что достигнет среднего уровня человека (AGI), но даже переплюнет самых умных людей и захватит что-нибудь, например, человечество (ASI). Создатель популярных бенчмарков для языковых моделей Дэн Хендрикс предлагает помочь техгигантам и придумать вопросы, которые будут по силам только экспертам уровня магистратуры и выше. Этот набор будет использован для обучения моделей и проверки на AGI, ASI. Вопросы нужно присылать на английском.
У русского языка есть необычное для мира наследие - вопросы спортивной версии игры “Что? Где? Когда?” Они необычны тем, что в них требуется выкрутка - помимо использования фактов, игроки проходят несколько логических ступеней, прежде чем получат ответ. И.. барабанная дробь.. Внимание, конкурс!
Я хочу протестировать современные языковые модели на тему того, как успешно они решают вопросы в стиле викторины "Что? Где? Когда?" или ее спортивной версии. К сожалению, большинство вопросов есть в Интернете. Поэтому важно понять, нашла ли модель ответ или действительно его “выкрутила” логически.
Объявляю конкурс вопросов:
➡ Придумайте вопрос в стиле ЧГК.
➡ Протестируйте топовую большую языковую модель (лучше несколько, это можно сделать на чат-бот арене).
➡ Если модель не справляется, присылайте вопрос мне через вот эту форму до 25 октября 2024.
➡ Я дообучу на них русскоязычную модель и устрою ей большой экзамен из вопросов, которых пока нет в Интернете..
➡ ..а компетентное жюри из знатоков и ИИ-разработчиков оценит ваши вопросы и выберет победителей (по своим человеческим субъективным критериям).
Результаты конкурса будут объявлены 3 ноября 2024 в моем канале.
Победители получат во-о-от такие призы:
🎉 Промокод на курс “Основы Python для исследований и анализа данных”
🎉 Электронные подарочные сертификаты в магазин «Читай-город»
Всем удачного промптинга и криэйтив-райтинга! 🍀
#конкурс #ниипетпроект
Есть один разработчик больших языковых моделей для русского языка по имени Илья Гусев (работает сеньором по маш.обучу в компании Booking.com). Я давно фанат его моделей - выложены тут. У Ильи есть канал. А в этом канале есть пост, который является репостом более массового канала “Сиолошная”. Ну не суть.. Главное, о чем их посты. А они о “Последнем экзамене человечества”.
Как вы помните, техгиганты прямо сейчас пытаются создать такой искусственный интеллект, который не то, что достигнет среднего уровня человека (AGI), но даже переплюнет самых умных людей и захватит что-нибудь, например, человечество (ASI). Создатель популярных бенчмарков для языковых моделей Дэн Хендрикс предлагает помочь техгигантам и придумать вопросы, которые будут по силам только экспертам уровня магистратуры и выше. Этот набор будет использован для обучения моделей и проверки на AGI, ASI. Вопросы нужно присылать на английском.
У русского языка есть необычное для мира наследие - вопросы спортивной версии игры “Что? Где? Когда?” Они необычны тем, что в них требуется выкрутка - помимо использования фактов, игроки проходят несколько логических ступеней, прежде чем получат ответ. И.. барабанная дробь.. Внимание, конкурс!
Я хочу протестировать современные языковые модели на тему того, как успешно они решают вопросы в стиле викторины "Что? Где? Когда?" или ее спортивной версии. К сожалению, большинство вопросов есть в Интернете. Поэтому важно понять, нашла ли модель ответ или действительно его “выкрутила” логически.
Объявляю конкурс вопросов:
➡ Придумайте вопрос в стиле ЧГК.
➡ Протестируйте топовую большую языковую модель (лучше несколько, это можно сделать на чат-бот арене).
➡ Если модель не справляется, присылайте вопрос мне через вот эту форму до 25 октября 2024.
➡ Я дообучу на них русскоязычную модель и устрою ей большой экзамен из вопросов, которых пока нет в Интернете..
➡ ..а компетентное жюри из знатоков и ИИ-разработчиков оценит ваши вопросы и выберет победителей (по своим человеческим субъективным критериям).
Результаты конкурса будут объявлены 3 ноября 2024 в моем канале.
Победители получат во-о-от такие призы:
🎉 Промокод на курс “Основы Python для исследований и анализа данных”
🎉 Электронные подарочные сертификаты в магазин «Читай-город»
Всем удачного промптинга и криэйтив-райтинга! 🍀
#конкурс #ниипетпроект
huggingface.co
IlyaGusev (Ilya Gusev)
User profile of Ilya Gusev on Hugging Face
❤8👍2
Кто все-таки делает открытия в NLP: лингвисты или инженеры?
Если кратко, то и те, и те. Если не кратко, то нужно понять, почему такой вопрос возник.
Возник он не у меня. Мне его иногда задают очень разные люди. Мне кажется, это потому, что свой путь в инженерию я проделала из лингвистики.
Немного предыстории. В старших классах я училась в Гимназии при ТюмГУ на почти все пятерки (получила в итоге серебряную медаль). После школы хотела поступать на генную инженерию, но родители настояли, чтобы я пять лет изучала английский на специалитете Факультета романо-германской филологии.Подозреваю, что родители хотели, чтобы я вышла замуж за богатого иностранца, но у меня что-то не срослось с иностранцами🇷🇺 Поработав преподавателем английского, я поняла, что мои научные амбиции лежат не в сфере филологии. Уже в 2006 у меня дома был модем для выхода в Интернет, и мне стали попадаться статьи по компьютерной лингвистике. Интуиция мне не подсказывала, что вот скоро изобретут ChatGPT, но мне нравилось, что компьютерные лингвисты брали все эти, как я скромно считаю, высосанные из пальца лингвистические теории и раскладывали их по местам, поверяя экспертное мнение цифрой. Я взяла пару курсов на Coursera - вот тут пригодился английский - и доказала свои компетенции на программе магистратуры “Прикладная информатика в экономике” (у меня всего две тройки в дипломе - по матметодам в экономике) . С 2017 публикуюсь в хороших сборниках по компьютерной лингвистике (например, от ACL - Association of Computational Linguistics) и участвую в научных конференциях наравне с учеными с инженерным образованием. Что еще нужно, чтобы ответить на вопрос из заголовка этого поста?
Мне кажется, этот вопрос задается, скорее, чтобы я подбодрила тех, кто хочет избавиться от стереотипа (неважно, внутри он у них или кто-то на них давит снаружи), что если профильное образование далеко от инженерии, то в науку тебе не попасть. Мой способ не невозможный, но очень трудный. Это совсем не про картинку из рекламы инфоцыганских курсов, где вы за час сделаете первого чат-бота на Питоне. Я просто всю жизнь параллельно с работой учусь - это я не в порыве гордости; это, правда, так. А за это приходится, как с пафосом говорят главные герои сериалов, платить высокую цену. Например, долгое время у меня не было хобби. Бывали периоды, когда я не общалась с друзьями. А когда горел дедлайн, то семья могла установить со мной зрительный контакт только утром, пока я не погрузилась в работу.
Можно ли как-то проще? Можно. Последние пару лет я не штурмую вершины. Публикуюсь в России, езжу на конференции по социологии - там тоже нужно NLP и анализ данных, но там не такая толкучка, как на конференциях по компьютерной лингвистике. А еще сегодня много образовательных траекторий и есть ясность, что нужно и для каких исследований.
А что о топовых открытиях вроде алгоритма word2vec или архитектуры “трансформер”? word2vec открыл Томаш Миколов, инженер из Чехии; трансформер сделала команда инженеров Google. Но если посмотреть их образовательную траекторию, то на уровне магистратуры или докторантуры они все специализировались в узкой области компьютерной лингвистики. Если отмотаем лет на 50-70 назад, то увидим, что этой области не было и лингвисты заходили в инженерию, чтобы заложить ее основы: Ноам Хомский (трансформационная грамматика), Игорь Мельчук (модель “Смысл-Текст”), Андрей Зализняк (“Грамматический словарь русского языка”). В общем, сейчас просто период такой, когда на разработках лингвистов, математиков и других специалистов инженеры сделали много прорывных открытий в NLP.
А завтра, по-любому, все поменяется, потому что селяви.
#эссеиистика
Если кратко, то и те, и те. Если не кратко, то нужно понять, почему такой вопрос возник.
Возник он не у меня. Мне его иногда задают очень разные люди. Мне кажется, это потому, что свой путь в инженерию я проделала из лингвистики.
Немного предыстории. В старших классах я училась в Гимназии при ТюмГУ на почти все пятерки (получила в итоге серебряную медаль). После школы хотела поступать на генную инженерию, но родители настояли, чтобы я пять лет изучала английский на специалитете Факультета романо-германской филологии.
Мне кажется, этот вопрос задается, скорее, чтобы я подбодрила тех, кто хочет избавиться от стереотипа (неважно, внутри он у них или кто-то на них давит снаружи), что если профильное образование далеко от инженерии, то в науку тебе не попасть. Мой способ не невозможный, но очень трудный. Это совсем не про картинку из рекламы инфоцыганских курсов, где вы за час сделаете первого чат-бота на Питоне. Я просто всю жизнь параллельно с работой учусь - это я не в порыве гордости; это, правда, так. А за это приходится, как с пафосом говорят главные герои сериалов, платить высокую цену. Например, долгое время у меня не было хобби. Бывали периоды, когда я не общалась с друзьями. А когда горел дедлайн, то семья могла установить со мной зрительный контакт только утром, пока я не погрузилась в работу.
Можно ли как-то проще? Можно. Последние пару лет я не штурмую вершины. Публикуюсь в России, езжу на конференции по социологии - там тоже нужно NLP и анализ данных, но там не такая толкучка, как на конференциях по компьютерной лингвистике. А еще сегодня много образовательных траекторий и есть ясность, что нужно и для каких исследований.
А что о топовых открытиях вроде алгоритма word2vec или архитектуры “трансформер”? word2vec открыл Томаш Миколов, инженер из Чехии; трансформер сделала команда инженеров Google. Но если посмотреть их образовательную траекторию, то на уровне магистратуры или докторантуры они все специализировались в узкой области компьютерной лингвистики. Если отмотаем лет на 50-70 назад, то увидим, что этой области не было и лингвисты заходили в инженерию, чтобы заложить ее основы: Ноам Хомский (трансформационная грамматика), Игорь Мельчук (модель “Смысл-Текст”), Андрей Зализняк (“Грамматический словарь русского языка”). В общем, сейчас просто период такой, когда на разработках лингвистов, математиков и других специалистов инженеры сделали много прорывных открытий в NLP.
А завтра, по-любому, все поменяется, потому что селяви.
#эссеиистика
🔥18
В чем польза нейропоиска
Если смотрите телевизор, то, скорее всего, видели рекламу про нейропоиск от Яндекса. Это новый поисковик, который на основе языковых моделей и других архитектур глубокого обучения генерирует ответ вместо того, чтобы искать его в сети и возвращать вам список сайтов, ранжированный по принципу от самого полезного до тех страниц, где просто есть слова из вашего запроса. (Если интересно, как доставать информацию из набора текстов традиционными методами, то напоминаю, что у меня есть про это ноутбучек с кодом.) Звучит очень похоже на то, как многие используют ChatGPT - задают ей вопросы на знание фактов, математические вычисления и прочие кейсы, где нужно дать точный ответ (“exact match”, стопроцентное попадание в ответ).
Что добавил в эту историю Яндекс? Мультимодальность (сеть вам еще и картинку нарисует) и пояснение к ответу. Чтобы не было как в романе Дугласа Кларка “Автостопом по галактике”, где был дан ответ на главный вопрос жизни, вселенной и всего такого, но осталось неясно, почему ответ такой? Ответ, кстати, 42.
Польза от нейропоиска: вместо вороха документов (сайтов), которые вам придется прочесать, вы сразу получите столько точной информации, сколько требуется для погружения в вопрос на уровне статьи из энциклопедии. Т.е. сеть буквально создаст страницу а-ля "из Википедии" под ваш запрос. Минусы: нейронки могут глючить, через какое-то время теряют нить диалога, в них много ограничений на темы 😈🤬
Вот такой краткий пост. А если хотите больше, например, узнать, какие вопросы можно задавать сетям, а на какие они пока не могут ответить, то… Барабанная дробь.. Объявляю октябрь месяцем “вопрос-ответ-ности” (question-answering, QA) 🎉 и приглашаю тех, кто в Питере, прийти ко мне на занятие по основам QA-задач. А кто не в Питере или не хочет мерзнуть, добираясь до Дворцовой набережной, подключайтесь онлайн.
На лекционной части мы разберем типы задач, где нужно ответить на вопрос, и заглянем под капот QA: в датасеты и NLP - алгоритмы от базовых, вроде поиска ответа по готовой таблице, до генерации тестовых вопросов по научному тексту.
На практике мы разберем так называемый Trivia QA датасет вопросов из спортивной версии викторин “Что? Где? Когда” и “Своя игра” и проверим, действительно ли языковые модели уже стали умнее уважаемых знатоков, как утверждает один хабровчанин.Спойлер: нет, а то стали бы мы об этом в анонсе писать.
Когда: 5 октября 2024 (в эту субботу) 16.00-18:00 по московскому времени (!)
Где: дворец Серебряковой, по адресу наб. Кутузова, 22 в Санкт-Петербурге
С собой ноутбуки, Python и хорошее настроение.
Встреча будет проходить онлайн и в офлайн формате.
Ссылка на регистрацию туть.
Подключайтесь к онлайну туть (без смс, но с регистрацией по ссылке выше).
#база
Если смотрите телевизор, то, скорее всего, видели рекламу про нейропоиск от Яндекса. Это новый поисковик, который на основе языковых моделей и других архитектур глубокого обучения генерирует ответ вместо того, чтобы искать его в сети и возвращать вам список сайтов, ранжированный по принципу от самого полезного до тех страниц, где просто есть слова из вашего запроса. (Если интересно, как доставать информацию из набора текстов традиционными методами, то напоминаю, что у меня есть про это ноутбучек с кодом.) Звучит очень похоже на то, как многие используют ChatGPT - задают ей вопросы на знание фактов, математические вычисления и прочие кейсы, где нужно дать точный ответ (“exact match”, стопроцентное попадание в ответ).
Что добавил в эту историю Яндекс? Мультимодальность (сеть вам еще и картинку нарисует) и пояснение к ответу. Чтобы не было как в романе Дугласа Кларка “Автостопом по галактике”, где был дан ответ на главный вопрос жизни, вселенной и всего такого, но осталось неясно, почему ответ такой? Ответ, кстати, 42.
Польза от нейропоиска: вместо вороха документов (сайтов), которые вам придется прочесать, вы сразу получите столько точной информации, сколько требуется для погружения в вопрос на уровне статьи из энциклопедии. Т.е. сеть буквально создаст страницу а-ля "из Википедии" под ваш запрос. Минусы: нейронки могут глючить, через какое-то время теряют нить диалога, в них много ограничений на темы 😈🤬
Вот такой краткий пост. А если хотите больше, например, узнать, какие вопросы можно задавать сетям, а на какие они пока не могут ответить, то… Барабанная дробь.. Объявляю октябрь месяцем “вопрос-ответ-ности” (question-answering, QA) 🎉 и приглашаю тех, кто в Питере, прийти ко мне на занятие по основам QA-задач. А кто не в Питере или не хочет мерзнуть, добираясь до Дворцовой набережной, подключайтесь онлайн.
На лекционной части мы разберем типы задач, где нужно ответить на вопрос, и заглянем под капот QA: в датасеты и NLP - алгоритмы от базовых, вроде поиска ответа по готовой таблице, до генерации тестовых вопросов по научному тексту.
На практике мы разберем так называемый Trivia QA датасет вопросов из спортивной версии викторин “Что? Где? Когда” и “Своя игра” и проверим, действительно ли языковые модели уже стали умнее уважаемых знатоков, как утверждает один хабровчанин.
Когда: 5 октября 2024 (в эту субботу) 16.00-18:00 по московскому времени (!)
Где: дворец Серебряковой, по адресу наб. Кутузова, 22 в Санкт-Петербурге
С собой ноутбуки, Python и хорошее настроение.
Встреча будет проходить онлайн и в офлайн формате.
Ссылка на регистрацию туть.
Подключайтесь к онлайну туть (без смс, но с регистрацией по ссылке выше).
#база
Алиса теперь в Поиске
Поиск с Алисой решает новые задачи: даёт подробные ответы с иллюстрациями и видео, анализирует сложные запросы и предлагает решения, генерирует картинки и тексты.
❤🔥3❤1
TPU versus GPU. Или сколько видеокарт нужно, чтобы достичь Sota
И снова барабанная дробь.. Представляю вам своего соавтора - Александра Жмыхова 👨🎓 Александр учится в ТюмГУ в магистратуре "Прикладная лингвистика", работает в библиотеке и помогает мне с поиском информации. Его пост на тему TPU невозможен без картинок. Поэтому мы поместили его в карточки. Листайте 🍁
#база #карточкИИ
И снова барабанная дробь.. Представляю вам своего соавтора - Александра Жмыхова 👨🎓 Александр учится в ТюмГУ в магистратуре "Прикладная лингвистика", работает в библиотеке и помогает мне с поиском информации. Его пост на тему TPU невозможен без картинок. Поэтому мы поместили его в карточки. Листайте 🍁
#база #карточкИИ
🙏8
Прилагаем к посту про TPU ноутбучек с кодом для переключения на GPU и TPU и проверкой, что карты подключены.
А также напоминаю уже от себя, что:
1️⃣ у нас в канале идет конкурс на лучший вопрос для языковой модели, который поставит ее в тупик
2️⃣ в субботу в 16:00-18:00 (по московскому времени) я делаю занятие по QA - вопрос-ответным системам. Регистрация туть. Ссылка на подключение (чтобы подключиться, нужна регистрация) туть.
#notebook
А также напоминаю уже от себя, что:
1️⃣ у нас в канале идет конкурс на лучший вопрос для языковой модели, который поставит ее в тупик
2️⃣ в субботу в 16:00-18:00 (по московскому времени) я делаю занятие по QA - вопрос-ответным системам. Регистрация туть. Ссылка на подключение (чтобы подключиться, нужна регистрация) туть.
#notebook
Google
Cuda.ipynb
Colab notebook
👍4
Введение в искусственный интеллект pinned «Последнее "Что? Где? Когда?" человечества Есть один разработчик больших языковых моделей для русского языка по имени Илья Гусев (работает сеньором по маш.обучу в компании Booking.com). Я давно фанат его моделей - выложены тут. У Ильи есть канал. А в этом…»
ИИ-слизь. Теория метрового Интернета
ИИ-слизь - это метафора, которая отсылает к идее, зародившейся в 2010-е, когда алгоритмы машинного перевода и генерации текста стали достаточно эффективными, чтобы в коммуникации заменять человека. Например, в 2014 был первый случай, когда алгоритм прошел тест Тьюринга. По данным современного исследования компании Amazon 57.1% предложений в их корпусе из текстов, скачанных из Интернета, имеют переводной аналог на двух и более языках - явно не миллиарды людей-переводчиков это сделали. А большинство трафика на сайтах и в соцсетях создают боты.
🧐 Так что же такое ИИ-слизь? Идея ИИ-слизи заключается в том, что современный Интернет настолько наполнен сгенерированным контентом и накрутками, что там почти не осталось ничего трушного, оригинального, произведенного людьми. То есть “мертвый” означает “неживой”, “произведенный искусственной жизнью”.
🙁 И что теперь, не пользоваться Интернетом? Никому не доверять? Человек, как любое живое существо, при изменениях в среде реагирует и перестраивается. Мои личные практики такие. Я перестала заходить в комментарии к постам в соцсетях, потому что мне неинтересно играть в игру “угадай бота по комментарию”. И когда я отстаиваю свою точку зрения на какое-то общественное явление, я не привожу аргументы вроде “Смотрите, что в Интернете думает по этому поводу большинство”, “Посмотрите, сколько подписчиков у такого-то канала” или “Вон сколько лайков поставили на такое-то сообщение”. Я думаю, человечество выработает новые практики общения так, чтобы было неважно, есть в сети ИИ-слизь или нет.
😱 А Интернет реально умрет? Как говорил президент Сноу в “Голодных играх”: “Действие рождает противодействие, помните об этом, мистер Мелларк!” Методы распознавания сгенерированного контента совершенствуются. Так что, если человечество захочет вычистить слизь из Интернета или хотя бы просто помечать ее на сайтах и в соцсетях, то оно с этой задачей справится. К сожалению, пока люди позволяют авгиевым конюшням наполняться слизью, пропадает трушный, олдфаговый контент из старого Интернета. Сохранить его важно, чтобы отличать ИИ от не-ИИ. Например, в Европейском университете в Санкт-Петербурге, где я сейчас работаю, есть проект по сохранению цифрового наследия платформы narod.ru. 👾
#эссеиистика
ИИ-слизь - это метафора, которая отсылает к идее, зародившейся в 2010-е, когда алгоритмы машинного перевода и генерации текста стали достаточно эффективными, чтобы в коммуникации заменять человека. Например, в 2014 был первый случай, когда алгоритм прошел тест Тьюринга. По данным современного исследования компании Amazon 57.1% предложений в их корпусе из текстов, скачанных из Интернета, имеют переводной аналог на двух и более языках - явно не миллиарды людей-переводчиков это сделали. А большинство трафика на сайтах и в соцсетях создают боты.
🧐 Так что же такое ИИ-слизь? Идея ИИ-слизи заключается в том, что современный Интернет настолько наполнен сгенерированным контентом и накрутками, что там почти не осталось ничего трушного, оригинального, произведенного людьми. То есть “мертвый” означает “неживой”, “произведенный искусственной жизнью”.
🙁 И что теперь, не пользоваться Интернетом? Никому не доверять? Человек, как любое живое существо, при изменениях в среде реагирует и перестраивается. Мои личные практики такие. Я перестала заходить в комментарии к постам в соцсетях, потому что мне неинтересно играть в игру “угадай бота по комментарию”. И когда я отстаиваю свою точку зрения на какое-то общественное явление, я не привожу аргументы вроде “Смотрите, что в Интернете думает по этому поводу большинство”, “Посмотрите, сколько подписчиков у такого-то канала” или “Вон сколько лайков поставили на такое-то сообщение”. Я думаю, человечество выработает новые практики общения так, чтобы было неважно, есть в сети ИИ-слизь или нет.
😱 А Интернет реально умрет? Как говорил президент Сноу в “Голодных играх”: “Действие рождает противодействие, помните об этом, мистер Мелларк!” Методы распознавания сгенерированного контента совершенствуются. Так что, если человечество захочет вычистить слизь из Интернета или хотя бы просто помечать ее на сайтах и в соцсетях, то оно с этой задачей справится. К сожалению, пока люди позволяют авгиевым конюшням наполняться слизью, пропадает трушный, олдфаговый контент из старого Интернета. Сохранить его важно, чтобы отличать ИИ от не-ИИ. Например, в Европейском университете в Санкт-Петербурге, где я сейчас работаю, есть проект по сохранению цифрового наследия платформы narod.ru. 👾
#эссеиистика
Интерфакс
Компьютерная программа прошла тест Тьюринга впервые в мире
Авторами искусственного интеллекта стали программисты из России
❤6👾4👍2
Пока мы с редколлегией решаем судьбу октябрьского номера, рубрика Лайфхак!
Лайфхак № 2. Находим синонимы при помощи API RusVectores
💡 Что такое семантическая близость слов и как ее вычисляет алгоритм word2vec, можно почитать в моем посте тут. А если вы уже про нее знаете или понимаете интуитивно, как работает автоматическое выявление семантически близких слов, или просто хотите пощелкать ноутбук, то вот мой ноутбучек с лайфхаком, как это сделать при помощи АПИ проекта RusVectores. Оказывается, достаточно лишь (кликбейт) сделать хорошую URL-ссылку и отправить запрос при помощи библиотеки requests.
#лайфхакИИ
Лайфхак № 2. Находим синонимы при помощи API RusVectores
💡 Что такое семантическая близость слов и как ее вычисляет алгоритм word2vec, можно почитать в моем посте тут. А если вы уже про нее знаете или понимаете интуитивно, как работает автоматическое выявление семантически близких слов, или просто хотите пощелкать ноутбук, то вот мой ноутбучек с лайфхаком, как это сделать при помощи АПИ проекта RusVectores. Оказывается, достаточно лишь (кликбейт) сделать хорошую URL-ссылку и отправить запрос при помощи библиотеки requests.
#лайфхакИИ
Telegram
Введение в искусственный интеллект
Как работает word2vec
Возвращаюсь к вопросу про эмбеддинги и word2vec, который, как оказалось, не достаточно понимаю сама, чтобы объяснить простыми словами. А про word2vec (ворд-ту-век) надо знать любому уважающему себя компьютерному лингвисту. ⠜⠣⡃⠎⢡ ⢄⢘⠃…
Возвращаюсь к вопросу про эмбеддинги и word2vec, который, как оказалось, не достаточно понимаю сама, чтобы объяснить простыми словами. А про word2vec (ворд-ту-век) надо знать любому уважающему себя компьютерному лингвисту. ⠜⠣⡃⠎⢡ ⢄⢘⠃…
👍2🔥1
А еще напоминаю про конкурс "Последнее "Что? Где? Когда?" человечества".
Уже 5⃣ участников прислали свои❓, чем ввели в замешательство 👾🤖. Интеллектуальная битва продлится до 2⃣5⃣ октября включительно. Присылайте вопросы вот сюда.
А пока представляю вам Святослава Косовича - он в жюри моего конкурса и будет выбирать лучшие вопросы 👨⚖
Когда-то давно мы со Славой решили делать проект по интеллектуальным соревнованиям между человеком и ИИ. Тогда, в далеком 2022 ИИ почти ничего не могло противопоставить уважаемым знатокам. Но время не стоит на месте.. В общем буду держать вас в курсе новых возможностей больших языковых моделей!
#конкурс #ниипетпроект
Уже 5⃣ участников прислали свои❓, чем ввели в замешательство 👾🤖. Интеллектуальная битва продлится до 2⃣5⃣ октября включительно. Присылайте вопросы вот сюда.
А пока представляю вам Святослава Косовича - он в жюри моего конкурса и будет выбирать лучшие вопросы 👨⚖
Когда-то давно мы со Славой решили делать проект по интеллектуальным соревнованиям между человеком и ИИ. Тогда, в далеком 2022 ИИ почти ничего не могло противопоставить уважаемым знатокам. Но время не стоит на месте.. В общем буду держать вас в курсе новых возможностей больших языковых моделей!
#конкурс #ниипетпроект
Google Docs
Последнее "Что? Где? Когда?" человечества
Уважаемые знатоки и любители загадок!
Этот конкурс я придумала вслед за создателями "Последнего экзамена человечества". https://agi.safe.ai/submit
Я хочу протестировать современные языковые модели на тему того, как успешно они решают вопросы в стиле викторины…
Этот конкурс я придумала вслед за создателями "Последнего экзамена человечества". https://agi.safe.ai/submit
Я хочу протестировать современные языковые модели на тему того, как успешно они решают вопросы в стиле викторины…
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🔥3👾1
This media is not supported in your browser
VIEW IN TELEGRAM
🎃2❤1
..А у меня два анонса мероприятий, где я буду выступать.
🌏 Участие очное (нужно быть по-питерски культурным и прийти в парадную, минуя поребрики).
1⃣ В одном наукограде Дубна (точнее рядом) есть один лес на берегу Волги. В этом лесу есть один бывший детский лагерь. А в этом бывшем детском лагере проходит ежегодно одна “Летняя школа”. В этой “Летней школе” я выступала с лекцией этим летом и, видимо, буду выступать в следующем году. Так вот.. у “Летней школы” есть “After школа” (это как афтепати и автошкола).
“After школа” пройдет вот уже буквально в это воскресенье 20 октября в особняке Европейского университета в Санкт-Петербурге (набережная Кутузова, 22). Так что если вы в СПб, го. Я там тоже буду - читать лекцию и следить, чтобы молодежь не закидала особняк туалетной бумагой. Псст, там обещают мерч раздавать, и печеньки 😋 Рега туть.
2⃣ 23-24 ноября в Европейском университете пройдет воркшоп “Кино и тексты: анализ сценариев лауреатов кинопремий”, где при помощи методов NLP можно будет сгенерировать идеальный сценарий или обвинить драматургов в плагиате. В общем задачу вы поставите себе сами. Главное, потом красиво презентовать проект. В итоге вы подкачаете свои навыки NLP и заколлабитесь с единомышленниками. Это будет уже второй такой воркшоп по сценариям. Первый проходил 20–21 апреля 2024 г. - вот тут можно посмотреть проекты, которые получились в результате. Рега до 28 октября 2024 года включительно туть.
🌏 Участие очное (нужно быть по-питерски культурным и прийти в парадную, минуя поребрики).
1⃣ В одном наукограде Дубна (точнее рядом) есть один лес на берегу Волги. В этом лесу есть один бывший детский лагерь. А в этом бывшем детском лагере проходит ежегодно одна “Летняя школа”. В этой “Летней школе” я выступала с лекцией этим летом и, видимо, буду выступать в следующем году. Так вот.. у “Летней школы” есть “After школа” (это как афтепати и автошкола).
“After школа” пройдет вот уже буквально в это воскресенье 20 октября в особняке Европейского университета в Санкт-Петербурге (набережная Кутузова, 22). Так что если вы в СПб, го. Я там тоже буду - читать лекцию и следить, чтобы молодежь не закидала особняк туалетной бумагой. Псст, там обещают мерч раздавать, и печеньки 😋 Рега туть.
2⃣ 23-24 ноября в Европейском университете пройдет воркшоп “Кино и тексты: анализ сценариев лауреатов кинопремий”, где при помощи методов NLP можно будет сгенерировать идеальный сценарий или обвинить драматургов в плагиате. В общем задачу вы поставите себе сами. Главное, потом красиво презентовать проект. В итоге вы подкачаете свои навыки NLP и заколлабитесь с единомышленниками. Это будет уже второй такой воркшоп по сценариям. Первый проходил 20–21 апреля 2024 г. - вот тут можно посмотреть проекты, которые получились в результате. Рега до 28 октября 2024 года включительно туть.
Telegram
ЛШ поток
⠑⡤⢤⣠⢐⣐
Мы закончили с Москвой, на очереди — Санкт-Петербург!
На берегах Невы (буквально) «After школа» пройдет в следующее воскресенье 20 октября. Обязательно зарегистрируйтесь по ссылке ниже:
РЕГИСТРАЦИЯ
Осенний фестиваль ЛШ в Санкт-Петербурге пройдет…
Мы закончили с Москвой, на очереди — Санкт-Петербург!
На берегах Невы (буквально) «After школа» пройдет в следующее воскресенье 20 октября. Обязательно зарегистрируйтесь по ссылке ниже:
РЕГИСТРАЦИЯ
Осенний фестиваль ЛШ в Санкт-Петербурге пройдет…
🔥9
RAG: новое слово в информационном поиске
Вы когда-нибудь задумывались, чем отличается machine reading comprehension от information retrieval? Хорошо, если нет, потому что, если да, то вам знакома головная боль компьютерного лингвиста, который пытается решить проблему точного ответа большой языковой модели на заданный вопрос.
Когда-то давным давно (в 2023 г.) я с двумя дипломниками взялась за разработку системы, которая будет отвечать на вопросы “Своей игры” (викторина такая) на основе данных только из Википедии. Итак, на входе у нас вопрос “Своей игры”; на выходе - как можно более точный ответ: имя, название, реалия, факт.
Как мы подошли к решению? Сначала мы вычленяли из вопроса полнозначные слова и словосочетания. Например, для вопроса “Скажите по-японски короткая песня” (автор вопроса: Юрий Гришов (с)) мы получали комбинации “песня”, “короткая песня”, “по-японски”, “короткая песня по-японски”. Каждую комбинацию мы отсылали через поисковое API Википедии (это обычный поиск по Википедии в правом верхнем углу, где лупа нарисована; но только делается он через компьютерную программу, а не кликанием и вбиванием строки). Затем мы получали много-много ссылок, по которым наш алгоритм проходил и скачивал вики-страницы. Эти страницы делились на абзацы (параграфы), т.е. буквально кусочки текста между двумя символами новой строки (их еще можно назвать чанки, от англ. chunks - кусочки). А дальше нейронная сеть пыталась предсказать, в каком абзаце находится правильный ответ. Получалось плоховато, но для дипломной работы - окау.
В общем, это я вам сейчас описала часть поискового алгоритма, можно сказать, RA - retrieval-augmented. Retrieval - в переводе с английского “добывание”, это слово в ИТ обычно указывает на задачу информационного поиска (information retrieval), т.е. того, что делают поисковики Yandex, Google и иже с ними. Augmented обычно означает “намешанный с чем-то”, от английского глагола to augment - увеличивать. Т.е. мы берем запрос юзера и добавляем ему контекста, например, вики-страниц, на которых может содержаться ответ. А вот оставшаяся буква G отвечает за generation, т.е. генерацию финального ответа при помощи языковой модели, желательно большой. Тут как раз и понадобляется алгоритм machine reading comprehension, т.е. умение модели из текста вычленить нужный кусочек (span) с ответом и облечь его в форму, которую ждет пользователь.
Это не единственный способ сделать RAG. И, конечно, я умолчала о творческих муках от настройки нейронки на поиск нужного абзаца. Если хотите таких подробностей, то рекомендую вот этот пост на Хабре.
Когда нужен RAG? Когда у вас есть специфический набор фактов, документов и прочей неструктурированной (хаотической такой) информации и этот набор постоянно обновляется. Т.е. вам не хотелось бы каждый раз переобучать модэл, т.к. это долго.
#база #ниипетпроект
Вы когда-нибудь задумывались, чем отличается machine reading comprehension от information retrieval? Хорошо, если нет, потому что, если да, то вам знакома головная боль компьютерного лингвиста, который пытается решить проблему точного ответа большой языковой модели на заданный вопрос.
Когда-то давным давно (в 2023 г.) я с двумя дипломниками взялась за разработку системы, которая будет отвечать на вопросы “Своей игры” (викторина такая) на основе данных только из Википедии. Итак, на входе у нас вопрос “Своей игры”; на выходе - как можно более точный ответ: имя, название, реалия, факт.
Как мы подошли к решению? Сначала мы вычленяли из вопроса полнозначные слова и словосочетания. Например, для вопроса “Скажите по-японски короткая песня” (автор вопроса: Юрий Гришов (с)) мы получали комбинации “песня”, “короткая песня”, “по-японски”, “короткая песня по-японски”. Каждую комбинацию мы отсылали через поисковое API Википедии (это обычный поиск по Википедии в правом верхнем углу, где лупа нарисована; но только делается он через компьютерную программу, а не кликанием и вбиванием строки). Затем мы получали много-много ссылок, по которым наш алгоритм проходил и скачивал вики-страницы. Эти страницы делились на абзацы (параграфы), т.е. буквально кусочки текста между двумя символами новой строки (их еще можно назвать чанки, от англ. chunks - кусочки). А дальше нейронная сеть пыталась предсказать, в каком абзаце находится правильный ответ. Получалось плоховато, но для дипломной работы - окау.
В общем, это я вам сейчас описала часть поискового алгоритма, можно сказать, RA - retrieval-augmented. Retrieval - в переводе с английского “добывание”, это слово в ИТ обычно указывает на задачу информационного поиска (information retrieval), т.е. того, что делают поисковики Yandex, Google и иже с ними. Augmented обычно означает “намешанный с чем-то”, от английского глагола to augment - увеличивать. Т.е. мы берем запрос юзера и добавляем ему контекста, например, вики-страниц, на которых может содержаться ответ. А вот оставшаяся буква G отвечает за generation, т.е. генерацию финального ответа при помощи языковой модели, желательно большой. Тут как раз и понадобляется алгоритм machine reading comprehension, т.е. умение модели из текста вычленить нужный кусочек (span) с ответом и облечь его в форму, которую ждет пользователь.
Это не единственный способ сделать RAG. И, конечно, я умолчала о творческих муках от настройки нейронки на поиск нужного абзаца. Если хотите таких подробностей, то рекомендую вот этот пост на Хабре.
Когда нужен RAG? Когда у вас есть специфический набор фактов, документов и прочей неструктурированной (хаотической такой) информации и этот набор постоянно обновляется. Т.е. вам не хотелось бы каждый раз переобучать модэл, т.к. это долго.
#база #ниипетпроект
Хабр
RAG (Retrieval Augmented Generation) — простое и понятное объяснение
Меня все время спрашивают, что такое RAG (в контексте больших языковых моделей) и я все время хочу дать ссылку на статью на habr, где бы простыми словами, но тем не менее...
🍾5👍2