building_singularity | Unsorted

Telegram-канал building_singularity - Приближаем сингулярность

937

Про AI, стартапы, и не только По всем вопросам писать @leshanbog

Subscribe to a channel

Приближаем сингулярность

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 можно сейчас снять дешевле

@building_singularity

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

Приближаем сингулярность

Andrew Ng про цену LLM инференса

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

Почему?

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

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

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

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

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

Твит Эндрю

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

Приближаем сингулярность

Fast Constrained Decoding ⚡️

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

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

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

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

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

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

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

@building_singularity

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

Приближаем сингулярность

Будущее квантизации 🔮

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

Но

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

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

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

Not a career advice =)
Что думаете?)

@building_singularity

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

Приближаем сингулярность

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

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

Приближаем сингулярность

🔍 Selection bias или как собрать плохой датасет 💸

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

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

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

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

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

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

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

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

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

@building_singularity

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

Приближаем сингулярность

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

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

Приближаем сингулярность

Llama3 подъехала 📈

- Веса на HF

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

Приближаем сингулярность

Mixture-of-Depths: Dynamically allocating compute in transformer-based language models

DeepMind недавно выпустил статью про улучшение лосса у LLM при том же бюджете на компьют.

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

Роутер в Mixture-of-Experts определяет, в какой MLP подать токен. В этой же работе роутер Mixture-of-Depths определяет, прогонять ли токен через Self-Attention & MLP или оставить его как есть. Получается, что через слой MoD проходит только часть токенов (часть входной последовательности).

То есть на обучении (когда делаем forward pass сразу на всей последовательности)
(1) через каждый слой (= глубину LLM) проходит заранее заданное число токенов K, которое может быть сильно меньше общей длины (авторы 12.5% используют, правда слой MoD чередуется с обычным транcформером, где всё используется)
(2) Self-Attention вычисляется на этом же подмножестве из выбранных top-K токенов

Роутер обучаемый, для каждого токена выдает одно число: его важность для данного слоя.

Ещё одно преимущество подхода: константа K задается заранее, поэтому вычислительный граф при обучении не меняется (статичный). В Self-Attention & MLP всегда пойдет K токенов. Это дает доп выигрыш в скорости.

Таким образом, варьируя K можно делать трейдофф между качеством и скоростью, достигать лучшего лосса при заданном бюджете на компьют.

В общем, архитектура трансформера достаточно неоптимальная и заметное ускорение при том же качестве можно выжимать и на software части, а не только hardware.

@building_singularity

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

Приближаем сингулярность

Groq - "overnight success", после 8 лет труда

На прошлой неделе произошел прорыв в скорости инференса LLM. На видео сравненивается 70B модель на Groq inference и ChatGPT. Просто вау 🤯

Нашел интересные факты про компанию:

🎩 Фаундер лидил разработку TPU в гугле, но ушел делать свой стартап чтобы такая мощная технология была общедоступной

⏱️ Стартап основан в 2016 году, даже до изобретения Трансформеров. И начинали они с ускорения сверток в Computer Vision

👑 Nvidia монополист с 99% долей рынка, потому что имеют hardware + оптимизированный software. Поэтому компании, которые просто пытаются сделать быстрый чип не взлетят - нужно делать весь стек. В Groq и чип, и компилятор, и софт для сервинга LLM

🔄 Groq делают чипы с 14нм техпроцессом - что считается уже сильно устаревшим. Nvidia H100 используют 4нм. В общем, перспективы у Groq хорошие

Мне кажется, что это реально важный прорыв и ощутимая угроза монополии Nvidia (на горизонте 5-10 лет).
❗️ Плюс скорость всегда можно обменивать на качество: Chain of Thought, K candidates + rank, etc

Можно послушать подкаст с их фаундером здесь.

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

Приближаем сингулярность

Пока Сэм Альтман собирает пару триллоинов долларов на революцию в области полупроводников, самое время разобраться в работе CPU, GPU и прочих железок.

