AI, life and balance
114 subscribers
136 photos
3 videos
11 files
204 links
Download Telegram
Когда ИИ превзойдёт человека и превзойдёт ли, никто не знает. Кто говорит к 2040 году, кто говорит, что вот прям щас, в следующем году. А кто считает, что никакого превосходства ИИ не будет ни в каком обозримом будущем. Мы с вами совсем недавно вот обсуждали статью про то, что у современных языковых моделей есть непреодолимые ограничения, которые не позволят с ними достичь искусственноинтеллектуального превосходства.

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

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

Естественно, в области этики тоже нет никакого консенсуса. Но мы порассуждаем. Позадаём вопросы.

Очень удачно я вписалась на эти выходные в хакатон технико-юридической направленности. Мы там будем обсуждать такие вопросы как «Кто несёт ответственность за ошибки ИИ?», «Как судиться с большими компаниями, которые прикрывают свои ошибки дисклеймерами в стиле “Наш ИИ может ошибаться, мы вас предупредили”?» и «Как быть, если модель сделала что-то вредное, но это сложно доказать, потому что результат плохо воспроизводится?». В некотором роде вот готовлюсь.
После этого хакатона у меня будут ещё мысли. Как только они настоятся положенное время и кристаллизуются в связный текст, я поделюсь ими в формате #эссе
🤝2
Я тут расписала себе план постов аж по начало февраля, и ещё куча тем осталась в загашниках. Много нас ждёт, скажу я вам: и мозг, и погружение во внутренности генеративных нейросетей, и философские рассуждения — мне не терпится поделиться с вами всем тем, что у меня напланировано.

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

Мы ранее обсуждали ансамблевые алгоритмы[1] в целом и архитектуру «ансамбль экспертов»[2]. Если коротко, ансамбль – это такая конфигурация, в которой все компоненты (например, языковые модели) работают независимо, а потом результаты их работы как-то комбинируются (например, усредняются), чтобы получился конечный результат.
Ну и очень логично попробовать применить этот подход к ИИ-агентам, не правда ли? Так поступили авторы статьи «Mixture-of-Agents Enhances Large Language Model Capabilities»[3], которую мы сегодня разберём

[1] Пост про ансамблевые алгоритмы
[2] Пост про ансамбль экспертов
[3] Ссылка на сегодняшнюю статью
Раз уж мы коснулись механизмов внимания в трансформерах, давайте теперь поговорим о механизмах внимания у нас с вами, как раз интересную статью нашла, даже две
Как-то обсуждали мы тут, что математика – сложная штука. Для языковых моделей. Даже простая совсем арифметика простая для нас, а для них – вовсе нет. Но мы не говорили, как языковые модели можно всё-таки математике обучить.

Можно, например, научить их использовать инструменты, и они будут вызывать калькулятор каждый раз, когда нужно будет что-то посчитать. А можно провести специальный раунд обучения, и как раз этот вариант нам сегодня предстоит разобрать применительно к маленьким трансформерам. Маленькими конкретно сегодня будем считать модели от 10.6 до 124 млн. параметров. Для сравнения, у больших трансформеров может быть от 1 трлн. параметров.

Статья называется «Teaching Arithmetic to Small Transformers». Она весьма объёмная, и здесь я изложу только то, что мне самой покажется интересным. За подробностями ныряйте в первоисточник.
Авторы не используют никаких дополнительных инструментов, только текст, только хардкор. Для обучения используется четыре формата (примеры на скриншоте):

• Простой формат (plain): A1A2A3 + B1B2B3 = C1C2C3;
• Обратный порядок (reverse): ответ написан задом наперёд, в начале и в конце добавлены дополнительные символы, которые говорят: «Вот это – арифметическая операция». Да, ответ неверный, но здесь смысл в том, чтобы считать в правильном порядке – с единиц;
• С дополнительной информацией в простом варианте (simplified scratchpad): есть слагаемые и ответ плюс кратко описанный процесс вычислений. Начинается вычисление с последней цифры, C на скриншоте – это число следующего порядка. То есть, строка «A -> 5, C-> 1» означает «сложили 8 и 7, пишем 5, 1 в уме». Как при сложении столбиком;
• С дополнительной информацией в расширенном варианте (detailed scratchpad): весь тот же процесс расписан максимально подробно.

