(sci)Berloga Всех Наук и Технологий
7.23K subscribers
236 photos
3 videos
1 file
289 links
Мультидисциплинарный канал о науке и технологиях.
Data Science, Bioinformatics, Biology, Mathematics, Physics, IT, Computer Science.

@sberlogabio био и дата сайнс
@sberlogasci математика, физика и ДС

https://www.youtube.com/c/SciBerloga
Download Telegram
🎙 Большая бесплатная трёхдневная конференция WOMEN TALK 2024 - сообщества для поддержки и развития женщин-специалистов в области больших данных и аналитики, помощи в построении карьеры в динамичной и конкурентной ИТ-сфере.

Будет факап вечер, выступления в стиле TED, мастер-классы, панельные дискуссии по трекам:
1️⃣ 17 мая 18:00 Факап-вечер: учимся на чужих ошибках, онлайн и очно в Москве на ВДНХ.
2️⃣ 18 мая 11:00 Рост в лидеры, онлайн
3️⃣ 19 мая 11:00 Практики и техники работы с данными, истории входа в профессию, онлайн

✔️ Регистрация обязательна везде.
Записи будут!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from LightAutoML framework (Alex Ryzhkov)
Коллеги, всем доброго дня!

Если вы еще не успели ткнуть ⭐️ на гитхабе на https://github.com/sb-ai-lab/LightAutoML, то самое время это сделать.

Наша глобальная текущая цель - собрать 1000 звезд и попасть в окружение Kaggle на постоянной основе!

Будем рады, если вы нас в этом поддержите ❤️
Forwarded from LightAutoML framework (Alex Ryzhkov)
Всем привет, коллеги!

Буквально сегодня ночью на Kaggle завершилось соревнование Home Credit - Credit Risk Model Stability на почти 4к команд, сутью которого было предсказать, какие клиенты с большей вероятностью не выплатят свои кредиты. Отдельным челленджем являлась задача сделать свою модель максимально стабильной во времени. По итогу это была задача кредитного скоринга на табличках (что в текущих реалиях довольно большая редкость для Kaggle).

🤖 LightAutoML показал себя в нем максимально достойно:
- Благодаря усилиям Андрея Нестерова и его ноутбуку с использованием моделей Denselight из LightAutoML можно было получить серебряную медаль и занять 40 место из 3885
- Если же использовать ноутбук с большим количеством моделей в композиции (включающим модели из LightAutoML), то можно было забраться в призы (заработать $10к 💸) и финишировать на 4-ом месте 🔥

👀(И это пока что результаты без учета решений победителей, которые еще не опубликованы)

Happy Kaggling with LightAutoML 🦙

P.S. Большое спасибо всем тем, кто помог дотолкать наш GitHub репозиторий до важной планки ⭐️1к+ - эта история позволила нам создать запрос на добавление LightAutoML в официальный Kaggle Kernel environment. При желании его тоже можно поддержать, как это уже успел сделать Самвел 🥹
Forwarded from Нейрокампус (Elizaveta Minina)
⚡️ Дорогие коллеги! В ближайший четверг, 30 мая, состоится очередная ОЧНАЯ лекция в рамках лектория Нейрокампуса!

📌 Алексей Васильевич Семьянов, доктор биологических наук, член-корреспондент РАН, один из ведущих российских специалистов по нейроглии, выступит с лекцией на тему "Различие между ответами нейронов и астроцитов на локомоцию у мышей".

📆 Когда: 30 мая, 18:00.
📍 Где: Федеральный центр мозга и нейротехнологий, улица Островитянова, 1, стр. 10.
❗️Для участия в мероприятии необходима регистрация по ссылке: https://neurocampus.timepad.ru/event/2901469/. Регистрация закрывается в 12:00 30 мая! Для прохода в здание не забудьте взять паспорт!

Также будет вестись трансляция мероприятия по ссылке.

