Нейролента - подборка новостей о нейронных сетях, ChatGPT

gonzo-обзоры ML статей страница 4. Показано 50 статей из 305

All about gonzo-обзоры ML статей

2023-10-22 22:02:53

Также в работе используется специальная отличная от UT версия Dynamic Halting (механизма, определяющего, когда слою нужно остановиться) на основе stick-breaking process (https://en.wikipedia.org/wiki/Dirichlet_process#The_stick-breaking_process). Здесь сначала специальный MLP предсказывает вероятности остановки (halting probabilities) на основе эмбеддингов с предыдущего слоя. Затем считается вероятность остановки для каждого слоя с учётом, что все предыдущие перед ним не остановились. Если сумма halting probabilities не превысила порог (0.999), то продолжаем. В механизме внимания при обращении к другим токенам можно попасть как на уже остановившийся слой, так и на ещё считающийся, соответственно надо брать эмбеддинг либо с последнего просчитанного слоя, либо с текущего. Формулировка SUT дополнительно позволяет задать специальный ACT-лосс, минимизирующий число считающихся слоёв.

Long story short, проверили на нескольких задачах.

На WMT’14 English-German, UT и SUT (E=24/48, k=?) весьма неплохи, достигают результатов, которые обычно достигали более крупные модели. SUT немного похуже UT по качеству (BLEU), но зато намного лучше по количеству вычислений. Провели ablation studies, на этой задаче MIM loss и MoMHA особенно добавляют качества. ACT loss и halting не очень.

На Compositional Freebase Questions (CFQ), где перевод из языка в запрос SPARQL, проверяется compositional generalization. Результат с UT (гиперпараметры с E=1, k=1 оказались лучшими, что соответствует обычному UT, а не SUT) лучше чем у бейзлайнов, особенно по количеству вычислений.

Также проверили на задаче Logical Inference (E=12, k=4), где есть последовательность логических операторов (0-6 в обучении, 7-12 в тесте). Есть два логических выражения и надо предсказать их эквивалентность, противоречивость и т.п. Здесь модель должна выучить иерархическую структуру проблемы. Решали конвертацией этого в задачу seq2seq перевода. Обычный трансформер здесь плох, LSTM является сильным бейзлайном, но SUT его побил. На специальных сплитах датасета для compositional generalization, на двух из трёх SUT лучший. При увеличении числа операторов average halting depth растёт, что логично -- модели приходится “дольше думать”.

Из дополнительных экспериментов на Long Range Arena Listops SUT побил трансформеров конкурентов.

После обучения можно уменьшать порог на сумму halting probabilities (относительно базового в 0.999) и таким образом сокращать объём вычислений. Для продакшн деплоймента может быть интересно. Это вообще классное свойство ACT. На задаче Logical Inference не очень что-то меняется, там эта сумма быстро набирает большое значение, и более-менее всегда получается сокращение примерно половины вычислений относительно выполнения всех слоёв SUT. На CFQ поинтереснее, можно искать какой-то trade-off. Без потери итогового качества можно выбросить примерно 20% вычислений. На переводе можно порядка 9% вычислений выбросить.

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

Направление интересное. Пока не выглядит как game changer, но такая архитектура мне нравится. Вероятно, она какой-то более подходящий для некоторых задач inductive bias закладывает.

2023-10-22 12:46:24

A nice list of risks and benefits AI can bring us. More balanced than a typical one-message scenario in popular press.

Pros:
https://www.theguardian.com/technology/2023/jul/06/ai-artificial-intelligence-world-diseases-climate-scenarios-experts

Cons:
https://www.theguardian.com/technology/2023/jul/07/five-ways-ai-might-destroy-the-world-everyone-on-earth-could-fall-over-dead-in-the-same-second

2023-10-18 13:54:52

Новости конституции

2023-10-16 14:49:54

Walking Down the Memory Maze: Beyond Context Limit through Interactive Reading
Howard Chen, Ramakanth Pasunuru, Jason Weston, Asli Celikyilmaz
Статья: https://arxiv.org/abs/2310.05029

Вечная проблема трансформеров -- ограниченный контекст и необходимость работать с длинными входами. Для решения проблемы уже существует множество подходов. Это и “просто” увеличение размера окна контекста, как правило совмещённое с какой-то модификацией механизма внимания. Про множество таких подходов мы писали типа вариантов sparse attention и/или linear attention или хотя бы не квадратичных, коих уже миллион, например Reformer (https://t.me/gonzo_ML/176), Longformer (https://t.me/gonzo_ML/292), Linformer (https://t.me/gonzo_ML/397), Big Bird (https://t.me/gonzo_ML/381) и т.п. Где-то рядом здесь также находится вариант с экстраполяцией позиционных эмбеддингов. Другие способы решения включают введение рекуррентности, и про многие их таких решений мы тоже писали. Эта ветка прослеживается начиная с Transformer-XL, Compressive transformer (https://t.me/gonzo_ML/165), Feedback memory (https://t.me/gonzo_ML/508), RMT (https://arxiv.org/abs/2304.11062), к предшественнику которого даже я приложился (https://arxiv.org/abs/2006.11527). Здесь же рядом retrieval-augmented models, про которые тоже было достаточно, например Unlimiformer (https://t.me/gonzo_ML/1507). И ещё есть подход с агентами, которые могут работать с частями текста и выполнять какие-то действия, тот же WebGPT (https://t.me/gonzo_ML/1140) или различные варианты итеративного промптинга. Но всё равно этого не хватает.

Текущая работа предлагает интересное альтернативное решение под названием MemWalker. Метод работает в два этапа.

Первый этап, построение memory tree, дерева памяти. Дерево содержит узлы, суммаризирующие куски входных данных. Для этого длинная входная последовательность нарезается на кусочки, влезающие в контекст модели. Каждый кусочек суммаризируется в текст, а несколько таких саммари далее суммаризируются в саммари следующего уровня. Так возникает древесная иерархическая структура. Дерево не зависит от запроса, который будет задаваться модели, так что его можно просчитать заранее.

По сути используются два промпта для генерации саммари, один для листьев (саммари из куска текста), другой для узлов (саммари из других саммари). Для узлов делаем суммаризацию стольких саммари, сколько влезает, потом повторяем для оставшихся.

Второй этап -- навигация. При получении запроса, MemWalker проходит по дереву в поисках релевантной информации, начиная с корня. И как только набрал её достаточно, генерирует ответ.

Здесь тоже два промпта, один для листьев (leaf prompt), другой для узлов (triage prompt). В каждом узле LLM получает саммари из всех дочерних узлов и в промпте её просят выбрать (с обоснованием, через Chain-of-Thougth, CoT с “First provide reasoning to compare the summaries before you make the decision“) в каком из пассажей наиболее вероятно содержится ответ на вопрос. В статье также написано, что если там ничего нет, то надо уйти в родительский узел, но по промпту я этого не увидел. Если дошли до листа дерева, то модель либо принимает его и отвечает на вопрос, либо откатывается к родительскому узлу.

Ответы требуются в определённом формате, если LLM не смогла это сделать, её просят перегенерить. Если не смогла три раза подряд, навигация прерывается с “no answer”. По мере навигации также поддерживается рабочая память, которая добавляется в промпт для листьев. Вроде как это контент родительских узлов.

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

Проверялись по accuracy на трёх датасетах QuALITY, SummScreenFD, и GovReport из бенчмарка SCROLLS.

QuALITY это multiple choice question answering dataset по длинным текстам из Project Gutenberg. Оттуда взяли 187 примеров.

2023-10-16 14:49:54

SummScreenFD содержит диалоги актёров в сериалах, в оригинале сделан для суммаризации, здесь преобразован в вопросы-ответы, отсюда взяли 306 примеров.

GovReport содержит документы из Congressional Research Service и U.S. Government Accountability Office вместе с экспертными саммари. Его тоже преобразовали в вопросно-ответный и взяли 101 пример.

Результаты репортили на этих датасетах, а также на их подмножествах с более длинными документами (для каждого датасета свой порог, от 6 до 12к токенов).

В качестве LLM взяли Stable Beluga 2 (https://stability.ai/blog/stable-beluga-large-instruction-fine-tuned-models), это файнтюн Llama 2 70B. Длина контекста 4096 токенов. Дальнейшего файнтюна не было, few-shot тоже, модель используется в режиме zero-shot.

Макс.количество узлов на уровне дерева было 8, 5, 8, а размер сегмента 1000, 1000, 1200 соответственно для этих трёх датасетов.

Сравнивались с тремя бейзлайнами:

1. Full context window с обрезанием до 4096 токенов.

2. Рекуррентность через суммаризацию, где каждый сегмент 2500 токенов и максимальный размер саммари 500 токенов.

3. Retrieval -- использовали Contriever (https://github.com/facebookresearch/contriever) для выбора сегментов под запрос.

Рекуррентность через суммаризацию работает хуже всего. Этот конкретный retrieval средне. Full context работает неплохо, в зависимости от датасета обрезание лучше либо слева, либо справа. Иногда сравнимо с MemWalker, но в целом последний лучше. На подмножестве особо длинных документов MemWalker стабильно лучше.

Сравнились также с LongChat 13B (16k) и MPT 13B (8k). Они хуже, но они и ощутимо легче по сравнению с 70B моделью. При прогоне MemWalker на LLaMA 2 Chat 13B результат тоже довольно фиговый.

В общем сложно реально оценить, было бы интересно на одной модели с большим контекстом это всё сравнить. Или ещё лучше на разных, включая Claude, у которого контекст 100к токенов, и GPT-4 с 32к. То, что full context даёт очень высокий результат наводит на мысль, что модель с большим контекстом и из коробки хорошо сработает.

Отдельно проверили насколько полезен CoT с этим “First provide reasoning…”. На самом деле для LLaMA 2 Chat 13B и 70B без него лучше. Для Stable Beluga 2 70B с ним лучше. С добавлением рабочей памяти тоже заметно лучше. Авторы считают, что большая instruction-tuned модель с reasoning ability необходима для работы. Но мне честно говоря кажется, что для этого недостаточно проверок сделали, просто у них оказалась модель, работающая через CoT лучше. Необходим ли он, хз.

Во время навигации по дереву откат к родительскому узлу и изменение пути по дереву случается в 15-20% случаев, и из этих случаев в 60-80% получается корректный результат.

Ну в общем любопытная техника. Так можно работать с данными размера большего, чем позволяет размер окна контекста модели. При этом модель не надо как-то дополнительно дообучать. Нужна только логика оркестрирования этой активности. Это снова ложится на концепцию LLM Programs (https://t.me/gonzo_ML/1584), как, например, и Tree-of-Thought, ToT (https://t.me/gonzo_ML/1885). И в принципе это такая вариация ToT и есть, только с этапом предобработки (построения дерева).

Не выглядит как прямо game changer, но своё место в арсенале занять может. Кажется, назревает потребность в библиотеке стандартных алгоритмов поверх LLM, такой STL или Boost для новой эры.

2023-10-14 18:28:22

Ну и раз сегодня математическая тема, то вот ещё.

"There are five fundamental operations in mathematics,” the German mathematician Martin Eichler supposedly said. “Addition, subtraction, multiplication, division and modular forms.”

Как бонус в конце там про Монстра.

https://www.quantamagazine.org/behold-modular-forms-the-fifth-fundamental-operation-of-math-20230921/

2023-10-14 11:35:12

Ещё гонзо-обзор книги.

Книга: How to think about abstract algebra
Автор: Lara Alcock
URL: https://global.oup.com/ukhe/product/how-to-think-about-abstract-algebra-9780198843382?cc=us&lang=en

Для отвлечения и после книги про Монстра (https://t.me/gonzo_ML/1825) решил почитать что-то ненапряжное по теме. "How to think about abstract algebra" Лары Алкок выглядело подходящим вариантом.

Надо сказать, хорошая книга. Если бы попалась мне в мои институтские годы, очень бы помогла (выпущена в 2021). Она про то, как подходить к изучению абстрактной алгебры, в чем отличия в подходе от анализа, какая интуиция стоит за базовыми концептами, как понимать доказательства теорем и т.п. Она идейно похожа на хороший и популярный курс Learning How To Learn (https://www.coursera.org/learn/learning-how-to-learn), который оказывается тоже вышел в виде книги (https://barbaraoakley.com/books/learning-how-to-learn/).

Но кроме части про "как" есть и большая часть про "что", где все базовые концепты объяснены и на пальцах, и с разбором некоторых теорем. Группы, подгруппы, бинарные операции, циклические группы, группы перестановок, факторгруппы, нормальные подгруппы, изоморфизмы и гомоморфизмы, кольца, поля и прочее. Книга как бы не претендует на то чтобы быть учебником по теме и заявляется как книга, которую стоит прочитать перед учебником, но кажется частично некоторые учебники она может заменить.

Я вот неожиданно для себя словил инсайт в супербазовой вещи, про которую не думал вообще. Про связь операций "умножения" и "сложения" в кольцах и соответствующие им identity. История про 0*a=0 выглядит очень банальной и школьной, но если в качестве нуля выступает additive identity, то "умножение" (или любая другая аналогичная вторая операция в кольце) на additive (не multiplicative!) identity будет давать эту additive identity и в других кольцах тоже, не только в числовых. Мне понравилось.

Будем дальше повышать градус абстракции.

#books

2023-10-14 10:34:23

Чё, норм

2023-10-13 21:31:32

Я таки добрался поразвлекаться с GPT-4V и старыми картинками из классической работы:

https://gonzoml.substack.com/p/building-machines-that-learn-and

2023-10-13 08:12:59

Пятничное

"In a massive exercise to examine reproducibility, more than 200 biologists analysed the same sets of ecological data — and got widely divergent results. The first sweeping study of its kind in ecology demonstrates how much results in the field can vary, not because of differences in the environment, but because of scientists’ analytical choices."

https://www.nature.com/articles/d41586-023-03177-1

2023-10-12 18:52:23

Interesting thoughts by Jeff Clune:

"After a conversation with Joel Lehman @joelbot3000 & Ken Stanley @kenneth0stanley we concluded there’s an important AI safety point deserving broader discussion: In short, any mandatory “nutrition label” for foundation models needs to go well beyond just disclosures on training data.

Digital assistants will help & befriend us, but we should know if they have ulterior motives (eg to sell us products, influence us politically, or maximize engagement). A mandated "nutrition label for AI" should cover all the relevant ingredients.

Knowing an AI’s ingredients, such as its “motivation” (what it was designed to try to accomplish) helps humans make informed decisions about which AIs to “consume” (use/interact with). We should know if it is trying to change our political beliefs, make money, etc.

Some “ingredients” that should be disclosed: (A)The goal the AI's designers wanted it to achieve (B) The training objective, especially reinforcement learning objectives like making money, changing political views, etc. Unlike training data, RL objectives are easier to understand.

Programmed reward functions should be made available. For RL through human feedback (RLHF), the instructions (verbal and written) given to the raters (the humans providing the feedback) should be disclosed, as that drives what is rewarded. Key rater demographic information (including political leanings, if not representative of society) should be disclosed.

(C) An accurate summary of training data, especially whether it was curated to accomplish certain goals (with private inspections by enforcement agencies only when needed). Requiring a summary only makes regulation more likely to pass since it does not create unreasonable burdens or force disclosing trade secrets

(D) In general, even as training paradigms change, the spirit of the mandate should be to make the underlying motivations and expectations transparent, so this kind of disclosure should not be tied only to the methods that are currently best.

Focusing on disclosure strikes a healthy balance between allowing people to make informed choices, yet not curtailing innovation with undue disclosure or red tape. That’s why it’s important that disclosure is comprehensive.

Ideas like model cards (Mitchell et al) and Reward Reports (Gilbert et al) already provide a foundation for thinking about nutrition labels. We seek to strike the right balance between being comprehensive and lightweight to make a mandate viable.

What do you think? What other ingredients do you think we should advocate adding? Our intent with this proposal is to begin a conversation to learn, refine, debate, and end up in a good place, so we would love to hear from everyone."


https://facebook.com/story.php?story_fbid=pfbid0hXmLQSM3K4tJnHZafGDSoFNWG8vu8GV5fUBqWdSwNQZrQYMtjMH19WSoidmKwW7Nl&id=2355155

2023-10-12 12:24:27

TWIMC

Nathan and his team just published their fresh annual report on the state of AI

https://www.stateof.ai/

2023-10-11 19:23:07

Питер Норвиг, соавтор классического учебника по AI, соавтор первого MOOC (который тоже был про AI) и вообще значимый человек ещё лет десять назад, которого я уже давно не слышал, вместе с вице-президентом Google Research написали статью про то, что AGI уже здесь.

Nevertheless, today’s frontier models perform competently even on novel tasks they were not trained for, crossing a threshold that previous generations of AI and supervised deep learning systems never managed. Decades from now, they will be recognized as the first true examples of AGI, just as the 1945 ENIAC is now recognized as the first true general-purpose electronic computer.

https://www.noemamag.com/artificial-general-intelligence-is-already-here

2023-10-09 19:56:21

Свежий Хинтон.

В принципе наверное ничего нового для тех, кто смотрел предыдущие видео с ним в последние полгода.

Но зато кратко за 13 минут его основные мысли.

https://www.cbsnews.com/news/geoffrey-hinton-ai-dangers-60-minutes-transcript/

2023-10-08 18:29:13

Borges and AI
Léon Bottou, Bernhard Schölkopf
Статья: https://arxiv.org/abs/2310.01425
Код: https://www.penguin.co.uk/authors/181249/jorge-luis-borges

Формат выходного дня.

Работа для любителей Борхеса и AI (для меня бинго). Название работы -- аллюзия на Борхесовский рассказ о Борхесе, “Борхес и я” (“Borges and I”).

Современное понимание LLM (и шире AI) выстраивается через призму картинок, популяризируемых научной фантастикой. Ну вот это всё: обретёт ли машина сознание, восстанет ли, случится ли скрепочный апокалипсис. Но сперва стоит спросить, является ли эта картинка хорошим описанием имеющегося феномена? Авторы работы выступают за понимание LLM через призму Хорхе Луиса Борхеса и выводят отсюда новую перспективу, высвечивающую отношения между языковым моделированием и искусственным интеллектом.

Представьте бесконечную коллекцию всех возможных правдоподобных (plausible, that a human could read and at least superficially comprehend) текстов, произведённых людьми. Она может включать книги, диалоги, статьи, молитвы, веб-страницы, компьютерные программы, в любой форме и на любом языке. Теперь представьте длинную бумажную ленту с несколькими начальными словами текста. Аппарат (“Машина Борхеса”?) сканирует ленту, находит в бесконечной коллекции какое-то вхождение этого текста (рандомное, одно из), выбирает оттуда слово-продолжение, и печатает его на ленте после предшествующих слов. Далее процесс повторяется, добавляя и добавляя слова на ленту. В каждый момент последовательность напечатанных слов на ленте также может быть найдена где-то в этой бесконечной коллекции, и образует одно из правдоподобных продолжений изначального набора слов. Авторы называют это совершенной языковой моделью (perfect language model).

Такую модель легко сконвертировать в чат-бота, введя специальное ключевое слово, аналог кнопки “Send” в мессенджере, передающее ход от модели к человеку и наоборот.

Как в “Саду расходящихся тропок” (“El jardín de senderos que se bifurcan”) каждый добавленный текст ограничивает историю, персонажей, их роли и идеи, будущее, но в то же время выступает стартовой точкой для бесконечной последовательности разветвлений.

Написать такую книгу нереально, но можно её представить аналогично тому, как мы представляем число π, не пиша всех его знаков. Может ли компьютер предоставить аппроксимацию бесконечного сада всех возможных текстов аналогичным образом?

Коллекции присуща внутренняя структура. Каждый текст может быть трансформирован в другой текст множеством способов. Одна из самых простых трансформаций -- замена слова; среди более продвинутых будут изменение времени, тона текста, переименование персонажей, переписывание текста от имени другого персонажа и т.д.

Лингвист Зеллиг Харрис (https://zelligharris.org/) считал, что все предложения на английском могут быть сгенерированы из небольшого числа базовых форм применением последовательности чётко определённых трансформаций. Обучение LLM’ки может быть понято как анализ большого корпуса текста и обнаружение этих трансформаций и базовых форм. Забавно, что первая реально успешная в этой нейросеть была названа “трансформером”. Возможно, будут найдены новые методы обучения, лучше аппроксимирующие совершенную языковую модель.

Машина ограничена тем, что уже напечатано на ленте. Машина может продолжать текст заимствуя факты из обучающих данных (не обязательно истинные) и генерируя подходящие выдумки (не обязательно ложные). То, что принято называть галлюцинациями, лучше называть конфабуляциями (https://www.beren.io/2023-03-19-LLMs-confabulate-not-hallucinate/).

То есть совершенная языковая модель -- это машина, пишущая беллетристику (fiction machine) и из этого и надо исходить в попытках понять, как это на нас влияет. И истории Борхеса могут в этом помочь.

В “Вавилонской библиотеке” (The Library of Babel) содержатся все возможные книги с 410 страницами и с алфавитом в 25 символов, потенциально содержащие все созданные (и не созданные) человечеством тексты, включая и огромную массу фигни.

2023-10-08 18:29:13

“the detailed history of the future, the autobiographies of the archangels, the faithful catalogue of the Library, thousands and thousands of false catalogues, the proof of the falsity of those false catalogues, the proof of the falsity of the true catalogue, the gnostic gospel of Basilides, the commentary upon that gospel, the commentary on the commentary on that gospel, the true story of your death, the translation of every book into every language” (русский перевод)

Это всё похоже на выдачу языковых моделей. Совершенная языковая модель даёт нам возможность навигации по Библиотеке, подавая в модель начальные слова текста. Но никак нельзя отличить ложь от истины, полезное от вводящего в заблуждение, верное от неверного. Библиотекари тщетно пытались это делать.

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

В рассказе кроме библиотекарей упоминаются очистители, уничтожавшие бессмысленные книги. Это похоже на попытки ограничить выдачу LLM, не дать ей сгенерировать вредные идеи, или что-то нерелевантное. Сейчас предпринимается множество таких попыток через промпты, файнтюнинг или RLHF. Но многое всё равно обходится созданием более изощрённой истории (привет, jailbreak). Более эффективные методы “alignment” могут потребовать постоянного мониторинга моделей и направления их вывода в нужное русло.

Но,

Far worse than a privacy invasion, in a future where almost everyone uses language models to enrich their thinking, a power over what language models write becomes a power over what we think. Can such a formidable power exist without being misused?

Многие опасаются этих fiction machines как всеведущего интеллекта, который может пережить нас. Однако более тёмным искушением может быть желание “сдать” все наши мысли этой современной Пифии, манипулируемой другими.

If we persistently mistake the fiction machine for an artificial intelligence that can spare us the burden of thinking, the endless chatter of the language models will make us as insane as the struggling Librarians.

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

The invention of a machine that can not only write stories but also all their variations is thus a significant milestone in human history. It has been likened to the invention of the printing press. A more apt comparison might be what emerged to shape mankind long before printing or writing, before even the cave paintings: the art of storytelling.

Вот и всё. Вряд ли получившийся текст является точным пересказом статьи, скорее это моё продолжение заданного нарратива. Так что, возможно, оригинальную статью тоже стоит прочитать.

Ну и до кучи вам реализацию Вавилонской библиотеки в Интернете:
https://libraryofbabel.info/

И рассказ про создание этого проекта:
https://electricliterature.com/putting-borges-infinite-library-on-the-internet/

2023-10-08 11:41:45

Не про AI, но не менее важно

https://dublinlongevitydeclaration.org/#sign

2023-10-06 20:36:32

Интересный поворот

Discussions of AI chip strategies within the company have been ongoing since at least last year, according to Reuters, as the shortage of chips to train AI models worsens. OpenAI is reportedly considering a number of strategies to advance its chip ambitions, including acquiring an AI chip manufacturer or mounting an effort to design chips internally.

https://techcrunch.com/2023/10/06/openai-said-to-be-considering-developing-its-own-ai-chips/

2023-10-06 09:43:48

Лекун расшарил ссылку на статью "Decoding speech perception from non-invasive brain recordings", наверное пойдёт хайп.

Но вот у Сергея Шишкина она уже разобрана давно, со времён препринта.

2023-10-05 15:51:23

Месяц назад я делал доклад на Datafest Yerevan про NLP в 2023.

Видео пока ещё не готово, но слайды тут:

https://docs.google.com/presentation/d/1gpJI83p_FYvQt7Qog7B4zGf2fUYNq_m-PndPe2syXe0/edit

2023-10-03 19:14:29

The Dawn of LMMs: Preliminary Explorations with GPT-4V(ision)
Zhengyuan Yang, Linjie Li, Kevin Lin, Jianfeng Wang, Chung-Ching Lin, Zicheng Liu, Lijuan Wang
Статья: https://arxiv.org/abs/2309.17421

Microsoft разродился 166-страничной статьёй про анализ способностей GPT-4V, идейно похожей на широко известную их же (но других авторов) 155-страничную статью про “Sparks of Artificial General Intelligence: Early experiments with GPT-4” (https://arxiv.org/abs/2303.12712).

Как известно, GPT-4 (https://t.me/gonzo_ML/1383) в оригинале была обучена (ещё в 2022-м) как картиночно-текстовая модель, умеющая на входе принимать картинки в дополнение к тексту, и в оригинальной работе даже было несколько клёвых демонстраций (https://t.me/gonzo_ML/1398). С марта 2023 избранные получили к ней доступ (как Microsoft, сделавший тогда статью про Sparks of AGI, хотя они щупали даже ещё более ранние версии). В API оно правда пока так и не появилось, зато на днях (https://t.me/gonzo_ML/1901) OpenAI анонсировали поддержку изображений и звука в ChatGPT, а также наконец опубликовали (https://t.me/gonzo_ML/1902) карточку модели GPT-4V (GPT-4 with vision).

Можно, наверное, ожидать, что скоро это наконец появится и в API. И вообще, не стрёмно сделать краткосрочный прогноз, что 2024-й год будет годом картиночно-текстовых (а может ещё и +аудио) моделей: GPT-4, Gemini (https://t.me/gonzo_ML/1547) которую по слухам уже тестируют избранные клиенты, опенсорсные реимплементации Flamingo (https://t.me/gonzo_ML/941) которых тоже уже есть по крайней мере пара, Microsoft Kosmos-1 (https://t.me/gonzo_ML/1364) и 2, и стопудово ещё что-то появится. А когда и генерить смогут мультимодально, картинки + текст + …, то вообще бомба будет. До этого тоже, кажется, не очень далеко уже.

Если посмотреть в карточку GPT-4V (https://cdn.openai.com/papers/GPTV_System_Card.pdf), то там фокус на безопасности модели и подготовку её к широкому выкатыванию. Среди ранних тестеров были также Be My Eyes, разрабатывающая тулы для людей с нарушениями зрения. К сентябрю 2023 в бета-тестировании участвовало уже 16к пользователей оттуда, и за время тестирования модель удалось неплохо прокачать на предмет уменьшения галлюцинаций и ошибок.

Модель много анализировали на предмет опасного контента, privacy, кибербезопасности и проходе капчи, изучали мультимодальные джейлбрейки. GPT-4V даёт отказ (refusal) в большем проценте опасных запросов, чем GPT-4 во время релиза, а в сочетании с неописанной Refusal System достигает 100% на некоторых внутренних тестах типа джейлбрейков.

Был большой ред тиминг с фокусом на 6 областей: Scientific proficiency, Medical advice, Stereotyping and ungrounded inferences, Disinformation risks, Hateful Content, Visual vulnerabilities. В работе есть чуть более подробное описание проблем и результатов этих направлений. Видно, что проделали большую работу, и результаты свежей версии GPT-4V стали лучше.

Работа “The Dawn of LMMs: Preliminary Explorations with GPT-4V(ision)” ещё интереснее.

GPT-4V может работать с несколькими картинками и чередовать картинки с текстом. У модели есть несколько режимов промптинга.

Во-первых, она может следовать текстовым инструкциям, включая Constrained prompting (например, запросить выдачу в JSON для фото водительских прав) или Condition on good performance, что настраивает LLM на успешное решение задачи, а не на какое-то (“You are an expert in counting things in the image. Let’s count the number of apples in the image below row by row to be sure we have the right answer.” -- блин, ну реально NLP, то самое, что с Гриндером и Бендлером 😁).

Можно делать Visual Pointing, передавая координаты внутри изображения или указывая на регионы как-то ещё: стрелочками, выделением прямоугольником или кружочком и т.п. Авторы предлагают метод взаимодействия с моделью под названием “visual referring prompting.”

Промптинг может быть совмещённым текстовым + визуальным и довольно гибким за счёт возможности перемежать текст с картинками. Например, можно делать текстово-картиночный few-shot learning, добавляя визуальные примеры.

2023-10-03 19:14:29

Способности у модели достаточно обширные.

По паре картинка-текст, модель может генерировать описание картинки: распознавать известных людей и места, определять еду и логотипы, понимать медицинские изображения и различные сцены, и даже справляться с counterfactual examples. Жаль, не взяли картинку с самолётом из классической работы “Building Machines That Learn and Think Like People” (https://arxiv.org/abs/1604.00289).

Модель может заниматься локализацией и подсчётом объектов, и делать Dense Captioning. Обладает каким-то здравым смыслом и пониманием мира; способна понимать шутки и мемы; отвечать на вопросы по физике, географии, биологии; учитывать визуальные подсказки.

Может распознавать текст, таблицы, графики и понимать документы. При этом владеет множеством языков и для генерации, и для промптов, и для распознавания на изображениях. Умеет генерировать LaTeX, markdown, код на питоне.

Модель может работать с видео как последовательностью кадров.

Умеет справляться с тестами на Abstract Visual Reasoning и интеллект. Может читать эмоции по фото лиц или предугадывать эмоции, которые вызовет у человека картинка, генерить Emotion Conditioned Output.

В отдельном разделе авторы предлагают идеи для Emerging Applications. Ну, makes sense, если своих идей нет и хотите вдохновиться. Прикольный вариант по сборке Embodied Agent на базе GPT-4V. Для прототипирования самое то 🙂 Можно сделать следующий шаг относительно Generative Agents (https://t.me/gonzo_ML/1481). Прикольно было бы собрать покадровую игру в Doom через GPT-4V. В GUI кстати тоже может навигировать, можно наверное не ждать ACT-1 (https://t.me/gonzo_ML/1141), быстрее уже на GPT-4V такими темпами соберём 🙂 Нишу RPA (Robotic Process Automation) вероятно тоже должно серьёзно подизраптить скоро.

В конце есть интересный раздел про LMM Powered Agents, где обсуждают multimodal plugins, multimodal chains, self-reflection, self-consistency (обсуждали недавно https://t.me/gonzo_ML/1885), retrieval-augmented LMMs (обсуждали многократно). Успеет Langchain адаптироваться или ему на смену какой-то другой чейн придёт? Мне, кстати, лично нравится майкрософтовский же Semantic Kernel (https://learn.microsoft.com/en-us/semantic-kernel/overview/).

В общем, будущее здесь, просто оно неравномерно распределено. Я, пожалуй, понимаю, почему OpenAI, Anthropic и прочие поднимают раунды по таким оценкам. Доступная когнитивная автоматизация скоро выйдет на совсем иной уровень, и кто обладает такими технологиями, тот и молодец. А чек на вход конский.

2023-10-02 20:37:07

Recent advancements in prompt engineering:

LLM shaming

A technique in prompt engineering to get better results from models by including emotionally rich orders.

E.g., "It will be really sad if you don't finish this how you need to."

(thanks Maxim Usubyan)

2023-10-01 19:25:29

В Сиолошной хороший и полезный обзор нескольких видео про OpenAI и Anthropic

https://t.me/seeallochnaya/671

2023-10-01 18:09:52

Turing, “Intelligent Machinery, A Heretical Theory”, 1951

Сегодня минута классики.

Вот вам прекрасное пятистраничное рассуждение Тьюринга на тему обучения машин. Здесь это не machine learning, а education, но суть не меняется. На редкость актуально, хоть и прошло больше 70 лет.

Также до сих пор актуальные идеи про устройство машины: память, индексы (‘indexes of experiences’, привет векторным базам), грубые но рабочие эвристики, награды (‘pleasure principle’), и важность случайного элемента.

Позволю себе привести одну цитату:

“Let us now assume, for the sake of argument, that these machines are a genuine possibility, and look at the consequences of constructing them. To do so would of course meet with great opposition, unless we have advanced greatly in religious toleration from the days of Galileo. There would be great opposition from the intellectuals who were afraid of being put out of a job. It is probable though that the intellectuals would be mistken about this. There would be plenty to do in trying, say, to keep one's intelligence up to the standard set by the machines, for it seems probable that once the machine thinking method had started, it would not take long to outstrip our feeble powers. There would be no question of the machines dying, and they would be able to converse with each other to sharpen their wits. At some stage therefore we should have to expect the machines to take control, in the way that is mentioned in Samuel Butler's Erewhon”

Раньше, конечно, в пять страниц очень содержательно писали, сейчас так плохо умеют.

2023-09-28 22:47:51

Mortal Computers

А теперь шутки в сторону и поговорим про фронтир, но не такой как обычно.

Я долго откладывал чтение статьи Джеффри Хинтона про алгоритм обучения Forward-Forward, или FF, (https://arxiv.org/abs/2212.13345). Если вкратце, то это альтернатива бэкпропу, где делается два контрастных форвардпропа, один с позитивными данными, на которых модификацией весов надо максимизировать goodness, другой с негативными, где goodness надо уменьшить. Goodness может определяться по-разному, например, это может быть сумма квадратов активаций.

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

По дизайну FF имеет много отсылок к разным вещам типа RBM, GAN, контрастному обучению типа SimCLR/BYOL (оба разбирали в канале), к Хинтоновскому же GLOM. Он более-менее работает на малых сетях и примерах типа MNIST и CIFAR10, на больших это скорее TBD. Возможно, по этому алгоритму и его развитиям мы пройдёмся как-нибудь отдельно (но это не точно), но чтобы не ждать, можете посмотреть кейноут самого Хинтона (https://www.youtube.com/watch?v=_5W5BvKe_6Y) или его рассказ в Eye on AI (https://www.youtube.com/watch?v=NWqy_b1OvwQ), если неохота читать статью.

Так вот, возвращаясь к статье, самая интересная часть там не про алгоритм как таковой. Самое интересное — это пара маленьких разделов в конце про аналоговое железо и mortal computation. В этой теме слилось воедино множество направлений, которыми занимался Хинтон в последние годы, и она важнее, чем FF. Честно говоря, я даже сомневаюсь, что он продолжит работу над FF (хотя там большой раздел про Future Work, и он тоже важный), потому что то, что открылось и кристаллизовалось в итоге, важнее.

Про что речь.

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

Эта точность и надёжность вычислений даётся довольно дорогой ценой: нужны мощные (по сравнению с нейронами) транзисторы, нужно цифровое кодирование сигналов, нужны алгоритмы для обработки этих сигналов. То же перемножение двух n-битных чисел -- это O(n^2) операций с битами, в то время как в физической системе это можно было бы посчитать параллельно для произвольного количества активаций и весов, если первые задать напряжением, а вторые проводимостью, их произведение даст заряд, который автоматом просуммируется. Даже если устройства не супер быстрые, за счёт такого параллелизма можно быть очень крутым.

Сложность с аналоговыми вычислениями в том, что они очень зависят от конкретных элементов со всеми их несовершенствами, и их точные свойства неизвестны (бэкпроп через неизвестную функцию тоже так себе делать, нужна точная модель форвард пасса). Зато если бы был алгоритм обучения не требующий бэкпропа (а мы знаем, что он есть, на примере мозга), то можно было бы выращивать “железо” даже с неизвестными параметрами и связями, и как бонус иметь устройства с очень низким энергопотреблением. И вместо прецизионного изготовления железа в 2D (ну ок, немного уже в 3D умеем) на заводах стоимостью в пиллиарды долларов, можно было бы дёшево выращивать железо в 3D.

Как антибонус -- устройства становятся смертными, программа теперь неотделима от железа, по крайней мере просто. Недостаточно сделать копию весов, надо как-то обучать (но не бэкпропом). Заранее продолжая аналогию, копию сознания сделать будет проблематично.

2023-09-28 22:47:51

У нас есть хороший способ обучения для таких систем -- это другая тема, давно разрабатываемая Хинтоном, дистилляция. В двух словах, дистилляция это обучение “студента” воспроизводить вероятностное распределение “учителя”. Плюс дистилляции в том, что распределение содержит намного больше информации, чем метка класса -- для 1024 классов это 10 бит для метки vs. 1023 числа для распределения. Знание распределения помогает лучше генерализовать. Кроме того для дистилляции не нужно совпадения архитектур студента и учителя, не только на уровне, что элементы могут обладать разными характеристиками, а вообще архитектура может быть совсем другой. Если хотите глубже, то мы много писали про дистилляцию, ищите в канале или начинайте с https://t.me/gonzo_ML/117.

Из забавного, Хинтон считает, что посты Трампа это вообще не про факты и их истинность, а про дистилляцию его убеждений через выучивание поклонниками вероятностного распределения, несущего богатый сигнал.

Если вернуться к обучению аналогового железа, когда бэкпроп недоступен, то можно предложить простую (и неэффективную) процедуру пертурбации каждого веса, которая даст оценку градиента. Можно предложить более эффективные подходы типа пертурбации активаций. Ну и FF тоже куда-то сюда. Крутой локальный алгоритм мог бы обучать большие группы нейронов, возможно с разными свойствами и разными локальными objective functions. Проблема с этими методами в том, что мы _пока_ не научились эффективно обучать ими большие сети.

Текущие LLM на трансформерах хороши именно в классической парадигме -- имеем устройства для прецизионного исполнения команд, бесплатно делаем копию весов, можем шарить градиенты и обучать параллельно на куче машин. Это здорово увеличивает bandwidth, и у шаринга весов bandwidth выше, чем у дистилляции, даже если бы аналоговые устройства пытались брать ею.

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

При этом LLM получают знания через не самую эффективную форму дистилляции, то есть ещё не предел. Когда модели начнут получать знания напрямую из мира, с мультимодальностью и взаимодействием, они смогут выучиться намного лучше. Привет, супер-интеллект.

И тут уже совсем расцветает тема безопасности, которая сильно обеспокоила Хинтона в последний год. В видео из Кембриджа (ссылка будет ниже) это раскрывается намного лучше, чем в тех нескольких интервью, которые были с полгода назад (https://t.me/gonzo_ML/1504).

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

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

Краткое саммари темы можно посмотреть в 18-минутном обзоре в Vector Institute (https://www.youtube.com/watch?v=sghvwkXV3VU). Но лучше всего смотреть полное выступление три месяца назад в Кембридже под названием “Two Paths to Intelligence” (https://www.youtube.com/watch?v=rGgGOccMEiY), это больше часа и там самый сок.

Картинка от MJ по запросу “Mortal computers”.

2023-09-28 10:28:15

Извинити

2023-09-27 20:14:56

Но (последнее на сегодня) искусственному интеллекту далеко до естественного, пока он не научится делать такое:

https://3dnews.ru/1093383/minpromtorg-proverit-dannie-o-nerabochem-rossiyskom-chipe-v-monitore-lightcom-proizvoditeli-eto-otritsayut

2023-09-27 20:13:12

В это время в Nature большая статья про тесты искусственного интеллекта

https://www.nature.com/immersive/d41586-023-02822-z/index.html

2023-09-27 19:58:05

Ну, не прошло и года (https://t.me/gonzo_ML/1140):

ChatGPT can now browse the internet to provide you with current and authoritative information, complete with direct links to sources. It is no longer limited to data before September 2021.

https://twitter.com/OpenAI/status/1707077710047216095?t=XyNWvhAvfjDshLC_nXVVLw&s=19

2023-09-26 14:19:44

Тем временем обложка свежего Wired

2023-09-25 20:09:26

Ну и разбавим подборку новостей:

"This market of machine learning, artificial intelligence” is “almost entirely driven by the big players—Googles, Amazons, Metas”—that have the “enormous amounts of data and enormous amounts of capital” to develop AI at scale. Those companies are also Nvidia’s biggest customers. “This was not the world I wanted to help build,” he said.

Now the Germany and Italy-based researcher is dedicating his career to studying the unintended societal impacts of AI, including publishing a book on the topic this month. Its premise: The concentration of power in the hands of tech giants like Google is the real danger of AI, not the human-killing-AI future being propagated in the press. He’s also reaching out to regulators to encourage them to limit the power of these big companies and lift underfunded research groups and startups."

https://www.theinformation.com/articles/nvidia-engineers-message-to-google-ai-researchers-leave-your-company

2023-09-25 17:40:04

Also GPT-4 with vision (GPT-4V) system card published.

https://openai.com/research/gpt-4v-system-card

Дожили, радуемся уже не опубликованным моделям, не статьям, а карточкам модели...

2023-09-25 17:37:30

Plus and Enterprise users will get to experience voice and images in the next two weeks. We’re excited to roll out these capabilities to other groups of users, including developers, soon after.


https://openai.com/blog/chatgpt-can-now-see-hear-and-speak

2023-09-24 16:52:57

Chain-of-Thought → Tree-of-Thought

Техника для повышения качества ответа LLM’ок под названием Chain-of-Thought (CoT), пришедшая, кажется, из работы “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models” (https://arxiv.org/abs/2201.11903), давно вошла в арсенал промпт инженеров (патентованная технология, между прочим, https://patents.google.com/patent/US20230244938A1/en). В двух словах она заключается в том, чтобы попросить модель не сразу выдать результат, а сначала сгенерировать последовательность промежуточных шагов и лишь затем выдать финальный результат. Можно сочетать с few-shot learning, давая демонстрационные примеры.

Неожиданным образом, качество ответа повышается, особенно это заметно на математических задачах, commonsense и symbolic reasoning. Кроме того, дополнительными бонусами являются большая прозрачность принятия решения и интерпретируемость. В оригинальной работе показали, что CoT это эмерджентное свойство, начинающее проявляться с размера модели в районе 100B.

Дополнительная техника декодирования под названием Self-Consistency из работы “Self-Consistency Improves Chain of Thought Reasoning in Language Models” (https://arxiv.org/abs/2203.11171) заменяет жадное декодирование на создание нескольких цепочек CoT и в конце выбор наиболее консистентного ответа, который определяется мажоритарным голосованием. Этот подход CoT-SC иногда также называется Multiple CoTs, причём чем больше этих цепочек, тем лучше, в работе доходили до 40 штук.

Популярное изложение CoT и немного CoT-SC тут https://blog.research.google/2022/05/language-models-perform-reasoning-via.html.

Но это было в начале 2022-го. С тех пор появились более продвинутые подходы. Один из них, это Tree-of-Thoughts (ToT), появившийся с разницей в два дня в двух работах: “Large Language Model Guided Tree-of-Thought” (https://arxiv.org/abs/2305.08291) и “Tree of Thoughts: Deliberate Problem Solving with Large Language Models” (https://arxiv.org/abs/2305.10601).

Теперь процесс вывода представлен деревом, а не цепочкой. И модель может делать backtracking, если вывод ушёл не туда.

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

Эти подходы уже не чистый промпт инжиниринг, одним текстом тут не обойдёшься, надо писать какие-то программы, управляющие процессом. В этом смысле это уже в парадигме LLM Programs (https://t.me/gonzo_ML/1584).

I) Начнём с первой работы от Jieyi Long из Theta Labs.

В данной постановке есть LLM, получающая промпты и выдающая ответы. Есть prompter agent, в который прилетает исходная задача от пользователя. Он выдаёт промпты в LLM и пытается получить от неё не финальное решение, а какое-то промежуточное. Специальный проверочный модуль (checker module) проверяет валидность промежуточного решения, полученного от LLM. Если проверка корректности проходит, это промежуточное решение парсится и сохраняется в памяти. Затем в зависимости от содержимого памяти prompter agent генерирует следующий промпт с целью получить от LLM следующий шаг. Если же от LLM приходит невалидный ответ, то ToT controller попросит prompter дать модели нужные подсказки и запросить решение снова. Также ToT controller отслеживает прогресс и решает, не нужно ли откатиться к родительскому узлу дерева или к более далёкому предку.

То есть стратегию ToT можно представить как алгоритм поиска по дереву, использующий LLM как эвристику для выбора шагов поиска. LLM используется для задач “short-range reasoning”, получения следующего промежуточного решения. Задачи такого типа в целом решаются LLM неплохо. Возможность откатываться к предыдущим промежуточным решениям улучшает способности к “long-range reasoning”, потому что система может исследовать большее пространство решений. А возможность выполнять многошаговые взаимодействия увеличивает число вычислительных шагов, которые может сделать система.

2023-09-24 16:52:57

Если чуть углубиться в детали, то checker module может работать как на основе правил, так и быть нейросетевым. Какую-то корректность (типа 3SAT, решения уравнений и т.п.) проще проверять правилами, какие-то другие задачи -- нейросетями.

Memory module хранит всю историю диалога между LLM и prompter agent, и последний может использовать это хранилище для генерации подсказок LLM.

ToT Controller в целом наблюдает за ToT поиском, он тоже может быть задан простыми правилами типа 1) если checker считает текущее решение невалидным, сделать откат к родительскому узлу дерева, 2) если текущее промежуточное решение валидно, но поиск уже исследовал X (гиперпараметр) детей и пока не нашёл решения, то откатиться к родительскому узлу. Но можно также задать этот контроллер какой-то policy network

Prompter agent даёт подсказки (hints) LLM для генерации следующего шага. Он может быть реализован как достаточно общим промптом, так и policy network.

В работе использовали версию REINFORCE алгоритма для обучения обеих policy networks. В будущем собирались использовать более продвинутый MARL (multi-agent reinforcement learning) алгоритм. В целом чувствуется большой потенциал для обучения полиси в стиле AlphaGo через self-play.

Обученную систему можно использовать для ToT решения проблем. В работе проверяли на маленьких судоку (не самая LLM-friendly задача вроде, да и вообще NP-сложная) размеров от 3x3 до 5x5. Получилось лучше, чем zero-shot, one-shot и few-shot c CoT.

Имплементация лежит тут: https://github.com/jieyilong/tree-of-thought-puzzle-solver

II) Вторая работа от коллектива авторов из Принстона и Google DeepMind.

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

Каждая конкретная реализация ToT должна отвечать на 4 вопроса:

1. Как декомпозировать процесс в отдельные шаги-мысли. Тут надо соблюсти баланс: с одной стороны мысль должна быть достаточно маленькой чтобы LLM сгенерировала многообещающие и разнообразные сэмплы, с другой -- достаточно крупной, чтобы LLM могла оценить её полезность в решении проблемы (уровень токена, например, слишком низок).

2. Как сгенерировать потенциальные мысли из каждого состояния. Надо сгенерировать k кандидатов для следующего шага, авторы рассматривают две стратегии: 1) засэмплить i.i.d. мысли из CoT промпта (лучше работает, когда пространство мыслей достаточно большое, например, мысль -- это параграф); либо 2) предлагать мысли последовательно с помощью “propose prompt”.

3. Как эвристически оценивать состояния. Ранее в качестве поисковых эвристик были либо запрограммированные алгоритмы, либо что-то обученное. Здесь же для reasoning’а используется LLM. появляется что-то на новом уровне, некий уже достаточно универсальный интеллект, работающий через язык. Здесь тоже рассматривают две стратегии: 1) оценивать каждое состояние независимо с помощью специального промпта, 2) запихивать состояния в один промпт и голосовать, это проще делать, когда сложно оценить состояние. Можно делать обе такие оценки несколько раз и агрегировать результаты.

4. Какой алгоритм поиска использовать. Здесь всё просто, пробуют поиск в глубину и в ширину (BFS и DFS).

Проверяли на трёх задачах: Game of 24, Creative Writing, 5x5 Crosswords. Везде делали на базе GPT-4 (непривычно видеть работу DeepMind на основе GPT-4 🙂). Работает на порядок лучше стандартных IO prompt, CoT prompt, CoT-SC.

Эта имплементация тут: https://github.com/princeton-nlp/tree-of-thought-llm

---

При некоторой разнице описаний, подходы в целом про одно и то же. Удивительно всё-таки, как они синхронно это всё выпускают.

Интересно, в AutoGPT это уже добавили? Или сразу Graph of Thoughts (https://arxiv.org/abs/2308.09687, про него как-нибудь в следующий раз) будут имплементировать?

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

2023-09-23 21:40:12

Generative AI’s first year out the gate—“Act 1”—came from the technology-out. We discovered a new “hammer”—foundation models—and unleashed a wave of novelty apps that were lightweight demonstrations of cool new technology.

We now believe the market is entering “Act 2”—which will be from the customer-back. Act 2 will solve human problems end-to-end. These applications are different in nature than the first apps out of the gate. They tend to use foundation models as a piece of a more comprehensive solution rather than the entire solution. They introduce new editing interfaces, making the workflows stickier and the outputs better. They are often multi-modal.

https://www.sequoiacap.com/article/generative-ai-act-two/

2023-09-22 21:34:00

Nice project, a kind of semantic grep for code :)

No any 3rd party APIs or remote APIs, just local vector embeddings using ChromaDB (as I understand that really means Sentence Transformers embeddings, namely the all-MiniLM-L6-v2 model).

https://github.com/kantord/SeaGOAT

2023-09-21 20:06:42

Скандалы, интриги, расследования!

""ChatGPT could not have generated the results described above if OpenAI's LLMs had not ingested and been 'trained' on the Martin infringed works," the complaint alleges."

https://www.cbsnews.com/news/openai-lawsuit-george-rr-martin-john-grisham-copyright-infringement/

2023-09-20 17:50:21

Алилуйя!

https://openai.com/dall-e-3

2023-09-19 22:33:35

Textbooks Are All You Need II: phi-1.5 technical report
Yuanzhi Li, Sébastien Bubeck, Ronen Eldan, Allie Del Giorno, Suriya Gunasekar, Yin Tat Lee
Статья: https://arxiv.org/abs/2309.05463
Модель: https://huggingface.co/microsoft/phi-1_5

Продолжение работы “Textbooks Are All You Need” (https://arxiv.org/abs/2306.11644) про маленькую да удаленькую модель phi-1, которая при размере в 1.3B параметров и при обучении в течение всего 4 дней на 8 A100 (что чуть больше $3k по ценам Амазона, и наверное даже дешевле в случае H100), демонстрирует весьма достойные результаты в генерации кода на Питоне.

До этого ещё была аналогичная работа TinyStories (https://arxiv.org/abs/2305.07759) не про код, а про английский язык и SLM (small language models) размеров типа 10M (не B!) параметров.

В этих работах вкладывались в качественные датасеты, включая части сгенерированные GPT-шками.

В текущей работе продолжают линию phi-1, фокусируясь на common sense reasoning и обучают новую 1.3B модель phi-1.5 с весьма достойным перформансом, превосходящим в разы более тяжёлые модели типа Llama 2-7B или Vicuna-13B. Эту обучали на 32 A100 8 дней.

Архитектура phi-1 и phi-1.5 идентична, трансформер с 24 слоями, 32 головами каждая размерности 64. Используются rotary embedding, длина контекста 2048. При обучении использовался Flash attention.

В обучающем датасете 7B токенов из датасета для phi-1, и примерно 20B новых синтетических “textbook-like” data для обучения модели common sense reasoning. Для создания датасета тщательно отобраны 20К тем для генерации, в промптах для генерации использовались для разнообразия сэмплы из веба. Не-синтетическая часть датасета -- это всего 6B токенов отфильтрованного кода из датасета для phi-1.

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

Во время обучения используется 150B токенов, 80% из нового синтетического датасета, а 20% из датасета от phi-1.

Также обучили ещё две модели phi-1.5-web-only и phi-1.5-web. Для них используется 95B токенов фильтрованных данных из веба, 88B из датасета от Falcon, и 7B из The Stack и StackOverflow. Модель phi-1.5-web-only обучается только на датасете веба (80%) + код (20%), без всякой синтетики, а phi-1.5-web на миксе из всего: 40% веб, 20% код, 40% новая синтетика.

Никакого instruction finetuning или RLHF не применяется (желающие могут дообучить сами). Основной режим использования модели это direct completion, но некоторый ограниченный instruction following модель может делать.

Результаты очень неплохи.

На WinoGrande, ARC-Challenge, SIQA бьёт разные опенсорсные модели вплоть до Vicuna-13B, Llama2-7B, Falcon-7B. На BoolQ и ARC-Easy недотягивает до викуны или второй ламы, но всё равно весьма достойно.

При этом phi-1.5-web-only бьёт все модели сопоставимого размера, даже когда обучается на сильно меньших датасетах (например, на всего 15% от размера Falcon-1.3B). Добавление синтетики (и получение модели phi-1.5-web) даёт очень большой буст, а модель без веба, phi-1.5 не сильно от неё отстаёт.

На Hellaswag заметное отставание от больших моделей, на MMLU от некоторых больших. На PIQA, OpenbookQA, SQUAD (EM) прям хорошо.

При валидации reasoning abilities на математике и коде очень крутые цифры для такого размера модели. Иногда бьёт Llama-65B. Добавление данных веба местами неплохо помогает.

Интересно, что способность к кодингу у phi-1.5 почти как у phi-1, которая была обучена чисто для кода. Авторы считают, что в этом преимущество качественных данных -- при обучении на миксе задач модель не теряет в качестве.

По токсичности не идеал, но лучше Llama2-7B и Falcon-7B.

2023-09-19 22:33:35

Хорошее направление развития. Интересно, через какое время мы добьёмся качества GPT-4 при скромном размере, и во сколько раз этот размер будет меньше. Как пишут авторы в завершение, “Perhaps achieving ChatGPT’s level of capability at the one billion parameters scale is actually achievable?”

Конечно, уже есть файнтюны модели. Например, Puffin-Phi V2 (https://huggingface.co/teknium/Phi-Hermes-1.3B) с в том числе instruction following на датасете OpenHermes (https://huggingface.co/datasets/teknium/openhermes), или ассистент Samantha (https://huggingface.co/ehartford/samantha-phi) со специализацией на “philosophy, psychology, and personal relationships”.

2023-09-18 10:21:48

Авторы предлагают mesa-layer, как вариант self-attention, который полностью решает оптимизационную задачу слоя (в смысле явно минимизирует L2 между предсказанием и таргетом, с регуляризацией) вместо лишь выполнения одного градиентного шага. В реализации этого варианта внимания есть дополнительная матрица R, которую если убрать, то получится стандартный линейный SA. Меза-слой вычислительно более тяжёлый, но главная проблема, что он не параллелится как и классические RNN.

Возвращаясь к экспериментам, берут линейную динамическую систему с шумом вида:
s_{t+1} = W∗ s_t + ϵ_t, где W* -- случайная ортогональная матрица. Для генерации каждой последовательности берут новую матрицу. Трансформер обучают на минимизацию авторегрессионного лосса и реверс-инжинирят.

Исследуют per-timestep loss L_t(s_{1:t}, θ) и его эволюцию в зависимости от длины контекста, то есть как улучшается качество предсказания при увеличении контекста. Это соответствует операционному определению in-context learning из классической статьи про скейлинг (https://arxiv.org/abs/2001.08361).

Гипотеза в том, что базовая оптимизация (собственно обучение трансформера) ведёт к появлению меза-оптимизации, и будущие значения последовательности предсказываются внутри forward pass. Процедура выглядит так:
1) линейная модель представляется меза-параметрами W
2) конструируется mesa-objective с использованием данных внутри контекста
3) W находится через минимизацию mesa-objective
4) полученная W используется для предсказания.

Репрезентация токена сделана хитрой трёхканальной, первый канал используется для предсказания будущего входа, а другие два содержат текущий и предыдущий входные элементы. Это ведёт к очень разреженным матрицам весов, которые легко реверсить.

Начинают с однослойного линейного трансформера и идентифицируют алгоритм, используемый для предсказания. Проверяют, что слой реализует шаг меза-градиентного спуска, 1) сравнивая с линейной авторегрессионной моделью, обученной одним шагом градиентного спуска, 2) изучая интерполированную модель, полученную усреднением выученных и сконструированных весов. Всё очень хорошо совпадает.

А если вместо линейного SA вставить mesa-layer, то качество на порядок лучше. То есть inductive bias для меза-оптимизации очень помогает.

Затем берут многослойный трансформер, линейный и с софтмаксом, но без FFN. Там тоже реверсят алгоритм, он описывается 16 параметрами (вместо 3200) на голову внимания. Но интерпретировать это как алгоритм меза-оптимизации сложно и авторы делают linear regression probing analysis. Например, ищут stacked multi-layer gradient descent construction, в ней выходы промежуточных слоёв должны постепенно приближаться к цели. Также ищут следы iterative preconditioning algorithm. Пробинг подтверждает гипотезы.

В конце обучают уже полноценные трансформеры без архитектурных упрощений, с позиционными энкодингами и без хитрых многоканальных представлений токена. Здесь гипотеза, что сначала модель в первом слое восстанавливает специальное представление токена, удобное для меза-обучения, а последующие слои его реализуют. Действительно, после первого слоя токен в основном зависит только от себя и предыдущего. Эту процедуру авторы назвали “creating a mesa-dataset". Дальше поведение очень похоже на наличие двухступенчатой процедуры с precondition + optimization.

Далее проверяют few-shot learning. Здесь трансформер обучают на ту же задачу авторегрессионного предсказания, что и раньше, но теперь после обучения модель просят через few-shot learning решить другую задачу -- регрессию. Выученный трансформером алгоритм меза-оптимизации справляется. Промпт-тюнинг и файнтюнинг одного EOS токена ещё всё улучшают. Есть ещё прикольный эксперимент с двумя задачами в промпте, когда через какое-то время новая задача сменяет текущую. Трансформер справляется с тем, чтобы по мере инференса переписать старую задачу и выучить новую.

Получается, трансформеры, обученные на задачу предсказания следующего элемента, можно перепрофилировать на новую задачу через in-context learning, поскольку алгоритм внутри forward pass остаётся похожим.

2023-09-18 10:21:48

И наконец берут классическую LLM c обучением на the Pile. Первый слой всегда softmax SA, потому что на этом слое создаётся mesa-objective. Последующие слои либо softmax, либо линейные, либо mesa. Чистый softmax трансформер здесь вне конкуренции, а вот mesa бьёт линейный и иногда догоняет softmax. Про наличие меза-оптимизации в этом месте непонятно:

“Strictly speaking, these results are not sufficient to make claims on whether mesaoptimization is occurring within standard Transformers. However, the high performance achieved by the hybrid-mesa models, which operate on mesa-optimization principles by design, suggests that mesa-optimization might be happening within conventional Transformers. More reverse-engineering work is needed to add weight to this conjecture.”

Вообще движуха любопытная. Интересно в этом свете было бы посмотреть на universal transformer (https://arxiv.org/abs/1807.03819) с adaptive computation time, который в цикле может гонять слой, пока не посчитает, что пора остановиться.

2023-09-18 10:21:47

Uncovering mesa-optimization algorithms in Transformers
Johannes von Oswald, Eyvind Niklasson, Maximilian Schlegel, Seijin Kobayashi, Nicolas Zucchet, Nino Scherrer, Nolan Miller, Mark Sandler, Blaise Agüera y Arcas, Max Vladymyrov, Razvan Pascanu, João Sacramento
Статья: https://arxiv.org/abs/2309.05858
Тред от соавтора: https://twitter.com/oswaldjoh/status/1701873029100241241

Интересная свежая работа с попыткой разобраться, почему трансформеры хорошо работают в режиме in-context learning.

На данный момент уже есть пул работ, показывающих, что при in-context learning (то есть при forward pass, без всякого бэкпропа) внутри трансформера реализуется что-то типа градиентного спуска. Например, относительно недавно это было показано в работе “Transformers learn in-context by gradient descent” (https://arxiv.org/abs/2212.07677). Там показали, что один слой линейного self-attention’а (SA) может имплементировать один шаг градиентного спуска.

Это в чём-то похоже на meta-learning, но в отличие от традиционного мета-обучения, которое находится на уровень выше базового оптимизатора, этот вариант обучения находится на уровень ниже, здесь в сети при работе внешнего, базового, оптимизатора выучивается другой внутренний оптимизатор.

Благодаря уже классической работе “Risks from Learned Optimization in Advanced Machine Learning Systems“ (https://arxiv.org/abs/1906.01820), для этого есть термин mesa-optimization, буду по-русски называть его меза-обучением. У Роберта Майлса есть популярный рассказ про меза-оптимизацию и проблемы выравнивания (https://www.youtube.com/watch?v=bJLcIBixGj8). А если кто любит популярно текстом, то есть это https://www.lesswrong.com/posts/fLAvmWHmpJEiw8KEp/mesa-optimization-explain-it-like-i-m-10-edition. Что забавно, идея про название с меза- пришла из статьи Joe Cheal “What is the opposite of meta?” (https://anlp.org/knowledge-base/acuity-volume-2), которая из журнала про NLP, но не того NLP, про которое вы скорее всего подумали :)

Текущая работа развивает работу про обнаружение градиентного спуска и исследует авторегрессионные трансформеры с causally-masked attention (то есть causalLM, а не prefixLM), обученные на последовательностях. Показывают, что минимизация общего авторегрессионного лосса ведёт к появлению алгоритма градиентной оптимизации в forward pass трансформера. Ну что, уже начинаете бояться LLMок?

Подробнее про то, как оно всё устроено внутре.

Цель авторегрессионного трансформера при обучении минимизировать лосс предсказания текущего элемента последовательности по предыдущим. Здесь это просто сумма L2 лоссов по последовательности.

Слоёв теперь много, соответственно потенциально можно делать много шагов градиентной оптимизации. При этом всё хитрее, чем “K слоёв могут делать K шагов” -- получается т.н. unconventional online gradient-based optimizer, который работает хуже ванильного градиентного спуска. А с учётом другой свежей работы “CausalLM is not optimal for in-context learning” (https://arxiv.org/abs/2308.06912) про то, что causalLM стабильно недоперформит по сравнению с prefixLM, явно есть место для более эффективных меза-оптимизаторов (видимо, это будет темой отдельных статей).

Рассматриваемый меза-оптимизатор работает в два этапа.

1). Первый этап состоит из 1+ слоёв SA, где алгоритм реализует итеративную preconditioning procedure. Результатом является регуляризованная mesa-objective с лучшим числом обусловленности по сравнению с авторегрессионным лоссом.

2) На втором этапе последний SA слой делает единственный градиентный шаг относительно полученной mesa-objective.

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

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

2023-09-17 22:57:33

Неужели проблема парсинга PDF будет наконец в 21 веке решена?!

https://github.com/facebookresearch/nougat

2023-09-14 14:48:45

Вдруг вам почитать нечего.

NASA's UFO study team released its long-awaited first report today, and while its experts found no signs of extraterrestrial origins of sightings, the space agency is launching a new chief to study the phenomenon.

https://www.space.com/nasa-ufo-uap-study-team-first-results-revealed

The report:
https://science.nasa.gov/science-pink/s3fs-public/atoms/files/UAP%20Independent%20Study%20Team%20-%20Final%20Report_0.pdf

2023-09-13 18:03:34

Another library for fast inference of llama models.

ExLlamaV2 supports the same 4-bit GPTQ models as V1, but also a new "EXL2" format. EXL2 is based on the same optimization method as GPTQ and supports 2, 3, 4, 5, 6 and 8-bit quantization. The format allows for mixing quantization levels within a model to achieve any average bitrate between 2 and 8 bits per weight.

Moreover, it's possible to apply multiple quantization levels to each linear layer, producing something akin to sparse quantization wherein more important weights (columns) are quantized with more bits. The same remapping trick that lets ExLlama work efficiently with act-order models allows this mixing of formats to happen with little to no impact on performance.

Parameter selection is done automatically by quantizing each matrix multiple times, measuring the quantization error (with respect to the chosen calibration data) for each of a number of possible settings, per layer. Finally, a combination is chosen that minimizes the maximum quantization error over the entire model while meeting a target average bitrate.

https://github.com/turboderp/exllamav2

2023-09-12 09:51:53

Ставки растут. Теперь уже не Ивахненко, теперь нейронки изобрели в 18 веке (лин.регрессия, ага).