Очень крутые и понятные блогпосты для широкой аудитории: CPU,
GPU, ASICs.

Помимо базы, которая очень кайфого изложена - с аналогиями и примерами, есть и про

- Power - Performance - Area трейдофф при дизайне чипов
- Мера энергоэффективности чипа (performance per watt) - главная метрика
- Power и Efficiency ядра в процессорах
- Фундаментальное отличие CPU и GPU
- ...

Если не до конца ясно, как основной ботлнек на практике в Deep Learning'е может быть не в вычислениях, а в доступе к памяти (для меня это было удивительно, когда узнал :D, про это я ещё упоминал здесь), то прочтение этих блогпостов поможет осознать)

🟢

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

Приближаем сингулярность

(мемы немного в тему, взял здесь)

Подумал, что CEO - максимальная стадия VC (venture capitalist).

Типа VC анализирует, выбирает несколько стартапов, инвестриует. Ведь он не знает, что реально выстрелит, а что нет. Поэтому не кладет все яица в одну корзину. Диверсицифирует и надеется, что хоть в среднем будет хорошо 🍞

А CEO уверенный чел, инвестирует в свой стартап 100% усилий, чтобы получить максимальный return on investment 😎

(это всё шутка конечно; VC, если читаете, не обижайтесь 😉)

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

Приближаем сингулярность

Всех с наступающим Новым годом! 🎉 🎊 🎉

Желаю всем найти человека, который будет вас понимать лучше, чем рекомендательные системы и любой сверхсильный ИИ 🤖

И alignment’а с самим собой, конечно же 🧘

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

Приближаем сингулярность

Честный замер LLM на способность следовать инструкциям

Пара проблем в современных бенчмарках для LLM'ок:
- неточный замер используя GPT-4 (часто замеряются модели, которые GPT-4 и дистиллировали :D)
- огромный претрейн датасет может пересекаться или иметь очень похожие примеры на тестовый (метрики завышаются)

Про второе можно почитать в этом блогпосте от lmsys, проблема важная.

А частично про первое ресерчеры из гугла написали прикольную статью: Instruction-Following Evaluation for Large Language Models

Они предложили использовать verifiable instructions: инструкции (промпты), выполнение которых легко проверить кодом.

Они выделили 25 типов таких заданий (см. картинку 1): выдать ответ в формате json / написать ровно 2 абзаца / ровно 3 пункта / закончить такой то фразой / etc. Конкретные примеры на картинке 2.

Эти инструкции проверяют именно умение instruction following и не зависят от внешнего оценивания типа GPT-4.

Они даже выложили код 👏
Можно скриптом в 1 строчку оценить результаты вашей собственной LLM'ки.

Идея классная. Выглядит несложным для любого домена написать таких примеров и автоматически замерять, behavioural testing кажется называется)

Ещё они замерили свой гугловый PaLM 2 (small) против GPT-4 (картинка 3) и проиграли ему везде =)
Интересно почему они сравнивали со small моделью. Ваши гипотезы?)

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

Приближаем сингулярность

Почему успешные AI-first стартапы появились только сейчас

Отличное выступление на канале a16z (топовый венчурный фонд) с кучей интересных мыслей. Некоторые ниже опишу, но очень советую сам видос (15 минут).

Итак, ИИ сделал кучу профита внутри биг теха (мета, нетфликс, гугл, …) - рекомендации, поиск и прочее, но новых больших AI-first компаний не возникло.

Причины:
- ИИ решали очень нишевую проблему (обыграли в Го, например, но ранка под это нет)
- дорогое железо (особенно в робототехнике/селф драйвинге)
- человек отлично справляется
- (самое важное) толстый хвост распределения: много редких кейсов, на которых нужно не ошибаться, а ИИ недостаточно точен

Все эти факторы делали экономически невыгодными такие стартапы: люди дешевле и лучше водят машины, рисуют картинки, делают саммари документов, … Плюс разметка разнообразных редких кейсов дорогая.