🎬 Как обычно, запись лекции будет доступна и опубликована на странице Нейрокампуса в VK, а также в канале Нейрокампуса в Rutube.
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 @SBERLOGASCI - рабочий семинар по проекту применения ML к теории групп (нахождения короткого пути на графах Кэли)
👨‍🔬 Н. Бухал "Посмотрим на актульаный код DeepCube"
⌚️ Понедельник 3 Июня 19.00 по Москве

В 2019 появились несколько работ "DeepCube" которые применили идеи АльфаГо/АльфаЗеро к задаче теории групп - решение кубика Рубика. Одна из целей нашего проекта сделать аналогичную систему для ВСЕХ групп, не только Рубиков. Поэтому полезно обсудить и DeepCube: https://deepcube.igb.uci.edu/

Eсли у Вас есть желание поучаствовать в проекте - отметьтесь в голосовалке тут .

- Моделька (ResNet): https://github.com/forestagostinelli/DeepCubeA/blob/master/utils/pytorch_models.py#L5

- Loss (MSELoss): https://github.com/forestagostinelli/DeepCubeA/blob/master/utils/nnet_utils.py#L57

- Формирование датасета (GBFS - Greedy Best-First Search): https://github.com/forestagostinelli/DeepCubeA/blob/master/updaters/updater.py#L11

- Немого на инференс (A*) - https://github.com/forestagostinelli/DeepCubeA/blob/master/cpp/parallel_weighted_astar.cpp#L138


Zoom link will be in @sberlogabig just before start. Video records: https://www.youtube.com/c/SciBerloga - subscribe !

📹 Video: https://youtu.be/5IiOcRjo86M?si=C3Dltos8QC8VNste
🚀 @SBERLOGABIO webinar on bionformatics and data science:
👨‍🔬 Robert Hoehndorf, Maxat Kulmanov, "DeepGO-SE - Protein function prediction as approximate semantic entailment"
⌚️ Thursday 6 June, 18.30 (Moscow time). Unusual time - pay attention.

Add to Google Calendar

The talk is based on Nature Machine Intelligence paper: https://www.nature.com/articles/s42256-024-00795-w#Sec1 presenting a beautiful, original approach to the task to predict protein properties (Gene Ontology terms) based on the protein sequence (like CAFA5 Kaggle challenge). From leading experts in the field.

The Gene Ontology (GO) is a formal, axiomatic theory with over 100,000 axioms that describe the molecular functions, biological processes and cellular locations of proteins in three subontologies. Predicting the functions of proteins using the GO requires both learning and reasoning capabilities in order to maintain consistency and exploit the background knowledge in the GO. Many methods have been developed to automatically predict protein functions, but effectively exploiting all the axioms in the GO for knowledge-enhanced learning has remained a challenge.
In this webinar, I will present DeepGO-SE, the latest version of DeepGO methods, that predicts GO functions from protein sequences using a pretrained large language model. DeepGO-SE incorporates the knowledge in GO by learning multiple approximate models of GO using an ontology embedding method. Furthermore, it uses a neural network to predict the truth values of statements about protein functions in these approximate models. We aggregate the truth values over multiple models so that DeepGO-SE approximates semantic entailment when predicting protein functions. We show, using several benchmarks, that the approach effectively exploits background knowledge in the GO and improves protein function prediction compared to state-of-the-art methods.

📹 Video: https://youtu.be/vhnD4SR8cWI?si=000BSzLtjsvc_bvC
📖 Presentation: https://t.me/sberlogabio/74962
🚀 @SBERLOGASCI webinar on mathematics:
👨‍🔬 А.Червов (к.ф.-м.н) "Базовые понятия теории представлений групп"
⌚️Пятница 7 июня 19.00 (по Москве)

