Приближаем сингулярность
978 subscribers
72 photos
2 videos
56 links
Про AI, стартапы, и не только

По всем вопросам писать @leshanbog
Download Telegram
ShortGPT: неоптмальность LLM’ок 📉

Ещё одна статья, демонстрирующая ту же идею (как и в Mixture-of-Depths): в LLM не все параметры одинаково ценны, их количество используется неоптмильно.

В работе ShortGPT: Layers in Large Language Models are More Redundant Than You Expect показали очень простой метод прунинга (удаления параметров модели), который приводит к пропорциональному ускорению модели и очень слабо просаживает качество (на MMLU бенчмарке).

Метод такой:
1️⃣ Прогоняем модель на калибровочном датасете и для каждого трансформер блока (self-attn + ffn) подсчитываем его важность (Block Influence)
2️⃣ Block Influence - косинусное расстояние между вектором токена на входе и им же на выходе, усредненное по всей входной последовательности (рисунок 3)
3️⃣ Сортируем блоки по их важности
4️⃣ Удаляем блоки целиком в порядке увеличения важности


Что получается:
🔹 выкинули 25% от Llama2-13B и просели в качестве на 2.7% на MMLU (рисунок 2)
🔹 прунинг просто выкидыванием блоков (а не хитрым выкидыванием параметров внутри блока) дает пропорциональное ускорение модели сразу
🔹слои в начале LLM важнее, чем более глубокие (рисунок 1)
🔹 сравнились с другими методами прунинга (без последующего дообучения - это на future work) и победили их; попробовали другую метрику важности блока, основанную на изменении магнитуды вектора, их Block Influence лучше
🔹написали, что пробовали ещё пару бенчмарков и там качество просаживалось сильно 😕; в общем, надо тестить

Интересно ещё
🔸если дообучить модель 10B (аналогичный размер, как у запруненной) с нуля, будет ли она хуже запруненной? а если запруненную дообучить?
🔸почему такие бесполезные слои присутствуют? надо дольше учить модели? или способ обучения проблемный?

Когда нибудь наука дип лернинга найдет ответы и теоретические обоснования на эти вопросы, а пока мы просто будем обучать модельки и смотреть, что получается 😉

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
О чем канал?

В канале пишу про движуху вокруг AI, стартапов, разборы статей, полезные материалы (включая мемы).

Субъективный список полезных и интересных постов:
- Фидбек пользователей - конкурентное преимущество [раз] [два]
- Почему успешные AI-first стартапы появились только сейчас [тык]
- Топ блогпосты про Hardware [тык]
- Groq и важность быстрго инференса [тык]
- Как делать хорошо, блогпост OpenAI кофаундера [тык]
- Assisted Generation (идея как и в Speculative Decpding) [тык]
- Про уменьшенные модели: SparseGPT, Mixture-of-Depths, ShortGPT
- Обзор методов по исправлению ответов LLM: [тык]
- Generative AI стартапы [тык]
- Verifiable Instructions (честный замер instruction following для LLM) [тык]
- База по датавизу [тык]

Ещё у меня есть ютуб канал, где я объяснял разные ML штуки. Но пока нет времени туда ещё что то записывать. Но видосы годные!

Об авторе

Я NLP Team Lead в стартапе Ex-Human, где мы делаем цифровых людей 🤖 До этого обучал LLM’ки в Яндексе, закончил ШАД.

Интересуюсь темой longevity, 7 лет медитирую, люблю делать полезные образовательные материалы, способствую технологическому прогрессу 📈

За последний год пожили с супругой в 10 странах, от ЮАР до Тайланда, и стали экспертами в "Как наладить повседневную жизнь в новом месте за 2 дня” 😁 Иногда пишу о путешествиях в инсте

Темы постов будут меняться в будущем, но это всегда будет моё личное мнение / рекомендация / обзор чего то мне интересного. Спасибо, что читаете ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
Приближаем сингулярность pinned «О чем канал? В канале пишу про движуху вокруг AI, стартапов, разборы статей, полезные материалы (включая мемы). Субъективный список полезных и интересных постов: - Фидбек пользователей - конкурентное преимущество [раз] [два] - Почему успешные AI-first стартапы…»
Hit Refresh 😵‍💫