Но вот с успехами в Generative-AI все изменилось. Выделились даже 3 больших направления
- Creativity (генерация картинок, сценариев)
- Companionship: цифровой человек друг
- Copilot - помощник с различными задачами

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

И вот за генерацию мультяшного портрета ты платишь не $50 дизайнеру, а 5 центов 🤖

И ещё интересный взгляд: компьютер сделал дешевыми вычисления, интернет - дистрибуцию информации, а ИИ - создание чего либо.
👍
Такие дела :)

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

Приближаем сингулярность

Big life update 🚀

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

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

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

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

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

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

@building_singularity

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

Приближаем сингулярность

У нас тут в 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) и делитесь вакансией с друзьями =)

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

Приближаем сингулярность

Прыжок выше датасета ⬆️

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

Статья с пафосным названием 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

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

Приближаем сингулярность

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

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

Приближаем сингулярность

Amazon Leadership Principles 🏆

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@building_singularity

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

Приближаем сингулярность

Список открытых датасетов и инструментов для работы с ними: https://github.com/mlabonne/llm-datasets

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

Все ссылки есть, размеры датасетов и короткие описания тоже. Выглядит полезно 👍

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

Приближаем сингулярность

О чем канал?

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

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

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

Об авторе

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

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

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

Темы постов будут меняться в будущем, но это всегда будет моё личное мнение / рекомендация / обзор чего то мне интересного. Спасибо, что читаете ❤️

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

Приближаем сингулярность

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

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

Приближаем сингулярность

Кофаундер OpenAI John Schulman, придумавший PPO и другие прорывные алгоритмы, написал как-то пост о том, как делать ML research. На него же ссылается Сэм Альтман в своем блоге, рассказывая про общее между топовыми учеными и предпринимателями.

Советы на самом деле полезны не только ученым, но и в контексте стартапов и прикладного ML/DL, поэтому выписал кое-что (но сам пост тоже рекомендую):

1️⃣ Выбор проблемы

Это самое важное. Какие бы крутые технические навыки ни были, если работать над тупиковой идеей / очень сложной задачей с небольшой потенциальной пользой / невыполнимой с текущими ресурсами / etc - прорывного результата не будет.

Это как полгода пилить фичу, которая после запуска никому не нужна. В стартапах такое обходят за счет MVP и быстрых итераций.

Или обучать 2 года модели по классификации чего-нибудь, а потом появляется ChatGPT и сразу решает эту задачу лучше. С темпами прогресса в AI надо хорошенько обдумывать, будет ли твоя работа актуальна хотя бы через месяца 2.

2️⃣ Прогресс в решении

Тут 2 совета: (1) записывать, что было сделано, и регулярно рефлексировать над этим, (2) и не менять направление работы слишком часто. По его опыту, люди чаще не дожимают идею и переключаются, чем бьются слишком долго над чем то нежизнеспособным.

Если про сделанное нельзя написать блогпост / статью с результатами, то проект не проработан достаточно.

Аналогично с продуктовыми / техническими гипотезами - если первая версия подхода не сработала и нет понимания почему, то останавливаться рано.

3️⃣ Личное развитие

Осознанно выделять время под обучение - повышает шансы сделать что-то классное. Особенно рекомендует читать учебники, так как в них очень плотно изложены десятки хороших идей, и PhD theses, которые содержат стройный обзор прошлого и прогнозы на будущее. Статьи читать конечно тоже нужно, чтобы отслеживать тренды и быть на передовом крае.

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

Вот такие мудрости от кофаундера OpenAI. Мотаю на ус 📝

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

Приближаем сингулярность

Ну круто же!

OpenAI пост

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

Приближаем сингулярность

Небольшая база по dataviz'у 📊📈📉

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

Впервые про dataviz я узнал в магистратуре на предмете с названием "Математические методы визуализации данных". До первой пары я думал, что это какая то бесполезная фигня и было бы классно забить на это дело 🏃‍♂️

Но в итоге узнал про интересные концепции и приоткрыл для себя целый новый мир dataviz'а. Например:

