tgoop.com/llm_under_hood/651
Create:
Last Update:
Last Update:
Cпасение проекта с LLM под капотом - День 1
При помощи SGR, AI+Coding и команды тестеров.
Итак, сейчас у меня идет срочный проект, где компании нужно быстро спасать клиента.
Задача сформулирована так:
Ринат, делайте что хотите, но попробуйте спасти проект и сделать X за несколько дней. Проект уже не спасти, но вдруг получится? Мы будем рады любому результату. Привлекайте, кого считаете нужным. Ограничений нет.
Проект представляет собой пайплайн извлечения структурированных данных из PDF-файлов. Он написан (у любого, кто работал с проектами на проде, тут начнёт дёргаться глаз) на микросервисах с Azure cloud functions, кэшированием в БД и самописным фреймворком для батчинга в Anthropic.
Тестов или evals (тут начнёт дёргаться второй глаз) нет. Да и вообще вся разработка после прототипа велась без evals. Клиент сильно жалуется на галлюцинации модели. Качество примерно на уровне 60%, а разработчик ушёл в отпуск. Код локально не запускается, и разобраться в нём крайне сложно (ибо cloud functions + batching + собственный микро-фреймворк). Показать результат нужно уже на следующей неделе.
Я такие задачи люблю (не часто и только когда оно реально того стоит)
Итак, день первый.
Формируем план на первые три дня: переводим команду в startup-режим, выкидываем всё ненужное, собираем тестовые данные и запускаем цикл обратной связи.
Во-первых, переводим команду в startup-режим. Там почти все люди из enterprise, поэтому для них это будет небольшим шоком. Startup — это не работа по 8 часов в день (на этом, как раз, многие стартапы и проваливаются), а умение быстро избавиться от всего лишнего и мешающего.
Во-вторых, оцениваем, что именно тормозит работу. Всё это выкидываем:
(1) Код написан на микросервисах с батчингом и собственным фреймворком, не запускается локально и не имеет eval-датасета? Выкидываем всё к чёрту и берём старую версию полугодичной давности. Она устарела, но у неё были evals. Начнём именно с неё.
(2) Традиционные митинги в проекте - тоже выкидываем, на них нет времени. Проводим только один синхронизационный созвон, после которого выстраиваем процессы так, чтобы люди могли работать параллельно. Далее будут короткие точечные созвоны в небольших группах. Вся остальная коммуникация и синхронизация происходит в общем чате.
(3) Создаём контракт для экспорта данных клиенту. Это будет таблица Excel с доступом для всех участников. Таблица станет основным интерфейсом работы команд. С ней будут работать:
- Команда оценки (eval team) — заполняет ground truth для оценки работы;
- Команда LLM/AI — сравнивает результаты работы пайплайна с тестовыми данными;
- Интеграторы — загружают финальные данные в нужном формате для демонстрации клиенту через Power BI;
- Клиент — просматривает результаты и при необходимости корректирует их с помощью экспертов.
(4) Объясняем команде сбора тестовых данных концепцию "weak supervision" и просим начать готовиться к сбору этих данных в нашем формате.
Все, на первый день этого более чем достаточно. Пора отдыхать)
Ваш, @llm_under_hood 🤗
BY LLM под капотом
Share with your friend now:
tgoop.com/llm_under_hood/651