Forwarded from Love. Death. Transformers.
#чтивонаночь
Bf16 или fp16 здорового человека
Начнем с базы: числа в компуктере записываются в виде знак числа_n знаков экспоненты_k знаков мантиссы.
FP32
Использует 8 знаков на экспоненту , 23 на мантиссу
FP16
Использует 5 знаков на экспоненту, 10 на мантиссу
BF16 (читать как Google brain fp16)
Использует 8 бит на экспоненту и 7 на мантиссу
Что это даёт
- Диапазон значений идентичен fp32, сетка точно не разойдется при таком квантовании(даже очень глубокая)
- Можно выкинуть loss.scale при обучении в смешанной точности, теперь у нас диапазон значений между fp32 и bf16 идентичен, разницы только в количестве знаков после запятой
- Просто делай
- Из минусов нативно работает только с Nvidia amper и выше (х2 ускорение к обучению/инференсу) и с TPUv3 и выше
клёвая статья на медиум
Bf16 или fp16 здорового человека
Начнем с базы: числа в компуктере записываются в виде знак числа_n знаков экспоненты_k знаков мантиссы.
FP32
Использует 8 знаков на экспоненту , 23 на мантиссу
FP16
Использует 5 знаков на экспоненту, 10 на мантиссу
BF16 (читать как Google brain fp16)
Использует 8 бит на экспоненту и 7 на мантиссу
Что это даёт
- Диапазон значений идентичен fp32, сетка точно не разойдется при таком квантовании(даже очень глубокая)
- Можно выкинуть loss.scale при обучении в смешанной точности, теперь у нас диапазон значений между fp32 и bf16 идентичен, разницы только в количестве знаков после запятой
- Просто делай
torch.bfloat16
каждое утро и видеопамять болеть не будет- Из минусов нативно работает только с Nvidia amper и выше (х2 ускорение к обучению/инференсу) и с TPUv3 и выше
клёвая статья на медиум
Medium
FP64, FP32, FP16, BFLOAT16, TF32, and other members of the ZOO
There are many floating point formats you can hear about in the context of deep learning. Here is a summary of what are they about and…
👍9👎2🔥1
Сириус
Место, где из номера вид на горы, а в пруду есть черепахи, рыбы и лягушки.
С 30 июня по 24 июля, я был в этом образовательном центре в качестве участника программы "Большие Вызовы", работал над созданием аналитического инструмента для платформы Сируис.Курсов.
Каждый день мы были заняты разнообразной активностью: лекции, мастер-классы, клубы, экскурсии, работа над проектом.
Мы встречались с разными, талантливыми и популярными спикерами, например Райгородский (главное чтобы не кокнуло) и Савватеев.
Мы много готовились перед защитой и предзащитой, а в конце смены участвовали в ярмарке проектов.
Если вы ещё не поняли - у нас почти не было свободно времени 😁.
И это нисколько не плохо, а наоборот круто, ведь центр оправдывает свое название.
Наверное только здесь можно встретить такой концентрат талантов в РФ, людей с целями и закалкой.
И я сейчас не только про школьников, но и про кураторов, преподавателей, лекторов.
Что удивительно, здесь действительно все сделано для обучающихся, за всем тщательно следят, в случае чего можно обратиться к персоналу.
Здесь также можно найти возможности в виде связей, каких-то важный встреч, что у ж тут говорить, можно встретить мера своего города и поговорить с ним.
Вы скорее всего не знаете, но я из региона и подобное отношение для меня очень ценно.
Вообще Сириус про возможности и саморазвитие, если говорить про Большие Вызовы, то сюда не так сложно попасть.
Если у вас когда-нибудь будет возможность побывать здесь - используйте ее.
Ну а я, оставлю все тепло и яркость, что удалось увести домой и буду ждать возможности приехать снова, либо как стажёр (так как я теперь выпускник Сириуса, хехе), либо как преподаватель, лектор.
Место, где из номера вид на горы, а в пруду есть черепахи, рыбы и лягушки.
С 30 июня по 24 июля, я был в этом образовательном центре в качестве участника программы "Большие Вызовы", работал над созданием аналитического инструмента для платформы Сируис.Курсов.
Каждый день мы были заняты разнообразной активностью: лекции, мастер-классы, клубы, экскурсии, работа над проектом.
Мы встречались с разными, талантливыми и популярными спикерами, например Райгородский (главное чтобы не кокнуло) и Савватеев.
Мы много готовились перед защитой и предзащитой, а в конце смены участвовали в ярмарке проектов.
Если вы ещё не поняли - у нас почти не было свободно времени 😁.
И это нисколько не плохо, а наоборот круто, ведь центр оправдывает свое название.
Наверное только здесь можно встретить такой концентрат талантов в РФ, людей с целями и закалкой.
И я сейчас не только про школьников, но и про кураторов, преподавателей, лекторов.
Что удивительно, здесь действительно все сделано для обучающихся, за всем тщательно следят, в случае чего можно обратиться к персоналу.
Здесь также можно найти возможности в виде связей, каких-то важный встреч, что у ж тут говорить, можно встретить мера своего города и поговорить с ним.
Вы скорее всего не знаете, но я из региона и подобное отношение для меня очень ценно.
Вообще Сириус про возможности и саморазвитие, если говорить про Большие Вызовы, то сюда не так сложно попасть.
Если у вас когда-нибудь будет возможность побывать здесь - используйте ее.
Ну а я, оставлю все тепло и яркость, что удалось увести домой и буду ждать возможности приехать снова, либо как стажёр (так как я теперь выпускник Сириуса, хехе), либо как преподаватель, лектор.
🔥32👍6❤2👎2
Аналитика онлайн курсов
История о том как понять, что поведение пользователей - одна из 7 загадок тысячелетия, а команда - не просто рандомные люди.
⏱ Я уже говорил, что последний месяц был в Сириусе, во время которого трудился над проектом "Метрики сложности образовательных курсов".
👉 Мы делали аналитический инструмент, что на вход получает информацию по курсу и пользователям, а на выходе выдает html с показателями, графиками и котиками.
💪 Нас было пятеро прогеров, под руководством аналитика из Сириус.Курсов мы проводили брифинги, писали "отчеты" о проделанной работе и делились опытом.
😅 Первое время мы втыкали в таблички и пытались понять их устройство/связь, начали придумывать гипотезы о "сложности" задачи/модуля/курса, задумались над архитектурой будущего приложения.
😎 В ходе реализации метрик звали коллег, чтобы те провалидировали код, дали комментарии. И это было круто! Когда ты лично объясняешь каждую строчку кода, гораздо легче увидеть свои косяки - спасало много раз.
⚡️Я забыл упомянуть ещё одного важно участника проекта - доску, я не знаю как бы мы жили без неё, все таки наскальные рисунки и в наше время мощный инструмент взаимодействия.
❓После первой предзащиты мы поняли одну важную вещь - мы не знаем как объяснить "сложность" в качестве понятия. Решили делить на 2 вида: та что полезная/естественная и та что "затык" (неправильные цифры, учебного материала недостаточно чтобы решить задачу). Искали второе.
😐 В какой-то момент перешли к валидации, ждали пока дадут результаты опросника на платформе, но в итоги не уложились в сроки.
😕 Ну что же, пришлось размечать самим, открывать каждую задачу, просматривать материалы, бр.. За все время собрали 534 задачи по инфе и матану и только единицы из них были сложными. Будем считать, что качество курсов высокое.
🙃 Собрав сет и проанализировав результаты метрик на данных, поняли ошеломляющую вещь - наши метрики описывают поведение пользователя, а не саму сложность.
👀 Ну ок, а почему вы не смотрели на текст задачи?
1️⃣ Он специфичный, так ещё в markdown, нейронки тупо не работали на таком домене, а учить не вариант, доступ мне не дали)
2️⃣ Много работы, скажем на условной лингвистике могли найтись иноязычные слова, которые руберт токсисити отмечал плохими)
3️⃣ Нашел инфу по индексам текста (о чем писал ранее), но оказалось что они частично описывали только возможность задавания вопроса.
🤷♀️ Ну ладно, вот у нас табличка с чиселками есть, давайте обучать катбуст. Но он не обучался, вот вообще, тут же переучивался, та же история с деревом, логрегом.
✅ У нас тупо было слишком мало данных, связи с чем пришлось делать костыли, получили recall 0.5 и precision 0.1, не густо, но тоже неплохо.
Работа над проектом мне нравилась, но до определенного момента. На это повлияло отсутствие нормального отдыха, а также понимание того, что мои навыки как датасаентиста почти не нужны, там была аналитика.
Из этого я вынес урок: датасаентист не может заменить аналитика, это две разные и по своему сложные профессии.
В качестве прощальных слов преподаватель сказал, что мои вопросы заставляли задуматься и в правильную сторону двигали проект, что ж, приятно.
И да, датасаентисов не бывает, это вымысел.
История о том как понять, что поведение пользователей - одна из 7 загадок тысячелетия, а команда - не просто рандомные люди.
⏱ Я уже говорил, что последний месяц был в Сириусе, во время которого трудился над проектом "Метрики сложности образовательных курсов".
👉 Мы делали аналитический инструмент, что на вход получает информацию по курсу и пользователям, а на выходе выдает html с показателями, графиками и котиками.
💪 Нас было пятеро прогеров, под руководством аналитика из Сириус.Курсов мы проводили брифинги, писали "отчеты" о проделанной работе и делились опытом.
😅 Первое время мы втыкали в таблички и пытались понять их устройство/связь, начали придумывать гипотезы о "сложности" задачи/модуля/курса, задумались над архитектурой будущего приложения.
😎 В ходе реализации метрик звали коллег, чтобы те провалидировали код, дали комментарии. И это было круто! Когда ты лично объясняешь каждую строчку кода, гораздо легче увидеть свои косяки - спасало много раз.
⚡️Я забыл упомянуть ещё одного важно участника проекта - доску, я не знаю как бы мы жили без неё, все таки наскальные рисунки и в наше время мощный инструмент взаимодействия.
❓После первой предзащиты мы поняли одну важную вещь - мы не знаем как объяснить "сложность" в качестве понятия. Решили делить на 2 вида: та что полезная/естественная и та что "затык" (неправильные цифры, учебного материала недостаточно чтобы решить задачу). Искали второе.
😐 В какой-то момент перешли к валидации, ждали пока дадут результаты опросника на платформе, но в итоги не уложились в сроки.
😕 Ну что же, пришлось размечать самим, открывать каждую задачу, просматривать материалы, бр.. За все время собрали 534 задачи по инфе и матану и только единицы из них были сложными. Будем считать, что качество курсов высокое.
🙃 Собрав сет и проанализировав результаты метрик на данных, поняли ошеломляющую вещь - наши метрики описывают поведение пользователя, а не саму сложность.
👀 Ну ок, а почему вы не смотрели на текст задачи?
1️⃣ Он специфичный, так ещё в markdown, нейронки тупо не работали на таком домене, а учить не вариант, доступ мне не дали)
2️⃣ Много работы, скажем на условной лингвистике могли найтись иноязычные слова, которые руберт токсисити отмечал плохими)
3️⃣ Нашел инфу по индексам текста (о чем писал ранее), но оказалось что они частично описывали только возможность задавания вопроса.
🤷♀️ Ну ладно, вот у нас табличка с чиселками есть, давайте обучать катбуст. Но он не обучался, вот вообще, тут же переучивался, та же история с деревом, логрегом.
✅ У нас тупо было слишком мало данных, связи с чем пришлось делать костыли, получили recall 0.5 и precision 0.1, не густо, но тоже неплохо.
Работа над проектом мне нравилась, но до определенного момента. На это повлияло отсутствие нормального отдыха, а также понимание того, что мои навыки как датасаентиста почти не нужны, там была аналитика.
Из этого я вынес урок: датасаентист не может заменить аналитика, это две разные и по своему сложные профессии.
В качестве прощальных слов преподаватель сказал, что мои вопросы заставляли задуматься и в правильную сторону двигали проект, что ж, приятно.
И да, датасаентисов не бывает, это вымысел.
Telegram
Градиентное погружение
Удобочитаемость
Термин обозначающий, сложность прочтения какого-либо текста.
В годах 50-х профессора и учёные задумались: можно ли по тексту узнать примерный уровень знаний, необходимый для прочтения?
Как оказалось - да, вылилось это в раздел, просвещенный…
Термин обозначающий, сложность прочтения какого-либо текста.
В годах 50-х профессора и учёные задумались: можно ли по тексту узнать примерный уровень знаний, необходимый для прочтения?
Как оказалось - да, вылилось это в раздел, просвещенный…
👍14
Forwarded from Время Валеры
Мой близкий друг Саша Сахнов - человек который на мой взгляд лучше всех разбирается в а/б тестах
Еще в далеком 2018 году мы с ним и рядом других людей начали писать на Хабр про А/Б.
Сейчас он запустил цикл статей про А/Б, где каждая статья будет сложнее предыдущей - первая довольно базовая статья про Бутстрап (Обратите внимание на центральный доверительный интервал)
Еще интересен небольшой разбор стратификации для повышения чувствительности тестов
Еще можно посмотреть это видео
Еще в далеком 2018 году мы с ним и рядом других людей начали писать на Хабр про А/Б.
Сейчас он запустил цикл статей про А/Б, где каждая статья будет сложнее предыдущей - первая довольно базовая статья про Бутстрап (Обратите внимание на центральный доверительный интервал)
Еще интересен небольшой разбор стратификации для повышения чувствительности тестов
Еще можно посмотреть это видео
Хабр
Бутстреп и А/Б тестирование
Привет, Хабр! В этой статье разберёмся, как с помощью бутстрепа оценивать стандартное отклонение, строить доверительные интервалы и проверять гипотезы. Узнаем, когда бутстреп незаменим, и в чём его...
👍15👎1
Про изменение языка
Не секрет, что мы стремимся к упрощению и автоматизации. Причем не только бизнес процессов, но и нашей речи.
Во многом это происходит из-за интернета: мы сами не замечаем как в наш обиход врываются заимствования, сокращения, мемы.
Это не хорошо и не плохо, это естественный процесс, ведь общество развивает язык (хотя и физиологические особенности надо учитывать).
Отражение этого можно увидеть и в данных. В чатах - короткие сообщения, а в разговорах по телефону: "да", "нет", "не знаю".
По сути это естественный датадрифт, который, вероятно, больше всего заметен в машинном переводе. Там и так есть свои проблемы с разными трактовками одной и той же фразы, а тут ещё и это.
Быть может старые модели вовсе не так плохи как кажутся?
Быть может результаты, что есть сейчас некорректно сравнивать и нужно переобучать каждую модель?
Быть может новые архитектуры просто учатся на "свежих" наборах и становятся SOTA?
Или же проблема немножко в другом? В том что данные подвергаются "временной коррозии" (устаревание слов, изменение конструкций текстов, тренды)?
Очень интересно узнать, что вы думаете про изменение языка в контексте нынешнего NLP.
И что думают Kali Novskaya, DL in NLP
Не секрет, что мы стремимся к упрощению и автоматизации. Причем не только бизнес процессов, но и нашей речи.
Во многом это происходит из-за интернета: мы сами не замечаем как в наш обиход врываются заимствования, сокращения, мемы.
Это не хорошо и не плохо, это естественный процесс, ведь общество развивает язык (хотя и физиологические особенности надо учитывать).
Отражение этого можно увидеть и в данных. В чатах - короткие сообщения, а в разговорах по телефону: "да", "нет", "не знаю".
По сути это естественный датадрифт, который, вероятно, больше всего заметен в машинном переводе. Там и так есть свои проблемы с разными трактовками одной и той же фразы, а тут ещё и это.
Быть может старые модели вовсе не так плохи как кажутся?
Быть может результаты, что есть сейчас некорректно сравнивать и нужно переобучать каждую модель?
Быть может новые архитектуры просто учатся на "свежих" наборах и становятся SOTA?
Или же проблема немножко в другом? В том что данные подвергаются "временной коррозии" (устаревание слов, изменение конструкций текстов, тренды)?
Очень интересно узнать, что вы думаете про изменение языка в контексте нынешнего NLP.
И что думают Kali Novskaya, DL in NLP
Telegram
Kali Novskaya
Нейросети, искусство, мысли. Поехали!
Разрабатываю LLM и веду команды
chatGPT, GPT-3, GPT-4
Разрабатываю LLM и веду команды
chatGPT, GPT-3, GPT-4
👍11🤔3
BetterTransformer
🔥 Ускорение инференса трансформеров в 2 раза из коробки
Совсем недавно PyTorch получил обновление 1.12, нам завезли
Разработчики интегрировали их в TorchText, причем для использования новой фичи не нужно переучивать или переделывать модели, достаточно указать один (!) параметр - enable_nested_tensor.
Фича работает как на GPU, так и на CPU.
В будущем добавят:
Кст, есть вроде как рабочий PR от разработчика из команды PyTorch в котором реализована работа для BERTа в HF.
@gradientdip
Блогпост
Колаб
Туториал
Issue
Pull Request
Nested Tensors
🔥 Ускорение инференса трансформеров в 2 раза из коробки
Совсем недавно PyTorch получил обновление 1.12, нам завезли
nested tensors
, способные хранить в себе тензоры разного размера и через некотрое время после этого представили их использование в TransformerEncoder
, а также MultiHeadAttention
.Разработчики интегрировали их в TorchText, причем для использования новой фичи не нужно переучивать или переделывать модели, достаточно указать один (!) параметр - enable_nested_tensor.
Фича работает как на GPU, так и на CPU.
В будущем добавят:
TransformerDecoder
для работы Seq2Seq моделей, использование новых тензоров для обучения и интеграцию в HuggingFace (!).Кст, есть вроде как рабочий PR от разработчика из команды PyTorch в котором реализована работа для BERTа в HF.
@gradientdip
Блогпост
Колаб
Туториал
Issue
Pull Request
Nested Tensors
👍28🔥6😱2
Forwarded from schizo machine learning 🎹🔫🤡 (accelotron)
pull.gif
17.9 MB
🔥MineDojo🔥
NVIDIA выпустила фреймворк для создания автономных агентов, которые могут играть в Minecraft, обучаясь на видео, текстах с вики и реддита.
Кроме того, команда MineDojo выложила свои датасеты:
- YouTube Database, на ~300 тысяч часов видео по майнкрафту, видео содержат английские субтитры.
- Wiki Database, ~7 тысяч страниц.
- Reddit Database, более 340 тысяч постов.
Страница проекта
NVIDIA выпустила фреймворк для создания автономных агентов, которые могут играть в Minecraft, обучаясь на видео, текстах с вики и реддита.
Кроме того, команда MineDojo выложила свои датасеты:
- YouTube Database, на ~300 тысяч часов видео по майнкрафту, видео содержат английские субтитры.
- Wiki Database, ~7 тысяч страниц.
- Reddit Database, более 340 тысяч постов.
Страница проекта
👍22🔥8
Про текстовые аугментации
Нашел классную статейку, в которой автор разобрал и визуализировал методы аугментаций текста, начиная от тех, что базируются на TF-IDF, заканчивая генерацией нейронками.
Лично для себя подчеркнул wordMixup и Instance Crossover Augmentation, думаю вам тоже понравится.
Статья 🔥
NLP AUG [полезное]
TextAttack [полезное]
Нашел классную статейку, в которой автор разобрал и визуализировал методы аугментаций текста, начиная от тех, что базируются на TF-IDF, заканчивая генерацией нейронками.
Лично для себя подчеркнул wordMixup и Instance Crossover Augmentation, думаю вам тоже понравится.
Статья 🔥
NLP AUG [полезное]
TextAttack [полезное]
Amit Chaudhary
A Visual Survey of Data Augmentation in NLP
An extensive overview of text data augmentation techniques for Natural Language Processing
🔥22👍5
tqdm-joblib
Любите прогресс бары? А многопоточный парсинг?
joblib - хорошая библиотека для удобной работы с многопроцессорностью, а также кешированием в питоне.
joblib.Parallel позволяет в пару действий запустить парсер, но при этом предоставляет ограниченный вывод информации о состоянии процесса.
Так вот, ребята со stackoverflow написали костыль, который в 2 клика делает более удобный вывод, формата обычного tqdm. Причем tqdm-telegram тоже работает 👀.
Все что нужно:
stackoverflow
Любите прогресс бары? А многопоточный парсинг?
joblib - хорошая библиотека для удобной работы с многопроцессорностью, а также кешированием в питоне.
joblib.Parallel позволяет в пару действий запустить парсер, но при этом предоставляет ограниченный вывод информации о состоянии процесса.
Так вот, ребята со stackoverflow написали костыль, который в 2 клика делает более удобный вывод, формата обычного tqdm. Причем tqdm-telegram тоже работает 👀.
Все что нужно:
pip install tqdm_joblibНужная в хозяйстве вещь.
stackoverflow
👍28🔥2
1. A yellow book and a red vase.
2. Hovering cow abducting aliens.
3. One cat and one dog sitting on the grass.
4. A black apple and a green backpack.
5. A banana on the left of an apple.
6. A sign that says 'Deep Learning'.
7. A wine glass on top of a dog.
8. A small blue book sitting on a large red book.
9. A brown bird and blue bear.
10. A panda making latte art.
Новая top1 text2image модель не может сгенерировать большую часть drawbench
2. Hovering cow abducting aliens.
3. One cat and one dog sitting on the grass.
4. A black apple and a green backpack.
5. A banana on the left of an apple.
6. A sign that says 'Deep Learning'.
7. A wine glass on top of a dog.
8. A small blue book sitting on a large red book.
9. A brown bird and blue bear.
10. A panda making latte art.
Новая top1 text2image модель не может сгенерировать большую часть drawbench
😁15👍4😢4🔥2🎉2👎1