Microsoft за последнее годы изменил восприятие своего бренда в лучшую сторону (у Гугла кстати, после релиза ChatGPT от OpenAI и серии их провальных демо, ситуация в другую сторону движется - но это уже другая история).

CEO Microsoft, Сатья Наделла, зашел на пост в 2014 году. С 2000 года акции компании были в районе 28$ (+- 5$), а с 2014 по текущее время выросли более чем в 10 раз 📈

Ниже мои заметки по книге "Hit Refresh", которую он написал в 2017 о том, как он смотрит на происходящие под его управлением изменения ⬇️

При вступлении в роль CEO он назвал культурную трансформацию - самой приоритетной вещью для компании.

Команды не чувствовали себя единым целым, не ощущали эмпатию к имеющимся и потенциальным клиентам.

Сатья вообще много пишет про эмпатию и понимает её как глубокое понимание ситуации и проблем людей, и искренне желание им помочь. Такое более мягкое обозначение немного пугающего амазоновского «customer obsession» 😃

Для Microsoft того этапа, основным способом по изменению культуры было нахождение каждым сотрудником общего
(1) в его личных стремлениях, принципах
(2) и в миссии компании

Это кажется полезным советом для всех. Соединяя работу с чем то ценным лично для себя, работать становится приятнее и веселее. Появляется внутренняя мотивация. А это уже и для работодателя хорошо. Win win получается 🤝

Теперь, некотрые высказывания Сатьи про то, как он понимает лидерство:
- Преодолевать препятствия, make things happen
- Дать проявиться сильным сторонам в людях и дать им уверенность в этом
- Видеть потенциальные направления, соотносить с возможностями и ценностями компании, и действовать на опережение - до того, как очевидно станет всем
- Вносить ясность, образовывать общее понимание вопроса
- «Долой уныние» - излучать энергией 🌞

В общем, Сатья продвигал growth mindset и настрой на понимание собеседника и клиентов на уровне корпорации. И его усилия окупились.

Книга мне понравилась, и сам Сатья по интервью и делам производит приятное впечатление. Рекомендую 💯

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM
Список открытых датасетов и инструментов для работы с ними: https://github.com/mlabonne/llm-datasets

Датасеты на (1) общие темы (2) код (3) математику и логику (4) ролплей (5) Agent & Function calling

Все ссылки есть, размеры датасетов и короткие описания тоже. Выглядит полезно 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Selection bias или как собрать плохой датасет 💸

Популярный способ собрать хороший датасет для обучения модели: (1) найти большой разнообразный датасет сомнительного качества и (2) отфильтровать его, оставив только “лучшие” данные.

Что же на деле остаётся? Примеры, которые удовлетворяют фильтру. Разнообразия конечно же становится меньше.

Например: хотим из миллиона диалогов отобрать только те, что интересные, релевантные, безопасные и ещё несколько критериев.

Прогоняем примеры через gpt4. И оказывается, что сразу всем критериям удовлетворяют не так то много ответов. Ещё хуже: ответы, которые удовлетворяют, часто встречаются в похожих контекстах и имеют похожую структуру! 😬

Такой вот рецепт получения примитивного датасета, где пары [контекст диалога, ответ] не разнообразны и только сделают модель тупее. 🤪

Эта проблема называется selection bias, когда после семплинга / фильтра остаются нерепрезентативные данные.

Как можно пробовать исправить?

Можно не выбрасывать все “тяжелые” (те, ответ на который не прошел все критерии) контексты. А для каждого генерировать K кандидатов и уже из них оставлять только один, наилучший. Даже если он не прошел все фильтры. Про этот поход (generate-rank) я упоминал здесь, и здесь он есть в бейзлайнах.

Такие вот дела с этими фильтрами. Аккуратней надо быть! 🕵️

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM
Amazon Leadership Principles 🏆

Плейлист на ютубе, с 2-3 минутными роликами от Амазона про их лидерские принципы. Ниже мой короткий перевод и пересказ 👇

1. Пользователи на первом месте. Как из данных, так и из единичных отзывов стараться понять, чего хотят пользователи

