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

В китайской AI-лаборатории разработали такой подход — Persona Hub. Это коллекция из миллиарда разнообразных персонажей, автоматически подобранных из Сети и помещённых в разные контексты, соответствующие реальным. То есть, по сути, это перевзвешивание корпуса LLM в соответствии с предпочтениями разных персонажей.

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

image

Что такое синтетические данные и зачем они нужны?


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

До поры до времени дело развивалось, пока не выяснилось, что в очень скором будущем этой информации перестанет хватать. Common Crawl включает в себя 130 миллиардов токенов, охватывающих всё, что проиндексировано в Сети: диалоги в соцсетях, на форумах, в чатах и на различных платформах — естественный язык в его аутентичном виде. Из этих 130 миллиардов токенов после фильтрации качества остаётся 35, а после дедупликации — всего-то около пяти миллиардов. Да и в них ~ 90 % — SEO-мусор.

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

Один из выходов — это генерация синтетических данных. Под ними в широком смысле слова подразумевается вся информация, созданная любыми искусственными интеллектуальными системами: LLM, симуляторами, музыкальными генеративными нейросетями, программами математического моделирования и т. д.

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

Конечно, на одной синтетике далеко не уедешь. Релевантный результат получается, только когда синтетика и реальные данные замиксованы примерно поровну: 50/50. При таком подходе процент ошибок уменьшается, да и реальные данные используются экономнее.

В настоящее время применяются два основных подхода к созданию синтетических данных с помощью LLM.

На основе примеров (экземпляров)


Метод основан на том, что LLM «усваивает» статистические закономерности исходных данных и использует их для создания правдоподобных синтетических примеров. Модели используют отдельные примеры или случаи из тренировочного набора данных для принятия решений или предсказаний.

Допустим, пользователю нужно написать несколько отзывов на товар в разной тональности, включая негативную, нейтральную и позитивную. Он «скармливает» чат-боту конкретные (свои или чужие) примеры таких отзывов, робот их анализирует и выдаёт уже свои, но основанные на использованных примерах.

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

На основе ключевых точек


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

В этом случае наш пример с отзывами будет выглядеть так. Система анализирует «скормленные» ей образцы отзывов, выделяя в них релевантные каждому эмоциональному настроению паттерны: выразительные слова, устойчивые выражения, характерные знаки препинания (например, восклицательный знак), порядок построения предложений и т. д. И уже пользуясь именно ими, а не самими образцами, чат-бот пишет свои отзывы.

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

Допустим, у нас есть ключевые точки, связанные с темой «Польза физической активности»:
  1. Улучшение физического здоровья.
  2. Повышение настроения.
  3. Укрепление иммунной системы.
  4. Улучшение качества сна.

На основе этих ключевых точек модель генерирует текст:

«Физическая активность играет важную роль в поддержании общего здоровья. Регулярные упражнения способствуют улучшению физического состояния, что помогает избежать многих заболеваний. Кроме того, занятия спортом благоприятно влияют на психоэмоциональное состояние, повышая настроение и снижая уровень стресса. Также физическая активность укрепляет иммунную систему, что делает организм более устойчивым к инфекциям. Наконец, регулярные тренировки способствуют улучшению качества сна, что важно для восстановления и поддержания энергии на протяжении дня».

Ну не Толстой, конечно, но суть и связность присутствуют.

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

У обоих этих подходов есть серьёзные ограничения, влияющие на качество синтеза данных и, соответственно, работы LLM:
  • С одной стороны, их сложно масштабировать. Чтобы генерирование информации было эффективнее, моделям нужно «скармливать» как можно больший объём подходящих входных данных. А это сопряжено с трудностями в сборе самих этих данных и получении ресурсов, необходимых для их обработки.
  • С другой стороны, оба метода загоняют модель в рамки, определённые начальным корпусом информации. Как правило, эти данные ограничены какой-то одной или группой смежных проблематик, поэтому они не будут релевантны при работе LLM с другой тематикой.

