0: Юлия Саватеева от хаоса к порядку извлечение структуры из неструктурированного текста с помощью лм. Аплодисменты очень приятно. Очень ностальгично. Предыдущий спикер затронул тему. Дело в том, что я работала в институте гриппа большой ему при
1: Привет. Именно там познакомилась впервые с моделями дс моделями, которые использовались в расчёте питеста. И вот я здесь я работаю в честном знаке и я
2: Команды, которая занимается выкаткой на прод и уже выкатила приложение, которое у нас занимается премодерацией разрешительных документов, точнее, карточек товаров в соответствии с разрешительными документами сразу.
3: Начну быстро пройдусь здесь у нас про то, что наш мир соткан из хаотичных текстов, это буквально везде структура полуструктурное ы, при этом бизнесу это нужно, форматировано и тоже везде и обычно в виде табличек, но в то же время у нас
4: В приложении обычно общаются с джейсонами не просто табличка, а на выходе. Чаще всего нужно не примерно правильно извлечь, а извлечь конкретные для следующего приложения данные, которые нужно правильно упаковать и пойти дальше, раньше.
5: Это были регулярки, подстроки, прямые выражения. Можно было очень точно определить, что у нас достаётся, и показать бизнесу, но все это было очень хрупко с появлением моделей стало намного лучше, но также приходилось обучать под домен и при пере.
6: Все это тоже могло ломаться. И вот у нас пришли лмки, которые решают. 1 моделька может решать много задач. Фактически предобучением может менять, заменять промт инженеринг и можно стартовать без предварительного обучения, просто на каких-то примерах или
7: Даже без них и ключевой вопрос становится, насколько хорошо model следует инструкциям и здесь как раз так как модель это у нас вероятностный генератор. Очень часто бывает, что она галлюцинирует, она выдаёт не тот формат у нас
8: Идёт какой-нибудь дрейф или дополнительные символы, которые не нужны. Мы пытаемся изменить промт, и у нас, соответственно, падает весь бенчмарк. Вот опять-таки есть стоимость всего этого, есть задержка с ответом и безопасность, потому
9: Потому что часть данных мы туда не можем передавать, если это внешний контур. Здесь как раз вот наша пайдентик схема, которую мы используем для того, чтобы извлекать и загружать в лмку. У нас ещё раз конфликт между жёстким форматом, который мы хотим получить, и вероятностный при
10: Самой лмки. И наши принципы, которые мы используем в нашем приложении, это декомпозиция разбить разби то, что мы разбиваем сложные задачи на атомарные упрощение максимальное и ограниче.
11: Которые мы задаём для модели. Почему нужно декомпозировать? Вот здесь очень хороший график, который находит у меня, взят с контекста арены. Здесь всего 2 вопроса. Топовые модельки приведена и та модель, на которой работает наше приложение.
12: Это у нас квн 3 14 б и примерно тот же самый контекст. Видно, что точность у нас всего 2 вопроса здесь, напоминаю, с Ростом контекста. Точность у нас падает, деградирует качество ответов. Посмотрим мы сдвига.
13: На 4 вопроса и видно, что здесь вообще не стали рассматривать создатели. То есть её качество упало совсем, но, тем не менее, топовые модели тоже начинают отвечать намного хуже. 8 вопросов. И у нас, ну вот, например,
14: Тропик уже стартует не с не с близости к 100%, а всего лишь с 40 с чем-то. А дальше это становится ещё хуже. Стараемся задавать фактически 1 извлечение. 1 вопрос. Ну, на самом деле у нас до 3 вопросов, но только если это смежные области,
15: И, соответственно, можно позволить себе, скажем так, не очень сложные вопросы. Немножко погружу в наш проект, потому что без этого сейчас будет непонятно контекст. Мы берём карточки товара.
16: И разрешительные документы, разрешительные документы, это разные документы, которые предоставляет, которые регистрируются у нас и которые в соответствии с требованиями Российской Федерации нужны на любую продукцию, которая обращается у нас на рынке в Российской Федерации.
17: Карточки товара это то, что каждый, наверное, видел на маркетплейсах. Это то, чему мы иногда удивляемся. А в качестве сотрудников честного знака мы это проверяем и сверяем с декларациями, свидетельствами и другими разрешительными документами. Я сделал
18: Спойлер. Я хотела здесь, чтобы мы рассмотрели карточку. Ну все, простите, у нас есть декларация соответствия на средства индивидуальной защиты. У нас есть, кроме полуботинок, у нас есть карточка товара, полуботинки ясельные, цвет единорог цвета фантазийные бывают. Какие угодн?
19: Смотрим, соответствует или нет. Простите за спойлер. Вот у нас получается, что мы не отправим детей на пожар. Соответственно, это не для них. Это взрослая карточка у нас детская, цвет можем упустить, опустить, а вот полуботинки у нас тоже не
20: Проходит, то есть карточка не проходит. Все мы стали модераторами, мы изучили, и, в принципе, это все очень просто кажется здесь, для чего тогда нужно это приложение, а приложение нужно, потому что к нашим коллегам данные приходят, ну, фактически они огромны.
21: Вот эта карточка к нам, она приходит в виде json исходно она с роскреда приходит к нам в виде xml это для нас её раскладывают и получается, что она уходит туда вправо очень очень далеко, то есть конкретно вот эта карточка это.
22: Примерно 20000 токенов. Получается, что это примерно герой нашего времени Лермонтова, и модератор должен очень быстро посмотреть в карточку, посмотреть в рд и проверить соответ.
23: Соответствует ли карточка разрешительному документу? Вот это уже становится очень трудным и практически невыполнимым при потоковой модерации. Помимо этого, у нас есть метрики нашего приложения, которые мы должны выполнять. Это время обработки карточки в баче бачи по 10 карточек и соответствен
24: Соответственно, не больше секунды на карточку должна тратить наша модель, потому что мы только что справились практически за секунду. Почему модель должна быть хуже. Вот и точность экьюреси, естественно, мы считаем и другие метрики, но основной для нас является экьюреси. Почему
25: Ну вот предположим, что у нас есть кибер Маша, наша модель, которая раскладывает ложные, неподходящие и настоящие лисички. Она справляется, и нас интересуют оба квадрата. В случае с Машей должна была быть точность, которая пресижен у нас, это экьюреси, потому что ес.
26: Если у нас будет смещение хоть в 1 сторону. В 1 случае у нас потребители получат товары, которые не подходят под законодательство Российской Федерации, то есть они не покрыты разрешительным документом, а в другом случае у нас будет очень большое недовольство участников рынка, которые
27: Приложили правильные документы, отправили все к нам, а мы к ним возвращаемся, что у них все не подходит. Естественно, что сама ллм это вот голубые квадратики, проверки, это пайплайн, который создан по 4 товарным группам, он написан на питоне, соответственно,
28: У нас стоит вначале классификатор, который просто определяет, подходит ли разрешительный документ к этой товарной группе, потому что проверки в товарных группах они очень разные, и естественно, что мы не будем проверять обувь по рд из, предположим,
29: Оборудования. То есть если здесь ломается, то дальше план не идёт. Идёт сразу на выход со своим ответом, что это не подходит. А дальше в каждой товарной группе есть блоки своих проверок, которые должны пройти для того, чтобы карточка соответствовала. Я буду рассказывать,
30: На примере обуви, это вот этот блок с 4 проверками. Вот он поближе. 4 проверки, тип обуви, бренд, материалы и пол и возраст продукции, которые тоже должны соответствовать разрешительному документу. Начнём с типа об
31: Мы стартовали в прошлом году с качества 56%. Качество было на входе. У нас был, был такой маленький мвп, где мы просто делали это в 1 прогон. Спрашивали, получается, лмку получали ответ.
32: Примерно такая же, как я показывала на графике контекст арены. То есть не очень. Дальше мы разбили это на 4 разные проверки и начали сильно ограничивать. Соответственно, у нас ещё раз уже упоминала классификатор.
33: Дальше идут параллельные проверки, которые покрывают все вопросы, на которые должен ответить модератор как эксперт и падают. Если у нас, соответственно, ответ отрицательный, что карточка не подходит и дальше агрегация в чек.
34: Провайдере результатов и выдача н. В соответствии с контрактом, который от нас требуется дальше. Что было дальше? Мы сделали первичную настройку. Вот эту точность возросла до 64%. Поиграли с фронтом.
35: Дальше не растёт. Дальше мы все правила, которые нам дают эксперты. Здесь это про тип обуви. Соответственно, мы их объединили в словари и пробросили до элли. То есть в чем здесь суть. По сути, мы как люди понимаем, что, например,
36: Пантолеты это такой подвид, летних, чаще всего туфель или пляжной обуви, а лмка обученная 3 14, она у неё очень много данных, но она здесь начинает сомневаться. Про оценку я там расскажу, в конце немножко коснусь, но смысл в том, что когда мы
37: Бросили эти словари до лмки, то качество сразу очень хорошо возросло, и дальше мы воспользовались таким псевдо чено подходом, когда просто поменяв вот в таком выводе местами.
38: Выдачу. У нас качество выросло ещё на 4%. Здесь можно пользоваться, как показывают другие, скажем так, докладчики и статьи, токенами паузы и другими вариантами. У нас вот это сработало очень хорошо. Следующая
39: Проверка, 2 проверки рассмотрю, их не будет много. Половозрастная группа здесь мы сразу стартовали с точностью 66%. Она была отдельно. Эта проверка, она вошла 1. Дальше мы опять-таки с декомпозиции передали принцип включения.
40: Исключение потому что здесь, казалось бы, достаточно просто если в тексте встречается детский для ребёнка или что-то ещё, то можно было бы регулярками обойтись, но проблема в том, что в самих карточках и в особенно в разрешительных
41: Документах бывают исключения. То есть, если у нас написано, что в том числе женское, это не значит, что женское это просто уточнение. То есть это по прежнему вся обувь, которая у нас входит в разрешительный документ, в том числе женская, но, наоборот, бывают. Исклю
42: Чение, то есть, когда у нас пишется, предположим, исключая детскую, ну или в случае с типом обуви, исключая полуботинки. Дальше мы заменили вывод ллм, получается, в падении. Схему мы передаём и нам триплеты в кото
43: Пишется не полностью слово, а из 3 букв. Муж жён мал, дев. И вот здесь у нас точность уже возросла и возросла ещё и скорость генерации. Очень сильно получается, что у нас сейчас работает гибридный подход. У нас лм. Партит извлекает.
44: Пол из нашего разрешительного документа, а питон сравнивает тот пол, который указан в карточке, и тот пол, который указан в разрешительном документе, и множество карточки должно покрываться множеством из рд. И последнее.
45: Это вот я покажу потом, на чем мы смотрим, но фактически мы смотрим на смещение и на постоянство ответов. И здесь мы обнаруживаем очень часто забавные вещи. Например, что наша модель считает, что обувь для школьников это только для мальчиков, потому
46: Бывают ещё и школьницы или сапожки, это только детская обувь. То есть вот такие смещения мы прямо просто промтом потом поправляем и результат становится намного лучше, потому что это покрывает уже достаточно большое количество кейсов. Мы говорили про метрик.
47: Качество сейчас немножко про время я исходно говорила, что у нас на 1 карточку должно быть не больше 1 секунды. И вот мы столкнулись с тем, что вот такая лишняя обёртка, вот эта, она приводила к тому, что несмотря на то, что лм получал
48: Чёткую схему получала ключи в промте. Она начинала сомневаться. И дальше. После корректного джейсона мы просто на Сырых логах это видели. Выдавать огромное количество мусорных токенов. С 1 стороны, джейсон можно починить. Это не проблема, забрав его обратно там любым
49: Способом. А с другой стороны, получается, что время обработки вырастало до почти 6 секунд. Что это значит? Это значит, что модератор где-нибудь в другом, даже часовом поясе, запустив очень рано нашу обработку по обуви, а это примерно 10000 карточек только через 6
50: 16 часов на следующий день получит, на следующий рабочий день получит результат. Это было очень плохо. Решилось это вот так просто. То есть лишняя обёртка убирается, и у нас скорость генерации возрастает очень сильно. И все эти мусорные токены просто ушли.
51: В прошлое. Ну и на самом деле там было очень много вариантов, которые были связаны со схемами, в том числе со сложностью этих схем. То есть общий вывод, упрощение здесь работает на нас, работает на качество и на скорость ещё раз наш пайплайн 4 принцип.
52: Это контроль того, что делает м, это помимо тех метрик, которые я описала, мы делаем достаточно большие размёточные датасеты, делаем их в начале вручную, их размечают модераторы. Потом мы делаем прогон, сравниваем прогоны, сравниваем их.
53: С результатами от лм. Дискутируем для того, чтобы описать логикой те правила, которые те расхождения, которые у нас появились и дальше используем для проверки и для оценки качества проверяем мы, в том числе консистен.
54: Ответов лмок. Когда мы сравниваем выдачу по 1 и тому же инстансу на многочисленных результатах прогонов. Получается, что мы сравниваем вот игрек кат. То есть у нас каждый конкретный раз на вопрос ллм.
55: Ответила мы сравниваем с ground truth с нашим золотым датасетом и получаем расхождение, усреднение которого показывает, на каких ответах модель сыплется здесь, я приводила по абсолютную величину, но на самом деле внутри мы смотрим.
56: И по модулю. То есть вот так выглядит табличка, когда у нас заходит. Ну, предположим, здесь это проверка типа название товара и описание зрд. И дальше прямо внутри этой таблички модератор может посмотреть
57: Оценить, на каких кейсах модель расходится особенно сильно красная. Это у нас кейсы, когда она наши негативные кейсы проводит как состоявшиеся позитивные, синенькая. Наоборот, рассмотрели вот эти вопросы.
58: Упрощение. Прямо сейчас где-то работает наше приложение. Вот на таких карточках 100, только их там 8 крутится. А мы можем переходить к вопросам, если они есть. Спасибо. Спасибо. Спасибо. А вопрос такой в 20.
59: 7 слайде вы упомянули, что порядок следования в jason параметров меняет время, по моему, и точность, насколько я понял вообще, как вы к этому пришли и вообще, какие механизмы здесь могут работать вот это не очевидно порядок меняет время, нет, там лишняя обёртка.
60: То есть, там у нас, ну вот, если к 27 вернётесь, то там именно порядок самих следования знач, ну, следования параметров именно там на скорость это не влияло, это влияло на точность ответов. То есть, поменяв вот так выдачу, мы получили прирост 4%.
61: А как вы дошли? Вот какой механизм там действовал вообще этот? Или просто методом случайной случайной замены? Нет, это было. Это было предположение просто потому, что обычно структурированный вывод, размышление модели перед. Мы же здесь передаём параметр no thing. То есть у нас модель.
62: Размышляет она просто выдаёт сразу json это отключается и аппаратно, и внутри промта, потому что у квинов, у них, ну, есть такая особенность, что она может не отключиться, если просто передать кварги такие, и модель она не размышляет, но здесь получается, что
63: Есть небольшой вывод, когда мы, Ризен, выдаём перед окончательным ответом тру фолс, нам нужен, по сути, окончательный ответ. И это было предположение, что таким образом можно будет, ну, скажем так, сосредоточить.
64: Модель для того, чтобы был лучше вывод. Здесь это сработало. Поэтому делюсь кейсом. Может быть кому-то пригодится. Спасибо за доклад. У меня вопрос, так сказать, от системы безопасности. Соответственно, когда мы делаем любую систему на базе ллм, найдётся такой недобросовестный человек, который
65: Подстроит карточку так, чтобы m сказала все хорошо, а на самом деле это не так. Вот и вопрос, в чем, были ли попытки, так сказать, с этим бороться, и были ли примеры таких недобросовестных клиентов? Здесь невозможен вариант, когда у нас идёт промт инжекшн.
66: Потому что все передаётся жёстко внутри нашего приложения. В карточке есть 2 вещи, которые важны. 1 вещь это то, что сейчас все проходит, по сути, 2 ручной контроль. То есть мы смотрим на расхождения, мы смотрим на ответы модераторов. Это 1 часть, то есть
67: До сих пор человек из этой системы не исключён на этапе, когда мы ввели автоотклонение по результатам работы лм. Мы видели, что очень часто участники рынка начинают многократно что-то менять и пытаться отправить.
68: Карточку повторно, но дело в том, что проверка осуществляется достаточно жёстко. И если участник, то есть число изменений. После того, как произошло отклонение, мы отсматриваем эту метрику со стороны участника, оно также растёт и
69: Здесь мы не видим того, чтобы был какой-то front, да, попытки изменить, потому что если у нас рд, карточка изменится таким образом, что она будет соответствовать рд, продавец же дальше будет это продавать, ему интересно писать все равно то
70: То у него есть то, что выходит на рынок, то есть он ограничен в манёвре со стороны того, что он дальше будет продавать. Это 1 граница и 2 часть, если он прикладывает. То есть он может заменить разрешительный документ или сделать описание в соответствии с ним.
71: Потому что иногда бывает там очень много расхождений связаны просто с некорректным описанием, когда забыл указать основное слово, которое символи, ну, определяет товар, да, просто вот написал что то такого-то размера, вот, и так далее. То есть, нет, мы не видим здесь
72: Каких-то попыток обмануть, но видим сейчас большую работу и привыкание участников рынка к новому порядку. Ну то есть людям не выгодно жульничать, они на дистанции проигрывают, поэтому и не делают этого. Да, думаю, думаю, да. И, ну здесь вот конкретно мы
73: Сматриваем это все вручную и не замечены. Спасибо. Спасибо за доклад. Хотел про модель уточнить. Вот сказали про квн 3 14 б. Как именно её выбрали и после того, как выбрали
74: Как тестировали и уже после всех Тестов, думали ли дообучать или обошлись просто системным промтом спасибо, мы выбирали модель по нашим бенчмаркам, то есть исходно мы хотели не слишком большую модель выбирали.
75: Мы как из семейства квен, так и из многих других. Я сейчас, к сожалению, не вспомню, не вспомню весь спектр моделей, но смотрели в том числе позже, когда вышли опенаи, модели и другие. Вот мы отсматривали результаты моделей на
76: Чах. И здесь была важна скорость и качество ответов. Модель 3 14 это dance модель она очень хорошо справляется мы сравнивали в том числе вот сейчас вышли 3 и 5 модели квн, сравнивали с ними. В принципе когда выходят новые модели у нас
77: Внутри лабы по-практически всем действующим проектам идёт отсмотр качества для того, чтобы принять решение о том, какие модели дальше останутся либо заменятся, и для того, чтобы не держать большой парк моделей, здесь дообучения не планировалось изначально.
78: У нас есть дообучение модели ну, на лоре получается, в другом проекте, здесь сразу рассматривают, поскольку достаточно хорошо удалось достичь качества prompting м, в том числе динамическими промтами вот в типах обуви и другим.
79: На этом остановились дообучения нет. В дообучении есть 1 очень большая проблема для дообучения модели. На таких данных нужны огромные датасеты. Поскольку там очень отличается описание, очень отличаются выводы модераторов, они не всегда очевидны.
80: Видны и в эту сторону. Мы думали, но не делали. Юля, спасибо за выступление. У меня 1 часть это наблюдение коллег. Вот вы показывали джейсон формат в аутпуте. Вот есть такое наблюдение, что если его
81: Генерировать невыровненным, то это прям значительно экономит аутпут токены не пробовали отключать аденеш? Ну, получается, вот есть такое, ну, прям опыт коллег. Вот. Но я хочу, значит, да.
82: Толкнуть эту идею. Довольно еретическая сейчас будет реплика, если вот что мы получаем от джейсона. Вот я видел аут формат, он довольно простой. Почему это не может быть просто двоеточием разделённый текст. То есть колм дилемма тако
83: Неформальный формат, который можно там по python, сгенерится парсер ну, 2 2 строки для чего нам json здесь? Ну, json, во первых, потому что он очень хорошо объединяется, а во вторых, потому что мы смотрели вообще до того времени, как вим.
84: Стал выдавать json нативно да вот можно туда его задавать, были разные варианты через двоеточие, через вертикальную черту мы все это пробовали и по какой-то, возможно, понятной, возможно, непонятной причине, но выдача стабильнее.
85: И качественнее, когда мы делаем вот такой формат, потому что у нас иногда бывало, что модельки, ну, правда, предыдущего поколения, двоечки квн, они сбивались после вертикальной черты или разделителя на какие-то рассуждения, например, которые нам не нужны.
86: Увеличивали генерацию. Здесь рассуждение получается коротким на основе примера. И вывод очень чёткий. Спасибо. Вопрос по оценке качества моделей. Ну то есть оценка качества самих моделей оцен.
87: Промтов, хранение Промтов. Используется ли какое-то стандартное решение, стандартная обвязка или это самописное решение? У нас сейчас самописное решение мы отсматриваем, сохраняем и метрики. Все это
88: Хранится в Мулло, но мы туда это подгружаем. То есть здесь нет каких-то, ну какого-то такого ноу хау, которым можно было бы поделиться все достаточно стандартно для дс. Да, спасибо.
89: Так, ну вот теперь уже можно аплодировать.