2. Чувствовать себя владельцем бизнеса. Думать как достичь лучшего в долгосрочной перспективе, не срезать углы ради сиюминутной личной выгоды

3. Изобретать и упрощать. Нужно быть достаточно способным, чтобы решать сложные задачи, и решать их так, чтобы это было легко поддерживать, расширять, и тд

4. Быть правым, очень часто. Мы все принимаем решения в ситуациях неопределенности. Хорошо бы, чтобы эти решенияи были верными и вели к светлому будущему

5. Изучай новое и будь любознательным

6. Нанимай самых лучших и вкладывайся в них

7. Настаивай и поддерживай высокие стандарты

8. Мысли масштабно. Как пример: для оптимизации доставки Амазон создалю свою грузовую авиакомпанию

9. Байес к действию. Лучше один раз сделать, чем долго думать и не сделать

10. Экономность. Преодолевать ограничения и использовать ресурсы оптимально

11. Зарабатывай доверие коллег и пользователей. Слушай и относись с уважением

12. Погружайся в детали и подробно разбирайся. Например, когда метрики и отзывы различаются, нужно разобраться

13. Будь смелым. Отстаивай свою точку зрения. Высказывайся, когда что-то кажется неверным. Когда решение принято, не сабатируй его

14. Достигай результатов. Фокусируйся на вещах, влияние на которые принесет наибольший профит. И доводи до успеха

15. Старайся быть лучшим работодателем

16. С успехом и масштабом ответственность шире

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM
Best AI Copilot - не Github Copilot (а cursor.sh)

Люблю пробовать новые штуки и работать эффективней. Поэтому как только появился Github Copilot, начал его тестить. Было лучше tabnine - иногда даже функцию дописывал, но всё равно не то.

Особенно хорошо тупость и ограничения Github Copilot можно увидеть на этом примере.

Есть класс, в котором, исходя из тайпингов, баг в конструкторе. Спрашиваем у Github Copilot есть ли баг - "нет, нет бага" (скрин 1).

1️⃣ Это первая проблема Github Copilot - там не флагманская модель OpenAI под капотом, там что то заметно более тупое

2️⃣ Вторая проблема видна на моем втором вопросе (на скрине 1), где копайлот мне вкорячил импорт, который на самом деле имеется в 1ой строчке файла. То есть он при выделении текста и вопросе смотрит локально, а не по всему файлу / кодовой базе.

Это очень неудобно. Для максимальной эффективности AI копайлотов им нужен наибольший возможный контекст - вся кодовая база.

Модель OpenAI справляется с задачей без проблем, просто смотря на эти 5 строчек (скрин 2)

Так вот, на прошлой неделе попробовал новую IDE-шку - cursor.sh (vscode с AI наворотами)

И пока кажется, что это прям топ 🔥 Как минимум, там умная OpenAI модель (gpt-4 / gpt-4o на выбор) под капотом и это делает все остальные фичи типа вопросов по всей кодовой базе не бесполезными.

С задачкой она конечно справилась (скрин 3).

Ещё есть офигенная фича (в бете пока), которая предсказывает куда ты направишь курсор после текущей отредактированной строчки и предлагает правки. Несколько раз уже срабатывало так, что прям как магия какая-то 🤯 просто кликаешь Accept и IDE правит код последовательно по всему файлу

В общем cursor очень нравится, буду в нем теперь работать. А там может и полноценный AI программист появится и будет за меня кодить 🤖

Но! Никакая машина не догадалась написать в одну строчку, как истинный python мастер self._instruction_injection = instruction_injection.strip() if instruction_injection else None

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
LiveBench - честный замер LLM

ЛеКун и Abacus.ai зарелизили 960 примеров для объективной оценки LLM.

Полезно как для замера своих LLM'ок, так и для выбора лучшей из имеющихся для своих нужд.

Какие обычно есть проблемы у замеров?

🔹 Contamination - данные из бенчмарка присутствуют в обучающем датасете
🔹 LLM-as-a-judge неточен: GPT4 предпочитает ответы от других моделей OpenAI, аналогично с Claude и тд.
🔹Human-as-a-judge дорого и долго; а также неточно, потому что вопросы очень сложные

🔸Первую проблему LiveBench фиксит тем, что будет выкладывать новые сложные вопросы каждый месяц

