tgoop.com/llm_under_hood/652
Last Update:
Cпасение проекта с LLM под капотом - День 2
Итак, хроники спасения проекта с LLM под капотом (в первый день мы налаживали коммуникацию и срочно объясняли про то, как собирать тестовые данные для карт ошибок). Идет второй день.
7:53 Я ставлю задачу на день: собрать eval dataset (ground truth data) и прогнать его через существующий LLM pipeline. Тогда сможем получить на выходе карту ошибок. Без нее не будем даже пытаться улучшать старый код.
Причем в идеале этот dataset должен включать самые сложные кейсы. Те самые, из-за которых разработчик проекта ушел в загул и micro-services и усложнение системы.
К утру один сотрудник в компании берет на себя ответственность за сбор данных, находит трех помощников. Вот и будет Head of Eval.
9:23 Генерю для нашего рабочего чатика аватарку в стиле “Проект Аве Мария”, чтобы было веселее работать, а директорам - его читать.
Head of eval тут же рапортует: “Ground truth team is onboarded and starting to generate data now!” Они начинают ручное вычитывание данных, по паре записей из каждого PDF файла. Поскольку процесс долгий, они планируют извлечь в сумме где-то 50 записей за пару дней.
9:36 “ChatGPT, напиши-ка мне функцию на питоне, которая сравнит две таблички и выведет Heatmap c разницей”. “Claude Sonnet - перепиши этот график красиво”
10:12 Готова первая карта ошибок (и функция по ее отрисовке, которая интегрируется в пайплайн). Она вся пустая, т.к. данные от eval команды еще не готовы (скриншот скину в комментарии). Переключаемся на LLM логику.
~12:00 по мере заполнения GT (ground truth) данных, начинают всплывать вопросы по форматированию и правильности извлечения данных. Команды это быстро решают в общем чате. Это быстро, т.к. общий Excel файл у всех перед глазами в режиме редактирования. PM притаскивает сложные кейсы от клиента и складывает в общую папку, eval team вычитывает их.
Команда обнаруживает, что документов с самыми сложными кейсами не так много, как казалось раньше. Но все-таки есть моменты, где нужно извлекать почти 3000 сущностей на 50-70 свойств из одной PDF. 3000 LLM вызовов на один документ? Брр. Должен быть способ проще.
У нас на это нет 5 месяцев времени, как это было у предыдущей команды. Нет времени и желания запускать пайплайны на 6-8 дней и использовать дорогой Claude Opus. Но есть что-то, чего не было у них - пайплайна и тестов, которые смогут быстро оценить качество любого эксперимента. Поэтому начинаем экспериментировать. Опираемся на когнитивную сложность задачи и Domain-Driven Design.
15:14 После ряда экспериментов получается интересная ерунда - прототип функции с Schema-Guided Reasoning, который реализует процесс так, как это бы сделал ленивый эксперт при помощи DevOps-а, без какого-то уважения к правилам программирования и разработки.
Оно работает не очень точно, но извлекает 600 сущностей из PDF за два SGR вызова gpt-5-mini. Все смотрят круглыми глазами, поэтому генерирую тестовые данные остальной команде на посмотреть глазами. Выдаю задачку подумать, как такое сделать в 200 строчек кода.
На сегодня этого хватит. Evals первые не успели прогнать, т.к. данные еще не готовы. Подождем до завтра, чтобы eval команда закончила собирать первую версию датасета.
Ваш, @llm_under_hood 🤗
BY LLM под капотом
Share with your friend now:
tgoop.com/llm_under_hood/652