GPT-3.5 Turbo fine-tuning and API updates
openai.com/blog/gpt-3-5-turbo-fine-tuning-and-api-updates
Теперь GPT-3.5 можно файнтюнить!
Чуть больше подробностей:
1. Все тренировочные данные пропускают через OpenAI Moderation API и через дополнительную систему модерации на GPT4. Кстати если вы не знали про Moderation API — он публично доступен и бесплатен если вы его используете вместе с обычным Chat API.
1. В общем это все детали 🤷♂️
Цена:
Training: $0.008 / 1K Tokens
Usage input: $0.012 / 1K Tokens
Usage output: $0.016 / 1K Tokens
Это была очень ожидаемая фича, интересно как пользователи будут её применять.
openai.com/blog/gpt-3-5-turbo-fine-tuning-and-api-updates
Теперь GPT-3.5 можно файнтюнить!
Чуть больше подробностей:
1. Все тренировочные данные пропускают через OpenAI Moderation API и через дополнительную систему модерации на GPT4. Кстати если вы не знали про Moderation API — он публично доступен и бесплатен если вы его используете вместе с обычным Chat API.
1. В общем это все детали 🤷♂️
Цена:
Training: $0.008 / 1K Tokens
Usage input: $0.012 / 1K Tokens
Usage output: $0.016 / 1K Tokens
Это была очень ожидаемая фича, интересно как пользователи будут её применять.
👍29😁3❤2👎1
Do Batch Sizes Actually Need To Be Powers of 2?
Wandb fully-connected
Много кто из вас наверняка слышал что хороший batch size должен быть степенью двойки. Может быть кто-то слышал, что на самом деле батч сайз должен быть разделим на warp size вашей GPU (обычно 32 или 64). Но насколько это вообще правда?
Для современных нейронок (>100M парметров) делимость батч сайза на 2 (или даже 64) не решает вообще ничего. GPU и так занята полностью так как у таких сеток большие hidden size и seq len (вокруг которых и можно параллелить). А ещё вероятно что ваша GPU просто большую часть своего времени ждёт того как из HBM памяти веса и хиддены перегонятся в SM2 (a.k.a GPU is memory speed bounded).
В статье это вещи проверяют на практике с красивыми графиками в wandb. Оч рекомендую к прочтению, статья короткая.
Однако, от себя добавлю, что шейпы тензоров и правда должны быть кратны 32 (V100) или 64 (A100 и H100) хотя бы по hidden чтобы эффективно использовать CUDA Cores. Так как если кусок вашего тензора не делится на warp, низкоуровневый код на GPU всё равно превратит ваш 65x65 в четыре тензора: 64x64, 1x64, 64x1, 1x1 и потом западит их все до 64x64. PyTorch и CUDA стараются сделать автоматические оптимизации чтобы избежать таких плохих случаев, но не всегда получается. Если я где-то продолбался — пишите в комментариях!
💡Measuring the actual effect on training speed, accuracy and memory consumption when choosing a batch size should be preferred instead of focusing on powers of 2.
Wandb fully-connected
Много кто из вас наверняка слышал что хороший batch size должен быть степенью двойки. Может быть кто-то слышал, что на самом деле батч сайз должен быть разделим на warp size вашей GPU (обычно 32 или 64). Но насколько это вообще правда?
Для современных нейронок (>100M парметров) делимость батч сайза на 2 (или даже 64) не решает вообще ничего. GPU и так занята полностью так как у таких сеток большие hidden size и seq len (вокруг которых и можно параллелить). А ещё вероятно что ваша GPU просто большую часть своего времени ждёт того как из HBM памяти веса и хиддены перегонятся в SM2 (a.k.a GPU is memory speed bounded).
В статье это вещи проверяют на практике с красивыми графиками в wandb. Оч рекомендую к прочтению, статья короткая.
Однако, от себя добавлю, что шейпы тензоров и правда должны быть кратны 32 (V100) или 64 (A100 и H100) хотя бы по hidden чтобы эффективно использовать CUDA Cores. Так как если кусок вашего тензора не делится на warp, низкоуровневый код на GPU всё равно превратит ваш 65x65 в четыре тензора: 64x64, 1x64, 64x1, 1x1 и потом западит их все до 64x64. PyTorch и CUDA стараются сделать автоматические оптимизации чтобы избежать таких плохих случаев, но не всегда получается. Если я где-то продолбался — пишите в комментариях!
💡Measuring the actual effect on training speed, accuracy and memory consumption when choosing a batch size should be preferred instead of focusing on powers of 2.
W&B
Do Batch Sizes Actually Need To Be Powers of 2?
Is the fixation on powers of 2 for efficient GPU utilization an urban myth? In this article, we explore whether this argument is true when using today's GPUs.
🔥44👍20❤5🤔1
Teaching with AI
openai.com/blog/teaching-with-ai
OpenAI выпустил новый пост с гайдом о применении ChatGPT в образовании. Мне кажется что это одна из областей которую до неузнаваемости уже может изменить AI в его текущем проявлении.
В посте рассказывают про текущие успешные кейсы:
1. Role playing challenging conversations - например попросить chatgpt играть интервьюира или критика вашей работы
1. Building quizzes, tests, and lesson plans - составление материалов это очень тяжелая часть преподавания и держать их up to date может быть тяжело. С chatgpt вы же можете просто загрузить вашу лекцию и попросить сделать для неё квиз, ещё и в заданном стиле
1. Reducing friction for non-English speakers - на моём опыте GPT4 сильно обходит google translate в качестве перевода тк вы можете дать ему дополнительный контекст. Например попросить не переводить термины.
Дальше они приводят несколько примеров промптов. Вообще хотелось бы увидеть побольше в посте, но хотя бы мы видим что эта область OpenAI небезынтересна.
openai.com/blog/teaching-with-ai
OpenAI выпустил новый пост с гайдом о применении ChatGPT в образовании. Мне кажется что это одна из областей которую до неузнаваемости уже может изменить AI в его текущем проявлении.
В посте рассказывают про текущие успешные кейсы:
1. Role playing challenging conversations - например попросить chatgpt играть интервьюира или критика вашей работы
1. Building quizzes, tests, and lesson plans - составление материалов это очень тяжелая часть преподавания и держать их up to date может быть тяжело. С chatgpt вы же можете просто загрузить вашу лекцию и попросить сделать для неё квиз, ещё и в заданном стиле
1. Reducing friction for non-English speakers - на моём опыте GPT4 сильно обходит google translate в качестве перевода тк вы можете дать ему дополнительный контекст. Например попросить не переводить термины.
Дальше они приводят несколько примеров промптов. Вообще хотелось бы увидеть побольше в посте, но хотя бы мы видим что эта область OpenAI небезынтересна.
Openai
Teaching with AI
We’re releasing a guide for teachers using ChatGPT in their classroom—including suggested prompts, an explanation of how ChatGPT works and its limitations, the efficacy of AI detectors, and bias.
❤31👍6
Пример того о чём я говорил про качество перевода chatgpt / google translate. Для идиом или очень контекстуального перевода обычные переводчики всегда будут хуже языковых моделей.
❤26
I can see this conversation at Adept:
AAA: we need to beat LLAMA7b, how do we do it?
BBB: Train an 8B model?
AAA: you’re a genius!
https://www.adept.ai/blog/persimmon-8b
AAA: we need to beat LLAMA7b, how do we do it?
BBB: Train an 8B model?
AAA: you’re a genius!
https://www.adept.ai/blog/persimmon-8b
www.adept.ai
Releasing Persimmon-8B
We’re open-sourcing Persimmon-8B, the most powerful fully permissively-licensed language model with <10 billion parameters.
😁47💋2
Flash Attention 2 завезли прямо в 🤗 трансформеры 🔥🔥
Коротко, это мегаэффективный cuda kernel для рассчета attention, который делает ваше потребление памяти линейным вместо квадратичного, да и в принципе работает в несколько раз быстрее наивной имплементации к которой мы все привыкли.
Flash Attention 1 был в 🤗 Optimum и мой опыт с ним... такой себе. Теперь же Flash 2 встроен в основную библиотеку и чтобы его использовать надо просто указать use flash attention 2 в from pretrained.
https://x.com/younesbelkada/status/1705258148045750343
Коротко, это мегаэффективный cuda kernel для рассчета attention, который делает ваше потребление памяти линейным вместо квадратичного, да и в принципе работает в несколько раз быстрее наивной имплементации к которой мы все привыкли.
Flash Attention 1 был в 🤗 Optimum и мой опыт с ним... такой себе. Теперь же Flash 2 встроен в основную библиотеку и чтобы его использовать надо просто указать use flash attention 2 в from pretrained.
https://x.com/younesbelkada/status/1705258148045750343
🔥106👍6❤3
Forwarded from Техножрица 👩💻👩🏫👩🔧
Дорогие читатели!
Сегодня я сделала шпаргалку по самым известным научным конференциям уровня A* (по CORE2023), связанным с машинным обучением. Большими сойджеками выделены конференции с более высоким h5-индексом в Google Scholar, а маленькими - с h5-индексом поменьше. Забирайте на стену, чтобы не забыть, куда подавать статьи, чтобы потом делать самое сойджековское лицо в своем офисе!
#ML_в_мемах
Сегодня я сделала шпаргалку по самым известным научным конференциям уровня A* (по CORE2023), связанным с машинным обучением. Большими сойджеками выделены конференции с более высоким h5-индексом в Google Scholar, а маленькими - с h5-индексом поменьше. Забирайте на стену, чтобы не забыть, куда подавать статьи, чтобы потом делать самое сойджековское лицо в своем офисе!
#ML_в_мемах
👍33❤9🤮2
Effective Long-Context Scaling of Foundation Models
Xiong, Liu, et al., [FAIR]
arxiv.org/abs/2309.16039
Команда LLaMA взяла датасет с длинными текстами, (400B токенов в сумме), и увеличили контекст LLaMA2 с 4K до 32K токенов. Важный трюк: увеличить период RoPE embeddings с 10K до 50K.
Что интересно, выяснилось что предобучать модели на длинных контекстах с самого начала смысла нет. Для этого предобучили несколько LLaMA7B с нуля. Один из них всё время тренировался c 32K-len, другие модели первые 20/40/80% обучения тренировались с 4K, после чего прееключались на 32K. Разница получилась минимальной.
Кроме этого показали scaling law с длинной контекста (см. картинку). Это удобно тем что можно наперёд предсказывать лосс и использовать это как sanity check того что ваша тренировка идёт хорошо.
Финальные модельки обходят всё что есть в опенсорсе (на тот момент Mistral ещё не было). По метрикам в статье, включая human eval, LLaMA2 Long 70B работает так же хорошо как и chatgpt-3.5-16k.
Xiong, Liu, et al., [FAIR]
arxiv.org/abs/2309.16039
Команда LLaMA взяла датасет с длинными текстами, (400B токенов в сумме), и увеличили контекст LLaMA2 с 4K до 32K токенов. Важный трюк: увеличить период RoPE embeddings с 10K до 50K.
Что интересно, выяснилось что предобучать модели на длинных контекстах с самого начала смысла нет. Для этого предобучили несколько LLaMA7B с нуля. Один из них всё время тренировался c 32K-len, другие модели первые 20/40/80% обучения тренировались с 4K, после чего прееключались на 32K. Разница получилась минимальной.
Кроме этого показали scaling law с длинной контекста (см. картинку). Это удобно тем что можно наперёд предсказывать лосс и использовать это как sanity check того что ваша тренировка идёт хорошо.
Финальные модельки обходят всё что есть в опенсорсе (на тот момент Mistral ещё не было). По метрикам в статье, включая human eval, LLaMA2 Long 70B работает так же хорошо как и chatgpt-3.5-16k.
❤43🤯9🔥3
Новый дайджест из мира NLP
1. Лекции MIT по эффективному DL
1. Гайд по distributed training и PEFT
1. Deep Neural Networks Tend to Extrapolate Predictably — чем более OOD инпут тем больше решение сходится к среднему ответу (лучшему input-independent ответу)
1. Ring Attention with Blockwise Transformers for Near-Infinite Context — эффективная коммуникация для параллелизации attention между разными GPU
1. Value-Guided Monte-Carlo Tree Search decoding — MCTS применили к NLP и получилось отлично
Надеюсь что у вас все хорошо
🇮🇱
1. Лекции MIT по эффективному DL
1. Гайд по distributed training и PEFT
1. Deep Neural Networks Tend to Extrapolate Predictably — чем более OOD инпут тем больше решение сходится к среднему ответу (лучшему input-independent ответу)
1. Ring Attention with Blockwise Transformers for Near-Infinite Context — эффективная коммуникация для параллелизации attention между разными GPU
1. Value-Guided Monte-Carlo Tree Search decoding — MCTS применили к NLP и получилось отлично
Надеюсь что у вас все хорошо
🇮🇱
Sumanth's Personal Website
Everything about Distributed Training and Efficient Finetuning | Sumanth's Personal Website
A deep dive into distributed training and efficient finetuning - DeepSpeed ZeRO, FSDP, practical guidelines and gotchas with multi-GPU and multi-node training
🔥40❤10👍7😁1
Google закроет и этот продукт #293
Когда конкуренты в виде WandB и CometML начали давить на Tensorboard, гугл решил что их проблема не ненадёжный интерфейс, не невозможность строить графики с любыми X и Y уже после того как вы всё залогали, или очень убогий логгинг гиперпараметров. Гугл решили что проблема в том что у них нету своего облака для лога экспериментов и сделали tensorboard.dev
Сегодня это облако закрывается. Если вы храните на нём что-то полезное, в имеиле описано как это скачать.
Но серьёзно, кто-то ещё пользуется tensorboard вместо wandb/clearml?
Когда конкуренты в виде WandB и CometML начали давить на Tensorboard, гугл решил что их проблема не ненадёжный интерфейс, не невозможность строить графики с любыми X и Y уже после того как вы всё залогали, или очень убогий логгинг гиперпараметров. Гугл решили что проблема в том что у них нету своего облака для лога экспериментов и сделали tensorboard.dev
Сегодня это облако закрывается. Если вы храните на нём что-то полезное, в имеиле описано как это скачать.
Но серьёзно, кто-то ещё пользуется tensorboard вместо wandb/clearml?
😁28👍2😢2❤1
Forwarded from gonzo-обзоры ML статей
Я таки добрался поразвлекаться с GPT-4V и старыми картинками из классической работы:
https://gonzoml.substack.com/p/building-machines-that-learn-and
https://gonzoml.substack.com/p/building-machines-that-learn-and
Gonzo ML
"Building Machines That Learn and Think Like People", 7 years later
In the post about GPT-4V, I mentioned the paper “Building Machines That Learn and Think Like People” (https://arxiv.org/abs/1604.00289) by Brenden Lake, Tomer Ullman, Joshua Tenenbaum, and Samuel Gershman. In that seminal paper the authors suggested that…
🔥23👍2❤1🥱1
Large Language Models (in 2023)
Видео, слайды
Лекция от Hyung Won Chung из OpenAI о языковых модельках. Где мы находимся и куда мы идём. Очень рекомендую, а вот короткий пересказ:
Perspective of "Yet"
Если что-то не работает на текущем размере LLM, не стоит думать что это в принципе не работает, мы это много раз видели. Те свойства моделей которые мы нашли в 2022 могут не быть в моделях 2024 года. Из-за этого те кто только погружаются в DL могут иногда иметь лучшую интуицию чем те кто там уже давно и выработал её за предыдущие 10 лет. А ещё пишите свои скрипты так чтобы вы могли перезапустить их через год на новых модельках 😅
How is the scaling actually done?
Натренировать самую большую в мире модель гораздо сложнее чем просто написать новый конфиг где в 20 раз больше слоёв. Для эффективного использования серверов надо правильно понимать боттлеки в системах текущего размера и того размера которые вы хотите тренировать. Они могут быть разными.
Рассказал почему GSPMD так крут, и я теперь понял почему гугловцы так любили Mesh-Tensorflow. Для того чтобы параллелизовать матричное умножение в нём одновременно по нескольких осям (data parallel + tensor parallel + model parallel) вам не нужно переписывать модель, вы просто декорируете
Post-training
Тут классический рассказ о том как работает RLHF
Can we learn an objective function?
В RLHF мы больше не задаём reward-функцию, она выучивается другой моделью. Hyung Won Chung делает ещё один шаг и говорит что кросс-энтропия это серьёзный текущий боттлнек тк она может учить модель только очень конкретным вещам, таким как предсказание следующего токена. Возможно будущие модели мы будем учить на более абстрактых reward-функциях вместо этого. По аналогии с тем что мы со вреенем отказались от hand-written фичей в пользу DL и скоро мы откажемся от hand-written objective functions в пользу выучивания reward model.
Последний тейк интересен, мне лично в это не очень верится (так что скорее всего правда 🤣)
Видео, слайды
Лекция от Hyung Won Chung из OpenAI о языковых модельках. Где мы находимся и куда мы идём. Очень рекомендую, а вот короткий пересказ:
Perspective of "Yet"
Если что-то не работает на текущем размере LLM, не стоит думать что это в принципе не работает, мы это много раз видели. Те свойства моделей которые мы нашли в 2022 могут не быть в моделях 2024 года. Из-за этого те кто только погружаются в DL могут иногда иметь лучшую интуицию чем те кто там уже давно и выработал её за предыдущие 10 лет. А ещё пишите свои скрипты так чтобы вы могли перезапустить их через год на новых модельках 😅
How is the scaling actually done?
Натренировать самую большую в мире модель гораздо сложнее чем просто написать новый конфиг где в 20 раз больше слоёв. Для эффективного использования серверов надо правильно понимать боттлеки в системах текущего размера и того размера которые вы хотите тренировать. Они могут быть разными.
Рассказал почему GSPMD так крут, и я теперь понял почему гугловцы так любили Mesh-Tensorflow. Для того чтобы параллелизовать матричное умножение в нём одновременно по нескольких осям (data parallel + tensor parallel + model parallel) вам не нужно переписывать модель, вы просто декорируете
train_step
и пишите по каким осям тензоров он распределяется.Post-training
Тут классический рассказ о том как работает RLHF
Can we learn an objective function?
В RLHF мы больше не задаём reward-функцию, она выучивается другой моделью. Hyung Won Chung делает ещё один шаг и говорит что кросс-энтропия это серьёзный текущий боттлнек тк она может учить модель только очень конкретным вещам, таким как предсказание следующего токена. Возможно будущие модели мы будем учить на более абстрактых reward-функциях вместо этого. По аналогии с тем что мы со вреенем отказались от hand-written фичей в пользу DL и скоро мы откажемся от hand-written objective functions в пользу выучивания reward model.
Последний тейк интересен, мне лично в это не очень верится (так что скорее всего правда 🤣)
YouTube
Large Language Models (in 2023)
I gave a talk at Seoul National University.
I titled the talk “Large Language Models (in 2023)”. This was an ambitious attempt to summarize our exploding field.
Trying to summarize the field forced me to think about what really matters in the field. While…
I titled the talk “Large Language Models (in 2023)”. This was an ambitious attempt to summarize our exploding field.
Trying to summarize the field forced me to think about what really matters in the field. While…
🔥35👍7❤5🥰2