Разработка LLM-приложения начинается с предварительной оценки, часто называемой eyeballing. Это означает экспериментирование с различными входными данными и ожидаемыми ответами, настройку модели, тестирование различных компонентов, шаблонов промптов и других элементов. Хотя этот подход позволяет получить proof of concept, он лишь первый шаг в более сложном процессе.
Для полноценной оценки системы LLM необходимо создать
оценочный/эталонный датасет, также называемый
golden dataset или
ground truth, для каждого компонента. Однако этот процесс сопряжен с рядом сложностей, включая высокую стоимость и временные затраты. В зависимости от конкретной системы на базе LLM создание оценочного датасета может оказаться нетривиальной задачей.
На этапе сбора данных необходимо тщательно отбирать разнообразный набор входных данных, охватывающий различные сценарии, темы и уровни сложности. Это обеспечит способность модели к генерализации, то есть корректной обработки широкого спектра входных данных. Параллельно с этим необходимо собирать качественные выходные данные, которые будут использоваться как эталонные для оценки производительности LLM.
Формирование golden-датасета требует тщательной аннотации и верификации каждой пары вход-выход. Этот процесс не только улучшает качество датасета, но и позволяет глубже понять потенциальные проблемы и особенности работы LLM. Именно поэтому на данном этапе часто необходима ручная аннотация данных. Golden-датасет служит эталоном, на основании которого оцениваются способности модели, выявляются слабые места и обеспечивается соответствие модели целевому применению.
Чтобы повысить масштабируемость процесса оценки, можно использовать саму LLM для генерации оценочных датасетов. Такой подход помогает снизить затраты человеческого труда, однако важно сохранять человеческий контроль для обеспечения качества сгенерированных данных. Например, в онлайн-курсах Харрисона Чейза и Эндрю Ына (упомянутых в контексте
LangChain for LLM Application Development) представлен подход, основанный на использовании QAGenerateChain и QAEvalChain из LangChain как для генерации примеров, так и для оценки модели.