[Singapore] TinyLlama: An Open-Source Small Language Model
Peiyuan Zhang, Guangtao Zeng, Tianduo Wang, Wei Lu
Статья:https://arxiv.org/abs/2401.02385
Код: https://github.com/jzhang38/TinyLlama
В полку SLM (Small Language Models) прибыло! TinyLlama — это моделька размера 1.1B, обученная на 3T токенов! Для сравнения намного большую 70B Шиншиллу (https://news.1rj.ru/str/gonzo_ML/1216) обучали на меньшем датасете в 1.4T токенов. По рецептам Шиншиллы оптимальное обучение для 1B модели было бы на 20B токенов (https://news.1rj.ru/str/gonzo_ML/1223), а тут 3T, почувствуйте разницу! Кажется, это в первый раз для настолько малой модели.
Из других SLM за последнее время были, например, Phi 1 и 1.5 с 1.3B (https://news.1rj.ru/str/gonzo_ML/1871), Phi 2 c 2.7B (https://news.1rj.ru/str/gonzo_ML/2173) или Gemini Nano с 1.8B и 3.2B (https://news.1rj.ru/str/gonzo_ML/2117).
Это интересное направление, потому что в целом все бегут за большими размерами, и ниша малых моделей недоисследована, а с учётом важности инференса они не менее важны. При этом давно уже есть наблюдения, что можно пообучать модель сильно за пределами compute optimal рецептов Шиншиллы, и это продолжает приносить плоды.
Архитектура классическая, декодер трансформера по рецепту Llama 2 с её же токенизатором. Данные собрали из SlimPajama (почищенный вариант RedPajama) и Starcoderdata, суммарно 950B токенов, так что обучали примерно 3 эпохи. Сэмплили датасеты в пропорции 7:3.
При этом задействовали разные продвинутые штуки и взяли RoPE энкодинги, RMSNorm pre-norm, SwiGLU, grouped-query attention.
Для скейлинга и ускорения задействовали Fully Sharded Data Parallel (FSDP) из Пайторча, свежий Flash Attention 2, заменили fused SwiGLU из xFormers на оригинальный и сэкономили памяти (это, кстати, для меня удивительно, мои первые ожидания, что fused реализация должна быть лучше) -- это позволило уместить модель в 40Gb памяти.
В итоге на A100-40G получили training throughput в 24,000 токенов в секунду. Для обучения на 300B токенов TinyLlama-1.1B требуется 3,456 A100 GPU-часов, в то время как у Pythia эта цифра равна 4,830 и у MPT’s вообще 7,920 часов.
Использовали для обучения Lit-GPT (https://github.com/Lightning-AI/lit-gpt, базируется на nanoGPT). AdamW, cosine learning rate, warmup, gradient clipping.
Обучалось 90 дней на 16 A100-40G GPU. По ценам AWS на p4d (https://aws.amazon.com/ec2/instance-types/p4/) это было бы примерно $140k между прочим.
Результат хорошо бьёт бейзлайны в лице OPT-1.3B, Pythia-1.0B и Pythia-1.4B. На MMLU правда хуже. С увеличением вычислительного бюджета перформанс продолжает расти, не понял только почему он более шумным становится.
Кажется, работа -- верх открытости. Весь код обучения, промежуточные чекпойнты, все детали обучения доступны.
Респект!
Peiyuan Zhang, Guangtao Zeng, Tianduo Wang, Wei Lu
Статья:https://arxiv.org/abs/2401.02385
Код: https://github.com/jzhang38/TinyLlama
В полку SLM (Small Language Models) прибыло! TinyLlama — это моделька размера 1.1B, обученная на 3T токенов! Для сравнения намного большую 70B Шиншиллу (https://news.1rj.ru/str/gonzo_ML/1216) обучали на меньшем датасете в 1.4T токенов. По рецептам Шиншиллы оптимальное обучение для 1B модели было бы на 20B токенов (https://news.1rj.ru/str/gonzo_ML/1223), а тут 3T, почувствуйте разницу! Кажется, это в первый раз для настолько малой модели.
Из других SLM за последнее время были, например, Phi 1 и 1.5 с 1.3B (https://news.1rj.ru/str/gonzo_ML/1871), Phi 2 c 2.7B (https://news.1rj.ru/str/gonzo_ML/2173) или Gemini Nano с 1.8B и 3.2B (https://news.1rj.ru/str/gonzo_ML/2117).
Это интересное направление, потому что в целом все бегут за большими размерами, и ниша малых моделей недоисследована, а с учётом важности инференса они не менее важны. При этом давно уже есть наблюдения, что можно пообучать модель сильно за пределами compute optimal рецептов Шиншиллы, и это продолжает приносить плоды.
Архитектура классическая, декодер трансформера по рецепту Llama 2 с её же токенизатором. Данные собрали из SlimPajama (почищенный вариант RedPajama) и Starcoderdata, суммарно 950B токенов, так что обучали примерно 3 эпохи. Сэмплили датасеты в пропорции 7:3.
При этом задействовали разные продвинутые штуки и взяли RoPE энкодинги, RMSNorm pre-norm, SwiGLU, grouped-query attention.
Для скейлинга и ускорения задействовали Fully Sharded Data Parallel (FSDP) из Пайторча, свежий Flash Attention 2, заменили fused SwiGLU из xFormers на оригинальный и сэкономили памяти (это, кстати, для меня удивительно, мои первые ожидания, что fused реализация должна быть лучше) -- это позволило уместить модель в 40Gb памяти.
В итоге на A100-40G получили training throughput в 24,000 токенов в секунду. Для обучения на 300B токенов TinyLlama-1.1B требуется 3,456 A100 GPU-часов, в то время как у Pythia эта цифра равна 4,830 и у MPT’s вообще 7,920 часов.
Использовали для обучения Lit-GPT (https://github.com/Lightning-AI/lit-gpt, базируется на nanoGPT). AdamW, cosine learning rate, warmup, gradient clipping.
Обучалось 90 дней на 16 A100-40G GPU. По ценам AWS на p4d (https://aws.amazon.com/ec2/instance-types/p4/) это было бы примерно $140k между прочим.
Результат хорошо бьёт бейзлайны в лице OPT-1.3B, Pythia-1.0B и Pythia-1.4B. На MMLU правда хуже. С увеличением вычислительного бюджета перформанс продолжает расти, не понял только почему он более шумным становится.
Кажется, работа -- верх открытости. Весь код обучения, промежуточные чекпойнты, все детали обучения доступны.
Респект!
arXiv.org
TinyLlama: An Open-Source Small Language Model
We present TinyLlama, a compact 1.1B language model pretrained on around 1 trillion tokens for approximately 3 epochs. Building on the architecture and tokenizer of Llama 2, TinyLlama leverages...
👍40🔥14❤7
Beyond Chinchilla-Optimal: Accounting for Inference in Language Model Scaling Laws
Nikhil Sardana, Jonathan Frankle
Статья:https://arxiv.org/abs/2401.00448
Продолжаем тему про оптимальные режимы обучения LLM с учётом инференса и выход за границы рецептов Шиншиллы.
Инференс -- основной этап жизненного цикла большинства моделей. В области software engineering это полностью аналогично этапу эксплуатации программы, именно там она проживает большую часть своей жизни. Разработка и обучение -- это так, короткий момент детства. Особенно это важно для открытых моделей, да и для закрытых тоже, когда они деплоятся на кучу устройств.
Суперзакрытая GPT-3 в 2021 генерила 4.5B слов в день (https://openai.com/blog/gpt-3-apps), а у Character.ai в конце 2022 эта цифра была 1B (https://blog.character.ai/introducing-character/). После запуска ChatGPT и с новыми улучшенными GPT-3.5 и 4 Turbo цифры наверняка значительно выше. Плюс если перевести в токены, то это ещё раза в полтора надо умножить для английского (который, наверное, основной язык, для других эта цифра заметно выше).
Вообще, если предположить, что популярная модель генерит 10B токенов в день (допустим, что токены промпта сюда включены), то при обучении на 3T токенов (как TinyLlama, https://news.1rj.ru/str/gonzo_ML/2251) цифры обработанных токенов сравняются через 300 дней. При нынешней скорости прогресса, за год модель может успеть и задепрекейтиться… Так, GPT-4 вышла в марте 2023 (https://news.1rj.ru/str/gonzo_ML/1383), а более новая GPT-4 Turbo в ноябре 2023 (https://news.1rj.ru/str/gonzo_ML/2055), и она в целом лучше и, что ещё более важно, сильно дешевле старой модели. Оставляем за скобками, что обучены они были ещё сильно раньше, и что для обучения новой модели может использоваться старая.
В общем при всей сложности экономики процесса, инференс важен, и его надо учитывать наравне с обучением.
Первый большой прорыв в поиске оптимальных режимов (с точки зрения вычислительного бюджета, размера модели и количества токенов в обучении) произошёл в работе про Chinchilla (https://news.1rj.ru/str/gonzo_ML/1216). После той работы многие начали использовать найденные в ней рецепты, где количество токенов должно скейлиться в той же пропорции, что и число параметров модели. Некоторые модели при этом уже выходили сильно за этот рецепт, те же LLaMa и Llama 2. На обучении различных моделей было видно, что графики лосса и качества решения downstream задач не выходят на плато, можно продолжать и дальше.
В этом месте возникает логичный trade-off, 1) обучить большую модель по [уже] классическим рецептам Шиншиллы, или 2) обучить модель поменьше размером, но на большем числе токенов. Если итоговое качество одинаковое, то у второго варианта есть выигрыш в инференсе -- сэкономим кучу ресурсов, а может также и откроем новые рынки, если модель можно гонять на устройствах меньшей мощности, куда большая модель не лезет.
Очень прав был Ричард Хэмминг, когда он рассматривал эволюцию железа, софта и приложений в контексте экономики (если ещё не читали его “The Art of Doing Science and Engineering”, то это must read, https://press.stripe.com/the-art-of-doing-science-and-engineering):
“Computers have opened the door much more generally to the mass production of a variable product, regardless of what it is: numbers, words, word processing, making furniture, weaving, or what have you. They enable us to deal with variety without excessive standardization, and hence we can evolve more rapidly to a desired future!”
Эта цитата, мне кажется, тоже очень в тему того, что сейчас происходит вокруг AI, Foundation Models и LLM в частности.
Возвращаясь к статье, авторы обновляют scaling laws Шиншиллы, чтобы учесть в них массовый инференс и выступают за более долгое обучение меньших моделей. В формулировке они исходят из того, что количество запросов на инференс не зависит от размера модели (при условии одинакового качества).
Nikhil Sardana, Jonathan Frankle
Статья:https://arxiv.org/abs/2401.00448
Продолжаем тему про оптимальные режимы обучения LLM с учётом инференса и выход за границы рецептов Шиншиллы.
Инференс -- основной этап жизненного цикла большинства моделей. В области software engineering это полностью аналогично этапу эксплуатации программы, именно там она проживает большую часть своей жизни. Разработка и обучение -- это так, короткий момент детства. Особенно это важно для открытых моделей, да и для закрытых тоже, когда они деплоятся на кучу устройств.
Суперзакрытая GPT-3 в 2021 генерила 4.5B слов в день (https://openai.com/blog/gpt-3-apps), а у Character.ai в конце 2022 эта цифра была 1B (https://blog.character.ai/introducing-character/). После запуска ChatGPT и с новыми улучшенными GPT-3.5 и 4 Turbo цифры наверняка значительно выше. Плюс если перевести в токены, то это ещё раза в полтора надо умножить для английского (который, наверное, основной язык, для других эта цифра заметно выше).
Вообще, если предположить, что популярная модель генерит 10B токенов в день (допустим, что токены промпта сюда включены), то при обучении на 3T токенов (как TinyLlama, https://news.1rj.ru/str/gonzo_ML/2251) цифры обработанных токенов сравняются через 300 дней. При нынешней скорости прогресса, за год модель может успеть и задепрекейтиться… Так, GPT-4 вышла в марте 2023 (https://news.1rj.ru/str/gonzo_ML/1383), а более новая GPT-4 Turbo в ноябре 2023 (https://news.1rj.ru/str/gonzo_ML/2055), и она в целом лучше и, что ещё более важно, сильно дешевле старой модели. Оставляем за скобками, что обучены они были ещё сильно раньше, и что для обучения новой модели может использоваться старая.
В общем при всей сложности экономики процесса, инференс важен, и его надо учитывать наравне с обучением.
Первый большой прорыв в поиске оптимальных режимов (с точки зрения вычислительного бюджета, размера модели и количества токенов в обучении) произошёл в работе про Chinchilla (https://news.1rj.ru/str/gonzo_ML/1216). После той работы многие начали использовать найденные в ней рецепты, где количество токенов должно скейлиться в той же пропорции, что и число параметров модели. Некоторые модели при этом уже выходили сильно за этот рецепт, те же LLaMa и Llama 2. На обучении различных моделей было видно, что графики лосса и качества решения downstream задач не выходят на плато, можно продолжать и дальше.
В этом месте возникает логичный trade-off, 1) обучить большую модель по [уже] классическим рецептам Шиншиллы, или 2) обучить модель поменьше размером, но на большем числе токенов. Если итоговое качество одинаковое, то у второго варианта есть выигрыш в инференсе -- сэкономим кучу ресурсов, а может также и откроем новые рынки, если модель можно гонять на устройствах меньшей мощности, куда большая модель не лезет.
Очень прав был Ричард Хэмминг, когда он рассматривал эволюцию железа, софта и приложений в контексте экономики (если ещё не читали его “The Art of Doing Science and Engineering”, то это must read, https://press.stripe.com/the-art-of-doing-science-and-engineering):
“Computers have opened the door much more generally to the mass production of a variable product, regardless of what it is: numbers, words, word processing, making furniture, weaving, or what have you. They enable us to deal with variety without excessive standardization, and hence we can evolve more rapidly to a desired future!”
Эта цитата, мне кажется, тоже очень в тему того, что сейчас происходит вокруг AI, Foundation Models и LLM в частности.
Возвращаясь к статье, авторы обновляют scaling laws Шиншиллы, чтобы учесть в них массовый инференс и выступают за более долгое обучение меньших моделей. В формулировке они исходят из того, что количество запросов на инференс не зависит от размера модели (при условии одинакового качества).
👍11🔥3❤2
Цель: минимизация суммарных FLOPS на обучение и весь инференс. Для трансформера с N параметров используется стандартная аппроксимация для FLOPS: 6N на токен обучения и 2N на токен в инференсе, соответственно нужно найти argmin 6NDtr + 2NDinf, где Dtr и Dinf -- число токенов в обучении и инференсе соответственно.
Задача в работе про Шиншиллу ставилась как “при заданном вычислительном бюджете найти оптимальные N (параметры) и Dtr (токены), минимизирующие лосс предобучения”.
В текущей работе задача иная “при заданном лоссе найти N и Dtr, минимизирующие стоимость компьюта”. Стоимость компьюта зависит от будущего инференса, так что его надо оценить до обучения.
Полученные графики показывают отношение предлагаемых работой FLOPs, параметров и токенов предобучения к значениям оптимальным для Шиншиллы. Это представлено в виде кривых для разных значений лосса и потребностей в инференсе. Когда потребности в инференсе невелики, то Шиншилла оптимальна.
Например, для модели уровня качества Chinchilla-7B при потребности в инференсе 10^11 токенов оптимальнее обучить 6B модель на 1.18x оригинальных данных. Этот выбор приведёт к уменьшению итоговых FLOPs.
Но интереснее конечно не FLOPs уменьшать, а деньги. На инференсе и на обучении загрузка (Model FLOPs Utilization, MFU) железа очень разная, последовательная генерация приводит к особенно низкой загрузке. К тому же на инференсе можно сделать квантизацию и на том же железе более эффективно это считать. А ещё можно и инференс на другом более дешёвом железе делать…
В обновлённую формулу добавляются MFU обучения и инференса, а также цена за FLOPs, получаются другие кривые (подразумевая обучение на A100-80GB, инференс на A100-40GB с квантизацией INT8 и по ценам Lambda Labs). Короче, можно экономить. В некоторых условиях до 50%+.
Тренд на обучение меньших моделей подольше вовсю цветёт и разворачивается!
Задача в работе про Шиншиллу ставилась как “при заданном вычислительном бюджете найти оптимальные N (параметры) и Dtr (токены), минимизирующие лосс предобучения”.
В текущей работе задача иная “при заданном лоссе найти N и Dtr, минимизирующие стоимость компьюта”. Стоимость компьюта зависит от будущего инференса, так что его надо оценить до обучения.
Полученные графики показывают отношение предлагаемых работой FLOPs, параметров и токенов предобучения к значениям оптимальным для Шиншиллы. Это представлено в виде кривых для разных значений лосса и потребностей в инференсе. Когда потребности в инференсе невелики, то Шиншилла оптимальна.
Например, для модели уровня качества Chinchilla-7B при потребности в инференсе 10^11 токенов оптимальнее обучить 6B модель на 1.18x оригинальных данных. Этот выбор приведёт к уменьшению итоговых FLOPs.
Но интереснее конечно не FLOPs уменьшать, а деньги. На инференсе и на обучении загрузка (Model FLOPs Utilization, MFU) железа очень разная, последовательная генерация приводит к особенно низкой загрузке. К тому же на инференсе можно сделать квантизацию и на том же железе более эффективно это считать. А ещё можно и инференс на другом более дешёвом железе делать…
В обновлённую формулу добавляются MFU обучения и инференса, а также цена за FLOPs, получаются другие кривые (подразумевая обучение на A100-80GB, инференс на A100-40GB с квантизацией INT8 и по ценам Lambda Labs). Короче, можно экономить. В некоторых условиях до 50%+.
Тренд на обучение меньших моделей подольше вовсю цветёт и разворачивается!
❤8👍4🔥2👏1
gonzo-обзоры ML статей
Продолжаем линию маленьких моделей, Microsoft анонсировал phi-2. https://www.microsoft.com/en-us/research/blog/phi-2-the-surprising-power-of-small-language-models/ We are now releasing Phi-2, a 2.7 billion-parameter language model that demonstrates outstanding…
huggingface.co
microsoft/phi-2 · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
🔥40❤1
gonzo-обзоры ML статей
[GFlowNets]: Flow Network based Generative Models for Non-Iterative Diverse Candidate Generation Emmanuel Bengio, Moksh Jain, Maksym Korablyov, Doina Precup, Yoshua Bengio Статья: https://arxiv.org/abs/2106.04399 Код: https://github.com/GFNOrg/gflownet Пост:…
Продолжая тему с GFlowNets, Йошуа Бенжио набирает постдоков, исследователей и инженеров в свою группу по работе над AI Alignment с вероятностными гарантиями безопасности. И отдельно ищет себе сильного постдока на тему про GFlowNets с применением к AI Safety. Пишите!
"I am looking for postdocs, research engineers and research scientists who would like to join me in one form or another in figuring out AI alignment with probabilistic safety guarantees, along the lines of the research program described in my keynote (https://www.alignment-workshop.com/nola-2023) at the New Orleans December 2023 Alignment Workshop.
I am also specifically looking for a postdoc with a strong mathematical background (ideally an actual math or math+physics or math+CS degree) to take a leadership role in supervising the Mila research on probabilistic inference and GFlowNets, with applications in AI safety, system 2 deep learning, and AI for science.
Please contact me if you are interested."
https://www.facebook.com/yoshua.bengio/posts/pfbid02EhTdd3HFEfhj2qfTqCKMrJCqjHPa9gu8A8tm8d6jrsqpN5znG2nGYonFEtLob5Bxl
Также смотрите его тематический кейноут про AI Alignment и немного про GFlowNets:
https://slideslive.com/39014230/towards-quantitative-safety-guarantees-and-alignment
"I am looking for postdocs, research engineers and research scientists who would like to join me in one form or another in figuring out AI alignment with probabilistic safety guarantees, along the lines of the research program described in my keynote (https://www.alignment-workshop.com/nola-2023) at the New Orleans December 2023 Alignment Workshop.
I am also specifically looking for a postdoc with a strong mathematical background (ideally an actual math or math+physics or math+CS degree) to take a leadership role in supervising the Mila research on probabilistic inference and GFlowNets, with applications in AI safety, system 2 deep learning, and AI for science.
Please contact me if you are interested."
https://www.facebook.com/yoshua.bengio/posts/pfbid02EhTdd3HFEfhj2qfTqCKMrJCqjHPa9gu8A8tm8d6jrsqpN5znG2nGYonFEtLob5Bxl
Также смотрите его тематический кейноут про AI Alignment и немного про GFlowNets:
https://slideslive.com/39014230/towards-quantitative-safety-guarantees-and-alignment
far.ai
New Orleans Alignment Workshop | Events at FAR.AI
December 10 – 11, 2023. New Orleans, LA. Yoshua Bengio: Towards Quantitative Safety Guarantees and Alignment
❤10👍7
Прикольная статья из серии "на почитать".
Perspectives on the State and Future of Deep Learning - 2023
Micah Goldblum, Anima Anandkumar, Richard Baraniuk, Tom Goldstein, Kyunghyun Cho, Zachary C Lipton, Melanie Mitchell, Preetum Nakkiran, Max Welling, Andrew Gordon Wilson
https://arxiv.org/abs/2312.09323
"The goal of this series is to chronicle opinions and issues in the field of machine learning as they stand today and as they change over time. The plan is to host this survey periodically until the AI singularity paperclip-frenzy-driven doomsday, keeping an updated list of topical questions and interviewing new community members for each edition. In this issue, we probed people’s opinions on interpretable AI, the value of benchmarking in modern NLP, the state of progress towards understanding deep learning, and the future of academia."
Пересказывать тут особо нечего, читайте и найдёте что-то для себя. Мне вот ответы Andrew Gordon Wilson понравились, достаточно глубокие и с кучей ссылок. Узнал про его прикольный проект "CoLA: Exploiting Compositional Structure for Automatic and Efficient Numerical Linear Algebra" (https://arxiv.org/abs/2309.03060, https://github.com/wilson-labs/cola).
Perspectives on the State and Future of Deep Learning - 2023
Micah Goldblum, Anima Anandkumar, Richard Baraniuk, Tom Goldstein, Kyunghyun Cho, Zachary C Lipton, Melanie Mitchell, Preetum Nakkiran, Max Welling, Andrew Gordon Wilson
https://arxiv.org/abs/2312.09323
"The goal of this series is to chronicle opinions and issues in the field of machine learning as they stand today and as they change over time. The plan is to host this survey periodically until the AI singularity paperclip-frenzy-driven doomsday, keeping an updated list of topical questions and interviewing new community members for each edition. In this issue, we probed people’s opinions on interpretable AI, the value of benchmarking in modern NLP, the state of progress towards understanding deep learning, and the future of academia."
Пересказывать тут особо нечего, читайте и найдёте что-то для себя. Мне вот ответы Andrew Gordon Wilson понравились, достаточно глубокие и с кучей ссылок. Узнал про его прикольный проект "CoLA: Exploiting Compositional Structure for Automatic and Efficient Numerical Linear Algebra" (https://arxiv.org/abs/2309.03060, https://github.com/wilson-labs/cola).
arXiv.org
Perspectives on the State and Future of Deep Learning - 2023
The goal of this series is to chronicle opinions and issues in the field of machine learning as they stand today and as they change over time. The plan is to host this survey periodically until...
👍26❤2🔥1
NVIDIA анонсировала на CES 2024 обновление линейки карт GeForce RTX 40 добавкой карт SUPER (https://nvidianews.nvidia.com/news/geforce-rtx-40-super-series): 4080 SUPER, 4070 Ti SUPER, 4070 SUPER.
Каким-то особым прорывом не выглядит, флагман 4090 всё равно быстрее (https://www.nvidia.com/en-gb/geforce/graphics-cards/compare/). С другой стороны неплохая производительность меньше чем за $1000.
Каким-то особым прорывом не выглядит, флагман 4090 всё равно быстрее (https://www.nvidia.com/en-gb/geforce/graphics-cards/compare/). С другой стороны неплохая производительность меньше чем за $1000.
NVIDIA Blog
NVIDIA Reveals Gaming, Creating, Generative AI, Robotics Innovations at CES
Generative AI models that will bring lifelike characters to games and applications and new GPUs for gamers and creators were among the highlights of NVIDIA's news-packed address ahead of CES.
👍9💩5