Последние годы в машинном обучении - стали появляться, так называемые, эквивариантные нейронные сети. (См. M.Welling: "Group equivariant convolutional networks", или лекции - https://www.youtube.com/playlist?list=PL8FnQMH2k7jzPrxqdYufoiYVHim8PyZWd ).
Для тех кто интересуется этой темой в данной лекции мы рассмотрим на пальцах основные понятия теории представлений групп.

Поясним следующие вещи - неприводимые представления (это блоки из которые все строится, разбиение на неприводимые - похоже на кластеризацию), операции с ними.

Полезно понимать - аналогии: если группа совсем простая - коммутативная - то теория представлений - это про ряды/интегралы Фурье. То есть для общих групп представления в некотором высшем смысле обобщают ряды Фурье.

С представлениями можно делать следующие - брать прямую сумму, и можно тензорно множить. Тензорное (кронекерово) произведение - можно думать так - функции от одной переменной тензорно умножить на себя - это рассмотреть функции от двух переменных.

Что такое группа - можно думать так - просто набор матриц, такой, что произведение матриц из набора лежит снова в наборе, обратная тоже в наборе ну единичная в нем. А смысл в этом какой ? Смысл - описывать разные симметрии - вращения, сдвиги и так далее.

Если есть две группы G,H можно рассмотреть их произведение GxH , как устроены представления GxH ? Ответ - V tensor W - тензорные произвдения представлений одной на другое.

Регулярное представление - то есть представления когда группа действует сама на себе. Важно понимать - что там живут вообще все представления - и как они там живут - каждое непривод. представление живет там в виде V tensor V^* (само на себя ну почти) - почему так ? ну потому что GxG действует на самом деле на G и см. пункт выше.

📹 Video: https://youtu.be/DQNQowfj_Ws?si=br0K_-2NDO4dglyK
📖 Presentation
🚀 @SBERLOGASCI webinar on data science:
👨‍🔬 Сергей Фиронов "Обзор идей АльфаГо, АльфаЗеро"
⌚️ Понедельник, 10 июня, 19.00 (по Москве)

АльфаГо, АльфаЗеро революционизировали подходы на основе машинного обучения к сложным комбинаторным задачам. То, что казалось недостижимым в ближайшие десятилетия - было достигнуто DeepMind. В данном докладе один лучших дата-сайнтистов, Каггл грагдмастер Сергей Фиронов, расскажет обзор этих работ.

Разберем репозиторий и практическое применение AlphaZero от DeepMind к своим задачам на конкретном примере, как и что надо имплементировать и учесть, а так же попробуем подумать на тему применения к сборке рубиков.

В работах АльфаГо, АльфаЗеро произошел отказ от идей Q-алгоритма, и происходит прямое обучение сетки предсказывающей ходы и позиции. Однако, таргеты для сетки рассчитываются на основе MCTS алгоритма, что является принципиально новым подходом в области. Тот же MCTS используется и для инференса , в сочетании с расчетом сетки. В исходной работе использовалась сверточная сетка из 40 слоев. Обучение в АльфаЗеро идет только на основе игры с собой, без использования каких-либо внешних знаний.

AlphaGo: "To efficiently combine MCTS with deep neural networks, AlphaGo uses an asynchronous multi-threaded search that executes simulations on CPUs, and
computes policy and value networks in parallel on GPUs. The final version of AlphaGo used 40 search threads, 48 CPUs, and 8 GPUs. We also implemented a distributed version of AlphaGo that exploited multiple machines, 40 search threads, 1202 CPUs and 176 GPUs. The Methods section provides full details of asynchronous and distributed MCTS."

Zoom link will be in @sberlogabig just before start. Video records: https://www.youtube.com/c/SciBerloga - subscribe !
📹 Video: https://youtu.be/NpeGnu7F5lo?si=vbdQiLIyW3kTOb9A
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dealer.AI
Повторенье - мать ученья. Или почему DPO, а не reward+ppo.

Крч, на днях, дядя обнаружил, что запамятовал суть DPO, да и наркоз стал отпускать. Самое время пойти на архив в папир.

Знаете, PPO в RLHF - это как подростковый секс, все о нем говорят, что завели и все круто летит, но мало кто знает и умеет.

Так вот - DPO, шкет, это твое спасение на пути в RLHF. Оказывается от этих 4ех буков, останется ток две последние, и то из human feedback оно превращается в preferences tuning без всякого RL.

Как это происходит?

Давай вспомним, как заводят первый роман PPO:
1. Сначало собирают предпочтения кожаных мешков на генерациях с LLM.
2. Далее размечают попарно какие генерации лучше какие хуже для одной и той же затравки.
3. Потом учат reward модельку этому ранжированию, те проксируют предпочтения человеков, через модельку.

Для этого, важно, юзают loss = -E{log(sigmoid[ rank(yi/x) -rank(yj/x)]))} , yi - предпочитаемая yj-му генерация для каждого промпта из x.

