gonzo-обзоры ML статей страница 1. Показано 50 статей из 305
2024-03-10 12:14:57
[Allen AI] OLMo: Accelerating the Science of Language Models
Dirk Groeneveld, Iz Beltagy, Pete Walsh, Akshita Bhagia, Rodney Kinney, Oyvind Tafjord, Ananya Harsh Jha, Hamish Ivison, Ian Magnusson, Yizhong Wang, Shane Arora, David Atkinson, Russell Authur, Khyathi Raghavi Chandu, Arman Cohan, Jennifer Dumas, Yanai Elazar, Yuling Gu, Jack Hessel, Tushar Khot, William Merrill, Jacob Morrison, Niklas Muennighoff, Aakanksha Naik, Crystal Nam, Matthew E. Peters, Valentina Pyatkin, Abhilasha Ravichander, Dustin Schwenk, Saurabh Shah, Will Smith, Emma Strubell, Nishant Subramani, Mitchell Wortsman, Pradeep Dasigi, Nathan Lambert, Kyle Richardson, Luke Zettlemoyer, Jesse Dodge, Kyle Lo, Luca Soldaini, Noah A. Smith, Hannaneh Hajishirzi
Статья: https://arxiv.org/abs/2402.00838
Модели: https://huggingface.co/allenai/OLMo-7B
Код: https://github.com/allenai/OLMo
Датасет: https://huggingface.co/datasets/allenai/dolma
Evaluation: https://github.com/allenai/OLMo-Eval
Adaptation: https://github.com/allenai/open-instruct
W&B Logs: https://wandb.ai/ai2-llm/OLMo-7B/reports/OLMo-7B--Vmlldzo2NzQyMzk5
Allen AI (в основном) и представители четырех университетов анонсировали истинно открытую модель OLMo. Как они пишут “a state-of-the-art, truly Open Language Model”. Открыто, кажется, всё: кроме обычно опубликованных весов, иногда опубликованных кода для обучения и датасета, здесь открыт весь фреймворк, включая логи и скрипты оценки, всё под Apache 2.0 License. Есть и чекпойнты на HF. В первую очередь нацелены на исследователей языковых моделей.
До них похожую степень открытости демонстрировал консорциум BigScience с моделью BLOOM (https://bigscience.huggingface.co/blog/bloom), но их модели по размеру (176B) были не для простых смертных, да и по нынешним временам уже не в топе. Из более доступных были также Pythia (https://github.com/EleutherAI/pythia) и LLM360 (https://www.llm360.ai/blog/introducing-llm360-fully-transparent-open-source-llms.html).
OLMo это классический декодер трансформера (как GPT) с некоторыми улучшениями: no biases, non-parametric formulation of layer norm (без адаптивного линейного преобразования), SwiGLU, RoPE эмбеддинги, BPE-токенизатор (модифицированный GPT-NeoX-20B) со словарём в 50,280 с отдельными токенами для скрытия персданных (personal identifiable information, PII). Сравнение с недавней Gemma (https://t.me/gonzo_ML/2389) есть тут https://lightning.ai/lightning-ai/studios/understanding-using-and-finetuning-gemma.
В семействе три модели: 1B, 7B и 65B (ещё варится). Первые две обучены на 2T и 2.46T токенов. Это примерно те же числа, что у Llama 2 7B и Gemma 2B -- там 2T, больше чем у Phi-2 2.7B c 1.4T, но меньше Gemma 7B с 6T (https://huggingface.co/blog/gemma).
Датасет -- их же открытый Dolma (https://arxiv.org/abs/2402.00159) с 3T токенами и 5B документов. В той же работе, кстати, была и Olmo-1b обучена. Сейчас датасет в основном английский, но в будущем планируют расширить на другие языки. Как с этим можно жить, если надо не только английский, один из вариантов тут: https://inten.to/blog/when-genai-still-needs-mt/.
Предобученные модели файнтюнили для чата на Open Instruct (TÜLU, https://arxiv.org/abs/2311.10702). Для этого делали instruction fine-tuning + DPO на preferences.
Для оценки чекпойнтов модели использовали их же бенчмарк Paloma (Perplexity Analysis For Language Model Assessment, https://arxiv.org/abs/2312.10523) и фреймворк оценки Catwalk (https://arxiv.org/abs/2312.10253).
Обучали с PyTorch FSDP (https://pytorch.org/tutorials/intermediate/FSDP_tutorial.html) с mixed-precision training. Оптимизатор AdamW, обучалось одну эпоху на отобранных 2T токенах из 3T.
2024-03-10 12:14:57
Что прикольно, проверили на двух разных кластерах: LUMI с AMD MI250X (до 256 нод с 4 GPU каждая с 128GB) и MosaicML с NVIDIA A100 (27 нод с 8 GPU и 40GB). С незначительными отличиями в настройках (размер батча) итоговый перформанс моделей получился почти идентичный. Было бы интересно сравнить с точки зрения эффективности самих кластеров и затрат на них. По количеству GPU вроде как LUMI почти в 4 раза больше железа задействовал, а по памяти он вообще был в 15 раз больше (131TB против 8.6TB). Непонятно, почему так.
По результатам на zero-shot, OLMo где-то чуть ниже Лам (первой и второй), Falcon и MPT. В сравнении с instruction-tuned версиями где-то на уровне Llama-2-Chat. В целом по цифрам заметно отстаёт от топовых на сейчас моделей, той же Gemma 7B, но Gemma не настолько открытая, она open, но не open source.
Как теперь принято, посчитали углеродный след. В кластере LUMI он нулевой (потому что на энергии от гидроэлектростанции работает), в кластере с NVIDIA в Австралии получилось 70 tCO2eq. Если я правильно понимаю, то полёт туда-обратно между Бостоном и Лондоном даёт тонну на человека (https://climate.mit.edu/ask-mit/how-much-ton-carbon-dioxide), и если там летят условно 300 человек, то это четыре таких обучения моделей.
Ну в общем круто, что всё выложено, research делать на этом должно быть просто. А с точки зрения коммерческих применений, наверное, лучше файнтюнить Gemma 7B.
2024-03-09 10:50:11
Субботнее чтиво.
IEEE Spectrum сделали прикольный формат -- science fiction с комментариями на тему создания действительно большого компьютера.
https://spectrum.ieee.org/hard-science-fiction-computer
2024-03-07 23:41:43
На случай, если кому не спится
https://youtu.be/5t1vTLU7s40?si=C1--eLfOS2c1_vRH
2024-03-07 08:08:28
Openness increases the rate of improvement
Over the past week, Unsloth has been hard at work finding and fixing Gemma bugs. At first, Google showcased Gemma’s promising results however, many problems like discrepancies in loss values made us step in to help Gemma live up to its initial promise.
We've already pushed all the fixes in our free Colab notebooks but not elsewhere. Here are the bugs we found:
1. Must add <bos>
2. Paper typo? <end_of_turn>model
3. sqrt(3072)=55.4256 but bfloat16 is 55.5
4. Layernorm (w+1) should be done in float32
5. Keras mixed_bfloat16 RoPE is wrong
6. RoPE is sensitive to a*(1/x) vs a/x
7. RoPE should be float32 not bfloat16 (Fixed in Hugging Face 4.38.2)
8. GELU should be approx tanh not exact (Ongoing PR)
https://unsloth.ai/blog/gemma-bugs
2024-03-05 22:25:05
И ещё до кучи про свежего Клода
https://twitter.com/hahahahohohe/status/1765088860592394250?t=PHcRVaE6GFXLDXpBVQE-IA&s=19
Это безумно круто (если правда)
2024-03-05 19:28:19
Пока я не написал новых обзоров, вот вам прекрасное от Миши
https://twitter.com/Mihonarium/status/1764757694508945724?t=Dd9uWyGLPmG0wsP6vWQxRQ&s=19
Или ещё вот:
https://www.lesswrong.com/posts/pc8uP4S9rDoNpwJDZ/claude-3-claims-its-conscious
2024-03-04 16:02:01
Anthropic только что анонсировал новое поколение своих моделей, Claude 3. В семействе три модели, от простой до топовой: Claude 3 Haiku, Claude 3 Sonnet, Claude 3 Opus.
По бенчмаркам выглядит серьёзным конкурентом GPT и Gemini. Поддерживается зрительная модальность.
https://www.anthropic.com/news/claude-3-family
2024-02-29 20:27:10
Мы в прошлом году поисследовали разные вещи про LLM и MT (машинный перевод).
#1. Во-первых, как LLM работает в качестве MT.
Работает и весьма неплохо (за исключением latency). Особенно рулят цена и потенциальная гибкость настроек.
Результаты тут: https://inten.to/blog/generative-ai-for-translation-in-2024/
#2. Во-вторых, и менее ожидаемо, как MT помогает LLM.
Результаты интересные, местами очень неплохо помогает, в основном для LLM "второго эшелона", в частности опенсорсной Ламе.
Результаты тут: https://inten.to/blog/when-genai-still-needs-mt
#3. А для тех, кому некогда было следить за новостями коммерческих LLM, собрали краткую подборку важных новостей за последние месяца три
https://inten.to/blog/recent-key-highlights-in-genai/
2024-02-29 14:45:43
Llama 3 обещают теперь в июле.
https://www.reuters.com/technology/meta-plans-launch-new-ai-language-model-llama-3-july-information-reports-2024-02-28
2024-02-26 17:58:21
И да, напоминаю, что у канала есть Патреон (https://patreon.com/GonzoML), если хотите поддержать, что я делаю.
2024-02-26 17:53:36
Попросил ChatGPT (Gemini не умеет) сгенерить картинку по тексту этого поста, но полный текст поста туда не влез 🙂 И вообще туда много чего не влезло :))) Есть ещё над чем работать.
2024-02-26 17:36:18
И это только задачи на поверхности. Если копнуть глубже, их должно быть очень много. Я практически уверен, что мы увидим тут Jevons paradox (https://en.wikipedia.org/wiki/Jevons_paradox) во всей красе, использование всех этих моделей только увеличится.
6) Очень важный и очень при этом сложный класс решений -- валидация результата модели. Здесь будут решения, за которые многие [компании] будут готовы платить. Но надёжно сделать такое решение будет непросто. Ну вы тут тоже всё поняли.
7) Реально непонятно как в ближайшем будущем изменится работа для условных джунов. И будет ли она для них вообще. А если не будет, то откуда потом возьмутся миддлы и сеньоры. Не только и не столько в программировании, но и в других областях. В создании контента во многих задачах модели их превзойдут или будут существенно более дешёвой и быстрой альтернативой. Остаётся технически сложная область валидации контента -- вероятно туда и перетекут их активности. Но это не точно. Ожидаю существенного изменения содержания работы и появления совершенно новых тулов, которых ещё пока нет (ещё один ну, и наверное этим уже занимается условный JetBrains).
Не знаю, сколько там у OpenAI времени до создания AGI, когда они типа должны пересмотреть свои отношения с Microsoft и вообще решить, как на этом правильно зарабатывать. Но даже без этого они и Гугл уже выступают продавцами интеллекта на развес. Непонятно, что там будет с миром дальше, но как в промышленную революцию одни страны ушли сильно вперёд других, так и тут будет всё то же, но ещё быстрее.
2024-02-26 17:36:17
Большой пост про большой контекст
Размер контекста в современных моделях (то максимальное количество токенов, которое они могут переварить за один раз) неуклонно растёт. Сначала переход от двух или четырёх тысяч токенов к восьми казался большим достижением. Потом появились модели до 32k токенов, но они долго были ограниченно доступны, а когда вышли в массы, оказались уже безнадёжно устаревшими, потому что у одного из лидеров индустрии (Anthropic) были уже модели со 100k. Теперь лимиты публичных моделей в районе от 128k (GPT-4 Turbo) до 200k (Anthropic). Гугл отставал в этой гонке, его публичные модели максимум покрывали 32k (специальные версии PaLM 2 и все версии Gemini 1.0). Прорыв наметился с Gemini 1.5 (https://t.me/gonzo_ML/2350), у которой по дефолту те же типовые нынче 128k, но есть непубличная версия с 1M токенов, и research версия с 10M.
Отдельный интересный вопрос, как именно добились такого большого контекста, который ещё и работает. Есть разные свежие заходы с различных сторон, например, LongRoPE (https://arxiv.org/abs/2402.13753), LongNet с dilated attention (https://arxiv.org/abs/2307.02486), RingAttention (https://arxiv.org/abs/2310.01889) или там недавно упоминавшийся RMT-R (https://t.me/gonzo_ML/2377). Интересно, что именно сделал Гугл.
Такие новые лимиты скорее всего очень сильно поменяют практики работы с моделями. Хочется немного порассуждать про это ближайшее будущее.
1) Во-первых, старые техники RAG, отчасти призванные обойти ограничения малого окна контекста при необходимости работы с длинными документами, должны отмереть. Или по крайней мере остаться только для специальных случаев типа необходимости подтягивать свежие или какие-то другие особо релевантные материалы.
Всякие langchain’овские сплиттеры (https://python.langchain.com/docs/modules/data_connection/document_transformers/) режущие в основном по длине (ну с учётом более подходящих точек для разрезания в некоторых случаях) и раньше были УГ -- смотреть на эти порезанные абзацы без слёз было сложно, хотя как-то оно работало.
Даже при наличии способности к нормальному нарезанию на вменяемые куски, всё равно нужна эта разная обвязка, которая будет там что-то матчить и выбирать более подходящие куски, агрегировать результаты и прочее. Теперь этой хренью потенциально вообще не надо заниматься, и это хорошо.
Ну то есть в некоторых случаях оно всё равно конечно нужно и может повысить качество решения, но это надо смотреть. Я в целом верю в end-to-end решения и вытеснение со временем большинства этих костылей.
2) 1M токенов это прям реально дофига, теперь в контекст можно засунуть много статей, целые кодовые репозитории или большие книги. А с учётом мультимодальности и способности современных моделей обрабатывать ещё и картинки, видео и аудио (путём преобразования их в специальные нетекстовые токены), зугружать туда часы видео или речевых записей.
С учётом того, что модели хорошо проходят (https://t.me/gonzo_ML/2351) Needle In A Haystack тесты (https://github.com/gkamradt/LLMTest_NeedleInAHaystack), можно получать вполне релевантные ответы при работе с такими длинами. Реально можно найти конкретный кадр в видео (https://t.me/gonzo_ML/2357) или момент в книге (https://t.me/gonzo_ML/2356). И решать совершенно новые классы задач. Меня, например, впечатляют кейсы, когда модели скормили видео со скринкастом решения задачи (поиск жилья на Zillow) и попросили сгенерить код Selenium для решешия этой же задачи (https://www.facebook.com/DynamicWebPaige/videos/1422440318698615). Или тот же перевод на/с языка Kalamang по загруженному учебнику грамматики (https://t.me/gonzo_ML/2355, про то же от Джеффа Дина: https://twitter.com/JeffDean/status/1758149033473020081). Да, там в реальности есть ещё словарь и 400 параллельных предложений, но всё равно, In-context language learning -- это очень круто. Как и ответы на вопросы по длинному документу.
2024-02-26 17:36:17
Текущие модели типа GPT внутри пока чисто нейросетевые, работающие в режиме стимул-реакция, без какого либо внятного места для размышлений в стиле Системы 2. Те заходы, что есть (например, https://t.me/gonzo_ML/2100), пока в массе своей довольно детские. Но прямо сейчас где-то там разрабатываются разные гибридные, в том числе нейро-символьные, модели или модели с элементами планирования. Привет тайному Q* (https://t.me/gonzo_ML/2202) или другим свежим заходам в эти палестины типа, например, https://arxiv.org/abs/2402.14083. Даже в существующем на сейчас режиме, in-context обучение новой задаче по учебнику выглядит безумно круто (если работает). В режиме с полноценными “System 2 - like“ способностями это может быть вообще бомбой. Один из фронтиров пролегает где-то тут.
3) Интересный вопрос встанет с ценой на такой интеллект. Существующий прайсинг Gemini 1.0 Pro (https://ai.google.dev/pricing) в 0.125$ за миллион символов (что в переводе на токены ну пусть будет 0.2$ за миллион) уже сильно круче, чем у OpenAI (https://openai.com/pricing) с их 10$ за миллион токенов для GPT-4 Turbo, $30 для GPT-4 и 0.5$ для существенно менее крутой GPT-3.5 Turbo. И круче, чем Anthropic Claude 2.1 c 8$ за миллион (https://www-cdn.anthropic.com/31021aea87c30ccaecbd2e966e49a03834bfd1d2/pricing.pdf). [*] Речь здесь про входные токены, для выходных цена выше в 2-3 раза, но на выходе нам обычно не нужно генерить миллионы, это важно в первую очередь для задач с большим входом.
Если у Gemini 1.5 Pro будет такой же прайсинг, готовы вы платить по 10 центов за ответ по книге? А за генерацию кода для автоматизации задачи, которую вы записали на видео?
Мой личный ответ на второй вопрос да, а на первый -- хз. Если надо задать десятки вопросов, то это уже единицы долларов. Для анализа юридического документа или для разового саммари книги ок, а если надо делать это на потоке, то вопрос. Надо считать экономику. В сервисах, предоставляющих решения на базе таких моделей, надо как-то явно учитывать usage чтоб не разориться.
4) Независимо от экономики, должны быть способы экономить и кешировать результаты. Если надо задать кучу вопросов по одному и тому же набору документов, то странно делать это каждый раз как бы с нуля. Если структура промпта выглядит как {большой текст} + {вопрос}, то логично было бы первую часть как-то закешировать, раз она постоянная. Технически внутри трансформера эти просчитанные многослойной сеткой эмбеддинги входа можно было бы где-то сохранить и при новом вопросе считать только для этой новой добавки, экономя кучу ресурсов. Но инфраструктуры для этого пока нет (или я пропустил) и даже если вы разворачиваете модель у себя, то всё равно сходу такое не сделаешь, надо попрограммировать.
Мои ожидания, что что-то такое должно появиться и на уровне API, и инфраструкрурно для кеширования результатов локальных моделей. Возможно, какая-то удобная и лёгкая связка с векторной базой данных (ну вы поняли, что надо делать).
5) При правильном использовании это всё способно сильно увеличить производительность в куче задач. Я лично не удивлюсь, если отдельные люди станут в 10 или в 100 раз более продуктивными, что безумно круто. Понятно, что это не панацея и все задачи не решит, плюс по-прежнему актуальны проблемы конфабуляций (то, что лучше употреблять вместо галлюцинаций) и перепроверки результата.
Вероятно, есть классы задач, где проверка сильно дешевле, чем решение задачи самостоятельно (можем для прикола назвать этот класс “когнитивными NP” задачами), и их точно много -- те же написания писем или постов в блог явно ложатся сюда. Я лично уже давно пишу в англоязычный блог через перевод сразу всего текста GPT с последующим редактированием, это существенно быстрее, чем писать с нуля самому. Замечу, что косяки при этом встречаются сравнительно редко, даже GPT-4 Turbo нередко выдаёт текст, где вообще можно ничего не менять. Иногда -- сделать одну-две правки. Ни разу ещё не понадобилось переписывать не то что целый текст, а хотя бы один абзац.
2024-02-26 15:47:22
Мистраль выкатил свою большую модель Mistral Large, доступна на La Plateforme и Azure.
32k контекст, мультиязычная, умеет function calling.
Также выкатили оптимизированную Mistral Small, которая лучше Mixtral 8x7B (https://t.me/gonzo_ML/2162).
https://mistral.ai/news/mistral-large/
2024-02-25 23:05:06
А тем временем стоимость Нвидии выше, чем ВВП РФ
https://www.marketwatch.com/story/nvidia-is-now-worth-more-than-the-gdp-of-every-country-except-these-few-d58a3508
2024-02-24 22:03:50
Neural Network Diffusion
Kai Wang, Zhaopan Xu, Yukun Zhou, Zelin Zang, Trevor Darrell, Zhuang Liu, Yang You
Статья: https://arxiv.org/abs/2402.13144
Код: https://github.com/NUS-HPC-AI-Lab/Neural-Network-Diffusion
Диффузионные модели сейчас рулят, создавая прекрасные картинки и не только. Авторы предложили, что они могут генерить и параметры нейросетей. Вообще, мне кажется, они изобрели hypernetwork (писали про них тут https://t.me/gonzo_ML/1696) через диффузию.
Для тех, кто не знает как работают диффузионные модели, совсем в двух словах и на пальцах. Прямой диффузионный процесс получает на вход картинку (вместо картинки может быть любой другой сигнал) и последовательно шаг за шагом добавляет в неё шум, пока она не превратится в совсем шумный сигнал. Прямой диффузионный процесс не очень интересен, интересен обратный -- он получает на вход шум и последовательно его убирает, “открывая” (создавая) скрывающуюся за ним картинку (как бы делая denoising). Примеры диффузионных моделей мы разбирали в лице DALLE 2 (https://t.me/gonzo_ML/919) и Imagen (https://t.me/gonzo_ML/980).
Обучение нейросети через SGD идейно похоже на обратный диффузионный процесс: стартуем с рандомной инициализации и последовательно обновляем веса, пока не достигнем высокого качества на заданной задачи. Свой подход авторы назвали neural network diffusion или p-diff (от parameter diffusion).
Идея и реализация просты и по-своему красивы.
Во-первых, мы собираем датасет с параметрами нейросетей, обученных SGD и обучаем на нём автоэнкодер, из которого потом возьмём latent representation (можем это делать не на полном наборе параметров, а на подмножестве). Вторым шагом мы обучаем диффузионную модель, которая из случайного шума сгенерит latent representation, который в свою очередь через декодер обученного на первом шаге автоэнкодера мы восстановим в сами веса. Теоретически можно было бы и обучить диффузию на самих весах сразу, но это требует сильно больше памяти.
Для автоэнкодера параметры преобразуются в одномерный вектор, также используется одновременная аугментация шумом входных параметров и латентного представления. Обучение диффузионной модели -- это классический DDPM (https://arxiv.org/abs/2006.11239). Использовались 4-слойные 1D CNN энкодер и декодер.
Проверяли на картиночных датасетах MNIST, CIFAR-10, CIFAR-100, STL-10, Flowers, Pets, F-101, ImageNet-1K и на сетях ResNet-18/50, ViT-Tiny/Base, ConvNeXt-T/B.
Для каждой архитектуры накапливали 200 точек для обучения (чекпойнты последней эпохи). Я не до конца уловил, что именно они сохраняли, говорят про два последних слоя нормализации (только параметры BatchNorm’а чтоли?) и фиксированные остальные параметры. В большинстве случаев обучение автоэнкодера и диффузионки требовало 1-3 часа на одной A100 40G.
На инференсе генерят 100 новых параметров, из них оставляют один с максимальным перформансом на training set, его оценивают на validation set и этот результат и репортят.
В качестве бейзлайнов выступают 1) оригинальные модели и 2) ансамбли в виде усреднённого супа файнтюненных моделей (“Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time”, https://arxiv.org/abs/2203.05482).
Результат в большинстве случаев не хуже обоих бейзлайнов. То есть выучивается распределение high-performing параметров. Метод стабильно хорошо работает на разных датасетах.
Провели много абляций на ResNet-18 + CIFAR-100.
Чем больше моделей было в обучении, тем лучше. Метод генерит более качественные модели для слоёв на любой глубине. При этом на последних слоях результат самый высокий (предполагают, что это из-за меньшего накопления ошибок во время forward prop). Аугментация шумом в автоэнкодере очень важна, особенно для латентного состояния (а лучше одновременно и для входа тоже).
Это всё было для подмножества весов. Проверили также на генерации полного набора весов на маленьких сетях MLP-3 и ConvNet-3 и MNIST/CIFAR-10/100. Размеры сетей здесь 25-155к параметров. Также работает.
2024-02-24 22:03:50
Дополнительно обучили ResNet-18 на трёх случайных сидах, и посмотрели есть ли паттерны в параметрах. Какие-то вроде есть (по мне так картинки вообще не наглядны, я не понял какие именно паттерны они там увидели). А если они есть, то видимо их и выучивает предложенный подход.
Поисследовали разницу между оригинальными и сгенерированными моделями чтобы понять, 1) не запоминает ли p-diff тренировочные данные, и 2) есть ли какая-то разница между параметрами, получаемыми при файнтюнинге или добавлении шума и новыми сгенерированными. Похожесть моделей оценивали по Intersection over Union (IoU) для их неправильных предсказаний. Такого способа определения похожести моделей я раньше, кажется, не встречал (но может я что-то пропустил и это давно уже общее место?)
Разница между сгенерированными моделями получилась заметно больше, чем между оригинальными. И даже максимальная похожесть между сгенерёнными и оригинальными заметно ниже, чем между оригинальными. То есть метод генерит какие-то новые параметры. Файнтюненные и зашумлённые версии моделей кучкуются в каких-то своих узких кластерах, метод с диффузионкой генерит гораздо разнообразнее (и подчас с более высоким качеством). t-SNE от латентных представлений p-diff сильно отличается от оригинальных и шумных версий моделей (про шумные, наверное логично, что они там же где оригинальные, мы же обучали на устойчивость к шуму).
В целом интересная тема. Действительно, почему бы не появиться диффузионному оптимизатору? Да и для инициализации тоже может быть тема (если тем самым, например, на пару эпох можно всё ускорить?). Ждём развития!
2024-02-21 14:59:00
Google зарелизил опен-сорсные LLM (или скорее даже SLM) под названием Gemma!
https://blog.google/technology/developers/gemma-open-models/
Выложены модели 2B и 7B, для каждой есть обычная pretrained версия и instruction-tuned. Обучены на 2T и 6T токенов соответственно. Без фокуса на мультимодальность и мультиязычность.
Более-менее обычный декодер трансформера, контекст размером 8192 токена. Токенизатор SentencePiece, словарь 256k.
Коммерческое использование независимо от размера организации разрешено.
По бенчмаркам бьют соразмерные (и следующие) LLaMa 2.
Сразу заготовлена куча тулинга: ноутбуки, HF (https://huggingface.co/blog/gemma/) и прочее.
Репорт: https://storage.googleapis.com/deepmind-media/gemma/gemma-report.pdf
2024-02-20 11:07:28
In Search of Needles in a 10M Haystack: Recurrent Memory Finds What LLMs Miss
Yuri Kuratov, Aydar Bulatov, Petr Anokhin, Dmitry Sorokin, Artyom Sorokin, Mikhail Burtsev
Статья: https://arxiv.org/abs/2402.10790
Код: https://github.com/booydar/babilong
Тема про длинные контексты в 1M и 10M становится всё более популярной. На днях вышла новая статья про это и рекуррентный memory transformer от Миши Бурцева и ко. Я решил провести эксперимент и закинуть её в Gemini 1.5 Pro с контекстом в 1M (https://t.me/gonzo_ML/2350) и посмотреть, какое саммари модель напишет. А Мишу и соавторов призываю в комментариях или чате отрейтинговать это саммари и сказать, что Gemini 1.5 сделала плохо (или хорошо). А также, если есть желание, рассказать про работу самим из первых уст 🙂
Далее текст, созданный Gemini 1.5 Pro 1M без правок кроме восстановления абзацев (почему-то она сгенерировала большую часть текста с переносом строк после каждого слова). Трансформаторы из текста не убирал 🙂
=======
В этой статье рассматривается проблема обработки длинных документов с помощью генеративных трансформаторных моделей.
Для оценки различных подходов авторы представляют BABILong, новый бенчмарк, предназначенный для оценки способности моделей извлекать и обрабатывать распределённые факты в больших текстах. Оценка, включающая бенчмарки для GPT-4 и RAG, показывает, что обычные методы эффективны только для последовательностей до 10^4 элементов. В то же время, GPT-2, дообученная с использованием рекуррентных дополнений памяти, способна справляться с задачами, включающими до 10^7 элементов. Это достижение является значительным скачком, поскольку это самый длинный вход, обработанный какой-либо открытой нейронной сетью на сегодняшний день, что демонстрирует значительное улучшение возможностей обработки длинных последовательностей.
Основная идея бенчмарка BABILong ("Benchmark for Artificial Intelligence for Long-context evaluation") - увеличить длину существующих задач, чтобы оценить способность генеративных моделей эффективно обрабатывать длинные контексты. Для этого "прячут" предложения исходной задачи между предложениями не относящегося к делу текста, взятого из другого, тесно связанного распределения. Примеры создаются путём постепенного добавления новых предложений из фонового набора данных в их естественном порядке, пока дополненный образец не достигнет нужной длины. Таким образом, можно оценивать даже самые длинные доступные модели с размерами контекста до миллионов токенов.
В качестве фонового текста используются книги из набора данных PG19 из-за значительной длины книг и естественно возникающих длинных контекстов. Модель должна сначала отличить предложения, относящиеся к исходной задаче, затем запомнить их и впоследствии использовать для генерации правильного решения.
В этой работе авторы сосредоточились на расширении бенчмарка bAbI, который состоит из 20 задач, предназначенных для оценки основных аспектов рассуждения.
GPT-4 и Mistral с большими окнами контекста не смогли эффективно выполнить задачи "иголка в стоге сена", когда количество отвлекающего текста было чрезвычайно велико. Дообучение GPT-3.5 с помощью API OpenAI улучшило качество поиска фактов в контексте среднего размера, но при увеличении количества шума производительность всё равно снижалась.
RAG с GPT-4-turbo показал посредственную, но масштабируемую производительность для вложений предложений и плохую масштабируемость с вложениями частей текста. Слабая производительность RAG может быть связана с временными зависимостями, присущими задаче, где релевантный факт расположен в конце текста.
Рекуррентные модели (RMT и RMT-R) с GPT-2 в качестве базовой модели показали отличные результаты на последовательностях длиной до 16 тысяч токенов, присутствующих в обучающем наборе. RMT и RMT-R значительно превзошли GPT-4, что подчеркивает эффективность механизма памяти. Более того, превосходство рекуррентных моделей распространяется на последовательности за пределами области обучения, превышающие размер обучения.
2024-02-20 11:07:28
Используя свои возможности обобщения, RMT и RMT-R демонстрируют стабильную производительность на более длинных последовательностях, достигая 128 тысяч токенов, с лишь незначительным ухудшением качества. Улучшенные возможности RMT-R становятся особенно очевидными благодаря дополнительной информации из извлеченных состояний памяти.
Удивительно, но даже при размерах контекста, достигающих 1 миллиона и даже 10 миллионов токенов, что более чем в 600 раз превышает длину обучения, рекуррентные модели устойчиво превосходят свои более крупные аналоги, использующие RAG. Этот замечательный скачок в качестве рассуждений на чрезвычайно длинных последовательностях подчеркивает потенциал рекуррентности в сочетании с обучаемым механизмом самоизвлечения.
В целом, работа показывает, что рекуррентная память является многообещающим направлением для обработки очень длинных текстов.
=======
Такие дела. Надо ещё, конечно играться с промптами, пока это довольно тупой 2-shot на почти рандомных примерах. Интересно было бы также сделать такое же самое саммари через модель на базе RMT.
2024-02-20 00:12:10
Вообще, мне кажется, GPT-5 должна будет уметь написать примерно такую же свою биографию.
2024-02-20 00:03:45
Large Language Models: A Survey
Shervin Minaee, Tomas Mikolov, Narjes Nikzad, Meysam Chenaghlu, Richard Socher, Xavier Amatriain, Jianfeng Gao
Статья: https://arxiv.org/abs/2402.06196
Обзорная статья обо всём и с кучей знакомых картинок. Пересказывать нет смысла, скорее годится как референс про большинство важных слов в области LLM. Ну и вообще мы Томаша Миколова и Ричарда Зохера не часто видим в последнее время :)
В статье сделали попытку кратко обозреть всё более менее важное, что касается LLM: их способности, архитектуры, известные модели, пайплайн обучения и файнтюна, аугментацию, датасеты и бенчмарки. Обо всём по чуть-чуть. Для глубокого погружения не годится, но если надо быстро что-то понять/вспомнить, то норм. Внимательные и вдумчивые читатели нашего канала, наверное, и так большинство этого знают, мы очень много упомянутого разбирали.
Но всё перепроверяйте! Например, PaLM-2 и Gemini почему-то заявлены как опенсорс.
2024-02-16 12:46:16
Дни интересных анонсов.
OpenAI вчера анонсировали генеративную диффузионную модель для видео под названием Sora (https://openai.com/sora), способную генерировать видео длиной до одной минуты по текстовому описанию. Также можно работать по входной картинке или видео. Выглядит впечатляюще, пока модель в очень ограниченном доступе для редтиминга и сбора фидбека от избранных творческих людей.
Техотчёт Sora здесь: https://openai.com/research/video-generation-models-as-world-simulators
Смотрите там же кучу примеров, они прикольные.
Гугл вчера же анонсировал развитие линейки Gemini. Gemini 1.0 Pro и Ultra ушли в статус GA (Generally available), то есть готовые к продакшн использованию (Ultra пока через whitelist), а также объявлена Gemini 1.5 Pro (https://blog.google/technology/ai/google-gemini-next-generation-model-february-2024).
Техотчёт Gemini 1.5 здесь: https://storage.googleapis.com/deepmind-media/gemini/gemini_v1_5_report.pdf
Gemini 1.5 Pro заявлена как сравнимая по качеству с 1.0 Ultra, но более лёгкая и использующая Sparse MoE (https://t.me/gonzo_ML/472). Другая интересная фича этой модели -- контекст до 10M символов что на пару порядков больше предыдущих лидеров в лице Anthropic Claude 2.1 (200k) и GPT-4 Turbo (128k). 10М правда пока в режиме исследования, а контекст размером 1M доступен для ограниченного круга, для всех остальных пока 128k.
Например, в 1M токенов влезло 44-минутное немое видео с Бастером Китоном (https://www.youtube.com/watch?v=rOVtjJkqtiA). По тесту Needle In A Haystack (https://github.com/gkamradt/LLMTest_NeedleInAHaystack), где в большом тексте прячется мелкий факт, который модель должна найти и использовать, эти 1M выглядят настоящими.
Это интересное развитие, которое показывает, куда скорее всего придут модели ближайшего будущего. RAG наверное останется, но для многих кейсов он должен измениться. OpenAI в это же время исследует возможности использования памяти с ChatGPT и GPTs (https://openai.com/blog/memory-and-new-controls-for-chatgpt).
На прикольном бенчмарке MTOB (Machine Translation from One Book, https://arxiv.org/abs/2309.16575), когда по одной книге с грамматикой языка Kalamang, имеющего менее 200 носителей, надо научиться переводить между этим языком и английским, результат весьма достойный. Это прикольно потому что здесь дан не датасет с параллельными текстами, как обычно при обучении MT, а скорее датасет в формате более подходящем для System 2.
2024-02-11 16:31:13
More Agents Is All You Need
Junyou Li, Qin Zhang, Yangbin Yu, Qiang Fu, Deheng Ye
Статья: https://arxiv.org/abs/2402.05120
Код: https://anonymous.4open.science/r/more_agent_is_all_you_need/README.md
Задолбали уже названия статей про “X is all you need”, если честно. В этот раз команда из Tencent показала, что многократное сэмплирование из одной и той же модели с последующим голосованием улучшает качество результата с увеличением количества инстанцированных агентов.
Не то чтобы мы не знали такого про ансамблирование. Да и CoT-SC (Chain-of-Thought with Self-Consistency, https://t.me/gonzo_ML/1885) в целом это же и делал. Текущая работа проверяет, работает ли просто брут форс через добавление большого числа агентов. Спойлер: работает.
Авторы выделяют три подхода в похожих работах:
1) LLM Self-Ensemble типа того же CoT-SC, когда при генерации множества результатов для сборки финального ответа используется одна и та же LLM.
2) Гетерогенный ансамбль LLM делает то же самое, но с разными LLM. Сюда включаются даже дистилляции множеств LLM в одну.
3) Коллаборация множества LLM агентов в отличие от 2 подразумевает какую-то интеракцию между агентами.
Текущая работа явно попадает в первую категорию, но может быть применима и в других подходах.
Метод прост:
1. Генерим N сэмплов, опрашивая LLM столько же раз (в работе подразумевается с одним и тем же промптом, но кажется будет только лучше, если с разными)
2. Делаем мажоритарное голосование для выбора ответа. Для этого считается кумулятивная похожесть ответа на другие ответы (для open-ended генерации использовали BLEU, что как-то так себе; для close-ended считали частотность ответов). Ответ с максимальной cumulative similarity выбирается как финальный.
Проверили на разных задачах: Arithmetic Reasoning (GSM8K+MATH), General Reasoning (MMLU+Chess), Code Generation (HumanEval).
Используемые модели: Llama2-Chat 13B и 70B, GPT-3.5-Turbo, GPT-4.
Как бенчмарки используют: CoT, Zero-shot CoT, Solo Performance Prompting (SPP), LLM-Debate, Reflexion.
Каждый метод из бенчмарка также может быть улучшен добавлением такого вот ансамблирования.
В результате рост качества с ростом размера ансамбля. Самый заметный рост примерно до 10 участников, дальше он заметно слабее. Только на шахматных задачах с использованием Ламы не побили выбранные бенчмарки. Улучшения получаются довольно стабильно при разных значениях гиперпараметров. На более сложных датасетах и с более простыми LLM приносимая польза больше.
Отдельно и более глубоко поисследовали улучшения в зависимости от сложности задачи, числа шагов, и априорной вероятности правильного ответа (которая, так понимаю, равна вероятности случайного угадывания). Перформанс каждого шага может быть улучшен, так что подход можно распространить и на шаги. С увеличением априорной вероятности перформанс также растёт, так что авторы предлагают иерархическую процедуру, где задача с низкой вероятностью разбивается на несколько подзадач с более высокой вероятностью. Здесь ещё и разные модели для разных подзадач пробуют (для простых более дешёвую GPT-3.5, для сложных более дорогую GPT-4). Это всё работает.
Такие дела.
2024-02-09 22:04:31
Для сравнения Gemini (вроде не Ultra)
2024-02-09 21:48:33
Извинити, нисдиржалса
2024-02-07 23:18:17
Thermodynamic Computing System for AI Applications
Denis Melanson, Mohammad Abu Khater, Maxwell Aifer, Kaelan Donatella, Max Hunter Gordon, Thomas Ahle, Gavin Crooks, Antonio J. Martinez, Faris Sbahi, Patrick J. Coles
Статья: https://arxiv.org/abs/2312.04836
Блог: https://blog.normalcomputing.ai/posts/2023-11-09-thermodynamic-inversion/thermo-inversion.html
Работа от компании Normal Computing (https://normalcomputing.ai/) про новый класс железа — термодинамический компьютер и stochastic processing unit (SPU). На этом устройстве реализовали одну из базовых операций линейной алгебры, активно используемую в ML, обращение матрицы.
Про термодинамический ИИ (Thermodynamic AI) от этой же команды есть более ранняя работа “Thermodynamic AI and the fluctuation frontier” (https://arxiv.org/abs/2302.06584) с постом про неё (https://normalcomputing.substack.com/p/thermodynamic-ai-intelligence-from), и работа “Thermodynamic Linear Algebra” (https://arxiv.org/abs/2308.05660). Ещё более ранняя работа “Thermodynamic Computing” (https://arxiv.org/abs/1911.01968) от более широкого коллектива авторов отражает результаты воркшопа по теме термодинамических вычислений.
В двух словах идея заключается в том, что строительные блоки такого железа стохастические и в итоге софт становится неотделим от железа (что аналогично ситуации с Mortal Computers Хинтона, https://t.me/gonzo_ML/1910). В отличие от квантовых и аналоговых компьютеров шум является здесь необходимым ресурсом для вычислений.
Немалое число алгоритмов в ML основано на различной физике, например, energy-based модели или диффузия. Стохастика вообще используется везде, от инициализации весов, через строительные блоки нейросетей (dropout), до процедур генерации (та же диффузия или более старые VAE и GANы). Для таких алгоритмов природные стохастические флуктуации могут стать важным ресурсом.
Новые строительные блоки включают в себя стохастические биты (s-bits), состояние которых случайно эволюционирует во времени как марковская цепь с непрерывным временем (continuous time Markov chain, CTMC). Поскольку не везде нужны биты (веса нейросети или значения фич скорее вещественные числа), то и строительный блок может быть соответствующим. Поэтому фундаментальный строительный блок Thermodynamic AI hardware — это стохастический блок (stochastic unit, s-unit) — непрерывная переменная, претерпевающая броуновское движение. Реализовать такой блок можно на аналоговой электрической схеме с шумным резистором и конденсатором.
Цель авторов — унифицировать современные алгоритмы в ИИ. У многих из них есть общность: 1) они используют стохастику, 2) вдохновлены физикой. Отсюда предложение унифицировать такие алгоритмы на базе термодинамики. Примеры термодинамических алгоритмов: генеративные диффузионные модели, гамильтоново монте карло, симуляция отжига. Можно сформулировать математический фреймворк (описан в вышеупомянутой работе https://arxiv.org/abs/2302.06584, и вообще, кто хочет больше мяса — вам туда), где эти алгоритмы будут его специальными случаями. А раз так, то одно и то же термодинамическое железо может ускорять все эти алгоритмы. Профит!
Возвращаясь к текущей работе, в ней представлен первый continuous-variable (CV) thermodynamic computer. Авторы создали stochastic processing unit (SPU), размещающийся на печатной плате. Он содержит 8 ячеек, каждая из которых это LC контур с источником тока с гауссовым шумом (реализован на FPGA). Ячейки все связаны друг с другом. Для кастомизации в каждой ячейке не один конденсатор, а батарея из четырёх, чтобы можно было выбирать. Также можно менять уровень шума и частоту дискретизации (базовая частота 12 МГц), с которой считываются значения напряжений в ячейках.
2024-02-07 23:18:17
На полученном SPU можно сэмплить из 8-мерного Гауссового распределения. Другой полезный примитив -- обращение матрицы. Математика процесса была описана в другой вышеупомянутой работе (https://arxiv.org/abs/2308.05660). Для этого элементы матрицы переводятся в связи системы осцилляторов, и после прихода системы в термодинамическое равновесие снимаются значения напряжений (много сэмплов) и считается ковариационная матрица, которая в свою очередь пропорциональна обратной матрице, которую и надо найти.
Сначала на SPU инвертировали матрицу 4x4, для этого потребовалось лишь подмножество ячеек. Чем больше сэмплов, тем ниже ошибка, но совсем до нуля она не доходит (несовершенство эксперимента). Затем инвертировали матрицу 8x8. Сделали это на трёх независимых SPU и показали, что они дают близкие результаты, то есть процесс воспроизводим.
Также на SPU реализовали Gaussian process regression и Uncertainty quantification через spectral-normalized neural Gaussian processes для предсказания классов нейросетью. Результаты SPU хорошо согласуются с результатами, посчитанными на цифровом компьютере.
Авторы ожидают, что на большом масштабе у SPU будут преимущества перед классическим железом. Для этого сравнили SPU с GPU RTX A6000 на задаче сэмплинга из многомерного Гауссового распределения. На большом количестве измерений SPU ведёт себя лучше классических методов на GPU. Точка пересечения двух кривых (так называемый “thermodynamic advantage”) находится в районе 3000 измерений. В целом асимптотика для SPU оценивается как O(d^2), а для Cholesky sampling на GPU это O(d^3). С точки зрения потребляемой энергии SPU тоже лучше.
Короче, интересное направление. Область сейчас находится в своём младенчестве, можно приложиться к нахождению новых интересных алгоритмов под новое железо, как в своё время было с алгоритмами для квантовых компьютеров. До обучения нейросетей на таком новом железе пока далековато, но кто знает, как быстро мы туда сможем прийти.
2024-02-07 17:58:56
Интересная статистика по железу:
https://www.stateof.ai/compute
The State of AI Report Compute Index tracks the size of public, private and national HPC clusters, as well as the utilisation of various AI chips in AI research papers. As a key substrate upon which AI models are trained and run, the size of compute clusters and the popularity of specific chips helps us take a temperature check on the rate of progress of AI systems.
Жаль, для AMD нет данных.
2024-02-06 17:34:09
Практическое развитие темы про Matryoshka Representation Learning (https://t.me/gonzo_ML/2037).
OpenAI натренировал свои новые эмбеддинговые модели с поддержкой этого дела (https://openai.com/blog/new-embedding-models-and-api-updates#ref-A), и теперь при запросе в апишке через параметр dimensions
можно указывать, какого размера эмбеддинг вам нужен (https://platform.openai.com/docs/api-reference/embeddings/create#embeddings-create-dimensions).
Так, модель text-embedding-3-large
, генерящую эмбеддинг размера 3072, можно попросить его урезать до размера, подходящего вашей векторной базе данных. При этом отрежутся менее значимые данные и качество будет даже выше, чем у модели предыдущего поколения с эмбеддингом меньшего размера.
Профит!
В общем, читайте Gonzo ML, и будете узнавать о прорывных вещах до того, как они пойдут в массы! :)
Пользуясь случаем, хочу напомнить, что у канала теперь есть Патреон (https://patreon.com/GonzoML). Вступайте в ряды Фурье!
2024-02-03 18:40:12
Пока готовятся обзоры прикольных статей, вот вам прошлогоднего Лекуна про его подход к автономному ИИ (JEPA и т.п.). LLM, по его мнению, обречены и через пять лет никто их использовать не будет.
https://www.youtube.com/watch?v=_JfEScYyVCE
2024-01-30 18:13:59
In September 2023, Inna Zakharevich of Cornell University and Thomas Hull of Franklin & Marshall College showed that anything that can be computed can be computed by folding paper. They proved that origami is “Turing complete” — meaning that, like a Turing machine, it can solve any tractable computational problem, given enough time.
https://www.quantamagazine.org/how-to-build-an-origami-computer-20240130/
Flat origami is Turing Complete
https://arxiv.org/abs/2309.07932
2024-01-29 22:51:02
У Коли Михайловского хороший, но пока малоизвестный, канал с разборами исследований: https://t.me/ntr_neural
Рекомендую.
2024-01-29 17:20:20
Fresh news
"Today we’re releasing Code Llama 70B: the most performant version of our LLM for code generation to date — available under the same license as Llama 2 and all of our previous Code Llama models to support both research and commercial innovation.
Download the models ➡️ https://bit.ly/42i4abu
Among the new models released today is CodeLlama-70B-Instruct 70B, a fine-tuned version of Code Llama that achieves 67.8 on HumanEval, making it one of the highest performing open models available today.
Code Llama is the most performant base for fine-tuning code generation models and we’re excited for the community to continue building on this work."
https://m.facebook.com/story.php?story_fbid=pfbid0e38ea9fq9w9eVtQzYvkTEKzvAPLMKJW5qstgUJ6uYcaNQRTH6ZFqTdE8rXc7LSJal&id=100068683122379
Mark Zuckerberg also reminds us on llama 3
"We're open sourcing a new and improved Code Llama, including a larger 70B parameter model. Writing and editing code has emerged as one of the most important uses of AI models today. The ability to code has also proven to be important for AI models to process information in other domains more rigorously and logically. I'm proud of the progress here, and looking forward to including these advances in Llama 3 and future models as well."
https://m.facebook.com/story.php?story_fbid=pfbid0KccyDFLszKeHkWVssrcSJYnigb1VYfsLuExTjxVPKWzDpXgmd9FYMfZ1hcWpyf3Zl&id=4
2024-01-24 04:28:29
И снова продолжаем тему Small Language Models (SLMs, https://t.me/gonzo_ML/2251).
Недавно вышла Stable LM 2 1.6B.
https://stability.ai/news/introducing-stable-lm-2
В релиз входят базовая и instruction-tuned 1.6B модели. Можно использовать коммерчески (со Stability AI Membership, https://stability.ai/membership).
2024-01-23 13:28:36
Ещё про амдшное железо.
"AMD has begun to ship its Instinct MI300X GPUs for artificial intelligence (AI) and high-performance computing (HPC) applications."
"Meanwhile, an Instinct MI300X carries 192 GB of HBM3 memory (at a peak bandwidth of 5.3 TB/s)."
192 гига... Ням-ням...
"Based on performance numbers demonstrated by AMD, the Instinct MI300X outperforms Nvidia's H100 80GB, which is available already and is massively deployed by hyperscalers like Google, Meta (Facebook), and Microsoft. The Instinct MI300X is probably also a formidable competitor to Nvidia's H200 141GB GPU, which is yet to hit the market."
https://www.tomshardware.com/tech-industry/supercomputers/amds-customers-begin-receiving-the-first-instinct-mi300x-ai-gpus-companys-toughest-competitor-to-nvidias-ai-dominance-is-now-shipping
2024-01-20 10:39:47
В продолжение темы про CETI (https://t.me/gonzo_ML/2182) классная интерактивная статья про слонов и китов:
https://ig.ft.com/ai-animals/
2024-01-19 20:44:45
Пятничное
2024-01-19 08:44:07
"Meta is training Llama 3 now, and it will have code-generating capabilities, he says. Like Google’s new Gemini model, another focus is on more advanced reasoning and planning abilities.
“Llama 2 wasn’t an industry-leading model, but it was the best open-source model,” he says. “With Llama 3 and beyond, our ambition is to build things that are at the state of the art and eventually the leading models in the industry.”
2024-01-19 08:35:19
Продолжение темы.
“We’ve come to this view that, in order to build the products that we want to build, we need to build for general intelligence,” Zuckerberg tells me in an exclusive interview. “I think that’s important to convey because a lot of the best researchers want to work on the more ambitious problems.”
https://www.theverge.com/2024/1/18/24042354/mark-zuckerberg-meta-agi-reorg-interview
2024-01-17 22:37:14
Сегодня в Давосе было интервью с Сэмом Альтманом и Сатьей Наделлой (https://www.economist.com/subscriber-events/a-conversation-with-openais-sam-altman-and-microsofts-satya-nadella-hub).
В целом никаких откровений вообще. GPT-5 будет more general и умнее в целом. Но когда -- не сказали. OpenAI в партнёрстве с MS будут делать так, чтобы на платформе можно было заработать больше денег, чем зарабатывает сама платформа. Регуляция в конечном счёте какая-то нужна и к моменту появления AGI хорошо чтобы она была, но преждевременно она может много чего загубить. Опенсорс важен. Когда AGI и что это такое непонятно.
У OpenAI вроде как есть в договоре с MS что-то про когда борд решит, что они достигли AGI, то коммерческие дела с MS здесь закончатся. Но они всё равно хотят продолжать коммерциализацию технологий, может только на других условиях, это и надо будет в тот момент пересмотреть.
Альтман за technological prosperity. Intelligence costs will fall, energy will be widely available and clean.
На безопасность обращают внимание. "We delay things or decide not to ship things all the time." Так, GPT-4 открыли только через 7-8 месяцев после её обучения.
В общем можно было не смотреть.
2024-01-17 19:24:06
Пока просто новость
https://deepmind.google/discover/blog/alphageometry-an-olympiad-level-ai-system-for-geometry/
Результат между серебряной и золотой медалями на одимпиадных геометрических задачах.
С открытым кодом: https://github.com/google-deepmind/alphageometry
AlphaGeometry is a neuro-symbolic system made up of a neural language model and a symbolic deduction engine, which work together to find proofs for complex geometry theorems.
2024-01-16 00:00:42
Optimizing Distributed Training on Frontier for Large Language Models
Sajal Dash, Isaac Lyngaas, Junqi Yin, Xiao Wang, Romain Egele, Guojing Cong, Feiyi Wang, Prasanna Balaprakash
Статья: https://arxiv.org/abs/2312.12705
Интересная статья про то, как обучали большие LLM на суперкомпьютере Frontier (https://www.olcf.ornl.gov/frontier/), номер 1 в рейтинге TOP500 (https://www.top500.org/lists/top500/list/2023/11/).
Frontier интересен тем, что он построен на процессорах и GPU от AMD, EPYC и MI250X (https://www.amd.com/en/products/accelerators/instinct/mi200/mi250x.html) соответственно. Второй суперкомпьютер в TOP500, Aurora, кстати, построен целиком на Интеле (тоже процы и GPU). И только третий, Eagle, на NVIDIA H100 и Xeon.
Обучали модели 22B, 175B (размер GPT-3) и 1T. Две последние на 1024 и 3072 MI250X (из 37,888).
Самое интересное для меня в этой истории -- это как именно обучали на этих карточках, потому что долгое время пользоваться ничем кроме Нвидии и CUDA было невозможно, а тут пошли валом работы про обучение больших сеток на AMD. Можно вспомнить финский суперкомпьютер LUMI (https://t.me/gonzo_ML/2084), поддержку в HF Transformers (https://t.me/gonzo_ML/2167), обучение RetNet в MS (https://t.me/gonzo_ML/1754). Наконец какая-то реальная конкуренция, кажется. Ну и большой масштаб и возникающие там проблемы тоже интересны, конечно.
В mixed precision обучении нужно 6 байт на каждый параметр модели (4 для модели в fp32, 2 для вычислений в fp16), 4 байта на параметр оптимизатора (для сохранения момента в Adam в fp32), и 4 байта на градиент каждого параметра (fp32). Итого, для 1T модели надо 14T параметров. Каждый узел Frontier содержит 8 MI250X каждый с 64 GB HBM, так что без model parallelism не обойтись.
Возможны варианты. В Tensor parallelism большие матрицы весов разбивается по строкам или столбцам. В Pipeline Parallelism модель разбивается по слоям на несколько живущих на одном GPU этапов, в каждом из которых несколько слоёв. Sharded Data Parallelism похож на классический Data Parallelism, но вместо того, чтобы хостить копии целой модели на каждом устройстве (анрил), на каждом устройстве размещается только вычисляемый в данный момент слой. Разные методы можно смешивать, получая гибрид (минутка рекламы, в моей книге про JAX (https://www.manning.com/books/deep-learning-with-jax) есть пример смешивания data + tensor parallelism при обучении, ну и вообще про параллелизацию получились самые большие главы, и их целых три). В текущей работе для лучшей утилизации ресурсов используют 3D parallelism включающий tensor, pipeline, и data (обычный и sharded) parallelism.
Взяли фреймворк Megatron-DeepSpeed с поддержкой разных видов параллелизма (tensor, pipeline, data, sharded data parallelism). В оригинале он заточен на NVIDIA (и является форком их Megatron-LM с добавленными фичами), в работе его адаптировали под AMD ROCm.
Адаптация включала:
1) Конвертацию CUDA кода в HIP код через утилиту hipify, компилирование so через hipcc и привязку к питону через pybind.
2) Подготовку DeepSpeed Ops (расширений CUDA, полученных в оригинале JIT компиляцией) под ROCm и отключение JIT на всякий пожарный.
3) Инициализацию PyTorch Distributed Environment хостом из SLURM.
4) Работу с AMD над получением ROCm версий нужных библиотек, типа APEX для mixed precision, FlashAttention и FlashAttention2 (для этих использовали Composable Kernel library, https://github.com/ROCm/composable_kernel).
Экспериментировали с разными стратегиями распараллеливания и их параметрами, а также с гиперпараметрами обучения, подобрали оптимум. За деталями и наблюдениями вэлкам в статью.
В итоге получили рабочую конфигурацию, достигающую 32-38% от пиковых FLOPS. Через Roofline Analysis (писал про это когда-то тут https://moocaholic.medium.com/hardware-for-deep-learning-part-3-gpu-8906c1644664#8dd5) показали, что обучение не memory-bound. Потестировали скейлинг, получили 100% weak scaling и 87.05% strong scaling efficiency на 1T модели.
2024-01-16 00:00:42
Каких-то обученных моделей не выкладывали, цель была не в этом. Надеюсь, это всё дойдёт до опенсорса и поддержка AMD в итоге везде выйдет на достойный уровень. Ждём, надеемся.
Пользуясь случаем, хочу напомнить, что у канала теперь есть Патреон (https://patreon.com/GonzoML). Вступайте в ряды Фурье!
2024-01-13 12:24:01
Prepare for the (nearest) future
https://x.com/H0wie_Xu/status/1745657992459272423?t=fi6WkF29_jId1ggju-H3kQ&s=09
2024-01-12 22:46:50
А новостей для вас у меня сегодня нет, кроме свежего бицепса Шмидхубера.
https://twitter.com/SchmidhuberAI/status/1745475698737938543?t=_X-WsN5TCusvNMCRHkIxgA&s=19
Судьба области в надёжных руках!
2024-01-10 19:21:09
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.