Справиться с этими двумя ограничениями в создании синтетических данных и обучении LLM как раз и позволяет новый «персоноориентированный» подход от Tencent AI Lab.

Суть и ключевые стратегии


В основе лежит создание виртуальных персоналий, заменяющих собой обычно обезличенные данные, представленные в виде примеров или ключевых точек. Для этого разработчики взяли датасет RedPajama v2, состоящий из свободных интернет-данных общим объёмом 100 трлн токенов, и превратили его в датасет, насчитывающий 1 млрд описаний «персон», в среднем — по 10 токенов (два-три предложения) на каждого. Это около 13 % от реального населения Земли.

В технологии Persona Hub «персона» — это виртуальный представитель, который может взаимодействовать с пользователями и выполнять определённые задачи или функции. Персона может быть создана для различных целей: это предоставление информации, помощь в обслуживании клиентов, обучение или развлечение. Основные характеристики персоны могут включать в себя индивидуальность (уникальные черты, имя, биографию, стиль общения и предпочтения), контекст и многофункциональность. Персоны могут выполнять различные роли (от помощников в исследованиях до консультантов по продуктам) и направлены на создание более естественного и эффективного взаимодействия между пользователями и технологиями.

Сила данного подхода заключается в следующем:
  • Включение персоны в процесс поможет управлять LLM в генерации релевантных знаний для каждой потребности. Например, нам нужно собрать компьютерный стол. Для получения максимально подробной инструкции можно обратиться к персонажу «профессиональный мастер-мебельщик», который предоставит все необходимые данные.
  • С помощью разных персон можно по-разному рассматривать одну и ту же проблему. Допустим, эволюцию будут по-своему понимать профессиональный биолог, школьный учитель биологии, энтузиаст-натуралист и даже священнослужитель. Выбирая между этими персонами, мы можем рассмотреть эволюционную теорию максимально подробно и широко.
  • Используя одного и того же персонажа, можно сгенерировать различные искусственные данные. Например, с помощью персоны «лингвист, специализирующийся на пересечении языков в социальном взаимодействии» можно создать и математическую задачу на вычисление количества фраз, встречающихся в повседневных разговорах, и геометрическую — на расчёт оптимальной формы и/или размера стола в конференц-зале.

Для создания искусственного персонажа, используемого в машинном обучении, разработчики применяют две ключевые стратегии:
  • Текст-в-персону. Разработчик даёт некоторый «естественный» текст модели и спрашивает её, кому этот контент может понравиться/не понравиться, кто потенциально был бы его автором, критиком и т. д. Благодаря этому с помощью одного и того же текста LLM генерирует сразу несколько персонажей, так или иначе с ним связанных. Причём делать это можно с различным уровнем детализации, настраиваемой с помощью подсказок. Например, можно попросить LLM охарактеризовать гипотетического автора «скормленного» текста просто как «профессионального учёного-биолога» или как «известного исследователя-эволюциониста, популяризатора науки и преподавателя в университете».
  • Персона-в-персону. Разработчик просит LLM проанализировать, с какими другими людьми мог бы тесно взаимодействовать персонаж, созданный самой моделью из естественного текста. Например, у мужчины, работающего преподавателем литературы в университете, это может быть родственник или супруга, его ребёнок, коллега по работе, приятель по литературному клубу, лечащий врач и т. д. Проходя этот цикл раз за разом, модель «замечает» тех персонажей, которые обычно остаются в тени (например, соседа, члена съёмочной группы, обслуживающего персонала, ребёнка и т. д.). Это обогащает стек персонажей представителями самых разных профессий, увлечений, слоёв общества.

