Новости и обзоры статей на тему обработки естественного языка, нейросетей и всего такого. Связь: @dropout05 (рекламы нет)
Всем приветики. Давно не было постов, тк становится всё сложнее вести канал. Не буду обещать что исправлюсь, но буду постить когда есть что-то о чём другие каналы не говорят достаточно.
И сегодня будут не новости (о ChatGPT Operator можете прочитать где угодно), а открытая позиция на PhD студента в моей старой лабе в UMass Lowell - Text Machine Lab.
Это NLPшная позиция с довольно широким спектром того чем можно заниматься: от interpretability и prompting до alignment, мультимодальных моделей, low-rank training, PEFT итд. Глава лабы - Prof. Anna Rumshisky исследователь в UMass Lowell, MIT и в Amazon Alexa AI/Amazon AGI. Например, она один из авторов Amazon Nova
Требования: релевантный бакалавриат+магристратура/специалитет, хорошее понимание линейной алгебры, анализа, вероятности, базовые знания Deep Learning и NLP. Большим плюсом будут опубликованные статьи (включая воркшопы), но строгого требования на них нет.
Позиция fully funded - ваше обучение будет покрыто полностью и вам будут платить стипендию которой достаточно для проживания в Массачусеттсе.
Для подачи высылайте ваше CV и короткое cover letter на arum@mit.edu. Для попадания в поток 2025 надо сделать это до 15 февраля
Если хотите прочитать про мою историю поступления и первые дни в США, я в 2019 писал об этом серию постов и вот первый: telegra.ph/CHast-1-Postuplenie-08-24
Но дадут ли нобелевку по литературе за Deep Learning Book
Читать полностью…Soumith Chintala (создатель pytorch) выдаёт базу о том как тренироваться на 10К GPU
x.com/soumithchintala/status/1841498799652708712
Оч короткий TL;DR (всем рекомендую прочитать оригинал, он не длинный)
1. Maximize batch size and GPU utilization: 3D parallelism + gradient checkpointing
1. Overlap communication, e.g. while N-1th layer is computing backward, all GPUs with an Nth layer can all-reduce
1. Optimize for your GPU cluster network topology
1. Failure recovery, at 10k GPU scale, things fail all the time -- GPUs, NICs, cables, etc
1. At 10K scale bit flips actually become a problem and can cause loss explosions. Save your model state as frequently and as quickly as you can. To speed it up save it in shards and to CPU memory first and then in a seaprate thread write to disk
https://x.com/hughbzhang/status/1838288923656941860?s=12&t=QgBLS4SmhE8cqdYBmhrqJA
Читать полностью…Наткнулся в Твиттере на шикарную визуализацию LLM. Как выяснилось, ей уже целый год, но для новичков это все ещё полезная штука.
Кроме красивой 3D-модельки, здесь еще подробный гайд по работе каждого элемента, как говорит автор, до каждого "сложить и умножить".
По архитектурам там есть GPT-2, nanoGPT, GPT-2 XL, ну и GPT-3.
Ссылочка на визуализацию
@ai_newz
И ещё немного новостей о NEO. Собрал всё в батч чтобы не получилось так что канал всё время пишет о 1Х
1. Эпизод S3 где мы больше показываем что мы уже умеем и куда движемся: тык
1. Follow-up эпизод где мы деплоим Neo домой к Джейсону: тык
1. Часовое интервью с Бернтом. Больше технических деталей и больше о нашей стратегии. Кстати Бернт реально неплохо разбирается во всём техническом стаке компании. Он сам сделал наши моторы, периодически помогает с сервисом роботов когда нужны дополнительные руки. Оч советую: тык
1. Заметка Scott Walter об устройстве рук Neo и Оптимуса: тык
1. Подаст First Principles с Эриком, нашим VP of AI: тык
Мы работали над тем чтобы наконец-то показать Neo очень много, включая итерации над железом, controls, RL, остальным AI, и в конце-концов съемками чтобы получить perfect shot. Иногда по 15+ часов в день и без выходных (добро пожаловать в work-life balance кремниевой долины пхпх). Это очень круто осознавать что некоторые вещи которые тебе раньше казались фантастикой это всего лишь очень много работы а не невозможность.
Я всё ещё хочу держать баланс в канале между постами о моей работе и обзорами статей и новостей в NLP и робототехнике. Каждый пост не про NLP пинает меня чтобы сделать обзор новой статьи.
LeRobotDataset
huggingface.co/blog/video-encoding
HuggingFace потихоньку погружается в робототехнику и вчера они представили свой формат данных и даталоадер для рободанных.
В чём проблема? Большая часть рободанных это видео + syncronized time series. Видео это наибольшая проблема. Если хранить их в том же сжатом формате что мы обычно используем для просмотра, то чтение рандомных кадров будет очень медленным. Если хранить их в разжатом формате, то 1) занимает много места 2) очень нагружает ваш диск / сеть во врема чтения и легко упереться в лимиты железа
HF поглядели на ffmpeg, подкрутили настройки, и нашли отличный баланс между сжатием и скоростью чтения рандомных кадров. Обернули это в LeRobot и описали в блогпосте. Оч советую
Внимание! Hugging Face представляет конструктор «Собери сам роборуку и обучи ее»
Вкомплект входит:
- Конструктор «Собери сам» — роборука с ссылками для заказа запчастей ~ $300 (опционально есть еще вторая за $250) + файлы для принтера.
Гайды по:
- Cборке и калибровке.
- Записи собственного датасета на камеру телефона.
- Тренировке нейросетей для управления рукой.
Прикольная инициатива, ребята надеются максимально помочь начинающим в надежде привлечь больше рук (кожаных, а не робо-) в опен-сорс, что, в общем-то, шикарно!
Расходники вышли дороговатыми, но это уже не $108K за домашнего робогуманоида + скоро обещают выпустить новую версию, говорят уложились в $150 за обе руки.
Чел научил две роборуки складывать футболки на 100 примерах за одну ночь тренировки. Здесь для обучения используется способ, похожий на тот, что я описывал в посте про живую сталь. Там можно почитать подробнее.
Хотел бы я подарить такую штуку себе 15 лет назад.
Туториал на гитхабе
Тред с гайдом получше (есть и видео и ноутбуки с тренировкой нейронок)
@ai_newz
FlashAttention-3 📸
Блог и статья: tridao.me/blog/2024/flash3/
Код: github.com/Dao-AILab/flash-attention
1.5-2.0 раза быстрее чем FlashAttention 2 в FP16, почти в 3 раза быстрее в FP8
Flash 2 был оптимизирован под А100 и достигал 70% теоретических max flops, Flash 3 оптимизирован под H100 и достигает 75%. Для этого активно использовали библиотеку NVIDIA CUTLASS которая почти напрямую общается с железом и позволяет использовать хитрые фичи H100. Например использовать специальное железо (Tensor Memory Accelerator) для копирования тензоров между global и shared memory и Warpgroup Matrix Multiply-Accumulate (который я так и не понял что такое, но как-то связан с тензорными ядрами)
Сверху этого переписали код чтобы матричное умножение вычислялось (на tensor cores) параллельно с softmax (на multi-function unit) и сделали пару хаков чтобы FP8 давал более точные результаты
Выглядит очень классно, надо пробовать. Жаль что еще нету edge железа на Hopper
MLKV: Multi-Layer Key-Value Heads for Memory Efficient Transformer Decoding
Zuhri et al
arxiv.org/abs/2406.09297
Помните multi-query attention где вместо того чтобы у вас были разные key, query, value на каждую голову вы используете одни и те же kv для всех и разными бывают только query? Это очень классная идея которая сильно сокращает размер kv cache позволяя упихивать более длинные тексты или большие батчи в тот же объем памяти с минимальной потерей качества.
Авторы multi-layer kv heads предлагают сделать еще один шаг в эту сторону и предлагают шарить kv между соседними слоями тоже. То есть мы разбиваем наши слои на блоки, например по 4 слоя. И в каждой группе из 4 слоёв только лишь первый слой считает kv, остальные используют только query.
Потеря качества хоть и небольшая, но достаточно заметная, но иногда приходится упихивать неупихиваемое в GPU и хорошо иметь больше способов делать tradeoffs.
Очень крутая лекция Jason Wei (chain of thought, emergent abilities) и Hyung Won (Flan-PaLM) из OpenAI о языковых моделях, emergent abilities, и прочих интересных штуках
https://youtu.be/3gb-ZkVRemQ
Let's Think Dot by Dot: Hidden Computation in Transformer Language Models
arxiv.org/abs/2404.15758
We show that transformers can use meaningless filler tokens (e.g., '......') in place of a chain of thought to solve two hard algorithmic tasks they could not solve when responding without intermediate tokens.
У Dwarkesh новый выпуск подкаста с двумя LLM-щиками. Именно из превью этой беседы я вчера узнал про статью о генерализации и интерпретируемости, детали которой расписал в канале.
Один из гостей — нейробиолог, переключившийся в интерпретируемость моделей (и проводящий аналогии с мозгом) и работающий в Anthropic.
Второй — исследователь в DeepMind. Он молодой, работает буквально 2 года в индустрии, но один из создателей трансформера говорил, что без этого парня Gemini могла бы не состояться, и вообще он один из лучших и недооцененных спецов в области.
Должно быть очень интересно, го смотреть: https://www.youtube.com/watch?v=UTuuTTnjxMQ
Затрагивают следующие топики:
— Long contexts
— Intelligence is just associations
— Intelligence explosion & great researchers
— Superposition & secret communication
— Agents & true reasoning
— How Sholto & Trenton got into AI research
— Are feature spaces the wrong way to think about intelligence?
— Will interp actually work on superhuman models
Очень классное интервью с Андреем
https://twitter.com/stephzhan/status/1773027310587056433
Обсудили немного истории OAI и самого Андрея, насколько scale всё важен (всё ещё #1) какие другие вещи важны. Кажется это первое интервью за долгое время от которого я услышал интересные ответы на тему того куда мы двигаемся в ближайший год
Для себя всё больше понимаю насколько работа над инфраструктрой более важна чем над самими моделями/лоссами/прочим обучением и если раньше видел это как 90% инфра 10% модели кажется сейчас кажется что 99.9% инфра 0.1% модели (но обучать модели всё ещё веселее что проблема 😅)
В продолжение темы, Jay Alammar, у которого были прекрасные визуальные объяснения про работу трансформера, в сто раз лучшие оригинальной статьи, выпустил только что иллюстрированный DeepSeek-R1
https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r1
Programming Massively Parallel Processors
https://a.co/d/6QEiuCq
Наткнулся на книгу которая кажется весьма известна в мире GPU-программирования. Она довольно детально погружается в Nvidia GPU и CUDA. В четвертом издании (2022 года) ещё и добавили современные архитектуры: Ampere (A100) и Hopper (H100). Это важно тк архитектуры довольно сильно изменились с 2016 года.
Очень надеюсь просмотреть хотя бы по-диагонали и найти что-то полезное для себя, но вообще выглядит что если хотите низкоуровнево прогать на GPU это must read.
Если погуглить четвертое издание то можно найти и более бесплатные альтернативы амазону
Почему не стоит верить nvidia-smi “GPU utilization”
arthurchiao.github.io/blog/understanding-gpu-performance/
Nvidia использует очень особый способ определения утилизации GPU. 100% означают не что девайс загружен на 100%, а что хотя бы одно ядро было использовано хотя бы чуть-чуть 100% времени за последние N (мили)секунд
Очень яркий пример это примитивы синхронизации: когда вы вызываете torch.barrier GPU Utilization становится 100% при том что на самом деле железо просто «активно ждет».
Для реальной оценки загруженности GPU лучше использовать SM Occupancy которая показывает средний процент загрузки ядер GPU (то что я бы изначально ожидал увидеть от utilization честно говоря).
Для этого рекомендуют использовать dcgm-exporter
O1 mini inference scaling experiments
Прикольное саммари экспериментов одного чела. Коротко: если убедить модель дольше думать (что пока что непросто) pass@1 реально будет расти лог-линейно. При этом это скорее всего не majority voting или self consistency тк эти методы упираются в потолок
OpenDuck - очень классный проект по опенсорсной (хард+софт) реимплементации диснеевского робота
https://github.com/apirrone/Open_Duck_Mini
Очень мило. Буду следить за ними. А вот тут они уже умеют стоять: https://x.com/antoinepirrone/status/1835679313506562502
🍓
openai.com/index/learning-to-reason-with-llms
1. GPT-o1 это затюненая с помощью RL модель на улучшение reasoning (деталей как это сделано, конечно же нет)
1. Scaling c train-time compute (как долго делать RL) и test-time compute (как долго генерировать ответ) -- на текущих графиках никакого намёка на то чтобы модель выходила на плато 🔥
1. По сравнению с 4o на codeforces o1 получает 89 перцентиль вместо 11
1. В PhD-level GPTQA Diamond по физике pass@1 улучшили с 60% до 93%
1. По human preferences люди предпочитают o1 в 60% случаев в проге, и 70% в математике
Ждём когда будет доступно в chatgpt и API публично
Introducing NEO Beta
youtube.com/watch?v=bUrLuUxv9gE
Мы (1X Technologies) наконец-то показали нашего нового робота публично! Neo это наше второе (и на данный момент уже основное) поколение роботов. В отличие от Eve у Neo пять пальцев и две ноги, что позволяет решать гораздо больше задач. В отличие от других гуманоидных роботов Neo может безопасно находиться радом с людьми из-за compliant моторов, при этом он всё ещё обладает довольно большой силой, сопостовимой с другими гуманоидами (и может быть даже превосходящей некоторых). Надеюсь в ближайшее время мы пошерим больше деталей о том что уже сейчас может Neo.
(Продолжаю орать с комментариев о том что это человек в костюме, разработчики железа воспринимают это как комплемент пхпх)
Антропик опубликовали систем промты Claude
https://docs.anthropic.com/en/release-notes/system-prompts
Я до сих пор не перестаю удивляться насколько сильно длина систем промта выросла и что в отличие от LLM предыдущего поколения (GPT3, OPT, BLOOM) промты стали выглядеть совсем как обычный текст который ты описываешь как будто общаешься с человеком.
Немного поорал с багфиксов «If Claude cannot or will not perform a task, it tells the user this without apologizing to them» и «Claude responds directly to all human messages without unnecessary affirmations or filler phrases like “Certainly!”, “Of course!”, “Absolutely!”, “Great!”, “Sure!”, etc»
Не прошло и недели, а у Mistral новый релиз!
Новую "малую" модель NeMo тренировали совместно с Nvidia. У неё 12 миллиардов параметров, 128k контекста, инференс в fp8 без потери в качестве, сделана так, чтобы влезала в 4090.
NeMo - нативно мультиязычная модель, тренировали в том числе на русском, немецком, японском, китайском. И тут она конкурентов и в хвост, и в гриву. Обновили и токенизатор - он теперь на 36% эффективнее для русского, на 11% для английского, а на некоторых языках прирост по эффективности в 3-4 раза. Интересно, в токенах найдутся пасхалки?
С бенчами опять шалят: сравнивают только базовые модели, а бенчи для Instruct версий публикуют только специализированные, не общие.
Заметьте, как "малые" модельки растут в размере: 7B превратилось в 8, потом в 9, а сейчас уже 12
Веса
Блог
@ai_newz
Тут знакомая DL-школа DeepSchool, про которых я уже писал раньше ищет преподавателей на курс по LLM с опытом работы в индустрии
Я когда-то сам вел лекции и если вы хотите заполнить пробелы в своих знаниях и систематизировать их, то преподавание — отличный вариант, плюс есть возможность пообщаться с другими препами и узнать их мнения / заполнить пробелы в каких-то очень узких областях
Что ребята дают:
— доступ ко всем курсам школы: можно приходить на лекции, задавать вопросы, сдавать домашки и получать ревью
— оплата за подготовку материалов
— оплата за лекции и ревью заданий
— редактор поможет с текстами
— а дизайнер нарисует красивую презентацию
Что ребята ждут:
— опыт в DL-индустрии/ресёрче от 3 лет
— опыт работы с LLM от 1 года
Если вы работаете с LLM, хотите пообщаться с другими практикующими инженерами, вместе поработать и перенять опыт, заполните, пожалуйста, эту форму
1X AI Update, May
youtube.com/watch?v=bzn9O37fRMQ
Мы записали ещё один видос с тем как EVE могут автономно прибраться в офисе. Люди задают голосовые команды и чейнят задачи, задачи выполняются автономно. Вообще демки довольно хороши для того чтобы коллектить большое количество полезных данных тк заставляют тебя думать о более полезных задачах и делать модели которые решают их с реально высоким success rate.
GPT4o
openai.com/index/hello-gpt-4o/
Буква o в GPT4o означает "omnimodel". Новая моделька, аналогично gemini, может принимать на вход текст, аудио, картинки (и видео?) и генерировать эти модальности (текст, аудио, картинки, простенькое 3D)
Например, модель может суммаризировать видео, редактировать изображения, генерировать комиксы итд
Но самое впечатляющее это конечно же аудио. Новый (слегка кринж) очень живой и эмоциональный голос, который можно просить менять стиль, например насколько он звучит драматично или роботично, можно просить петь итд. Очень круто то что модель может обрабатывать и аудио и видео (как бы) одновременно. То есть ChatGPT слушает вас, но может и смотреть на то что вы показывете на камере -- теперь можно скидывать не только фотографию но и включать видео стрим.
Моделька будет основной моделью в ChatGPT, включая и беслпатных юзеров. Из того что я понял разница между платными и беслпатными теперь будет только в лимите запросов в день.
По метрикам, чуть-чуть лучше чем GPT4-turbo. Возможно мы уже подходим к потолку этих бенчмарков и скоро надо будет делать другие.
Очень рекомендую посмотреть видео с новой моделью, картинки не передают то насколько аудио крутое. Например посмотрите вот эти два видоса: тык, тык
Из презентации очень сильное впечатление что OAI окончательно стали продуктовой компанией. И 100% они специально поставили свою презентацию за день до гугловой. Такое ощущение что они поставили перед собой цель -- уничтожить гугл.
В общем очень крутая презентация, посмотрим как другие компании будут использовать новые API
Llama 3
llama.meta.com/llama3/
Немного странный анонс моделей с приговоркой "статья будет чуть позже", meta раньше так не делали, но всё равно модели очень крутые и уже доступны
Детали:
1. 16K GPU 🤯
1. 15T токенов 🤯🤯
1. Веса моделей на 8B и 70B параметров уже доступны 🎉
1. Тренируют модель на 405B параметров (без MoE) 🤯
1. 8K длина контекста
1. Архиткетурно самые большие отличия: Grouped Query Attention и 128K vocab size
1. Для тренировки оценивали scaling laws на разных доменах датасета (и на downstream задачах) после чего из них высчитывали оптимальное взвешивание
1. Никаких отклонений от scaling laws даже на 15T токенах для 8B модели
Бенчмарки:
1. На MMLU, Llama 3 8B работает на уровне PALM-540B и Chinchilla 70B
1. Там же Llama 70B обходит Claude 3 Sonnet и Mistral Large
Jamba - вроде Mamba, вроде MoE, вроде трансформер, и в то же время ничто из этого
Заявляют, что по бенчам на уровне Mixtral 8x7b, параметров в целом чуть больше (52B vs 46.7B у Mixtral), но активируется чуть меньше (12B vs 12.9B у Mixtral). Говорят что поддерживается контекст вплоть до 256к, но относиться к этому стоит скептически. В целом не заслуживало бы внимания, если бы не архитектура.
А вот архитектурно это ОЧЕНЬ странная модель – мешают сразу три типа слоёв (см. вторую каритнку). В каждом блоке в 8 слоёв 4 MoE, 3 Mamba и 1 классический трансформерный. То есть на бумаге там 16 экспертов, из них активных 2, но тем не менее половина активируемых параметров при работе модели - dense.
Зачем так - сделали - непонятно, но вроде работает. Главное преимущество по сравнению перед Mixtral - поддержка очень длинного контекста - 140к на одной A100, против 64k у Mixtral, причём на длинных контекстах Jamba вплоть до 3 раз быстрее. Главная проблема таких заявлений – непонятно как эта модель ведёт с такими огромными контекстами. Результатов для Needle In a Haystack бенчмарка нет.
В целом ничего не понятно, но очень интересно.😊
Веса
Блогпост
@ai_newz
MM1: Methods, Analysis & Insights from Multimodal LLM Pre-training
McKinzie et al., [Apple]
arxiv.org/abs/2403.09611
Apple взяла себя в руки и последнее время от них прямо пошли хорошие статье. В этой статье представляют семейство мультимодальных языковых моделей MM1
Научная ценность статьи в большом числе абляционных исследованиях. Авторы приходят к следующим выводам:
Для качества моделей более всего важны следующие вещи (от более важных к менее важным):
1. Разрешение изображений
2. Выбор лосса
3. Размер модели
4. Размер данных
Также выясняют что для few-shot лучше всего моделировать image-text interleave (как Flamingo), а для zero-shot лучше всего image-capiton pairs (как CLIP).
При этом архитектура нейросети минимально влияет на качество. Просто кидайте в трансформер которых подходит вам больше всего. Например когда у вас достаточно хорошая модель с достаточно высоким разрешением изображений не важно как именно вы пулите изображения для передачи в LLM: среднее, attention, или convolusion дают примерно один и тот же результат.
Интересно, что тренировка на тексте (без изображений) значительно улучшает few-shot. Кастательно соотношения данных, из того с чем эксперимертировали в статье лучше всего работает соотношение caption:interleaved:text 5:5:1
Код и веса к сожалению не опубликованы 😓