🔸Последние две тем, что в LiveBench есть точные ответы, которые можно проверить на соответствие (типа Verifiable Instructions)

На скрине категории и лидерборд: OpenAI > Anthropic > Google, пока что.

💗 Всё в открытом доступе: данные и код для замера

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM
Будущее квантизации 🔮

Квантизация - метод сжатия моделей. Позволяет использовать модели на кратно меньшем объеме ресурсов, плюс работает быстрее относительно использования полных fp16/bf16 типов. Но это конечно не за бесплатно - качество таких моделей похуже (что не всегда критично, поэтому методы сйечас распространены и полезны).

Но

🔹 Стартапы типа Groq решают проблему ресурсов более радикально и без потерь в качестве: разрабатывают не general purpose чипы, как GPU, а специфичные для AI моделей. Боттлнеки в виде memory bandwidth, актуальные при использовании GPU, не будут проблемой в новых чипах

🔹 При обучении на большем числе токенов, модели теряют больше качества при квантизации. Их становится сложней сжимать, ведь они упаковали в себя больше знаний. И дообучение на всё больших объемах данных - очевидный тренд в AI

Из этого мне кажется, что актуальность квантизации и других методов сжатия будет убывать 👋

Not a career advice =)

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM
Прыжок выше датасета ⬆️

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

Статья с пафосным названием Transcendence: Generative Models Can Outperform The Experts That Train Them.

В чем суть?

Взяли LLM и дообучили на шахматных партиях в формате 1.e4 e5 2.Nf3 Nc6 3.Bb5 ... 1/2-1/2. Было 3 датасета: партии игроков до 1000 рейтинга, до 1300, и до 1500.

И оказалось, что с температурой ближе к нулю (ближе к жадной генерации), LLM играет на рейтинг выше, чем в обучающем датасете (рисунок 1 - графики для 3 датасетов).

Но есть нюанс, что такой скачок происходит только на датасетах до 1000 и до 1300.

Можете подумать, почему такое происходит. Ниже их объяснение.

Разнообразие в датасете. Игрок на 1500 + случайные ошибки ~= игрок на 1300. Поэтому, дообучаясь на победных ходах + разнообразных ошибках, LLM научилась больший вес давать правильному ответу. И при жадной генерации мы всегда выбираем именно этот ход.

Пример. Если мы усредним игрока, который выбирает в 40% верный ход А и в 60% неверные ходы B, и игрока, который выбирает в 40% верный ход А и в 60% неверные ходы C, то получим 40% на верный ход и по 30% на неверные. Что при 0-ой температуре даст строго верный ход.


Блогпост с картинками, формулами, кодом, датасетом, моделями.

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM
Fast Constrained Decoding ⚡️

Есть такой юскейс у LLM, когда надо генерить строго в JSON/YAML формате. Это очень удобно, потому что такой ответ легко парсить. Мы его применяем, например, когда надо классифицирровать текст на несколько аттрибутов.

У этих форматов есть правила: каждая открытая скобка должна закрыться, ключи обязательно в кавычках и тд

И когда LLM, вероятностная по своей природе, пытается решить такую задачу, могут возникнуть проблемы типа генерации невалидного JSON'а.

Так вот, в SGLang (про который тут есть хороший пост) реализован быстрый constrained decoding с использованием конечных автоматов. И на JSON'е он работает очень хорошо (см гифку)

✍️ Суть в том, что мы можем пропускать генерацию некоторых токенов, когда только один подходит (для ускорения), и ограничивать возможные токены для генерации через logit bias (для корректности).

Подробный блогпост от авторов на эту тему. Очень рекомендую к ознакомлению 👍

И обрартите внимание на то, как это можно использовать в коде (на скрине и тут в примерах). На мой взгляд это прям next level удобства и скорости для агентов и function calling 🦾

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
У нас тут в Ex-Human появилась классная вакансия на Senior NLP инженера

https://botifyai.notion.site/Senior-NLP-Engineer-90a1dbe0d9c3473eb5c9301e2779ce48

Если коротко, то Ex-Human это
- американский стартап с инвестициями от ведущих VC (a16z, Baidu Ventures, ...)
- делаем вселенную ботов и продаем технологию b2b
- миллионы сообщений в день, средний таймспент пользователя больше 1 часа
- очень крутая команда

