gonzo_ml | Unsorted

Telegram-канал gonzo_ml - gonzo-обзоры ML статей

21999

Авторы: Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика. Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.

Subscribe to a channel

gonzo-обзоры ML статей

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 (писали про них тут /channel/gonzo_ML/1696) через диффузию.

Для тех, кто не знает как работают диффузионные модели, совсем в двух словах и на пальцах. Прямой диффузионный процесс получает на вход картинку (вместо картинки может быть любой другой сигнал) и последовательно шаг за шагом добавляет в неё шум, пока она не превратится в совсем шумный сигнал. Прямой диффузионный процесс не очень интересен, интересен обратный -- он получает на вход шум и последовательно его убирает, “открывая” (создавая) скрывающуюся за ним картинку (как бы делая denoising). Примеры диффузионных моделей мы разбирали в лице DALLE 2 (/channel/gonzo_ML/919) и Imagen (/channel/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к параметров. Также работает.

Читать полностью…

gonzo-обзоры ML статей

Используя свои возможности обобщения, RMT и RMT-R демонстрируют стабильную производительность на более длинных последовательностях, достигая 128 тысяч токенов, с лишь незначительным ухудшением качества. Улучшенные возможности RMT-R становятся особенно очевидными благодаря дополнительной информации из извлеченных состояний памяти.

Удивительно, но даже при размерах контекста, достигающих 1 миллиона и даже 10 миллионов токенов, что более чем в 600 раз превышает длину обучения, рекуррентные модели устойчиво превосходят свои более крупные аналоги, использующие RAG. Этот замечательный скачок в качестве рассуждений на чрезвычайно длинных последовательностях подчеркивает потенциал рекуррентности в сочетании с обучаемым механизмом самоизвлечения.

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

=======

Такие дела. Надо ещё, конечно играться с промптами, пока это довольно тупой 2-shot на почти рандомных примерах. Интересно было бы также сделать такое же самое саммари через модель на базе RMT.

Читать полностью…

gonzo-обзоры ML статей

Вообще, мне кажется, GPT-5 должна будет уметь написать примерно такую же свою биографию.

Читать полностью…

gonzo-обзоры ML статей

Дни интересных анонсов.

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 (/channel/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.

Читать полностью…

gonzo-обзоры ML статей

Для сравнения Gemini (вроде не Ultra)

Читать полностью…

gonzo-обзоры ML статей

На полученном 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 тоже лучше.

Короче, интересное направление. Область сейчас находится в своём младенчестве, можно приложиться к нахождению новых интересных алгоритмов под новое железо, как в своё время было с алгоритмами для квантовых компьютеров. До обучения нейросетей на таком новом железе пока далековато, но кто знает, как быстро мы туда сможем прийти.

Читать полностью…

gonzo-обзоры ML статей

Интересная статистика по железу:
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 нет данных.

Читать полностью…

gonzo-обзоры ML статей

Пока готовятся обзоры прикольных статей, вот вам прошлогоднего Лекуна про его подход к автономному ИИ (JEPA и т.п.). LLM, по его мнению, обречены и через пять лет никто их использовать не будет.

https://www.youtube.com/watch?v=_JfEScYyVCE

Читать полностью…

gonzo-обзоры ML статей

Предобученные языковые модели генерируют качественный текст, сравнимый по качеству с человеческим (иногда даже превосходящий его). Но некоторые проблемы остаются даже у лучших LLM — сеть не понимает, что говорит. Может получаться хоть и виртуозный с точки зрения грамматики и лексики, но всё-таки неверный по смыслу результат.

Известен недавний пример, который авторы окрестили “проклятьем обратимости” (reversal curse). Даже GPT-4 может быть не в состоянии построить обратную логическую связь между простыми фактами. Например, на вопрос о том, как зовут маму Тома Круза GPT-4 отвечает правильно (Мэри Ли Пфайффер). А вот как зовут сына Мэри Ли Пфайффер GPT-4, к сожалению, не знает.

Читать дальше про то, как с этим помогают графы знаний

Читать полностью…

gonzo-обзоры ML статей

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

Читать полностью…

gonzo-обзоры ML статей

Ещё про амдшное железо.

"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

Читать полностью…

gonzo-обзоры ML статей

"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.”

Читать полностью…

gonzo-обзоры ML статей

Сегодня в Давосе было интервью с Сэмом Альтманом и Сатьей Наделлой (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 месяцев после её обучения.

В общем можно было не смотреть.

Читать полностью…

gonzo-обзоры ML статей

Каких-то обученных моделей не выкладывали, цель была не в этом. Надеюсь, это всё дойдёт до опенсорса и поддержка AMD в итоге везде выйдет на достойный уровень. Ждём, надеемся.

Пользуясь случаем, хочу напомнить, что у канала теперь есть Патреон (https://patreon.com/GonzoML). Вступайте в ряды Фурье!

Читать полностью…

gonzo-обзоры ML статей

Prepare for the (nearest) future

https://x.com/H0wie_Xu/status/1745657992459272423?t=fi6WkF29_jId1ggju-H3kQ&s=09

Читать полностью…

gonzo-обзоры ML статей

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

Читать полностью…

gonzo-обзоры ML статей

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 (/channel/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, что подчеркивает эффективность механизма памяти. Более того, превосходство рекуррентных моделей распространяется на последовательности за пределами области обучения, превышающие размер обучения.

Читать полностью…

gonzo-обзоры ML статей

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 почему-то заявлены как опенсорс.

Читать полностью…

gonzo-обзоры ML статей

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, /channel/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). Это всё работает.

Такие дела.

Читать полностью…

gonzo-обзоры ML статей

Извинити, нисдиржалса

Читать полностью…

gonzo-обзоры ML статей

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 Хинтона, /channel/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 МГц), с которой считываются значения напряжений в ячейках.

Читать полностью…

gonzo-обзоры ML статей

Практическое развитие темы про Matryoshka Representation Learning (/channel/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). Вступайте в ряды Фурье!

Читать полностью…

gonzo-обзоры ML статей

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

Читать полностью…

gonzo-обзоры ML статей

У Коли Михайловского хороший, но пока малоизвестный, канал с разборами исследований: /channel/ntr_neural

Рекомендую.

Читать полностью…

gonzo-обзоры ML статей

И снова продолжаем тему Small Language Models (SLMs, /channel/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).

Читать полностью…

gonzo-обзоры ML статей

В продолжение темы про CETI (/channel/gonzo_ML/2182) классная интерактивная статья про слонов и китов:

https://ig.ft.com/ai-animals/

Читать полностью…

gonzo-обзоры ML статей

Продолжение темы.

“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

Читать полностью…

gonzo-обзоры ML статей

Пока просто новость

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.

Читать полностью…

gonzo-обзоры ML статей

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 (/channel/gonzo_ML/2084), поддержку в HF Transformers (/channel/gonzo_ML/2167), обучение RetNet в MS (/channel/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 модели.

Читать полностью…

gonzo-обзоры ML статей

А новостей для вас у меня сегодня нет, кроме свежего бицепса Шмидхубера.

https://twitter.com/SchmidhuberAI/status/1745475698737938543?t=_X-WsN5TCusvNMCRHkIxgA&s=19

Судьба области в надёжных руках!

Читать полностью…
Subscribe to a channel