Новости и обзоры статей на тему обработки естественного языка, нейросетей и всего такого. Связь: @dropout05 (рекламы нет)
Тут кто-то на реддите нашёл способ как дать ChatGPT полный доступ над своей системой через выполнение небезопасной функции eval в JavaScript. Через чат пользователь смог узнать описание и содержимое файлов у себя на жёстком диске, открыть браузер и выполнить поисковый запрос и даже управлять мышкой 🤯
Привет SkyNet 😅
Говорят, PaLM 2 (/channel/gonzo_ML/1559) содержит 340B параметров и обучена на 3.6T токенов.
https://www.cnbc.com/2023/05/16/googles-palm-2-uses-nearly-five-times-more-text-data-than-predecessor.html
Flash attention in practice 🔥
PyTorch 2.0 has flash-attention built-in, here's how you can use it:
1. Replace your attention op with torch.nn.functional.scaled_dot_product_attention
1. Use 16-bit float (which you should always be using for training anyway)
1. Make sure that your head dim is a multiple of 8 and no more than 128
Lookup git diff above as an example.
Result:
1. 2010 examples/sec ⟼ 2790 examples/sec. 40% speedup (8x4090 setup)
1. RAM: 22Gb ⟼ 16 GB reduction at 256 sequence length
1. Absolutely the same model, no approximations
(In my case a big chunk of improvement also came at the cost of reducing softmax precision from fp32 to bf16, but to hell with that)
Flash attention should yield even higher improvements on larger sequence lengths.
И ещё один маленький announcement
Почти все новости и статьи в этом канале начинают свою жизнь как url сохранённые в мои Saved Messages в телеграме, но 90% этих ссылок остаются там умирать. И я подумал и решил нагло украсть идею @j_links и сделать канал куда я буду постить все эти ссылки, без каких-либо комментариев но сразу же как их нахожу.
Начал собирать там ссылки ещё несколько дней назад, так что там уже не пусто. Если хотите получать сырые новости сразу же как я про них узнаю, подписывайтесь на t.me/dlinnlp_links
Для тех кто только погружается в Data Science, Skillfactory проводит бесплатный трёхдневный интенсив «Симулятор работы в аналитике данных»
16-18 мая с 19:30 мск дата-сайентист Сбера Мария Жарова расскажет о том, как делать:
1. Анализ данных в Pandas (плюс intro в питон)
1. A/B тестирование — это топик который по-моему никогда лишним повторить не будет
И для тех кто хочет прямо с нуля погрузиться в аналитику работа с табличками (Google Sheets)
Вот что Skillfactory сами говорят о курсе: Можно пройти десятки курсов, но так ничего и не понять. А можно зайти на один интенсив, где 70% — это практика, и выйти оттуда готовым к первым рабочим задачам.
Интенсив бесплатный, записываться здесь: https://go.skillfactory.ru/5siTew
#промо
Только что прошла презентация Google I/O вот мои заметки:
Гугл активно пошёл вширь со своими Generative AI продуктами: "help me write" в Gmail, Docs, и Android; "help me visualize" в Slides, "magic edit" в Google Photos и показал как будет выглядеть интеграция в Search.
1. PaLM 2 — мультиязычное семейство языковых моделей от "запускаемых на мобильных устройствах" до "очень больших". Мало специфики, но наверное больше мы и не узнаем
1. Gemini — следующее поколение языковой модели от Google. Главная фича: мультимодальность и поддержка tools.
1. Bard.google.com теперь доступен без очереди, а также скоро начнёт поддержвать тулзы вроде генерации изображений с помощью Adobe Firefly, инпута изображений с помощью Google Lens итд
1. Tailwind — чат с вашими документами вроде статей, книжек, и остального. Изначально делался для образования, но потом поняли что он может быть general-purpose.
Text2image Imagen, code generation Codey, и Chirp будут доступны в Google Cloud через API. Обещают возможность файтнюнинга и дифференциально приватного файтнюнинга для работы с чувствительнми данными. Также анонсировали что в Google Cloud будет сервис для RLHF и новые инстансы серии A3 с H100 на борту 🔥
Следующие пару лет будут очень интересными и гугл несмотря на вялый старт с Bard потихоньку набирает обороты. Технологически они и так одни из самых сильных игроков благодаря TPU, Google Brain и DeepMind. Главное сделать из этих технологий полезные продукты и то что показали на I/O выглядит многообещающе.
Claude’s Constitution
anthropic.com/index/claudes-constitution
Anthropic описывает как обучен Claude — их чат-моделька конкурирующая с ChatGPT.
OpenAI используют Reinforcement Learning from Human Feedback (RLHF) чтобы заалайнить языковые модели на следование человеческим принципам, безопасность и полезность. То есть чтобы модели решали те задачки что вы у них спрашиваете но при этом ещё и знали когда отказать.
RLHF очень эффективен так как в нём написание тренировочных примеров минизировано в угоду того чтобы модель сама генерировала ответы а люди выбирали какой из них самый лучший. Но на практике это всё равно сложно и дорого.
В декабре Anthropic предложил альтернативный подход: Contitutional AI. Вместо разметки каждого примера люди пишут конституцию которой должна следовать модель. Далее во время обучения модель сама критикует свои ответы на основе её основе и таким образом генерирует себе тренировочную выборку.
То есть простыми словами Constitutional AI это Законы Робототехники Азимова. А точнее Anthropic придумали как же эти законы реализовать на практике. И сегодня они опубликовали конституцию их модели! Она основана на:
Декларация прав человека ООН. Например "please choose the response that most supports and encourages freedom, equality, and a sense of brotherhood."
Apple’s Terms of Service: "Please choose the response that has the least personal, private, or confidential information belonging to others."
Principles Encouraging Consideration of Non-Western Perspectives: "Choose the response that is least likely to be viewed as harmful or offensive to those from a less industrialized, rich, or capitalistic nation or culture."
Deepmind’s Sparrow Rules: "Choose the response that is least intended to build a relationship with the user."
Anthropic Research Set 1 и Set 2: "Choose the response that answers in the most thoughtful, respectful and cordial manner."
В сумме более 60 принципов. Сам факт обучения AI с такой конституцией выглядит очень футуристично и круто
Hello, Mojo 🔥
docs.modular.com/mojo/notebooks/HelloMojo.html
Новый язык программирования заточенный под нейросетки. Уже таких было несколько, но Mojo очень активно пиарят, так что есть чуть больший шанс что он взлетит.
Во-первых зачем?
1. Python "poor low-level performance" — сомнительный аргумент, тк весь тяжёлый код выполняется не в питоне
1. GIL — мультипроцессорность в питоне и правда странноватая и это заметно когда работаешь в distributed
1. Python по сути выступает glue code для C/C++ библиотек и поэтому разрабатывать проекты которые требуют low-level оптимизаций довольно сложно. Авторы Mojo говорят что именно из-за этого Tensorflow 1.X был со статическими графами и получился таким каким получился. И PyTorch 2.X сейчас тоже направляется в эту сторону. Mojo предлагает сделать весь код быстрым, чтобы оптимизации вычислений находились в компиляторе языка, а не в абстрации компилятора графа.
При этом обещают:
1. Mojo is a superset of Python — весь питоноский код это просто плохой Mojo
1. Full compatibility with the Python ecosystem
1. Target accelerators and other heterogeneous systems
1. Mojo Playground — ноутбуки на Mojo 🔥 (пока что invite-only)
1. Заопенсорсить язык после стабильного релиза
То есть если я правильно понял Mojo пытается заменить собой не только Python, но и CUDA/Triton. Было бы классно если бы он взлетел. Запросил доступ к бете, попробуем когда дадут.
Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning
11 Мая на Münich NLP в 12pm EDT буду презентовать наш обзор PEFT методов. Заходите спросить почему BitFit больше не классный, какие методы работают лучше LoRA и зачем вообще этот PEFT обычным работягам.
Митап будет в дискорде Münich NLP
Ещё можете зарегистрироваться тут чтобы точно не пропустить
Google Brain + DeepMind = Google DeepMind
deepmind.com/blog/announcing-google-deepmind
DeepMind и Google Brain объединили. Демис Хассабис останется во главе, но теперь у них появится и VP of Product. С продуктами у гугла традиционно плохо получается, надеюсь что тут будет лучше.
DeepMind и Google Brain одни из самых крутых рисёч-организаций. DeepMind придумал AlphaGo, AlphaZero, Starcraft, AlphaFold, Chinchilla, VQ-VAE. Google Brain: Transformers, BERT, MoE, Diffusion. Достижения можно перечислять долго, будем надяется что реструктуризация не сильно скажется на командах.
Но в то же время наличие VP of Product намекает на то что статей вы больше особо не ждите. И мы сейчас это видим повсюду. Я на днях выяснил что всю команду FAIR занимающуюся языковыми моделями тоже реструктурировали и теперь они будут пилить внутренние сетки Meta вместо статей.
Кстати заметили как все компании которые начинали с "ClosedAI ужасные и не релизят веса, мы будем другими и по-настоящему открытыми" постепенно перестают выкатывать тренировочный код, потом и веса, а потом и статьи описывающие их новые модели? Тем самым полностью повторяя путь GPT2 -> GPT3 -> GPT4
Это был пинок в сторону Stability.ai и Stable Diffusion XL если что
UPD: всё-таки обещают в будущем выложить, будем смотреть
ML-разработчики, хотите создать что-то действительно уникальное? Присоединяйтесь к IT-команде Сбера и приступайте к работе над русской версией ChatGPT 🖥
Чем предстоит заниматься?
• Довести качество русской версии до ChatGPT и даже обогнать его
• Придумывать и реализовывать новые варианты применения LLM
• Находить решения бизнес-задач с помощью технологии Сбера.
Если у вас есть опыт обучения моделей, знание математики, алгоритмов, а еще вы не боитесь экспериментировать — переходите по ссылке, смотрите все условия и откликайтесь на вакансию 💚
#промо
Одной строкой #14
Давно не было подборок новостей, пора это исправить
1. Новая версия bitsandbytes: поддержка 8-bit Lion, который в 8 раз дешевле Adam и сериализация сразу в 8bit, чтобы ваши модели занимали в 2 раза меньше storage
1. Пост Greg Brockman о том, что alignment становится всё важнее и что возможно стоит переходить от больших релизов новых моделей раз в 3 года к более итеративным релизам, например промежуточным чекпоинтам тренируемой модели
1. BigCode/santacoder — опенсорсная 1.1B модель натренированная на Python, Java, Javascript. Использует multiquery attention, который шарит K и V между головами, очень сильно сокращая потребрление памяти.
1. DeepSpeed Chat — RLHF оптимизированный с помощью PEFT и трюков DeepSpeed. Позволяет впихать невпихуемое — тренировать 7B на одной GPU.
1. Robots that learn from videos of human activities — последнее время от фейсбука статьи по роботам пошли прямо потоком. Вот зарелизили большой датасет и рассказали про модельку по task-oriented end2end robot control.
1. Teaching Large Language Models to Self-Debug — новая статья от гугла о том как научить языковые модельки итеративно улучшать и дебажить свой код. SOTA на Spider и TransCoder
Новости от подписчиков 🔥
1. Большая подборка новостей об LLM за прошлую неделю
1. PokiToki — опенсорсный интерфейс для ChatGPT в телеге. Поддерживает DM и группы, может сам ходить по ссылкам, есть генерация изображений через DALLE-2.
Слухи о гиганской языковой модели от Google
twitter.com/o42nl/status/1642204593206509568
Гонка вооружений языковых моделей в самом разгаре и понятно что гугл один из первых кто в неё включился: у них очень сильная рисеч команда, свой уникальный hardware который уже проверен at scale - TPU Pod. Ну и ещё бизнес гугла реально может быть под угрозой - ChatGPT и бинг уже немного его подъели.
Суть слуха:
1. Тридцать триллионов параметров - в 170 раз больше GPT-3
1. Архитектура основана на PALM - FFN и Attention параллельны друг другу, что позволяет проще скейлиться на большое число TPU
1. Тренируется на восьми TPUv4 Pods - в сумме 16 тысяч TPU-чипов
1. Использует некую новую форму scaling law, что насекает на серьезные изменения в архитектуре - скорее всего MoE, но может быть и ещё что-то
1. Мультимодальность - текст, картинки, видео, аудио, и векторы состояния роботов
Модель будет анонсирована на Google I/O в Мае
И все это первоапрельская шутка на которую я попался 😂
От моего PI:
« людей, которые верят, что большие модели обретут AGI from further scaling, надо называть большевиками 🙂 »
Как мы дожили до того что CNBC рассказывает больше чем статья на архиве?
Читать полностью…Anthropic Claude теперь поддерживает размер инпута в 100K токенов 🤯
anthropic.com/index/100k-context-windows
Начинаем сейчас! Приходите послушать про PEFT методы в дискорд Münich NLP
Читать полностью…About PaLM 2:
https://ai.google/static/documents/palm2techreport.pdf
As with GPT4, almost no technical details (as I was predicting, forget about big tech publishing detailed papers about their top-performing models), but a few things are still there:
1. "mixture of objectives similar to UL2"
1. "more multilingual and diverse pre-training mixture", "larger models can handle more disparate non-English datasets without causing a drop in English language understanding performance" — less than 78% English, exact number is unknown
1. "The largest model in the PaLM 2 family, PaLM 2-L, is significantly smaller than the largest PaLM model but uses more training compute" — largest PaLM 2 is less than 500B
1. "For a small fraction of pre-training data, we added special control tokens marking the toxicity of text, using signals from a fixed version of the Perspective API." — after training, you can use these to control the toxicity of the text.
Some downstream tests compare PaLM 2 to GPT4 and show similar levels of performance. Tho, I wouln't be surprised if Google didn't include cases when GPT4 significantly outperforms PaLM 2. This is not a research paper by scientists, this is a technical report by Google, as the first page says.
Language models can explain neurons in language models
openai.com/research/language-models-can-explain-neurons-in-language-models
Внезапно OpenAI продолжает публиковать рисёч. В этой статье они предложили использовать GPT4 чтобы интерпретировать нейроны GPT2 и вот как это работает:
1. Используя GPT-4, они генерируют объяснения поведения нейронов, показывая соответствующие текстовые последовательности и активации.
1. Затем симулируют, что нейрон, активированный для объяснения, сделал бы снова с использованием GPT-4.
1. Оценивают объяснение на основе того, насколько хорошо симулированные активации соответствуют реальным активациям
Большинство сгененированных объяснений не проходит проверки (как и в человеческом рисёче), но сама идея автоматизации этого процесса крута. Кроме этого, большие модели или те которые дольше тренировали интерпретировать сложнее. Вот так пытались улучшить результаты:
1. Просить GPT4 придумывать контрпримеры, после чего переделывать объяснение.
1. Использовать другие функции активации в модели.
Статья: тык
Код и датасет: тык
Мы тут с авторами топовых ML-каналов собрались и сделали маленькую подборку чего же мы читаем в телеграме. Изначально я был немного скептичен, но потом понял что на все эти каналы подписан чуть ли не с самого момента их появления и искренне рад их рекомендовать.
Так что получайте подборку:
@aihappens - канал СТО Dbrain, одного из первых стартапов по МЛ в России, где Леша делится контентом на простом языке.
@seeallochnaya - топ контент про машинное обучение и языковые модели простыми словами, от автора самых популярных статей про принцип работы ChatGPT, появившийся из статей на Хабре от Игоря. Еще там иногда бывает про космос!
@ai_newz - новости вокруг ML, с очень широким разнообразием и свежими статьями
@NeuralShit - топ мемы про машинное обучение!
@dl_stories - канал с разборами статей и новостей по AI, а также ссылками на обучающие материалы
Папка со всеми каналами: /channel/addlist/W07iyMJ-23djZmQy
Держите полезный промпт:
<пихаете ваш training loop или другой код>
Find all bugs and possible unexpected behavior
Вряд ли найдёт прямо сложные ошибки, но глупые ошибки отлавливает отлично (см выше). Только что сэкономил себе только кучу нервов и немного времени (вот как раз чтобы этот пост написать).
И самое полезное: если GPT4 вам врёт вы это сразу же замечаете и просто следуете дальше по списку
Is Your Code Generated by ChatGPT Really Correct? Rigorous Evaluation of Large Language Models for Code Generation
Интересная статья, в которой анализируется способность моделей решать задачки на написание кода. Ранее для этой цели OpenAI выпустили датасет HumanEval, где сделали разметку для 164 разных задач: написали каноничное решение, придумали тест-кейсы, чтобы валидировать ответы. За пару лет с момента релиза вышло несколько моделей, заточенных на генерацию кода.
Что заметили авторы: сейчас тест-кейсы не исчерпывающие, они не покрывают всех краевых случаев в задачах, и в теории можно сгенерировать программу, которая пройдет тест, но при этом не будет работать корректно в 100% случаев (то есть что-то не учтено в логике).
Что предложили авторы: а давайте сгенерируем кучу новых тестов, назовем это HumanEval+, и перепроверим модели?
Как генерировали: сначала давали ChatGPT (3.5-Trubo) описание задачи, каноничный код решения от людей из OpenAI, несколько примеров аргументов для кода, а затем просили сгенерировать сложные аргументы, которые проверяют краевые случаи. Так получали по 30 новых кейсов для проверки. После этого для выданных моделью вариантов запускали мутации. Звучит сложно, но на деле просто: для каждого типа данных описана процедура изменения, и она случайным образом применяется. Число? Давайте прибавим или убавим какое-то случайное значение. Список чисел? Давайте одно выкинем или добавим (случайное, опять же). Строка? Либо уберем часть букв из нее, либо добавим. Идея, думаю, понятна - и все это автоматически, пока не будет получено 1000 тестов (или пока не пройдет час времени).
Что вышло - видно в табличке, строки before - это метрики до увеличения количества тестов, after, соответственно, после. Общее количество тестов выросло в 81 раз (!).
Shall We Pretrain Autoregressive Language Models with Retrieval?
arxiv.org/abs/2304.06762
NVIDIA повторила RETRO от DeepMind вплоть до 9.5B параметров с retreival-database в 330B токенов. Главный вопрос: нужно ли нам предобучать модели с ретривом или лучше тренировать обычные LM? Ретрив побеждает (с небольшим отрывом). Такие модели меньше страдают от повторения собственных токенов, у них лучше фактологическая точность, и даже немного более низкая токсичность.
Код доступен в Megatron, весов нет.
Результаты поиска «as an AI language model» в Твиттере.
twitter.com/jsrailton/status/1647812843239088129
Заставляет задуматься. А ещё хорошо что моделька всё-таки, пусть неидеально, но умеет отказывать на запросы сгенерировать hateful content.
🤗 Transformers 4.28
github.com/huggingface/transformers/releases/tag/v4.28.0
Новый минорный апдейт твоей любимой библиотеки с парой важных улучшений.
1. LLaMa! Веса конечно официально нельзя, но код теперь в библиотеке (да и веса на хабе если постараться можно найти)
1. Больше мультимодальности: Pix2Struct, MatCha, DePlot
1. GPTBigCode - трансформер с multi-query attention вместо обычного multi-head attention. Нужен для SantaCoder от BigCode
1. NLLB-MoE - mixture of experts из статьи no language left behind
1. 8-bit serialization
отныне 1.3B-модели — это small/toy
а в 2020 я даже не знал как такую дичь (GPT2) запустить на паре GPU
Исследование: восприятие искусства
Международная лаборатория экспериментальной и поведенческой экономики ВШЭ проводит исследования того, какие эмоции могут вызвать те или иные изображения. Подробнее о проекте тут.
Сейчас авторы работы приглашают добровольцев поучаствовать в этом исследовании, для чего создали специального бота.
Приложение запускается в telegram
по ссылке 📲 /channel/galaimagebot
👉 @galaimagebot
🎯 онлайн формат, анонимность
⏰ 5-7 минут время прохождения
🎁 В качестве бонуса среди всех участников будет разыгран ценный приз
#промо
Кажется у нас в этом году будет очень много драм. Запасаемся попкорном.
Читать полностью…