И вот тут - стоп. Далее не пойдем. Там будет после обучения процедура PPO, а ты еще молодой, у тебя вся жизнь впереди, не надо оно тебе Там эта модель награды используется для получения оценок генерации, мы максимизируем мат ожидание оценок на батче и прочий нестабильный изврат.

Вот тут на сцену выйдет DPO. Челики авторы умные сели подумали, а зачем нам эти прокси модельки награды, нестабильный РРО. Когда можно сразу в этап файнтюна закинуть предпочтения как +1ый шаг и главное дифференцируемое е2е.

Следим за руками, объясняю на пальцах: вот у нас есть P(x)-вероятность следующего токена порождаемое моделью LLM при промпте Х. И мы хотим, чтобы при генерации у нас было максимальное правдопобие P(yi/x). Те мы хотим, чтобы вероятнее был токен Yi, чем Yj. Значит, мы просто хотим напрямую от модели выполнить адаптацию к нашим предпочтениям. А как это можно сделать без этих наград и тп, но с оглядкой на хинты PPO и reward?

Да просто, давайте, возьмём loss такой, что он будет давать предпочтение распределению вероятостей над Yi по отношению к Yj. Как это сделать? Да также как с рангами оценки в reward.

Так мы получим loss=-E log(sigmoid[P(yi/x) - P(yj/x)]), но нам чет не хватает. В процедуре РРО для RLHF еще была важная фича. Это регуляризация на reference модель, т.е. на поведение предка (LLM на предыдущем шаге обучения). И выглядело это как вот такая компонента в лоссе: lambda*KLD(P/Pref). Ну один момент, давайте тоже красиво это вставим в промежуточный лосс DPO:
Loss=-E log(sigm[Betta*log(Pi/Pi-ref)-Betta*log(Pj/Pj-ref)]), где Pi, j-ref это это вероятности токенов i,j для референсной модели при промпте X.

Всë, мы получили искомый DPO лось, с штрафом/оглядкой на поведение референс модели и даже коэфициентик переняли. Зачем нам это? Для того, чтобы наследовать поведение модели предка в некоторой доле по связности изложения, знаниям и тп. Почему для обеих компонент лосса, так это ж оценка на одной и тойже модели, значит и штраф в обоих случаях.

Конечно, это пояснение на пальцах, в статье есть целая выкладка в аппендиксе, которая доказывает, что такая функция ошибок действительно является дифференцируемой аппроксимацией над предпочтениями и вообще эквивалентна тому же что и в PPO+reward. Но это вы уже сами почитаете.
Наш старый знакомый и активный участник Сберлоги - Вадим Новоселов, завел отличный канал, который мы Вам искренне рекомендуем - подписывайтесь:
Forwarded from Gernar
👋🏻 Всем привет. Меня зовут Вадим, я бывший дата саентист, и сейчас веду телеграм канал, где рассказываю про удалёнку из различных мест, айти, бизнес и путешествия!

❤️ Также, у меня есть YouTube канал, где раньше я снимал как прохожу DS собеседования, а сейчас буду пробовать travel-формат.

🐳 Предлагаю вам заценить моё творчество, а кому зайдёт — подписаться. Скоро будет происходить много интересного!

Всем хорошего дня ☀️
🚀 @SBERLOGASCI webinar on data science:
👨‍🔬 Obozov M.A. "Proximal Policy Optimization. От графов Кэли до RLHF."
⌚️ Пятница 14 июня 19.00 по Москве