🔹 Про цвет полезней думать не в базисе RGB, а в базисе тон, насыщенность, яркость.

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

🔹 Человек сравнивает площади и объемы сильно хуже, чем линии. Поэтому Pie Chart стоит разворачивать в Stacked Bar Plot (скрин 3)

👁 И вообще, зрительный канал обладает самой большой пропускной способностью (пока brain-computer interface еще не сделали 🚬). Поэтому точно полезно почитать про dataviz и использовать его эффективно, чтобы донести максимум инсайтов для воспринимающего 💡 Как в научных статьях, так и на работе.

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

Приближаем сингулярность

Понятная и красивая диаграмма про Retrieval Augmented Generation от llamaindex - опенсорс либы, чтобы снабжать LLM’ки внешними знаниями. Про то, почему это очень круто я уже писал пост.

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

И обе части необходимы, чтобы это заработало хорошо.

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

Приближаем сингулярность

Читаем подкаст за 5 минут

В гугловом bard’е есть классная фича: можно кинуть ссылку на ютуб видео и попросить короткое содержание или просто задать вопрос по нему.

Плагин в GPT-4 например отказался делать такое, так как видео очень длинное 👎

Bard может и на русском языке ответ выдать 👍 (хотя в России он вроде не доступен :D)

Это конечно огромное преимущество гугла: гигантский объем полезных данных в легком доступе + много продуктов с пользователями, куда ИИ можно внедрять и получать фидбек.

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

Приближаем сингулярность

Простой хак, чтобы выжать больше качества из Instruct-based LLM

Все ещё в ожидании, когда промпт инжиниринг перестанет быть актуальным 😵‍💫

Ну а пока вот вам лайфхак, как заставить LLM’ки отвечать лучше: апеллируйте к эмоциям. В статье показали, что добавление в конец промпта эмоциональную добавку типа This is very important to my career улучшает качество.

Замерили как на генеративных задачах с помощью асессоров, так и на дискриминативных с помощью обычных метрик типа accuracy. Везде есть прирост. Выиграли даже у мощнешйего бейзлайна Let’s think step by step 👏

Объясняют это тем, что эмоциональная добавка делает так, что модель уделяет больше внимания и на сам промпт перед ней (рис. 2).

Но вообще если приглядеться, то в статье не совсем корректные сравнения: 1 гипотеза с оригинальным промптом сравнивается с максимальным качеством по 11 разным эмоциональным добавкам. И на их усредненном значении видно, что работает это не всегда лучше (рис. 3). Впрочем, чаще всего даже среднее выигрывает, так что подход точно имеет смысл попробовать! ✔

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

Приближаем сингулярность

Помощь LLM 🦾 в разработке

Прошел мини курс про парное программирование с использованием LLM’ок (~30 min занимает на x2) от deeplearning.ai

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

Это прям очень классный learning experience. По сравнению с написанием преподавателем кода на доске в универе, это прям вау. Конкретно в этом курсе я этим почти не пользовался, но все равно остался под приятным впечатлением)

Теперь про более прикладные штуки. Для лучшего качества промпт настоятельно рекомендуют делать из 3ех частей:

1. Priming - типа "You are an expert at writing clear, concise, Python code." / “I don't think this code is the best way to do it in Python, can you help me?”
2. Запрос
3. Декоратор - типа “work step by step” / “add comment to every line” / “explain in detail what you did” / “explore different solutions”- дополнительные требования, чтобы сделать результат ещё более полезным для себя

Показали самые популярные сценарии:
- улучшение качества текущего кода
- упрощение кода
- написание тестов
- нахождение более эффективных решений
- помощь с дебагом
- объяснение того, что делает куча старого кода на любом языке
- написание документации

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

От себя ещё добавлю, что LLM’ки хорошо умеют regexp’ы писать и отлично знают команды unix’а)

Кто использует Copilot/ChatGPT/etc? Как вам? Какие лайфхаки знаете?)

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