Transcription
Бывает такое. Инженеры строят невероятно мощный гоночный болид. Ну, у него там двигатель на 1.000 лошадиных сил, идеальная аэродинамика, но в кабине почему-то забыли установить руль.
>> Да, отличная метафора.
Вот и примерно так сейчас выглядит ситуация с передовым искусственным интеллектом. У нас есть колоссальная вычислительная мощность, огромные языковые модели, но когда дело доходит до точного следования правилам, машина просто едет туда, куда ей вздумается.
>> Это очень точная картина.
Слушай, когда мы смотрим на современные нейросети, поражает контраст. Ну то есть они могут написать Sнеetт в стиле Шекспира за секунду, да?
Угу.
>> Но при этом совершенно не способны неукоснительно выполнить какую-нибудь базовую пошаговую инструкцию из трёх пунктов. Это такая фундаментальная проблема потери контроля над алгоритмом.
>> И это абсолютно сводит с ума. Ну, пишешь длинный, подробный текстовый системный промт, умоляешь нейросеть, соблюдать формат, не выдумывать факты, а в ответ
>> А в ответ она просто делает вид, что ничего не было.
>> Точно. Алгоритм просто игнорирует эти правила и выдаёт чистую галлюцинацию. Наше сегодняшнее глубокое погружение как раз посвящено тому, как исследователи наконец-то нашли способ заставить искусственный интеллект действительно подчиняться.
>> Звучит многообещающе. Что у нас сегодня в материалах?
>> В нашей стопке материалов сегодня свежая научная статья с портала Аркав под названием Harnessing LLM Agents with Skill Programs или сокращённо Ash ASP.
>> Ага, читала такую. Также мы опираемся на видеос YouTube канала Discovery AI и несколько профильных аналитических статей.
>> Наша миссия на сегодня разобраться, как именно разработчики смогли превратить мягкие текстовые пожелания, а, в жёсткий программный код. И самое интригующее здесь то, что для укращения передовых нейросетей, обучаемых на миллиардах параметров, им потребовался мысленный эксперимент из физики XIX века.
Вау! Физика X века и нейросети.
>> Да-да, это просто потрясающее пересечение термодинамики и машинного обучения.
>> Тем, кто каждый день борется с хаосом информационных потоков и пытается заставить цифровые инструменты работать стабильно, этот переход от пассивных советов к непреложным правилам покажет совершенно новый подход к контролю. Итак, давайте разберём это. Прежде чем обсуждать само решение, вот этот самый фреймворк HASP, нужно понять природу ошибки.
Логично.
>> Почему вообще и так легко игнорирует наши текстовые инструкции, даже если они, ну, написаны за главными буквами?
>> Ну, чтобы понять это, нужно заглянуть под капот языковой модели. Нейросеть - это ведь не машина, а работающая по строгой бинарной логике.
>> Так,
>> это вероятностный механизм. Когда мы даём текстовую инструкцию, например, не используя внешние источники, мы не старим бетонную стену в коде. Мы всего лишь слегка меняем математические веса внутри сети,
>> то есть создаём такое очень слабое потенциальное поле. Именно текстовый промпт - это просто ещё один набор токенов среди тысяч других в контексте. Ничего более.
>> То есть когда мы пишем правила текстом, для модели это звучит не как приказ, а как, ну, как вежливая рекомендация.
>> Абсолютно верно. А теперь давай добавим к этому параметр, который называется температурой. Температура в генерации отвечает за креативность и случайность ответов.
>> Ага. Чем выше температура, тем безумнее ответы.
>> Да. И когда задача становится сложной, а контекст запутанным, происходит нечто, что в материалах описывается как квантовое туннелирование.
>> Стоп. Квантовое туннелирование звучит как термин из научной фантастики. Как это вообще работает в контексте нейросетей?
Смотри, можно представить ландшафт принятия решений как сложный рельеф, ну, с холмами и глубокими впадинами.
>> Окей.
>> Впадины - это так называемые зоны ошибок или failure manifolds. Те самые галлюцинации и логические тупики. Наш текстовый промт - это такой невысокий холмик, который должен защитить и от падения во впадину.
А >> агент Ии - это типа частица, которая катится по рельефу.
>> Точно. Из-за высокой температуры эта частица обладает огромной кинетической энергией. И вместо того, чтобы аккуратно обойти холм, она благодаря математической вероятности просто просачивается сквозь этот слабый барьер.
>> Вау.
>> Да, она туннелирует сквозь правила и сваливается прямо в зону ошибок.
>> Получается, текстовые промпты - это такие вежливые таблички по газонам не ходить. Все знают, что их легко проигнорировать, если очень хочется сократить путь.
Очень хорошее сравнение.
>> И вот здесь, чтобы решить эту проблему, в видео эсс появляется совершенно неожиданная концепция из 1867 года. Тот самый демон Максвелла. Как вообще физика газов связана с контролем искусственного интеллекта?
>> Ну, Джеймс Клерк Максвол придумал воображаемого демона, чтобы бросить вызов второму началу термодинамики. Демон сидит у дверцы между двумя камерами с газом.
>> Угу.
>> Он измеряет скорость молекул. Быстрые, горячие молекулы он пропускает в одну сторону, а медленные, холодные блокирует или направляет в другую. Таким образом, он наводит порядок в хаотичной системе.
>> То есть он создаёт порядок из хаоса просто за счёт того, что вовремя открывает и закрывает дверь.
>> Совершенно верно. Физически сортируют элементы. И внешний программный контур в системе Хасп работает абсолютно так же. Он действует, как этот демон.
>> Только вместо молекул газа он сортирует. Что
>> он в реальном времени оценивает траектории рассуждений языковой модели? Правильные шаги он пропускает дальше, а ошибочный перехватывает и физически не даёт модели двигаться по ложному пути.
>> Ничего себе. Если развить мою аналогию с табличками на газоне, то фреймворк HASP - это уже не табличка, это настоящие бортики в боулинге, которые физически не дают шару скатиться в желоб.
>> Или электрический забор,
>> да, или забор под напряжением. Но слушай, как этот электрический забор выстроен на практике? Одно дело придумать красивую концепцию с демоном, а совсем другое- написать код, который не сломает нейросеть окончательно.
>> В анатомии этого контура все довольно элегантно. Разработчики полностью отказались от концепции размытых текстовых навыков и ввели так называемые программные функции Program Functions.
>> И как они устроены?
>> По сути, каждая такая функция состоит всего из двух методов. Первый метод - это should activate, то есть алгоритм, который решает, должна ли функция сейчас вмешаться. А второй метод interwin, то есть самовмешательство в работу агента.
>> И вот тут есть деталь, которая при чтении материалов заставила меня прямо остановиться. Триггер для срабатывания функций абсолютно детерминирован. Там нет никакой нейросети в момент принятия решения об ошибке. Я правильно понял?
>> Ты понял? Абсолютно правильно. Это критически важный нюанс всей системы. Авторы категорически запретили использовать какой-то там умный и для проверки условий активации. Триггер - это сухая алгебра или классический скрипт на языке Python.
>> Подожди, можешь привести пример?
>> Ну, например, скрипт просто считает количество слов. Если длина поискового запроса, который только что сгенерировал и превышает 15 слов, функция мгновенно блокирует этот запрос.
>> Почему именно 15 слов? Зачем так жёстко?
>> Потому что статистика показывает, что языковые модели не способны удерживать фокус при поиске по слишком длинным и сложным запросам. Они начинают путаться в собственных словах.
>> Ага. И поэтому скрипт работает как непреклонный фильтр.
>> Да. Никаких размышлений, просто математическое условие.
>> Звучит действительно как такой строгий учитель с линейкой. А как выглядит второй шаг? Ну, само вмешательство. В источниках упоминаются два основных типа действий, которые может совершить этот контур.
>> Да, первый тип называется модификация действия. Modify action. Представим, что Ии решает: "Я готов выдать финальный ответ пользователю". Но детерминированный скрипт видит, что агент ещё не прочитал ни одного документа из базы данных.
>> Ой, знакомая история.
>> И вот программная функция просто стирает намение ответить и принудительно на уровне кода заставляет агента выполнить действия читать.
>> Жёстко. А второй тип?
>> Второй тип - инъекция контекста или inject context. Система не отменяет действия, но внедряет корректирующую подсказку прямо в следующее наблюдение агента. чтобы направить его мысли в нужное русло.
>> Слушай, чтобы это не звучало слишком абстрактно, давайте рассмотрим пример из исследования. Задача про мужа Хелан Уолтон. Как я понимаю, это такой многоходовый сложный вопрос, на котором языковые модели обычно сильно спотыкаются.
Да, да, это классика.
>> Что происходит, когда эту задачу пытаются решить базовой модель без защиты Хасп?
>> О, базовый агент сразу демонстрирует то самое квантовое туннелирование в зону ошибок. Ему задают вопрос: "Кто муж Хэлен Уолтон?" Вместо того, чтобы составить план поиска, агент начинает лихорадочно искать информацию.
>> И что он делает?
>> Он делает несколько дублирующихся запросов к поисковику, даже не пытается открыть и прочитать найденные документы, окончательно путается в именах собственных и в итоге абсолютно уверенно выдаёт ответ Брюс Волтон.
>> Брюс Волтон. То есть это чистая галлюцинация. Такого человека в этом контексте вообще нет.
>> Вообще нет. Машина поехала без руля и на полной скорости врезалась в стену.
>> Так, а теперь берём того же самого агента, но помещаем его внутрь контура Хасп. Как меняется его поведение?
>> Поведение меняется кардинально, потому что в дело вступают те самые программные функции. На старте и пытается сделать нелепый, огромный поисковый запрос, пытается найти все и сразу.
>> Угу.
>> Программная функция видит это и применяет инъекцию контекста de composition hint. Она буквально внедряет в память агента сообщения. Это сложный вопрос. Разбей его на несколько простых шагов.
>> И агент вынужден подчиниться.
>> Да. Он разбивает вопрос, находит нужную ссылку, но затем снова пытается сжульничать.
>> Классика.
>> Он хочет дать ответ, не читая сам текст статьи. В этот момент срабатывает функция modification. Она бьёт агента по рукам, отменяет генерацию ответа и принудительно активирует команду чтения или рид.
>> Вау. И, наконец, когда агент прочитал текст и пытается выдать какой-то односложный обрывочный ответ, третья функция делает инъекцию Complet Warning, предупреждение о том, что ответ должен быть полным и аргументированным.
>> И каковы ж итог всей этой полосы препятствий?
>> Итог абсолютно правильный ответ. Сэм Волтон. И статистика в материалах просто поражает. На бенчмарке впоиска точность взлетает с базовых 31,2% до 51%.
>> Почти двухкратный рост. Просто за счёт того, что модель удерживали в рамках детерминированными скриптами.
>> Именно.
>> Слушай, подождите, тут я должен признаться в некотором замешательстве. Индустрия тратит миллиарды долларов на обучение этих гигантских нейросетей, чтобы они становились умнее, учились рассуждать и понимать контекст. И какое же решение нам предлагают?
>> Какое
>> запирать этот передовой ИИ в клетку из простых скриптов на Python, написанных по логике девяностых годов? Это выглядит как какой-то колоссальный шаг назад в развитии технологий. Разве модель не должна сама понимать, что нельзя отвечать, не прочитав текст?
Это очень логичное сомнение, я согласна. Но здесь нет шага назад. Дело в том, что мы пытаемся объединить две совершенно разные природы вычислений. Нейросеть обладает невероятной мощью статистической генерации. Она может связывать факты, которые человек никогда бы не связал.
>> Но у неё нет тормозов.
>> Вот у неё нет внутреннего физического ограничителя. Возвращаясь к твоей аналогии с гоночным болидом, мы же не заменяем мощный двигатель на педали от велосипеда. Мы просто добавляем жёсткую рулевую рейку и тормоза из обычной классической стали.
>> А, то есть ASP не заменяет интеллект модели?
>> Нет, он создаёт топологические ограничения. Мы направляем хаотичную вычислительную мощь в нужное русло до того, как галлюцинация успеет сформироваться. И вот здесь начинается самое интересное. Хорошо, с простыми ошибками вроде длины запроса или игнорирования текста это работает отлично. Детерминированные правила справляются. Но что, если ошибка слишком сложная?
>> В смысле?
>> Что если агент свернул не туда, в хитрой математической задаче, где простой скрипт на Python не может просто посчитать слове, чтобы понять масштаб катастрофы?
>> Если мы свяжем это с более широкой картиной, разработчики Хасп предусмотрели и это. Когда логика провала становится слишком сложной для простого детерминированного скрипта, система не опускает руки. В дело вступает так называемая модель учитель или Teacher Oracle. В рамках исследования на эту роль назначили GPT4.
>> То есть, когда скрипт не справляется, мы зовём на помощь старшего, более умного брата. И как именно происходит это взаимодействие?
>> Контур управления буквально замораживает симуляцию в реальном времени. Он берёт текущие координаты состояния агента. э все его предыдущие шаги, ошибки, контекст и отправляет их учителю с запросом, проанализируя семантику, как нам вырулить из этого тупика.
>> И что делает учитель?
>> Учитель рассчитывает точный семантический корректирующий вектор и возвращает его в систему. Агент получает эту инъекцию логики и исправляет ошибку. Одно только это вмешательство поднимает общую точность уже до 56,2%.
Ну, слушай, постоянно дёргать самую мощную модель по каждому сложному поводу - это же безумно дорого и медленно. Мы же не можем опираться на учителя вечно.
>> И мы не будем. Настоящая магия Хасп заключается в том, что происходит дальше. Система берёт все эти спасённые траектории рассуждений, те пути, где вмешательство учителя помогло достичь успеха, и использует их для поставучения базовой модели.
А, то есть базовая модель учится на своих же исправленных ошибках?
>> Да. В исследовании это была сравнительно небольшая модель КВН 2,5 на 7 млрд параметров.
>> Я помню, в материалах упоминается, что эти спасённые траектории перед обучением как-то строго оцениваются. Там используется какая-то четырёхмерная метрика. Зачем так усложнять, если ответ в итоге оказался правильным?
>> О, потому что правильный ответ - это ещё не показатель умного поведения. Учитель оценивает траекторию по четырём строгим критериям. Первое - это тайминг.
>> Тайминг,
>> да. Вмешательство произошло ровно в тот момент, когда нужно, или система ждала до последнего. Второй критерий - модальность. Правильно ли был выбран тип вмешательства? Ну, нужно было принудительно изменить действия или достаточно было дать подсказку?
>> Ага. А третий и четвёртый.
>> Третий - корректность самого исправления. И четвёртый - итоговый результат всей задачи.
>> Стоп. А что будет, если проигнорировать, например, тот же тайминг? Какая разница, когда вмешались?
>> Огромная. Система просто сломается. Если не учитывать тайминг, модель при обучении начнёт усваивать, что можно делать правильные вещи, но в совершенно неподходящие моменты. Она начнёт прерывать сама себя без повода, и общая точность снова рукнет.
>> Логично. Так, я помню, что в материалах авторы сравнивали несколько методов того, как именно скармливать эти выверенные данные базовой модели. Там было контролируемые до обучения, дистилляции на собственных состояниях и выборка с отклонением. Что там произошло с дистилляцией? Судя по цифрам, она сначала показала потрясающий результат.
Да, метод дистилляции, ну или опиды на фиксированной библиотеке навыков бьёт все рекорды. Он выдаёт 62,5% точности в задачах веб-поиска.
>> Ого.
>> Это происходит потому, что базовая модаль учится на тех логических состояниях, которые сама же и генерирует. Просто с поправками от учителя. Ей очень комфортно усваивать этот материал.
>> Но там же была какая-то ловушка, верно? Как только условия немного изменились, этот метод посыпался.
>> Да, ловушка заключается в нестационарности среды. Как только исследователи позволили библиотеке навыков, ну, то есть самим программным функциям регулярно обновляться и эволюционировать, дистилляция потеряла стабильность. Точность упала до 56,7%.
>> То есть модель просто не успевала адаптироваться к постоянно меняющимся правилам игры.
>> Именно так. И поэтому на первый план вышел другой метод rejection sampling или выборка с отклонением. Как я понимаю, именно он стал такой золотой серединой, как он работает.
>> Выборка с отклонением не пытается вслепую копировать каждые действия. Этот метод оценивает успех не отдельного шага, а всей траектории целиком. И самое главное, он физически отфильтровывает так называемый поведенческий грязный шум.
>> Поведенческий грязный шум. А как это выглядит на практике?
>> Ну давай. Представим агента, который в итоге нашёл правильный ответ, но чтобы прийти к нему, он сделал 40 лишних обращений к базе данных, дважды поймал галлюцинацию, был скорректирован скриптом, походил кругами и чудом выдал верный результат.
>> Ответ правильный:
>> Да.
>> А траектория хорошая?
>> Ужасная. Если обучать модель на таких примерах, она научится быть хаотичной. Метод Rejection Sampлин безжалостно отбрасывает такие траектории, оставляя только элегантные, прямые и чистые пути к решению.
>> Круто.
>> За счёт этого достигается стабильная точность, 60,3% на водпоиске и почти 70% в задачах по программированию.
>> Это очень логично. Мы учим систему не просто находить ответ, а работать эффективно и без лишней суеты. И вот тут мы подходим к ещё одному уровню сложности, который ты уже упомянула. Эволюция библиотеки навыков.
>> Да-да.
>> Система умеет сама писать для себя новые правила контроля, но возникает вопрос: как не превратить память агента в гигантскую свалку из сломанных или бесполезных скриптов?
>> Это процесс самосовершенствования. И здесь разработчики внедрили механику, которую можно неформально назвать строгим вышибалой. Это такая трёхуровневая система фильтрации любых новых правил, которые придумывает И
>> как работает этот выше балла, что происходит на первом уровне.
>> Шаг первый - это абсолютно изолированная песочница. Когда студент-модель предлагает новый код для программной функции, система сначала прогоняет его через синтаксические проверки и интерфейсные тесты.
>> Ага.
>> Затем код тестируется на девяти смоделированных сценариях. Если скрипт хоть где-то ломается или выдаёт ошибку выполнения, он немедленно летит в корзину. Никаких поблажек.
>> Допустим, код написан технически грамотно и ничего не ломает. Что дальше?
>> Пятимерной оценкой учитель не просто смотрит на код, он его буквально допрашивает,
>> как на экзамене.
>> Типа того, насколько хороша сама концепция навыка, безопасен ли триггер, не приведёт ли вмешательство к зацикливанию, исполняем ли этот код в реальных условиях. И главное, будет ли он полезен для будущих других задач или он слишком узко специализирован.
>> Звучит как полноценное кодревью в крупной IT-компании.
>> Так и есть. И финальный, третий шаг - это дифференцированные шлюзы допуска. Если И предлагает слегка улучшить уже существующий навык, ему достаточно набрать 0,6 баллов по оценке учителя.
>> А если это что-то совсем новое? Вот если модель придумала абсолютно новое семейство навыков, включается режим максимальной параной. Порог допуска возрастает до 0,75 балла.
>> Как такой сгенерированный навык работает в программировании, задача называлась икволы. На вход подаются три числа, скажем, двойка, двойка и двойка.
>> Угу.
>> И нужно написать код, который разобьёт их на группы с равными суммами. Базовый и бодро пишет код, но упускает очевидные крайние случаи условия. когда все три числа равны. Как реагирует на это система с новыми навыками?
>> То, что происходит дальше, демонстрирует просто триумф этой архитектуры. Сгенерированная программная функция не пытается переписать код вместо Ии.
>> А что она делает?
>> Она проводит статистический анализ только что написанного решения, замечает отсутствие проверки на равенство всех элементов и делает контекстную инъекцию. Она выводит предупреждение, обрати внимание на крайний случай.
>> И модель понимает,
>> да? Модель считывает эту инъекцию, понимает свою слепую зону и сама исправляет собственный код.
>> Это потрясающе. Но у меня возникает резонный вопрос: а что будет, если мы просто отключим этого строгого выше балла? Что, если мы снимем фильтры и позволим модели сохранять в библиотеку все правила, которые она генерирует? Кажется логичным, что чем больше правил знает агент, тем он умнее и предусмотрительней.
>> Человеческая интуиция здесь даёт сбой. Статистика в исследовании показывает шокирующую картину. Если отключить эту строгую фильтрацию, точность системы не просто немного снижается, она катастрофически обрушивается до 36,3%.
>> Чего? То есть система становится глупее, чем была изначально.
Именно замусоривание памяти сотнями конфликтующих узкоспециализированных или технически нестабильных скриптов оказывается намного разрушительнее, чем полное отсутствие новых правил. Возникает аналитический паралич.
>> Аналитический паралич.
>> Да, агент просто тонет в бесконечных проверках и противоречивых инструкциях. Не в силах сделать ни шагу.
>> Поразительно. Ну что, давайте соберём картину воедино. Так что же всё это значит? Главный вывод, который напрашивается из нашего разбора, заключается в том, что эра пассивных текстовых советов для искусственного интеллекта подошла к концу.
>> Однозначно,
>> чтобы по-настоящему управлять современными языковыми моделями, нужны жёсткие исполняемые программы ограничители. Нам нужны детерминированные фильтры, которые могут активно корректировать траекторию мысли, модели в реальном времени, не полагаясь на её собственное понимание.
Совершенно верно. И этот подход, на самом деле, выходит далеко за рамки машинного обучения. Для любого человека, который постоянно работает с огромными массивами данных, учится или анализирует информацию, FrameWork HSP демонстрирует крайне важный принцип.
>> Какой?
>> В условиях жесточайшей информационной перегрузки полагаться только на силу воли или мысленные списки правил бессмысленно. Мы сами склонны к такому же тоннелированию в отвлечения или ложные выводы.
>> Да уж, это точно.
>> Нам нужны собственные системные ограничения, свои программные функции, которые на структурном уровне не дадут нам сбиться с пути.
>> Мы начали обсуждение с того, что ожидали от алгоритмов кристальной точности, а получили хаос галлюцинаций. И оказалось, что исцеление кроется не в бесконечном наращивании объёмов нейросетей, а во внедрении строгих алгоритмических рамок из прошлого.
>> И это поднимает важный вопрос, фундаментальную философскую проблему, я бы сказала,
>> какую. Если даже самые передовые на сегодняшний день нейросети, обучаемые на сотнях миллиардов параметров за колоссальные деньги, вынуждены опираться на жёсткие детерминированные скрипты на Python и концепции физики полуторовековой давности просто для того, чтобы сохранять адекватность.
>> Угу.
>> Не означает ли это, что чисто нейросетевой подход имеет непреодолимые пределы?
>> Интересная мысль. Возможно, архитектура по-настоящему надёжного искусственного интеллекта будущего - это не абсолютный чёрный ящик, а именно симбиоз, хаотичный и творческий генератор вероятностей, надёжно запертой в стальной клетке классической математической логики. Эту мысль определённо стоит обдумать.
>> На этой глубокой ноте мы и завершим наше погружение. До новых встреч. У