PPO - достаточно современный и интересный Policy Gradient метод, который базируется на идее клиппинга и обучение policy network с специальной целевой функцией. Концептуально алгоритм решает проблему больших policy обновлений, что значительно улучшает сходимость. При этом его применение часто очень нетривиально, а понимание алгоритма к сожалению нередко заканчивается абстрактными идеями и просто знанием об его существование. Данная лекция ориентирована на исправление этой проблемы.

Всего лекция состоит из четырёх частей:

1. Пользовательское понимание PPO, концепции и основные идеи, отличие от REINFORCE и других PGM.
2. Более глубокое понимание и описание математики стоящей за этим алгоритмом.
3. Применение к реальным задачам в том числе и к графовым.
4. RLHF с PPO. Эта часть ориентирована именно на LLM инженеров.

📖 Presentation: https://t.me/sberlogasci/11995/14677
📹 Video: https://youtu.be/CN72nLjpmuk?si=ue-te9oh8VyFOqhP

Доп материалы:

https://arxiv.org/abs/1707.06347
https://arxiv.org/abs/2307.04964
https://arxiv.org/abs/2401.06080
https://github.com/OpenLLMAI/OpenRLHF
https://openai.com/index/openai-baselines-ppo/
https://www.arxiv.org/abs/2405.04664
https://huggingface.co/blog/the_n_implementation_details_of_rlhf_with_ppo

Zoom link will be in @sberlogabig just before start. Video records: https://www.youtube.com/c/SciBerloga - subscribe
#HMS

HMS - Harmful Brain Activity Classification

Последнее время решал медицину. 

Данные:
Уважаемые люди из Harvard Medical School (на секундочку лидер рейтингов лучших ресерчерских медицинских школ) собрали нам датасет ЭЭГ и кардиограмм своих пациентов и даже разметили их.



У данных есть иерархическая структура:

Для одного и того же пациента могут быть записаны несколько ЭЭГ произвольной длины. 

Из этих ЭЭГ могут быть выбраны участки по 50 секунд, из которых разметчиков попросили оценить центральные 10 секунд. Разметчиков для одного такого семпла обычно более одного (может быть больше двадцати)

Каждый такой семпл разметчиков попросили отнести к одному из 6 классов:

1. Судороги (SZ)
2. Генерализованные эпилептические разряды (LPD)
3. Латеризованные эпилептические разряды (GPD)
4. Латерализованнная ритмическая дельта-активность (LRDA)
5. Генерализованная ритмическая дельта-активность (GRDA)
6. Прочее

Как метрику выбрали KL-div. В силу того, что по разным семплам могло пройтись несколько разметчиков, голоса разметчиков нормировали на число проверяющих и именно это великолепие стали рассматривать как вероятности, которые нам надо учить. 

По ощущениям- там еще и качество разметчиков страдало. Там, где перекрестной проверки больше поведение сильно отличалось от участков с малой перекрестностью. Это прямо на ЭЭГ видно- идут пару минут с 1-3 голосами и преобладает класс other по-русски назовем его "я не знаю", а за ним сразу идет уверенное SZ от 16 из 17 размечающих. Странное совпадение, но пока организаторы не признались- не правда.

В этот раз хочу пройтись по большему числу топовых решений, потому что сил в сореву было какое-то невыносимое количество потрачено.

Как решать будете?

Думайте. Подписаться
#HMS

8 место, мастер-класс от Криса Дейота:

Самое первое, на чем акцентирует внимание Крисс: нам в соревновании не надо поставить диагноз, нам надо угадать мнения разметчиков. Казалось бы так всегда, но конкретно в этом соревновании из-за разнородности разметчиков это решало сильнее, чем обычно.
Крис прочитал статью организаторов и выяснил, что аннотаторов было всего 119 в трейне и 20 в тесте. А еще он вычитал, что судороги в трейне предсказывали в 18.8% случаев, а в тесте- 1.5%. И вот именно вычистку этих самых малоушмных экспертов из теста и делал хак с разделением трейна
train.loc[train.vote_count>=10]

