gonzo-обзоры ML статей – Telegram
gonzo-обзоры ML статей
24.1K subscribers
2.72K photos
2 videos
3 files
1.34K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
Toward understanding the communication in sperm whales
Jacob Andreas, Gašper Beguš, Michael M. Bronstein, Roee Diamant, Denley Delaney, Shane Gero, Shafi Goldwasser, David F. Gruber, Sarah de Haas, Peter Malkin, Nikolay Pavlov, Roger Payne, Giovanni Petri, Daniela Rus, Pratyusha Sharma, Dan Tchernov, Pernille Tønnesen, Antonio Torralba, Daniel Vogt, Robert J. Wood
Статья: https://www.sciencedirect.com/science/article/pii/S2589004222006642
Сайт: https://www.projectceti.org/

Познакомился тут с Томом Мастиллом, автором книги “How to speak whale” (https://www.tommustill.com/how-to-speak-whale), узнал от него про проект CETI, Cetacean Translation Initiative (https://www.projectceti.org/), я его раньше как-то пропустил. Очень зачётный проект! Название, видимо, отсылка к SETI. Цель проекта -- понять коммуникацию кашалотов. После просмотра Аватара 2 как-то особенно хорошо легло 🙂

У проекта есть программная статья от середины прошлого года (июнь 2022) с родмэпом про то, как участники хотят добиться понимания китовой коммуникации (спойлер: с помощью ML и роботов!). Эта работа может стать шаблоном для понимания других существ, потому что киты -- достаточно хороший модельный организм с развитыми нейроанатомическими признаками, высокими когнитивными способностями, социальной структурой и дискретным кодированием на основе щелчков (clicks).

Для понимания языкоподобной коммуникации надо понять несколько вещей.
1) Каковы артикуляторные и перцептивные строительные блоки, которые можно надёжно производить и распознавать? Это аналог фонетики и фонологии.
2) Каковы правила композиции этих примитивов? Это аналог морфологии и синтаксиса.
3) Каковы правила интерпретации и присвоения смысла этим блокам? Аналог семантики.
4) Может быть также важно влияние контекста на смысл, это прагматика.

В идеале хочется иметь универсальный автоматизированный data-driven toolkit, который можно применять к нечеловеческой коммуникации. Пока его нет.

Применение ML очень сильно упирается в отсутствие больших датасетов для этих задач, и вопросы сбора данных (Record), а также их процессинга (Process), например, аннотирование с добавлением ID кита, составляют отдельную большую часть проекта. Другая часть -- декодирование средствами ML и создание коммуникационной модели китов (Decode). Финальная важная часть, Encode & Playback подразумевает интерактивное взаимодействие с китами и уточнение китовой языковой модели.

Китов изучать сложно, по сравнению с земными животными сильно другая экология и среда. Так, до 1957 года вообще не знали, что кашалоты умеют производить звуки, и только в 1970-х впервые поняли, что они используют их для коммуникации. Киты путешествуют на тысячи километров, живут вероятно более ста лет, причём по сути в трёхмерной среде, часто стабильными социальными группами, подолгу заботясь о детёнышах. Социальное обучение для них вероятно важнее индивидуального или генетически обусловленного поведения. Большая часть их коммуникации, видимо, одномодальная, через акустику. В зоне, куда проникает свет, также важно зрение.

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

Кроме эхолокации, этот же орган используется и для коммуникации, она состоит из коротких пакетов щелчков (<2 секунд) с интервалами (Inter-click intervals, ICI) и выделяемыми паттернами, которые называются кодами (codas). Кода состоит из 2-40 всенаправленных кликов. У разных групп китов свои диалекты, обычно у клана есть по крайней мере 20 разных код. Похоже, что в них содержится богатая информация об identity её источника, но в целом коммуникативные функции конкретных код остаются загадкой.
33👍7🤯7🔥5🐳3🥰1
В общении есть явная очерёдность, киты отвечают с разницей в 2 секунды, коммуникация может вестись на расстоянии от метров до километров. У индивидов внутри семьи есть диалект с общими по крайней мере 10 кодами (но есть и индивидуальная вариативность). Детёнышам нужно по крайней мере два года, чтобы начать производить различимые коды.

