Авторка активно хочет зашарить все на свете и делится в этом канале. NLP ⊂ AI → NLP/CV/speech ⊂ AI Связаться со мной @nadlsk Тг буст канала: https://t.me/nadlskom?boost Чат айтишниц: https://t.me/+n-WIEfhc3ZFhOGIy Реклама очень дорого.
What Matters in Transformers? Not All Attention is Needed
Занятная статья про исследование важности слоев в трансформере для ускорения и довольно неожиданный результат, как минимум для меня
🪄Цель: проверить избыточность компонент в LLM для ускорения без потери качества
🪄Как именно:
💛разработали метрику, основанную на сходстве между входом и выходом слоя
💛обнаружили, что именно удаление части attention (половины примерно) приводит к потере 2,4% исходного качества (MMLU, WinoGrande и другие бенчи), но при этом ускорению до почти 50%
*️⃣*️⃣довольно неожиданно, если опираться на исследования важности именно attention части и наблюдения важности этой части для производительности в среднем
💛причем одиночное удаление MLP блоков приводило к большим потерям, а вот с “Joint Layer Drop” (одновременное удаление Attention и MLP) позволило увеличить уровень оптимизации))
Риски результатов, которые я вижу:
💛непонятно на сколько это общий подход, который сработает не только на текстовых LLM
💛довольно ресурсоемко
💛Если хочется решить предыдущую проблему, взяв уже обрезанную модель и дофайнтюнить, то тут модель может изменить значения в слоях и все пойдет через задницу. Опять же, использовать модель через in-context learning на специфичные домены может быть не результативным
😬Итог: думайте сами, решайте сами. Резы занятные, идее лайк
📖Папир
🖥Код
Вчера была на выставке в арт-пространстве CUBE и мне есть, что показать из относящегося к AI!! 👍
🌟Первая картинка и видео мне откликнулись смысловой нагрузкой. Да, мысль уже поднималась в Брандашмыг и подобном, но теория не становится менее интересной от этого🤌🏼🤌🏼. Вопросы возникают разнообразные:
Стохастичность приближает к более челоческой природе или является следствием сознания человека¿ Как это внедрить в нейронки¿
🚨Ну а вообще у меня возникло эстетическое удовольствие от анимации
🌟Инсталляция на 3 и 4 фотке – буквально мир после того, как закончатся данные и мы начнем использовать синту. Внутри пустой и бездушный🤔
У меня все, умные, или не очень, мысли о философии ИИ закончились))
Обожаю! 🤩 Очередная статья про галлюцинации LLM
LLMs Know More Than They Show:
On the Intrinsic Representation of
LLM Hallucinations
В этот раз авторы обнаружили:
✋Что правильные ответы LLM кроются в определенных токенах. Они смотрели на активации токенов по разным слоям и учили классификатор предсказывать правда/неправда сгенерирована (✨ probing ✨)
Впоследствии можно генерить пару предложений и выбирать правильное классификатором
✋Анализировали частотность правильной или неправильной генерации подряд и выявили, что есть разные типы ошибок (постоянно правильный, постоянно неправильны). Соответсвенно, когда такую активацию прослеживаем, можем применять сценарии доведения модели до правильного ответа.
Небольшое отступление: to be honest, я чет не прониклась выводами, очень уж напоминает выводы из статьи Anthropic, которую разбирали на reading club, только метод другой (давайте посмотрим как активируются определенные токены в зависимости от контекста, а там нейронные активации)
😠Ну теперь глобальный минус статьи:
На разных датасетах воспроизвести результаты активаций не вышло. Надо переобучать классификатор. У меня лично, вопрос возникает о том, не частный ли это случай их обнаружений :(
Paper: link
Code обещается быть тут
The AdEMAMix Optimizer: Better, Faster, Older
периодически появляются новые оптимизаторы, которые не выглядят полной дичью и что-то да могут
вот тут от эпл возможно как раз такое: они нам напоминают, что в адаме первая бета интуитивно отвечает за аккумуляцию предыдущих градиентов. ну это не только интуитивно, а и математически так, но не суть (например, при beta=0.9 половина веса при апдейте падает на 6 предыдущих градиентов, при beta=0.9999 это число уже становится 6930)
но есть нюанс - хорошо, что помним про предыдущие давние градиенты и накапливаем момент, только желательно еще хорошо чувствовать, что происходит с недавними градиентами и недавним состоянием системы, математически выражаясь. и одновременно выдерживать эти 2 момента, как оказывается по экспериментам авторов, трудно для адама и адамв
потому авторы и добавляют доп момент в числителе, который просто еще один ЕМА градиентов (при том он еще не скейлится на бету как другие моменты для пущей аккумуляции) ⇒ получаем AdEMAMix
с ним батчи забываются намного медленее, при том батчи в недавнем прошлом продолжают влиять на лосс довольно сильно, а значит и сходимость должна быть быстрее. вроде идея норм, но так хорошо она не работает в начале трейна из-за высокой степени нестабильности ⇒ добавляют еще прикольные шедулеры под гиперы нового момента, чтобы с этим справиться
смущает разве что очень маленький скейл моделек, максимальный размер - 1.3B. что будет происходить на 7б хотя бы уже непонятно (взять хотя бы тот факт, что придется менять гиперы под этот новый момент, а не ставить его равным привычным значениям другого параметра с другим смыслом)
👀LINK
ReMax как альтернатива PPO
Сегодняшняя статья — об интересном методе обучения с подкреплением, который называется ReMax. Авторы предлагают его как замену популярному алгоритму Proximal Policy Optimization (PPO).
ReMax основывается на алгоритме обучения с подкреплением, который называется REINFORCE — отсюда и приставка Re. В REINFORCE, в отличие от PPO, нет value-модели. Она выступает в роли бейзлайна для снижения дисперсии оценки градиента и представляет собой среднюю награду, которую наберёт генератор, если будет отвечать на конкретный запрос.
Вместо отдельной value-модели в ReMax предлагают использовать другой бейзлайн — то, сколько награды набирает greedy-генерация обучаемой моделью на запросе. Отсюда окончание Max. Такой бейзлайн тоже отлично подходит с точки зрения теории, и не требует хранения дополнительной модели в памяти — авторы сообщают, что снижение потребления GPU-памяти составляет 46%. А поскольку число моделей, необходимых алгоритму алайнмента, уменьшилось, то уменьшилось и число гиперпараметров, которые нужно подобрать.
Использование ReMax для обучения модели Mistral-7B показало значительные улучшения. Модель достигла 94,78% успеха на leaderboard AlpacaEval и установила новый стандарт для моделей с 7 миллиардами параметров. Эти результаты демонстрируют, что ReMax может стать отличной альтернативой PPO для RLHF-задач, значительно сокращая вычислительные затраты и повышая эффективность обучения крупных языковых моделей.
Разбор подготовил ❣ Павел Темирчев
Душный NLP
🧐 Портал в мир науки открывается по средам!
Уже 2 октября в 18:30 встречаемся в Reading Club, чтобы обсудить новую порцию научных прорывов из мира AI.
Гость: Карина Романова
TeamLead CoreLLM:recsys.
Отвечает за добавление текстовых и картиночных фичей в рекомендации Wildberries. Магистрантка AI Talent Hub.
➡️ Разберемся в новом подходе к интерпретации крупных языковых моделей на примере Claude Sonnet. Обсудим, как удалось их выявить, какие концепции формируются внутри модели и как это может улучшить безопасность и надежность ИИ в будущем.
🔖 статья: Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet
➡️ Зарегистрироваться
📹 Смотреть предыдущий выпуск
#ReadingClub #AITalentHub #NapoleonIT #ITMO
🤡 Будущее, которое мы заслужили. Абсолютно секретные комнаты с абсолютно секретными данными.
Ссылка на новость
☢️ ИИ на ядерных реакторах
Microsoft откроет ядерный реактор, чтобы снабжать энергией свои дата-центры, обеспечивающие обучение и работу ИИ-решений.
Компания Constellation Energy, владелец АЭС «Три-Майл-Айленд» — той самой, где в 1979 году случилась самая крупная ядерная авария в истории США — заключила соглашение с Microsoft, в рамках которого закрытый реактор реконструируют и запустят в 2028 году. Microsoft будет использовать добываемую на станции электроэнергию в течение 20 лет. Производительности реактора хватит, чтобы снабдить энергией вычислительные центры Microsoft в Пенсильвании, Иллинойсе, Вирджинии и Огайо.
‼️ Новость резонансная, особенно в контексте трагической истории «Три-Майл-Айленд». В 1979 году на втором энергоблоке АЭС вышла из строя система охлаждения — в результате активная зона реактора расплавилась, произошла утечка радиации. Работа этого энергоблока так и не была восстановлена. И хотя обошлось без потерь, авария сыграла большую роль в формировании антиядерных настроений. С 1978 года в США не было запланировано ни одной новой АЭС, с 1979 по 2001 год начатое ранее строительство 71 станции было отменено. Первый энергоблок «Три-Майл-Айленд» работал до 2019 года, после чего был закрыт — казалось, насовсем.
Но бурное развитие ИИ внесло коррективы. Контракт с Microsoft дал новую жизнь закрытому первому энергоблоку: на его реконструкцию потратят 4 года и $1,6 млрд. АЭС откроется под новым названием Crane Clean Energy Center — предполагаем, в надежде отмежеваться от катастрофы 1979 года и подчеркнуть «экологичность» решения.
«Это соглашение является важной вехой в усилиях Microsoft по декарбонизации сети в поддержку нашей цели стать углеродно-нейтральной компанией», — прокомментировал вице-президент Microsoft по энергетике Бобби Холлис.
«Электроэнергия для центров обработки данных должна быть безуглеродной и стабильной — каждый час каждого дня. Атомные электростанции — единственный источник энергии, который может соответствовать этим критериям», — гендиректор Constellation Джо Домингес.
TL;DR: мультипотоковая обработка аудио (одновременно на вход и на выход). Кажется за счет того, что модель генерирует сначала текстовые токены внутри, а потом аудио токены, основанные на предсказанном тексте.
Завтра буду разбираться нормально🙃
When Linear Attention Meets Autoregressive Decoding: Towards More Effective and Efficient Linearized Large Language Models
Довольно изящный механизм комбинирования ранее известных видов оптимизации скорости вычислений трансформера, которые были известны ранее
Сейчас я говорю о:
🩰Speculative Sampling (link): идея в распаралелливании авторегрессионой задачи через использовании одной легковестной модели (черновой) и более крупной и "умной" (целевой). В то время, как малютка черновая генерирует некоторое количество токенок, целевая проходится параллельно по выборке и оценивает качество, проверяя, насколько эти токены соответствуют её распределению
🩰Linear Attentions, LAs (link): в attention есть дорогостоящая операция измерения сходства каждого токена с каждым через softmax. Мы можем заменить функцию на более дешевую операцию через ядерное встраивание.
По сути меняем softmax(Q*K^T) на f(Q) * f(K), преобразованные через ядерную функцию, которая “проецирует” их в новое пространство. Таким образом, схожесть между запросами и ключами вычисляется не в исходном пространстве, а в этом новом пространстве признаков. (я хз как в тг это написать красивее, прошу понять и простить)
🩰Grouped Linear Attention: когда мы разделяем входную последовательность на независимые группы токенов. В пределах каждой группы локальные зависимости могут обрабатываться параллельно, что значительно ускоряет вычисления. Уже нечто схожее упоминалось в стаье Grouped-Query Attention (GQA). Идея разбиения информации для эффективной обработки длинных последовательностей также модифицировано прослеживает в Linformer (link), Longformer (link) и LongNet (tg link)
🏃♂️В общем то в первой части исходной статьи авторы замеряют на работает LAs на разных архитектурах (encoder-only, decoder-only, encoder-decoder). Сюрприх-сюрприз: приходят к выводам, что:
💛Linear Attention значительно ускоряет обучение, но показывает себя не настолько эффективно на инференсе авторегрессионной задачи
💛Линейное внимание приводит к уменьшению latency до 56% и снижению потребления памяти до 37%
💛Линейное внимание плохо учитывает последовательные временные зависимости токенов. Это приводит к “утечке информации” (information leakage), когда модель может случайно получить доступ к будущим токенам
👍Эти выводы они использует, как аргумент к комбинации многих из выше описанных подходов и добавления своих механизмов для борьбы с information leakage:
🩰Augmentation: Предлагают маскированную глубинную свёртку (masked DWConv) как способ улучшить линейное внимание, обеспечив, чтобы каждый токен мог учитывать только предыдущие токены, сохраняя причинно-следственные связи
🩰Используют Grouped Linear Attention. Для каждой группы вычисляются суммы произведений ключей и значений (KV cumsum), что позволяет минимизировать вычислительные зависимости между группами и повысить эффективность
🩰Как все уже могли догадаться, используют Speculative Sampling, чтобы повысить эффективность Linear Attention при инференсе
🩰 Unfolded: В Speculative Sampling, для корректной работы с несколькими кандидатами токенов одновременно, они предлагают “разворачивать” свёртки по времени с помощью техники, похожей на img2col, используемую в cv. Это позволяет свёрткам корректно учитывать временные зависимости
📖Статья
🖥Код
Почему все используют градиентные методы для обучения больших моделей?
🤩 Продемонстрирую наглядно на примере решения задачи Multidimensional Scaling (MDS). В этой задаче нам надо нарисовать на плоскости объекты, про которые мы знаем только насколько каждый из них далеко друг от друга. Т.е. на входе у нас матрица попарных расстояний, а на выходе координаты объектов на плоскости. Причем эти координаты должны быть такими, чтобы соотношения расстояний между объектами оставалось как можно более близким к исходным. В качестве функции потерь выступает сумма квадратов отклонений расстояний между городами при текущих координатах и заданным значением.
f(X) = ∑ₘ ∑ₙ (Dₘₙ − dₘₙ(X))²
🗣 Несмотря на увеличение размерности, вся траектория метода может быть наглядно продемонстрирована на плоскости. Количество переменных в задаче здесь - 2*(количество городов), т.к. для каждого из городов мы ищем 2 координаты на плоскости.
↗️ По очереди запускается обычный градиентный спуск, требующий знания градиента, и метод Нелдера-Мида из scipy (широко используемый безградиентный метод). Сначала задача решается для 6 самых населенных европейских городов, потом для 15 и для 34 (это все города-миллионики Европы из википедии).
🤔 Видно, что чем больше городов на карте (чем больше размерность задачи), тем больше разрыв между градиентным и безградиентным методами. Это одна из главных причин, по которой для решения задач большой размерности нам нужны не только значение минимизируемой функции, но и её производная.
🤔 Оказывается, у градиентных методов (при наборе разумных предположений) количество итераций, необходимое до сходимости метода, не зависит напрямую от размерности задачи. То есть если вы рассмотрите корректно настроенный градиентный спуск на десятимерной задаче, то ему нужно будет, скажем, не более 20 итераций для сходимости. А если вы возьмёте условно ту же задачу, но 100500-мерную, то ему нужны будут те же 20 итераций. Конечно, стоимость одной итераций растет с ростом размерности задачи, но хотя бы их количество явно не растет.
🤩 Ставь реакцию, если видишь свой город.
💩 Код для построения анимации
Compact Language Models via Pruning and Knowledge Distillation
[Статья][Код есть, хоть это поначалу и не очевидно]
Введение
С этими всеми квантизациями мы стали забывать про прунинг. В отличие от довольно бюджетных техник квантизаций, дающих значительное сжатие за дешево, прунинг, тем более структурированный, требует серьезного дообучения.
Но если вы не гаражный стартап, а компания с триллионной капитализацией - вам он под силу.
Подданые кожаной куртки выпустили запруненные версии Nemotron-15B под названием Minitron-4B и Minitron-8B, которые по качеству якобы конкуретноспособны текущей SOTA в легком весе.
Метод
У трансформеров можно прунить:
☠️ Целые блоки (про что был обзор некоторое времчя назад)
☠️ Размерность признаков (был у вас d_model - 768, стал 512)
☠️ Головы в Attention
☠️ Внутреннюю размерность MLP
Первый метод про прунинг в глубину, а остальные про ширину.
Для оценки важности используются критерии, основанные на активациях:
⭐️ Средний attention по голове (при прунинге головы)
⭐️ Средняя активация по каналу (для MLP)
⭐️ Средняя активация LayerNorm (для оценки важности признаков)
Для прунинга в глубину смотрят на среднее косинусное расстояние между входом и выходом блока и изменение перплексии при выкидывании блока.
Рассматривают оценку важности one-shot, когда выкидываем все за раз, или итеративно, по чуть-чуть.
Далее выбирают некоторое (около 20) число конфигураций сжатых моделей с целевой степенью сжатия, сжимают модели и дообучают на 1.8B токенов. Берется самый перспективный кандидат и дообучается уже на ~100B токенов. Немало, но все же на 2 порядка меньше, чем у современных LLM.
На дообучении рассматривают сумму следующих лоссов:
1️⃣ Кросс-энтропию (исходный лосс)
2️⃣ KL-дивергенцию на логитах с несжатой моделью
3️⃣ L2 лосс между промежуточными признаками (так как сжатая модель может быть уже, есть матрица переводящая в размерность учителя)
LitServe, как апгрейднутая альтернатива FastAPI
Движок для сервинга AI моделей, который:
💛Минимум в 2 раза шустрее FastAPI
💛Батчинг, стриминг и автоскейлинг GPU из коробки
💛Работает с чем угодно - PyTorch, JAX, TensorFlow хоть с палкой и веревкой
💛Поддерживает мультимольальность
Для ЛЛМок есть свои фишки - KV-кэширование и прочие плюшки. Хотите - хостите сами, хотите - юзайте менеджд версию в Lightning Studios.
линк
Обзор на книжку «КОД»
Дисклеймер. Данный контент содержит в себе субъективное впечатление о книге и не направлен на оскорбление чувств окружающих людей🌚
Скажу честно, хотела дочитать эту книжку не потому, что она увлекательна, а потому что хотела сделать окончательный обзор, зная что прочла всю инфу в ней
TL;DR: прочтение данной книги может с легкостью заменить вот это видео про устройство компьютера в случае, если ее покупает человек и так знакомый с миром IT. А для новичков, которые хотят познать индустрию вот такое гениальное видео (не знаю как автор это сделал, но он обзорно уложил половину инфы с моего бакалавриата в 16 минут). Покупая «КОД», ожидала большей погруженности в суть дела
Теперь по сути, что лично мне не понравилось:
🤓Почти половину книги рассказывается то, что проходится за пару лекций: системы счисления, алгебра логики.
🫤Можно читать эту книгу только будучи морально готовым на строчку определения компонента и ~25 страниц примеров исхода при каждой команде.
😒С некоторых формулировок я слегка выпадала:
Услышав от статистиков о том, что «среднее американское домохозяйство состоит из 2,6 человека», мы не ужасаемся при мысли о связанных с этим повсеместных увечьях.
Периодически я думаю о том, а что если я бы узнала о профессиях связанных с AI раньше🤔. В моем идеальном мире всем интересующимся индустриями рассказывают о возможных профессиях быстро, по пунктам и никто не морочит себе голову ограничениями вида:
я не хочу быть врачом и учителем, что со мной ¿ 😱
DIVERSIFYING DEEP ENSEMBLES: A SALIENCY MAP APPROACH FOR ENHANCED OOD DETECTION, CALIBRATION, AND ACCURACY
Статья от ребят из T-Bank AI Research, где они предложили свежий взгляд на устойчивость ансамблей нейросетей. Если раньше модели в ансамбле давали похожие предсказания, то теперь они используют новый метод, чтобы каждая из моделей внутри ансамбля «смотрела» на данные под своим уникальным углом. 🔭Метод называется Saliency-Diversified Deep Ensembles (SDDE), и давайте разберёмся, как он работает.
👷Суть нового подхода SDDE
Авторы статьи предложили создать разнообразие (диверсификацию) в ансамбле за счет карт активации — это те участки на изображении, которые модели считают важными для предсказания. Используя карты активации (метод GradCAM), они заставили модели фокусироваться на разных участках изображения, чтобы каждая искала свои уникальные признаки🔍. В итоге ансамбль анализирует больше информации, что особенно полезно для задач, где важна устойчивость модели к неизвестным данным.
📊Зачем это нужно и как это работает с OOD-данными?
Теперь про OOD-данные (out-of-distribution). Это данные, которые сильно отличаются от тех, на которых модель училась, например, новые объекты или необычные условия съёмки. Такие данные могут сильно сбить с толку стандартные модели, но если каждая модель в ансамбле видит разные признаки, то вместе они лучше детектируют такие данные. 💪
Что показали эксперименты?
💛Улучшение на OOD-данных: На OOD-данных ансамбли с SDDE выдали в среднем 22% прироста точности по сравнению с традиционными методами. Это делает их более надёжными в реальных задачах, где данные часто не совпадают с обучающими.
💛Лучшее качество предсказаний: На CIFAR100 и ImageNet метод SDDE показал улучшение калибровки модели и общей точности. Когда модели смотрят на разные части изображения, итоговое предсказание становится менее однообразным и более точным.
🤔Где пригодится?
Метод вполне может пригодится в проектах, где важна устойчивость к неизвестным данным — будь то автономные автомобили, системы мониторинга или медицина.
📖Paper
🖥Code
Пропустила я статью в апреле этого года, а очень зря😕. Все равно опишу ее тут, потому что статья крайне занимательная в развитии того самого AGI, прости-господи, или хотя бы решения задач не через воспроизведение всего интернета в обучающей выборке 😱
Beyond A*: Better Planning with Transformers via Search Dynamics Bootstrapping
Проблематика следующая: LLM-ки не умеют нормально в принятие решений. Это нам известно. На мой субъективный взгляд, это один из самых весомых подходов к улучшению качества моделей сейчас. Проблема известная, но как бороться?
– Уже давно используют CoT и подобное, o1 по сути обучен на этом методе и также пытается решить ранее обозначенную проблему таким образом.
Meta предлагают совершенно иной метод — Searchformer. Его главное отличие от предыдущих заключается в том, что:
💛он обучается на внутренней динамике поиска, что делает его эффективнее AlphaZero и MuZero, которые используют планировочные алгоритмы как черные ящики
💛способен работать с последовательностями длиннее, чем в предыдущих подходах
💛обучается с меньшими затратами на ресурсы благодаря итеративной оптимизации длины решений.
Основной подход основан на комбинации обучения трансформера (encoder-decoder с RoPE. Вот это поворот🤯. Сама в шоке, что вспомнили) и алгоритма A* — алгоритма поиска пути, который объединяет жадный поиск с эвристикой и поиск по минимальной стоимости.
Какие эксперименты проводили:
Начнем с данных:
Каждый шаг работы A* на конкретной задаче (например, лабиринт) представляется в виде последовательности токенов, которая содержит информацию по:
💛узлам, добавленным в множество «фронтир» (исследуемые узлы);
💛закрытому множеству узлов (которые уже не будут рассматриваться);
💛эвристике и стоимости от точки до узла.
Все эти данные собираются в последовательности двух типов:
🩰Solution-only: только описание задачи и оптимальное решение.
🩰Search-augmented: задача, процесс поиска по шагам и оптимальное решение.
Также был представлен метод bootstrap, который сначала обучается как search-augmented, а потом генерирует новые, укороченные последовательности. Если решение верное, эта последовательность включается в новый обучающий набор данных.
🤔Где-то я уже такое видела, возможно, в AlphaFold или чем-то похожем. Пишите в комментариях, если есть мысли где)))
Отдельно радует, что они учли разные задачи в обучающем и тестовом наборах данных (очень достало test-in-train is all what you need👿).
Эксперименты:
💛Детерминированный подход: фиксированные правила выбора узлов, как итог — единственная правильная последовательность.
💛Недетерминированный подход: узлы выбираются случайным образом, что приводит к множеству возможных правильных последовательностей.
Итоги экспериментов:
1. Search-augmented модели outperform solution-only модели, особенно при малом объеме данных и на сложных задачах.
2. С методом bootstrap Searchformer генерирует последовательности, которые короче и эффективнее, чем исходные последовательности, сгенерированные алгоритмом A*.
3. Обучение на недетерминированных данных помогает Searchformer лучше справляться с задачами, где есть множество вариантов решения.
4. Searchformer показал на 26.8% более короткие последовательности по сравнению с алгоритмом A* после нескольких итераций дообучения и обеспечил улучшение метрик SWC и ILR.
5. Search-augmented модели показали значительный прирост производительности, даже при небольших размерах моделей
📖Paper
🖥Code
Британские ученые решили проводить научные опыты вместо мышей на стажерах.
Во-первых, стажеров больше. Во-вторых, мышей жалко. И в-третьих, есть вещи, которые мыши отказываются делать
🌸FAANG Собеседования. Часть 2, рефералы 🌸
#собеседования
Начали серию постов про собеседования — давайте продолжим. Сегодня поговорим про то, как вообще добраться до этапа собеседования.
TL;DR лучше сделать меньше попыток, но более качественных и таргетировангых, чем подаваться массово на 500 позиций. Часть вакансий и так не настоящая, а часть вы делите с внутренними и внешними кандидатами — так что нужно быть таргетированным и быстрым.
🟣Резюме
Делается под вакансию и страну! Сделайте под самые интересные для вас вакансии отдельные версии: резюме для позиции Researcher'а и для ML Eng выглядит по-разному!
Из резюме сразу должно быть видно, что у вас N лет опыта, легальный статус, виза таланта и т.д. — плюс все чем можете похвастаться. 100500 цитирований, членство в орг комитете престижной конференции, опенсорс проект на 1000 контрибьюторов. Сейчас не страшно быть over qualified для вакансии.
Если в вакансии хотят опыт RL, и у вас он есть, надо добавить прямо в шапку, что вы experienced in reinforcement learning.
Если есть и статьи на тему, сделайте секцию "Publications" и поместите их туда.
🟣Получаем Referrals
Реферрал — это формальный или неформальный способ быть рекомендованным на позицию кем-то из текущих сотрудников. Эта рекомендация очень важна! Чем ближе рекомендующий к команде вакансии — тем лучше, поэтому эффективность реферраллов я бы отсортировала так:
— реферралы внутри команды, реферралы из вашего нетворка
— просто общие Linkedin-контакты из компании,
— случайные русскоязычные люди из компании, которым будет понятен ваш бэкграунд (МФТИ, ШАД...),
— просто случайные люди из компании.
Пишите людям прямо, что вы очень интересуетесь позицией, считаете, что подходите на неё, и хотели бы реферрал — заодно можете поболтать и спросить что-то про культуру работы в компании. Вам могут рассказать более подробно про команду, чем она занимается, есть ли в целом проблемы у организации и какие.
Помимо Linkedin, для FAANG существует ещё один полезный инструмент: Blind.
Blind — это приложение для анонимного чата о работодателях, что-то вроде двача с Glassdoor. Там принято просить реферрал непосредственно у сотрудников компании, некоторые люди делают это ради бонуса.
🟣Chechez le manager
Вакансию изучили, реферралы получили, теперь следующая стадия — найти нанимающего менеджера и написать ему. Часто название команды/орга содержится в вакансии, и можно найти менеджера/директора с таким описанием по Linkedin.
Такой подход тоже в целом позитивно выделит вас из списка кандидатов, потому что вы облегчаете работу всех по найму мотивированного человека в компанию.
Напишите пару строчек о себе, почему вас надо взять, и что вас уже зареферили. Пришлите резюме. Если прямо очень хотите в компанию, то через неделю напишите ещё раз — свои мысли про что-то из продуктов компании, последних релизов, что бы вы улучшили, и т.д.
🟣Куда подаваться?
Рынок в целом не очень, поэтому лучше всего целиться в 3 категории — крупные компании, средние компании и стартапы, — даже если вы сомневаетесь, хотите ли туда.
Воркшоп ICML 2022 по офферам и поиску работу (посмотрите!) это явно предлагает.
В самом лучшем случае у вас будет несколько офферов, и вы используете оффер стартапа, чтобы улучшить оффер от большой компании. Или используете оффер большой компании, чтобы получить оффер больше от компании среднего размера с хорошим work-life balance. Но про это — в следующий раз!
🌸Кстати, наш карьерный стрим теперь выложен в записи!
Вчера на reading club приятно обсудили статью Anthropic о интерпретации LLM. Закину слайды своего обзора ниже👇. Выписала самые важные моменты и выводы статьи на мой взгляд
А ещееее, очень рада, что число людей, читающих канал, перевалило за 3к😍
🤗Линк на слайды
Я тут вписалась в reading club на следующей неделе. Если кто-то еще не читал или читал, но очень хочет обсудить тему, welcome на обсуждение статьи в среду вечером 🥂
Читать полностью…🗯 Moshi: GPT4-O voice mode дома (обзор)
Одним теплым июльским вечером, сидя в самом сердце Москвы, в гуще столичной суеты, я лениво перелистывала Twitter в поисках чего-то стоящего. И вдруг, как озарение, мне на глаза попался анонс Moshi от французской лаборатории. Анонс, надо сказать, был щедро украшен громкими заявлениями:
👁 Первая LLM для аудио, которая умеет одновременно слушать и отвечать
👁 Содержит около 70 эмоций, которые может имитировать
👁 И конечно же, она будет открытая в отличие от GPT-O и подобного!!
После долгого сентябрьского ожидания, когда я почти смирилась с мыслью, что модель так и не выйдет, и статья никогда не будет написана, на следующий день я наконец увидела ссылку на опубликованный код. Я с энтузиазмом принялась за обзор, но, по загадочному стечению обстоятельств (видимо проклятие Moshi), выкладываю его почти спустя неделю.
P.S. мое honest мнение на счет работы:
💛так как, я делитант в звуке,мне было очень интересно почитать их отсылки к предыдкщим наработкам
💛они соединяют въедино много работ, которые были раньше
💛в разных частях делают минорные изменения к существующим наработкам, что кажется избыточным, но чуваки все промерили и показали свои +несколько % к качеству, поэтому нагнать за это на них нельзя
💛мне очень понравилось, что идея сетки не связана с гонкой с OpenAI, а вытекает скорее из парадигмы Full-Duplex этой статьи, как основной. На мой взгляд именно это отличие от существующей закрытой модели дало хайп на просторах интернета
Я не смогла уместить в один пост всю информацию, так как для меня она довольно новая, поэтому
😇 Переходите читать на habr: link
В наши годы члены этой организации были фанатами Сэма Альтмана, геями или и теми и другими
P.S. Книга «PIXEL». Мне нравится, обзор точно будет в канале рано или поздно))
https://github.com/kyutai-labs/moshi
Зачем претрен
Зачем так сложно
Поняла, что уже почти год мы с командой занимаемся рекомендательными системами, в которые включаем различные дополнительные представления. В основном ориентируемся на текст, поэтому активно исследуем применение LM-ок в рексисе. За это время я почти не делилась своими мыслями об этом экспириенсе в канале.
Недавно, читая очередную статью про рексис на трансформерах с MoE (некоторые идеи в статье показались спорными — 50 звёзд, и я пишу следующий пост, где объясню почему))), выделила несколько ключевых моментов, которые, на мой взгляд, важны для развития рекомендаций с внедрением мультимодальной информации о контенте и товарах
Краткое повторение, как строится рексис на трансформерах:
🧢Базово — ID товара становится токеном в словаре. То есть это координата по оси x в embedding-слое. Каждый ID уникален. Не хотите увеличивать размерность по мере роста товаров? Хотите добавить текст? Окей, есть способы адаптировать словарь, но сегодня не об этом
😑Сегодня я хочу поделиться выводами, которые вынесла за время работы с рекомендациями:
1️⃣ Использование текстовой информации как дополнения никогда не заменит работу с ID контента. Поэтому либо держите отдельную модель для текста в инфраструктуре, либо комбинируйте.
1️⃣.1️⃣. Использование ID как дополнительной информации, а не основной фичи, может дать хорошие результаты
2️⃣. Можно улучшить модели-кандидаты, применяя подходы из текстовых моделей (но не забывая про первый пункт). Предобучение и последующий alignment показывают хорошие результаты в исследованиях
3️⃣. Корреляционные матрицы к таргету для учёта фичей по-прежнему остаются важным элементом успеха. Важно загружать в модель действительно полезную информацию
4️⃣. Продвинутые методы оптимизации количества параметров (PEFT, MoE) работают по тем же правилам, что и в текстовых моделях, так что можно смело опираться на существующие исследования
ReMamba: Оснащение Mamba эффективным моделированием длинных последовательностей
Авторы статьи исследуют проблему обработки длинных контекстов в архитектуре Mamba, которая, несмотря на свою эффективность в задачах обработки естественного языка с короткими контекстами, демонстрирует ограниченные возможности при работе с длинными текстами. Они предлагают ReMamba - модификацию Mamba, которая улучшает ее способность понимать длинные контексты. ReMamba использует техники выборочного сжатия и адаптации в двухэтапном процессе перенаправления, что приводит к минимальным дополнительным затратам на вычисления. Эксперименты на наборах данных LongBench и L-Eval показывают эффективность ReMamba, которая превосходит базовые модели на 3.2 и 1.6 пункта соответственно, достигая производительности, почти сравнимой с моделями Transformer того же размера.
📚 Paper: http://arxiv.org/abs/2408.15496v2
@toshoseti
ML System Design
#mlsys
Все знают, что для высоких грейдов в ML айтишке вы обязательно будете проходить собес по системному дизайну. Более того, именно на этом собесе проверяется ваш уровень "сеньёрности", а значит и ваша зп. Сложность интервью заключается в том, что к нему трудно подготовиться - здесь важное значение играет как опыт инженера, так и его кругозор
Сам собес выглядит просто - вам дается задача, про которую надо рассказать, как вы будете ее решать. Пример - "Разработайте систему рекомендаций в видеохостинге". После этого начинается ваш монолог-рассуждение о том, какие метрики будете мерить (online/offline), как будет выглядеть логика MVP, какие данные у вас есть, как они хранятся, как вы их будете обрабатывать, есть ли у компании ассесоры, какие фичи вы будете выделять в данных и как их будете представлять итд...
Задача может быть любой - от рекомендаций в любой сфере (финансы, маркетплейс, видеохостинг, онлайн-объявления...) до создания распределенной системы семантического поиска (по тексту/фото/видео/звуку)
Сегодня хочу вам порекомендовать литературу и источники, которые помогут вам подготовиться к такому собеседованию и расширят ваш кругозор по проектированию ML систем (что поможет вам даже на текущей работе)
🖥 Репа alirezadir - короткий markdown файл с описанием основных вопросов, на которые вы должны ответить при построении ML системы + порядка 20-30 решений популярных задач с ml sysdes интервью
🥰 EvidentlyAI - база данных 450 кейсов по проектированию ML систем в 100+ компаниях мира. Изучить все сразу сложно, но теперь вы знаете что можно читать в метро/на выходных/на парах
🌿 Stanford MLSys Seminars - почти 100 семинаров по системному дизайну трехлетней давности от стэнфорда. Классика актуальна всегда и вы точно преисполнитесь полезной информацией. Каждый семинар ведут разные люди из разных компаний, на которых подробно рассказывают, как устроены системы в FAANG и что нужно знать для прохождения собесов в эти компании
🦜 ODS ML System Design - если вам не заходят англоязычные лекторы, то есть отечественный 💪 аналог таких лекций от российского коммьюнити
🧖 Babushkin - то, с чего начинал я. В ходе лекции и последующих трех тренировочных интервью со студентами Валера разбирает основы системного дизайна + дает неплохую вводную и понимание чего от вас ожидают на этом интервью и чего говорить точно не нужно. Видосы не находятся в каком-то отдельном месте, поэтому прикреплю сразу 4 ссылки:
Лекция; Собес1; Собес2; Собес3
Если есть, что добавить, то предлагайте в комментариях 🍿
@kitty_bytes
🌸BigGen и Prometheus — фундаментальная автоматическая оценка LLM 🌸
#nlp #про_nlp #nlp_papers
Я много пишу про оценку качества работы LLM, бенчмарки, и вот вышла работа, методологически объедняющая практически практически все автоматические оценки отсюда.
BigGen Bench — новый бенчмарк для автоматической оценки языковых моделей от исследователей из MIT, KAIST, Allen Institute и др. 77 различных тестов делаются на основе принципа LLM-as-a-judge, то есть 5 разных внешних моделей/апишек оценивают результаты других LLM по набору критериев в промте.
77 задач включают уже ставшие стандартными индустриальные оценки, но авторы подошли к задаче аккуратно, провели работу по обобщению примеров для многих языков, провели проверку надежности автоматической оценки относительно оценки людей.
Русский язык тоже поддерживается!
Можно выстраивать лидерборд, отслеживая качество в 9 плоскостях:
Instruction Following: способность качественно следовать промптам разлиичной сложности
Grounding: обоснованность ответов модели относительно информации в промте, RAG, общих знаний модели
Reasoning: способность устанавливать причинно-следственные связи, делать выводы
Planning: построение необходимых выводов и структурированная генерация для решения задач
Refinement: способность принимать обратную связь от пользователя и адаптировать ответы в контексте диалога
Multilingual: обобщение на различных языках, чувствительность к различным культурным аспектам
Safety: в основном следование этическим принципам при генерации ответов
Theory of Mind: моделирование понимания у других людей, соотнесение их с собственным пониманием, эмоциональный интеллект
Tool Usage: использование различных API и встроенных инструкентов для решения задач.
Метод оценки эмулирует оценку human preferences настоящих людей, то есть модели-судьи не просто дают рейтинг ответу, но делают это по 5-балльной шкале Ликерта и выдают отдельно оценки релевантности, полезности, точности, детальности ответа, креативности.
5 LLM-судей это
🟣 GPT-4-1106
🟣 GPT-4-2024-04-09
🟣 Claude-3-Opus
🟣 Prometheus-2-8x7B
🟣Prometheus-2-8x7B-BGB
Две последние — это собственные модели авторов исследования, выложенные в опенсорс. Сравнение с оценками людей показывает, что эти модели практически так же надежны для оценки, как и GPT-4.
В целом лидерборд получился пока стандартный: GPT-4-различных версий > Claude 3 opus > Llama 3 70B > Claude 3 Sonnet, остальные 100+ моделей.
Можно легко брать отдельные тесты, которые нужны именно в вашем проекте, например, взять safety и сделать мониторинг на его основе.
Или просто выбрать наиболее релевантную модель на основе качества следования инструкциям или работы с API. Со своей собственной моделью-судьёй это стало ещё проще!
🟣Статья
🟣Github
🟣Leaderboard
Cобрала 💎конспектик💎 по обработке последовательностей от 😅до 💛
В начале документ повторяет структуру с курса ШАДа с опущением не самых важных базовых тем (субъективно на мой взгляд). К концу становится более персонализированным под мое видение базы, да и не только базы к концу, честно говоря🙂. Вы не найдете там трансформеров, потому что имхо их уже разобрали подробно кто только мог, но зато найдете:
💛Count-based methods
💛Bag-of-Words (BoW)
💛TF-IDF
💛Co-occurrence Matrix
💛Pointwise Mutual Information (PMI)
💛Word2Vec
💛GloVe
💛FastText
💛Методы классификации поверх текста до появления трансформеров
💛Виды нейронных сетей для обработки последовательностей
CNN, RNN, LSTM, GRU, SSM, Mamba
💛Виды позиционного кодирования
💛Attention (оч обзорно с этим)
💛Ключевые отличия моделей на основе трансформера (до 21 года)
💛Методы расширения возможностей и анализанейронных сетей: NTK и интерполяция
Если хочется, запрашивайте доступ на добавление инфы, но до этого коммент что и где охото вставлять. Го расширять темы, но структуировано и кратко
👁 Линк дублирую туть