Он так же посмотрел на то, как проходил процесс разметки данных и увидел там, что разметка проходила и по спектрограммам и по обычным графикам формы волны одновременно. Значит это и надо подавать как инпут моделей.

И того у него было три модели:
1. По сырым сигналам, a-la WaveNet
2. Трансформемер по спектрограммам
3. Трансформемер по plt.plot форм волны В СМЫСЛЕ ОН ВЗЯЛ И ИСПОЛЬЗОВАЛ МАТПЛОТЛИБ ДЛЯ ИНПУТА, НУ ГЕНИЙ

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

Ну и все, 0.29 на приватном лидерборде.

Так же Крис заботливо выделил для нас лайфхаки:
1. Все сырые данные обработал с помощью библиотеки MNE. Она как раз специализированна для работы с ЭЭГ
2. Для перфоманса можно было все сырые ЭЭГ загрузить в RAM и формировать спектрограмы используя torchaudio.transforms
3. На каждой эпохе показывать одну ЭЭГ один раз, но семплировать каждый раз случайно.
4. Пользоваться его гайдом по подбору ЛР для модели

Скажу, что читать райтапы Криса- сплошной кайф. Однажды он прочитает моей райтап и скажет то же самое
Опять что-то дипмаинды наресерчили (им платят за это?)

Хотят улучшать трансформеры на графовых задачках описанных текстом и сделали TransNAR архитектуру, которая вроде как хороша in out-of-distribution reasoning.
Только нам нужно иметь текстовую задачку на вход трансформера и граф на вход NAR.

По сути трансформер + графовые нейроночки. Такая графовая нейронка - это neural algorithmic reasoner (NAR), про который написано в статье DeepMind в 2021. Такая штука комбинирует натуральный вход + абстрактный вход (нейронок) для решения какой-то задачи. В статье ниже можно посмотреть идею на примере алгоритма Дейкстры.

Neural Algorithmic Reasoning
https://arxiv.org/abs/2105.02761

В данном случае natural input это текстовое описание задачи + соответствующий граф (abstract input), на выходе текст с решением. При этом графовая нейронка претрейнена на множестве алгоритмических задачек. Тренировались на маленьких задачках а тестились на больших.
Трансформер тоже претрейнен, на MassiveText.
Во время forward pass трансформер получает доступ к ембедингам из NAR через cross-attention. queries идут из токенов, а keys and values из NAR.

Так понял.

В общем если подобное интересует, то статью читаем

Transformers meet Neural Algorithmic Reasoners
https://arxiv.org/abs/2406.09308

тот самый датасет с графами, из которого получили текстовую версию и на ней тестились
https://github.com/google-deepmind/clrs
🚀 @SBERLOGASCI webinar on data science:
👨‍🔬 А.Фаворов "Markov Chain Monte-Carlo (MCMC). What for is it and what does it look like?"
⌚️ Понедельник 17 июня 19.00 (по Москве)

Simple MCMC zoo: basics, termonology, principles, examples.

Контекст:

Алгоритм Метрополиса — Гастингса (https://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm) — алгоритм семплирования, использующийся, в основном, для сложных функций распределения. Также подобные алгоритмы можно использовать для поиска глобальных минимумов функций. Это то, что нам нужно в проекте применения машинного обучения к группам.
Вот тут ноутбук Кирилла Хоружего по применению Метрополиса к решению 15-шки https://www.kaggle.com/code/ka1242/puzzle15-fastmetropolis, а тут аналог для кубиков (DZMITRY PIHULSKI ): https://www.kaggle.com/code/dzmitrypihulski/metropolis-1-for-permutations?scriptVersionId=183503701&cellId=9 . Апвоуты - приветствуются.

Семплирование по Гиббсу является частным случаем алгоритма Метрополиса — Гастингса и более популярно за счёт простоты и скорости, хотя и реже применимо

Также будет полезна предыдущая лекция: https://t.me/sberlogabig/199

Zoom link will be in @sberlogabig just before start. Video records: https://www.youtube.com/c/SciBerloga - subscribe !