#instruction_following
April 9, 2025

Few-shot Subgoal Planning with Language Models

Это обзор на статью: Logeswaran L. et al. Few-shot subgoal planning with language models //arXiv preprint arXiv:2205.14288. – 2022.

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

Ключевые компоненты:

1) Улучшение ранжирования модели за счет скоринга на основе взаимной информации.

Языковая модель (GPT-2/GPT-J) предсказывает топ-k возможных планов, но часто даёт популярные, но неподходящие предсказания.

Пример проблемы:

* Запрос: "Как добраться в Лувр?"

* Предсказание 1: "Садись в метро, езжай на станцию Palais Royal – Musée du Louvre."

* Предсказание 2: "Лети в Париж, выйди в аэропорту Шарль-де-Голль, возьми такси."

Второе предсказание логично, но не соответствует уровню детализации запроса.

Решение:

Добавляем взвешенную взаимную информацию (Mutual Information, MI):

Score(h) = (1 - λ) log p(h | τ) + λ log p(τ | h)

- Исключает смещения, когда модель копирует популярные ответы.

- Оставляет только логически согласованные планы.

После этого отбираем топ-N лучших гипотез и передаём их на следующий уровень.

2) Модель ранжирования f(g, τ, s) и функция потерь

На втором этапе проверяем, выполним ли план в текущей среде. Если стола нет, а модель предлагает "положить яблоко на стол", это невозможно.

Формула ранжирования:

f(g, τ, s) = θᵀ concat(fₛₜₐₜₑ(s), fₜₑₓₜ(τ, g))

Где:

- fₛₜₐₜₑ(s) — информация о среде (объекты, их расположение, выполненные подзадачи).

- fₜₑₓₜ(τ, g) — BERT-эмбеддинг инструкции и плана.

- f(g, τ, s) — оценка плана с учётом среды.

Функция потерь:

L = - ∑_(g, τ, s, R) ∈ D R log (exp f(g, τ, s) / ∑_{i=1}^{k} exp f(gᵢ, τ, s))

Где R— бинарный успех или неудача плана. Успешные планы получают больший вес, неудачные — штрафуются.

3) Двухэтажное ранжирование: сначала отбираются адекватные планы(п.1) затем они оцениваются моделью ранжирования (п2) и отбираются наиболее выполнимые

Пример (задача: "Положить яблоко на стол")

1) Языковая модель даёт топ-5 вариантов:

- ✅ "Взять яблоко, положить на стол"

- ❌ "Положить яблоко в раковину"

- ❌ "Поставить яблоко в холодильник"

2) Первый уровень (MI):

- ❌ Убираем планы, не соответствующие инструкции.

- Остаётся: "Взять яблоко, положить на стол", "Поставить яблоко в холодильник".

3) Второй уровень (модель ранжирования):

- Проверяем состояние среды: стола нет, холодильник есть.

- ❌ "Взять яблоко, положить на стол" невозможно.

- ✅ "Поставить яблоко в холодильник" выбирается как лучший.

Агент выполняет только выполнимый план