Так, в статье "Analyzing the Generalization and Reliability of Steering Vectors" (
https://arxiv.org/abs/2407.12404 ) анализируют проблемы с обобщаемостью одного, очень простого метода нахождения таких вот концептуальных векторов (их здесь называют "steering vectors", так как с их помощью можно контролировать модель, как бы рулить ею).
Суть метода такова: модели задают вопрос, связанный с определенным концептом, например, тем же Truthfulness, и перечисляют два варианта ответа: например, под буквой A предлагают наукоботный ответ, а под B - шизовый. В общем, делают обычный Multi-Choice Question Answering. Далее берут представление токена буквы А и представление токена буквы B, отнимают одно от другого. Повторяют то же самое для всех вопросов из целевого датасета, усредняют и получают вектор
шизы Truthfulness.
Авторы статьи показали, что steering vectors, найденные таким методом и хорошо работающие на одном датасете, часто существенно хуже работают на другом. Кроме того, эти steering vectors как бы сплетаются с "шумными", ненужными нам свойствами эмбеддинга. В общем, конкретный steering vector может сильно зависеть от деталей реализации алгоритма, с помощью которого он получен и от данных, на которых он получен.
—
Что же касается второй статьи, "Beyond Single Concept Vector: Modeling Concept Subspace in LLMs with Gaussian Distribution" (
https://arxiv.org/abs/2410.00153 ), тут авторы решили искать вместо одного вектора-концепта целое подпространство-концепт. Для этого они разбивали датасет с примерами на большое количество под-датасетов, и для каждого под-датасета считали steering vector независимо, так что получался не один, а целое множество векторов (метод их нахождения, кстати, отличался от описанного в предыдущей статье). Далее, авторы предположили, что эти вектора являются сэмплами из некоторого d-мерного гауссовского распределения (где d - размерность эмбеддинга) с диагональной ковариационной матрицей, т.е. такого, где каждая координата независима (это допущение, конечно, делалось из соображений экономии вычислений). Ну а потом посчитали параметры распределения и назвали это Gaussian Concept Subspace-ом, для краткости, GCS.
Далее, авторы сэмплировали вектора из этого GCS и показывали, что они действительно отражают смысл концепта (например, смещение по вектору, соответствующему положительному / отрицательному отзыву, действительно делает отзыв таковым - проверялось это с помощью автоматического evaluation).
Добавлю пару комментариев от себя : как мне кажется, методология в этой статье несколько спорная, а практическая польза пока не ясна, т.к. для влияния на выход модели достаточно использовать просто усреднение всех steering vectors вместо сэмплирования из распределения. Однако, направление мысли мне понравилось. Действительно, концепты, подобные тем, что находят в этих статьях, вряд ли на самом деле укладываются в один вектор, и было бы неплохо перейти от steering vectors к steering subspaces или чему-то ещё такому, более обобщенному.
—
Из любопытного напоследок могу отметить, что в каждой из трех перечисленных статей рассматривали разные методы нахождения steering vectors и местами использовали разную терминологию, что говорит о том, что данная область исследований пока только нарождается и, возможно, в будущем принесет ещё больше интересного.
#объяснения_статей