$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Большие языковые модели (LLM), такие как ChatGPT от OpenAI или Llama от Meta AI, быстро стали популярным ресурсом для создания текста, релевантного пользовательскому запросу. Первоначально функционируя для прогнозирования следующих лексических единиц в последовательности, эти модели эволюционировали, чтобы понимать контекст, кодировать клиническую информацию и демонстрировать высокую производительность при выполнении различных задач 1,2,3,4. Несмотря нато, что языковые модели предшествуют таким возможностям и их нынешнему уровню популярности на несколько десятилетий5, последние достижения в области глубокого обучения и вычислительных возможностей сделали предварительно обученные, высококачественные коммерческие LLM широко доступными для пользователей через веб-технологии и интерфейсы прикладных программ (API)6. Тем не менее, существует несколько заметных ограничений для потребления LLM в этом формате.
Задача 1: Статический учебный корпус
LLM обучаются на огромном (например, два триллиона токенов в случае Llama 27), но статичном массиве текстовых данных. Это создает проблему для получения точных ответов, относящихся к областям, которые быстро развиваются или изменяются в литературе. При таком статическом подходе LLM потребовали бы частого переобучения, чтобы идти в ногу с новейшими данными, что непрактично и немасштабируемо. Более того, подсказки, требующие ответов на основе информации, отсутствующей в обучающих данных, могут помешать созданию полезного текста или привести к галлюцинациям. Случаи галлюцинаций или фабрикации фактов вызывают серьезные опасения по поводу надежности LLM, особенно в условиях, где точностьинформации имеет решающее значение.
Проблема 2: Недостаточная специфичность предметной области
Предварительно обученные модели часто создаются для общего использования, в то время как пользователям может потребоваться модель, специально оптимизированная для производительности в определенной области. Кроме того, вычислительные ресурсы и данные, необходимые для обучения модели de novo или выполнения значительной тонкой настройки, непомерно велики для многих пользователей.
Проблема 3: Отсутствие конфиденциальности
Пользователи, использующие приложения, связанные с конфиденциальными данными или служебной информацией, могут не захотеть или не иметь возможности использовать определенные услуги LLM, поскольку у них нет информации о том, как данные могут храниться или использоваться.
Проблема 4: Отсутствие гарантированной стабильности
Услуги с проприетарными LLM могут в любое время изменить доступные модели или поведение, что делает стабильность проблемой для реализации приложений, основанных на этих услугах.
Retrieval-augmented generation (RAG) — это метод, разработанный для повышения производительности LLM, особенно в запросах, связанных с информацией, находящейся за пределами обучающего корпуса модели10,11. Эти системы дополняют LLM, включая контекстную информацию, которую следует учитывать при формировании ответа на запрос пользователя. В различных недавних работах описываются области применения систем RAG и их потенциальные преимущества 12,13,14.
Цель метода, описанного в данной работе, состоит в том, чтобы продемонстрировать построение такой системы и предоставить исследователям основу для быстрого экспериментирования на предметно-специфичных дополненных LLM. Этот метод применим для пользователей, которые хотят дополнить LLM внешним текстовым источником данных. В частности, всеобъемлющей целью этого протокола является предоставление пошагового кода, который может быть расширен для различных практических экспериментов LLM и RAG без необходимости значительных технических знаний в области моделирования языка, хотя для применения этого подхода без модификаций требуется практическое знание Python. Для максимального контроля со стороны пользователей, прозрачности, переносимости и доступности решений используются общедоступные инструменты с открытым исходным кодом. Предлагаемая система решает ранее указанные проблемы следующим образом:
Решения 1 и 2: Статический обучающий корпус и недостаточная специфичность предметной области
Представленная методология использует подход RAG с использованием встраиваний для предоставления информации, специфичной для предметной области, не включенной в исходные обучающие данные. На высоком уровне модели встраивания преобразуют текст или другие данные в представление в виде векторного или одномерного массива чисел. Этот метод полезен, поскольку он преобразует семантическую информацию, содержащуюся в тексте, в плотную числовую форму. Проецируя пользовательский запрос в одно и то же пространство встраивания, можно использовать различные алгоритмы для вычисления расстояния15, а следовательно, и приблизительного семантического сходства, между пользовательским запросом и разделами текстовых документов. Таким образом, создание базы данных таких векторов из документов, разбитых на дискретные разделы, может облегчить поиск среди значительного числа документов текста, наиболее релевантного запросу пользователя (рис. 1). Этот подход может быть расширен на любой текстовый документ. В то время как другие подходы, такие как возможности онлайн-поиска, начинают внедряться для дополнения LLM, этот подход позволяет пользователям выбирать источники, которые считаются достаточно качественными для их сценария использования.
Решение 2: Отсутствие конфиденциальности
В этой реализации для хостинга использовалась безопасная облачная среда, в которой не было никаких пользовательских подсказок, сгенерированных ответов или других данных, покидающих эту экосистему. Однако весь код написан в не зависящей от платформы манере, чтобы гарантировать возможность замены другого поставщика облачных услуг или локального оборудования.
Решение 3: Отсутствие гарантированной стабильности
Этот подход использует библиотеки с открытым исходным кодом и фокусируется на дополнении LLM общедоступными весами, что обеспечивает более высокую степень прозрачности, стабильности и версионности, если это необходимо.
Полная схема предлагаемой нами системы показана на рисунке 2, а подробные инструкции по тиражированию этой или аналогичной системы изложены в разделе протокола. Дополнительным фактором при изменении поведения модели с помощью тонкой настройки или дополнения является оценка производительности. В моделях, генерирующих языки, это представляет собой уникальную проблему, поскольку многие традиционные метрики машинного обучения неприменимы. Несмотря на то, что существует множествометодов16, в этом исследовании для оценки точности и сравнения производительности до и после аугментации, а также с популярными альтернативными методами LLM использовались написанные экспертами вопросы с несколькими вариантами ответов (MCQ).