Так вот, сейчас в нашу NLP команду нужен NLP инженер с сильным техническим бэкграундом.

Главная цель: улучшать наш Conversational AI (дообучение, ускорение, safety, etc) и продукт за счет AI-based фичей.

Условия
- 100% remote
- $5k - $7k / month

Более подробно про задачи и условия написано в ➡️ вакансии ⬅️

Скидывайте свои резюме мне в телеграм (@leshanbog) и делитесь вакансией с друзьями =)
Andrew Ng про цену LLM инференса

За последний год цена на лучшую модель OpenAI уменьшилась на 79%.

Почему?

💸 Конкурирующие LLM инференс провайдеры (anyscale, together, etc) вкладывают кучу денег в оптимизацию инференса опенсорсных моделей. Ведь дорогущее предобучение сделает какая нибудь Meta =) Поэтому и OpenAI приходится снижать цену

🚀 Успехи стартапов типа Groq позволяют делать безопасный прогноз на ещё более значительное снижение в будущем. Ну и гиганты типа nvidia/amd не сидят без дела

🧠 Появление более умной модели ганартирует появление более эффективной (через дистилляцию). А модель поменьше инферить ещё дешевле

Отсюда логичный совет: фокусироваться на построении полезных продуктов, а не на оптимизации LLM костов.

Если, например, пайплайн с агентом сейчас экономически невыгоден, скорее всего это изменится в будущем

Твит Эндрю

@building_singularity
Big life update 🚀

Были довольно напряжные и загруженные несколько месяцев, но всё это оказалось не зря: за это время я наконец таки переехал на долгосрочное место жительства, после пары лет путешествий. И этим местом стал Лондон 🇬🇧

Переехал по Global Talent визе, собрав её самостоятельно (без агентства), пользуясь опытом людей из очень полезного чата на эту тему @globaltalenthowto, и советами Вани @neural_cat, получившего её на полгода раньше. И в целом, спасибо всем кто помогал с этим 🙏

В начале казалось, что оформить кейс будет очень тяжело, почти нереально. В итоге это и оказалось тяжело :D но выполнимо.

Ещё успел подготовить и прочитать лекции на паре курсов про LLM, увидеть коллег и некоторых старых знакомых вживую. В Лондоне оказалось много классных людей.

Сейчас возвращаюсь к своей рутине, и уже запланировал написать полезных и интересных постов 📚

Если есть вопросы по получению UK Global Talent визы, спрашивайте!

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM
H100 девешле A100

Я уже писал про тренд на уменьшение цены инференса LLM. Недавно на работе столкнулся с ещё одним примером этого.

Мы перешли на H100 для инференса, и стали
- тратить меньше $$$ на сервера
- отвечать немного быстрее (10% меньше time per output token и 50% меньше time to first token)

В нашем случае с LLM в fp8 получилось так, что H100 80gb держит в 2.5 раза больше нагрузки, чем A100 40gb.

А стоит она не в 2.5 раза дороже. Вот и экономия 💸

То, что H100 для обучения и инференса LLM кратно выгоднее, чем карты старого поколения - ещё один драйвер цен вниз.

Большая конкуренция на передовом крае между OpenAI, Anthropic, xAI, etc будет их вынуждать покупать (точнее арендовать у Oracle, Azure, AWS, etc), самые новые карты, чтобы обучать LLM быстрее и больше. Но у них уже миллиарды вложены в слегка устаревшую инфраструктуру, которую клауд провайдеры будут готовы сдать подешевле каким нибудь стартапам.

В общем,
- если GPU стоит дороже, это не значит, что инференс вам выйдет дороже
- не стоит брать лонг терм контракты на старые карты, потому что с течением времени они будут заметно дешеветь; если у вас не бесплатные стартап кредиты конечно, которые можно только так потратить. Это кстати наш случай, поэтому частично мы ещё всё таки на A100, который на условном runpod можно сейчас снять дешевле

(перевел статью на английский, чуть добавил контекста и запостил в свой LinkedIn)

@building_singularity
Please open Telegram to view this post
VIEW IN TELEGRAM