Для классических методов supervised ML получение размеченных корпусов является довольно дорогой и трудной задачей (хотя какие-то успешные результаты применения обучения с учителем есть). Перспективным видится вариант использования различных современных методов self-supervised representation learning. Но с ними тоже проблема в том, что для нормального SSL нужны большие корпуса, хоть и неразмеченные. Для примера, датасет Dominica Sperm Whale Project (DSWP) содержит лишь <10^4 код, хотя собирается с 2005 года. То есть до размеров датасетов для GPT-3 с 10^11 токенов (хоть и сложно сопоставить токены и коды) ещё далеко. CETI намерены собрать датасет порядка 10^9 (и это сравнимо с датасетом для BERT’а). Оценка базируется на почти непрерывном мониторинге 50-400 китов и в год ожидается от 400M до 4B записанных щелчков.

Техническая часть проекта состоит из нескольких разделов.

Data acquisition. Данные надо собирать наименее инвазивно, и куча современных технологий может помочь: дроны воздушные и морские (типа искусственных рыб), метки на китах, сети буйков и плавающие фиговины (floaters).

Data processing. Нужно хранение и умная предобработка этих данных (детекция щелчков, предварительная аннотация, синхронизация различных типов сигналов). Результирующий датасет будет своеобразной “социальной сетью китов”.

Decoding and encoding, построение модели коммуникации китов, которая состоит из перечисленных ранее блоков.

Фонетика и фонология: много открытых вопросов, например, определяются ли коды по абсолютным ICI, несут ли спектральные признаки код информацию, каковы distributional restrictions, и так далее.

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

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

Дискурс и социальная коммуникация: надо понять протоколы общения, когда и кто говорит. На этом можно будет строить предсказательные модели разговора (а каком-то смысле аналоги LLM или чатботов).

Где-то рядом есть аспекты избыточности коммуникации и защиты от ошибок, эти механизмы тоже надо понять. Отдельный большой вопрос это language acquisition, как детёныши схватывают этот язык, здесь может быть много ценных закономерностей: в каком порядке выучиваются коды, каковы самые базовые структурные блоки и их функции, и так далее. Для этого тоже нужно больше данных.

Ценно будет провести playback-based validation, здесь много своих сложностей. Знаем ли мы что воспроизводить, можем ли адекватно реплицировать в реальной среде (чтобы не с лодки, а с автономного девайса), распознаем ли ответ?

В общем большой, сложный и многомерный проект, с большой инженерной и инфраструктурной частями, но безумно интересный и уверен очень полезный. Поймём китов, поймём и инопланетян? Или сначала таки осьминогов надо будет понять?
👍2611❤‍🔥4🔥3👌1
🔥3👏1🤨1
This media is not supported in your browser
VIEW IN TELEGRAM
20
For Distillation, Tokens Are Not All You Need
Mrigank Raman, Pranav Mani, Davis Liang, Zachary C. Lipton
Статья: https://openreview.net/pdf?id=2fc5GOPYip

Новости дистилляции. Статья с воркшопа Instruction Tuning and Instruction Following на NeurIPS 2023.

TL;DR Авторы предложили метод дистилляции LLM под названием SLIM, использующий значения топ 5% логитов для дистилляции на каждом шаге декодирования + динамическое взвешивание KL/CE лоссов. Результат лучше классической дистилляции, SFT и MiniLLM. Метод скейлится до учителей размером ~70B.