Мне понравилось, что авторы пишут в разделе 4 (стр.7): «Как мы вскоре выясним, обучение сложению может быть не таким уж простым процессом, как можно было бы подумать».
Сложно поспорить: обучить модель считать, не представляя ей цифр – задача со звёздочкой. А здесь мы не представляем цифр, все входы-выходы – текст. Это как мысленный эксперимент «Китайская комната». Мы его обсуждали в посте про определение «сильного ИИ»: вы не знаете китайского, вам дают набор иероглифов и инструкции к ним (что с чем складывать). Потом вам пишут на китайском вопросы, а вы составляете ответы, опираясь на инструкции, которые не дают вам никакого представления о смысле иероглифов и не переводят их.
Этот эксперимент никому не понравился.
Простой формат ожидаемо не сработал. Обратный порядок неожиданно сработал, когда модели дали очень большое число таких примеров. Помните статью Anthropic про биологию больших языковых моделей? Там описано, что языковые модели считают через матрицы приближенных значений так, как человеку не пришло бы в голову вообще. Авторы той статьи и нашей сегодняшней смотрят на процесс с разных точек зрения и в разных разрезах. Однако и те, и другие говорят, что модели запоминают результаты сложения цифр и дальше просто подставляют нужные значения. Так что, теоретически, примеры в обратном порядке как раз полезны, потому что показывают, начиная с какой позиции подставлять.
Пояснения помогают моделям учиться лучше: чем больше информации, тем меньше нужно примеров для достижения стопроцентной точности. Очень полезно давать детальное описание процесса.
Если обучить модель сначала складывать двузначные числа, а потом трёхзначные, она с высокой вероятностью разучится работать с первыми. Это тоже лечится добавлением подробных инструкций.
Сложение, вычитание и умножение можно удобно представить в формате пошаговых инструкций, а вот с такими функциями, как извлечение квадратного корня будут сложности; авторы статьи попытались.

В общем, эта работа интересна с точки зрения того, чтобы на простых для человека примерах посмотреть, как происходит обучение, и лучше понять встроенные ограничения языковых моделей. Но для реальной жизни лучше просто научить модели пользоваться калькулятором: это и надёжнее, и дешевле
Если одна модель плохо решает вашу задачу, вам просто нужно больше моделей.
Так, во всяком случае, решили авторы статьи «More Agents Is All You Need». Давайте посмотрим, какие у них аргументы.
Подход классический для ансамблевых алгоритмов: есть много моделей, каждая из которых на одни и те же входные данные генерирует свой результат. Затем выбирается тот из них, который был предложен наибольшим числом моделей.

На скриншоте схема из статьи, перевод мой.
Авторы ссылаются на более ранние работы, которые предлагают более сложные подходы к повышению качества работы языковых моделей. Они утверждают, что сравнимого качества можно достичь проще – увеличивая число моделей, – а потом доработать за счёт более сложных подходов вроде дробления большой задачи на более мелкие и рассуждений шаг за шагом.
В качестве аргументов авторы далее приводят серию экспериментов на разных наборах данных, где их ансамблевый подход улучшает качество ответов. К их чести, они приводят как значимые результаты, так и совсем небольшие. И приводят пределы, по достижении которых их подход перестаёт работать: по мере повышения сложности задач моделям нужно всё больше рассуждений, чтобы получить ответ, и всё доступное контекстное окно (то есть, максимум текста, который они могут выдать) заполняется, не доходя до ответа.
В целом, ансамблевый подход правда не лишён смысла и много где показал свою эффективность: мы обсуждали и «традиционные» алгоритмы, такие как случайный лес, и ансамбли экспертов, и другие, более сложно устроенные ансамбли языковых моделей. Так что идея годная.
Но я бы не сказала, что «больше агентов – всё, что вам нужно». Во-первых, это дорого. Во-вторых, как авторы сами и показали, у такого масштабирования есть пределы.
На мой взгляд, увеличивать число моделей полезно до тех пор, пока каждая выполняет конкретную задачу, у которой есть результат. А дальше – усложнять архитектуру, добавлять дополнительные проверки и прочие вещи.
Особенно этот вопрос актуален при работе с небольшими трансформерами до 20–30 млрд параметров. Они существенно дешевле за счёт того, что их можно запускать локально на компьютере и не платить за использование арендованного сервера. Но они существенно хуже справляются со сложными задачами, чем трансформеры большего размера.
Я тут как раз работаю над сложной задачей, и разрыв в качестве между «большими» (условная GPT-5) и «маленькими» (gpt-oss:20b) меня глубоко печалит. Так что ищу способы прокачивать эффективность маленьких трансформеров. Ансамбли – один из вариантов. Он увеличивает мои счета за электроэнергию, но в итоге выходит всё равно дешевле, чем платить за большие модели.
Тут у меня несколько неструктурированное рассуждение получается, потому что я сама пока в раздумьях и экспериментах. Но, глядишь, и выйдет что из этой всей истории.

Свой код авторы выложили в открытый доступ, но он выглядит заброшенным: там с прошлого года нет никаких обновлений