Однако генерация большого количества персонажей неизбежно приводит к тому, что некоторые из них будут либо слишком похожи, либо полностью дублировать друг друга. Соответственно, это приведёт к снижению разнообразия искусственных данных, полученных с их помощью. Чтобы этого не произошло, разработчики используют два метода дедупликации:
  • По методу MinHash. Иначе этот метод называется локально чувствительным хешированием с наименьшими независимыми перестановками. Он заключается в быстром попарном сравнении описаний наборов данных (в нашем случае — персонажей). Если различия между ними отсутствуют или минимальны, то они классифицируются как дубликаты и удаляются из стека персонажей.
  • На основе встраивания. Встраивание — это математическое представление семантики текста. Эта стратегия помогает выявлять персонажей со схожими значениями, даже если формулировки их описаний немного различаются. Метод работает, анализируя различные атрибуты и характеристики профилей, чтобы определить, есть ли совпадения или схожести между записями. По расстоянию между векторными встраиваниями (embedding) профилей вычисляется степень их сходства, и дублирующие профили объединяются.

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

Разработчики Persona Hub решили протестировать свою технологию, использовав часть собранных персонажей. Были выложены в свободный доступ 200 000 персонажей из всего стека, с их помощью были получены следующие образцы синтетических данных:
  • 50 000 математических задач.
  • 50 000 задач на логическое рассуждение.
  • 50 000 инструкций.
  • 10 000 информативных текстов.
  • 10 000 игровых персонажей.
  • 5 000 инструментов (функций).

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

image
Модель, настроенная на 1,07 миллиона синтетических математических задач, достигла точности 79,4 % на тестовом наборе из 11 600 экземпляров, превзойдя все протестированные открытые LLM

image
На тесте MATH модель достигла точности 64,9 %, сравнимой с производительностью GPT-4-turbo-preview

Возможности использования технологии


Постановка и решение математических задач. Использование персонажей, «специализирующихся» на математике, позволяет значительно увеличить сложность математических задач и качество их решения при аналогичном и даже меньшем потреблении мощностей. В тесте разработчики использовали сравнительно небольшую LLM Qwen2 от 7B для решения 1,09 миллиона математических задач. При этом точность достигла 64,9 %, что соответствует показателям гораздо более крупных и мощных нейросетей (GPT-4-turbo-preview).

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

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

Генерация информативных текстов. Экспертность — одно из ключевых качеств веб-текстов с точки зрения рядового пользователя. Но привлекать каждый раз для их написания реальных экспертов неудобно (да ещё и дорого). Используя виртуальную персону с «присущими» ей знаниями и опытом, можно добиться если не аналогичного, то близкого качества информативности и объективности текстового контента по различным темам.

Создание игровых персонажей. Спросите любого геймера — впечатления от игры сильно хуже, если в ней тупые как пробка или непроработанные NPC. Зачастую у разработчиков игр все ресурсы и время уходят на создание основных персонажей, в то время как «болванчиков» доделывают по принципу «лишь бы были». Используя персоны, можно с помощью LLM генерировать интересных и правдоподобных NPC, которые делают игровой опыт более интенсивным и глубоким.

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

А минусы есть?


Есть. Вместе с огромными потенциальными возможностями использование Persona Hub несёт и риски.

Дезинформация. Проблема синтетических данных как источников фейков обозначилась уже давно, но особенно остро — в последние годы из-за развития LLM. Модели позволяют создавать контент, похожий на генерируемый самими людьми, и различить их порой бывает сложно. Потенциально Persona Hub усугубляет эту проблему, так как разнообразие персон, обладающих своей «индивидуальностью», ещё больше размывает это различие между синтетическими и естественными данными.

Безопасность конфиденциальных данных. Применение персон к синтезу данных позволяет использовать всю память LLM. Информация, синтезированная с помощью целевой модели, по сути, представляет собой видимые обучающие данные. Зная, как синтезировать инструкции, можно извлечь «интеллект» и возможности целевой LLM, что несёт угрозу конфиденциальности данных и соблюдению авторских прав.

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

Комментарии (0)