Если поглубже, то современные LLM доросли до огромных размеров и часто используются для аннотирования и генерации инструкций для файнтюнинга малых моделей. Классика файнтюнинга при этом -- supervised fine-tuning (SFT), дообучение на новых (сгенерированных) текстах как на hard labels. Мы знаем, что этот метод несёт сильно меньше информации о распределении, чем мог бы (https://news.1rj.ru/str/gonzo_ML/1911).

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

Недавний метод MiniLLM (https://arxiv.org/abs/2306.08543) заменяет forward Kullback-Leibler divergence (KLD) на reverse KLD, чтобы предотвратить переоценку студентом низковероятностных регионов распределения учителя. Там для обучения использовался RL, что добавляло сложности. Текущая работа всё упрощает и улучшает, подход назвали SLIM (Sparse Logit Infused Modeling).

Идея проста. Давайте по нашему датасету для обучения через модель-учителя создадим датасет логитов (выходы нейронов без применения функции активации). Для каждого токена в последовательности получаем соответственно V (размер словаря) значений, это будут soft targets. Проблема с таким подходом, что это требует дофига места. Для уменьшения требований предлагается взять только 5% максимальных логитов для каждого токена, остальные считать нулями, так получаются разреженные логиты.

Дальше запускаем процедуру дистилляции (для тех, кто забыл как это работает, можно почитать тут https://news.1rj.ru/str/gonzo_ML/118), где в качестве целей берутся soft targets и лосс, являющийся взвешенной суммой обычного кросс-энтропийного лосса (CE) и традиционного KL лосса. Вес KD лоссу даётся зависящий от соотношения логита учителя и студента, таким образом он получается адаптивным и у KL компоненты больше вклад, когда у учителя больше уверенность в предсказании, чем у студента.

Подход проверили на задачах следования инструкциям. Оценивали по Rouge-L и через фидбек от GPT-4. Сравнивались с SFT на hard labels и MiniLLM, для обучения использовали 7B модели LLaMA, LLaMA 2, MPT, учитель был 13-30B. SLIM даёт результат лучше бейзлайнов. SFT вообще хуже всех.

Затем проверили на downstream задачах: ARC, Hellaswag, MMLU, TruthfulQA. Здесь сравнивались с SFT на LLaMA 2 70B в качестве учителя и Llama2-7B в качестве студента. Тоже лучше.

Также проверили генерацию данных для предобучения. Взяли Pythia-6.9B и сгенерили ей датасет текстов + 5% логитов. Затем обучили случайно инициализированную Pythia-160M на подвыборках датасета разного размера. По графику перплексии показали, что SLIM более sample efficient, чем SFT и обычная дистилляция. Я тут не до конца понимаю, что именно они всё-таки под обычной дистилляцией подразумевают, более классический KL лосс чтоли и без топ 5%?

Anyway, просто и эффективно. Метод вроде не сильно отличается от классической дистилляции, не назвал бы его радикально новым, по мне так скорее итеративное улучшение. Интересно, как сами OpenAI, Гугл и остальные внутри себя модели дистиллируют. Есть ли большая разница.
👍2010
Проблема, что этот метод сложно применять с blackbox моделями типа OpenAI, но с новыми параметрами про logprobs и top_logprobs (https://platform.openai.com/docs/api-reference/chat/create#chat-create-logprobs) как-то можно к этому приблизиться. Правда лицензия (https://openai.com/policies/terms-of-use) вроде как это запрещает (“Use Output to develop models that compete with OpenAI”), но тут я не очень понимаю, как на сгенерённых GPT-4 датасетах обучают другие модели, там почему можно?
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🔥6😁4🤣3👍1
An In-depth Look at Gemini's Language Abilities
Статья: https://arxiv.org/abs/2312.11444
Код: https://github.com/neulab/gemini-benchmark

Нанообзор.

CMU и некий BerriAI опубликовали своё сравнение Gemini Pro с GPT-3.5, новой GPT-4 Turbo и Mixtral. В оригинальной статье Гугла как раз самых новых интересных моделей типа GPT-4 Turbo не было. Ещё конечно было бы любопытно с Claude 2.1 сравнить.

В целом от Pro особых ожиданий не было, она и по родному сравнению была примерно сравнима с GPT-3.5 (в текущем сравнении она оказалась похуже). Самая интересная модель Ultra, но она пока недоступна. Интересно, конечно, будет, если OpenAI успеет GPT-4.5 до конца года выкатить.

Ниже одна итоговая картинка со сравнением. За деталями самих сравнений велкам в статью.
5👍3
PathFinder: Guided Search over Multi-Step Reasoning Paths
Olga Golovneva, Sean O'Brien, Ramakanth Pasunuru, Tianlu Wang, Luke Zettlemoyer, Maryam Fazel-Zarandi, Asli Celikyilmaz
Статья: https://arxiv.org/abs/2312.05180

Активно развивается тема многоходовых генераций через LLM. Здесь уже были Tree-of-Thought (https://news.1rj.ru/str/gonzo_ML/1885), есть Graph-of-Thoughts (https://arxiv.org/abs/2308.09687) и даже Everything-of-Thought (https://arxiv.org/abs/2311.04254) с применением MCTS. Взбудораживший общественность Q* от OpenAI (https://www.technologyreview.com/2023/11/27/1083886/unpacking-the-hype-around-openais-rumored-new-q-model/) предположительно тоже связан с многоходовым планированием в LLM. Если посмотреть глобально, то оно всё ложится в концепцию LLM Programs (https://news.1rj.ru/str/gonzo_ML/1584).

FAIR предложили свой подход к многоходовой генерации под названием PathFinder, метод декодирования для генерации и уточнения reasoning chains. Подход состоит из двух этапов: генерации кандидатов (candidate generation) и их отборе (candidate selection). Для генерации используется метод на деревьях, для отбора специальные функции близости внутри пула кандидатов.

На этапе генерации ветвление происходит на уровне шагов рассуждения, не генерации отдельных токенов. То есть каждый узел дерева -- это шаг рассуждения. На ветвление влияют параметры сэмплинга (типа top-k, top-p, температуры -- для неё реализован отжиг, уменьшение с коэффициентом). Делается ветвление из каждого неудалённого (non-pruned) листа с заданным коэффициентом ветвления и продолжается пока не достигли точки останова либо не превысили заданную максимальную глубину. Ветви удаляются на основе скора (нормализованная на длину сумма logprobs токенов).

На генерацию есть ограничения. Так, модель перегенерирует шаг, если сработала одна из двух проверок: 1) шаг по косинусной близости похож на один из предыдущих; 2) шаг противоречит предыдущему контексту (за это отвечает специальная entailment model, классифицирующая шаг по трём классам: entailment, neutral, contradiction). Ветка дерева обрезается, если за две попытки не удалось сгенерить валидный шаг.

Есть также размер буфера b, ограничивающий количество гипотез, хранимых для каждого вопроса. Финальная гипотеза выбирается из пула так, чтобы она максимизировала сумму функций близости (работал вариант с количеством общих n-грамм) со всеми другими кандидатами в пуле, это интуитивно похоже на голосование или self-consistency (https://news.1rj.ru/str/gonzo_ML/1885).

Для тестов используется маленькая LLAMA-7B, проверяют на GSM8K, StrategyQA, CSQA, то есть про арифметический и commonsense reasoning. Для отбора кандидатов пробовали три разных метода: триграммы, и FLAN-T5-XL или text-davinci-003 в качестве verifier model.

Бейзлайны разные: GPT-6.7B, та же LLAMA-7B, MINERVA-8B (ожидаемо рулит на GSM8K) и FLAN-T5-XL 3B (сильно instruction finetuned). В бейзлайнах дефолты в основном на основе greedy decoding + CoT prompts.

Не сказать что PathFinder прямо радикально всех бьёт. На первых двух бенчмарках LLAMA-7B с self consistency выступает прям очень хорошо. Новый подход заметно улучшает только на третьем бенчмарке. Flan силён, но он файнтюнился на части из этих датасетов, так что на цифры смотреть бесполезно.

Отдельно проверили, насколько добавляют качества продвинутые методы оценки (scorers и verifiers через LLM). text-davinci-003 всех бьёт, но до upper bound (с оракулом) ей далеко. В этой части явно есть что улучшать.

Фактор ветвления в сочетании с размером буфера и функцией оценки кандидатов важен. При большом ветвлении функции оценки могут быть сильно подвержены влиянию шума. Для каждого размера буфера свой оптимум. У самого размера буфера тоже есть лимит, после которого качество не улучшается. Также интересно, что для методов на деревьях важно разнообразие, PathFinder начинает перформить лучше end-to-end метода только начиная с 8-кратного ветвления.
👍143