Как стать автором
Обновить

Комментарии 33

Конечно, такая дезинформация как минимум разозлила бы пользователя. Эту проблему очень просто решить: нужно прописать, что нет никаких других социальных сетей и мессенджеров, кроме указанных

Если вдуматься, то стремное утверждение. Учитывая способность ллм забывать начало промпта при его разрастании, вангую, что такие боты будут изнашиваться и ржаветь по мере разрастания промпта из-за вписывания туда новых и новых кейсов, где можно факапнуться. Brand-new бот, только что из под пера промпт инженера, будет куда лучше работать, чем такой же, но поэксплуатированный год, и за этот год накопивший 1000 уточнений от менеджеров на стороне заказчика.

Интересно, нельзя ли как-то хотя-бы разделить разные топики по промптам, и поставить классификатор (возможно, тоже ЛЛМный) на входе?
Чтобы каждое сообщение сначала классифицировалось, а лишь потом отправлялось на специализированного бота, который, например, знает только ассортимент и складские запасы, или только доставку, или только тенденции моды, чтобы, хоть не портить качество ответов в несмежных сферах при разрастании уточнений?

Опять же, это только предположения и интуитивные ощущения, чтобы утверждать что-то, нам нужно параллельно сравнить эти два промпта и понять, какой из них лучше себя показывает. Мой личный опыт на сравнительно небольшом количестве данных показал, что указание в инструкции, что связаться по WhatsApp нельзя, работает лучше, чем если оставить это без комментариев. Также хочу отметить, что нет необходимости указывать, что все остальные социальные сети отсутствуют (кроме Телеграма), потому что эта легкая галлюцинация связана с слиянием очень близких смысловых зон. Номер телефона, так сказать, стойко ассоциируется с менеджером. Вполне возможно, что при наложении всевозможных ограничений LLM будет терять контекст и справляться со своей задачей хуже, но в противном случае мы оставляем промпт в таком состоянии, в котором он просто не работает.

Что касается классификатора, это отличная идея, но надо подумать, как работать с межмодульными запросами типа: "что если я куплю шарф и юбку, получу ли я скидку?" (цена на предметы в модуле ассортимента, а информация о скидках в другом).

что если я куплю шарф и юбку, получу ли я скидку?

Отличный пример запроса, на который я бы, на месте владельца бизнеса, предпочел, чтобы бот не отвечал, а посоветовал уточнить у человека ;)

И так часто схема бонусов и скидок довольно запутанная, особенно, когда встречаются вместе бонусные программы с временными скидками. А, учитывая, что с ботом можно общаться бесконечно долго, то, уверен, что, будут и любители, покрутив вопрос час-второй, добиваться необоснованной скидки у бота, после чего, магазину придётся или отдавать товар по нерыночной цене, или принять, что скрин пойдет по соцсетям как пруф их нечистоплотности

Кажется, вы общаетесь достаточно токсично. Если это возможно, я бы хотел размышлять над вопросами вместе с вами, а не спорить. Мне действительно понравилась идея разделения промпта на множество частей и классификация запросов. Это может помочь LLM не терять контекст. Однако, я вижу здесь несколько проблем, которых нет в классическом подходе: 1) зона видимости (что делать с запросами, которые должны включать в себя информацию из двух или более модулей?) 2) сама классификация (с какой-то вероятностью мы будем неправильно определять интенцию пользователя и отвечать на его вопрос, используя информацию из другого модуля). У вас есть какие-то мысли на этот счет?

В том то и дело, что, особенно, учитывая последнюю новость об атаке с повторением, применение чат бота для произвольных человекоподобных ответов юзеру кажется все более проблемным.
Вы задаете хорошие вопросы, но, кажется, хороших ответов тут нет. По п1, было бы круто, если б можно было при помощи ЛЛМ, стоящей на входе, сформулировать вопросы для нижестоящих, и синтезировать их ответ в один. Но, понятно и то, что такая система станет слишком непредсказуемой, и это не прод решение. Так что, остается только смириться, что ЛЛМ ответит, что не может ответить на данный вопрос и предложит обратиться к человеку (ибо, у той специализированной сети, на которую упадет, контекст не хранит всей информации для ответа).

А, по п2, особого риска тут нет, если отдельные сети хорошо умеют понять свое незнание ответа и признать его. И, кажется, это и есть сейчас чуть ли не основной вызов всей индустрии. Все же, всегда есть fallback вида "оставьте контакт и с вами свяжется человек".

Всё-таки мне кажется, в системе RAG больше потенциала, но хорошо, что вы предложили эту идею, я об этом даже не задумывался.

Лично я не сильно верю именно в RAG потому, что, фактически, он перекладывает ключевую задачу понимания смысла на куда более слабые алгоритмы, чем LLM.

К слову, когда попробовал новый bing, было неприятное ощущение, что обманули. Ибо, казалось бы, сила LLM именно в том, чтобы мораль выделить среди кучи сеошного мусора, а, когда первым шагом идёт поиск по этой куче классическими методами, то сразу понятно, что чуда не произойдёт.

Вот, если б LLM умела сама формулировать запрос на недостающие данные хотя-бы...

К примеру, когда программистов собеседуют, то важным этапом являются вопросы, на которые любой утвердительный ответ будет неправильный, а единственно правильным ответом будет уточняющий вопрос. Может, ещё научится и нейронка так делать

В чем смысл и польза для бизнеса от этого костыля ?

Да, в настоящее время от этого костыля может не быть явной пользы. Однако мы понимаем, куда движется развитие технологий: следующее поколение LLM, возможно, будет обладать достаточной стабильностью для выполнения подобных задач. Косвенная выгода заключается в том, что компании, которые уже сегодня начинают работать с этими технологиями, смогут легко и быстро внедрить подобные инструменты в будущем.

Кажется что-то подобное говорили про блокчейн... Напомните, где он сейчас?

Я считаю сравнение таких вещей абсурдным. Блокчейн является достаточно противоестественной для человека идеей однорангового строения общества; эта система бросает вызов устоявшимся институтам, которые так просто не уступят место. Для меня удивительно, что это вообще смогло как-то функционировать. Искусственный интеллект, в свою очередь, это инструмент, который в ближайшем будущем действительно сможет выполнять большую часть рутинной работы. Если вы являетесь пользователем GPT, то, вы видели какой скачок произошел от версии 3.5 до 4, он поистине внушительный. Вам сложно поверить, что прогресс продолжится? Или что вызывает у вас такие сомнения?

Я не отрицаю прогресс, наоборот я ему очень рад и использовал и ChatGPT и другие LLM. Но есть нюанс: именно из-за того что прогресс не стоит на месте профессия промпт-инженера видится туманной. Во-первых, нет и не может быть универсальных подходов к промпт-инжинирнгу, потому что каждая LLM уникальна. Во-вторых, с каждым новым поколением они все лучше и лучше начнут понимать человека и без всяких "докруток".

1) Да, профессия промпт-инженера сейчас может казаться несколько туманной, но, как я уже отмечал в моем предыдущем ответе о косвенных выгодах для компаний, первыми мастерами в этой области, когда она прояснится, станут те, кто уже сейчас увлеченно занимается ею.

2) Когда мы достигнем точки, где LLM будут понимать запросы без каких-либо дополнительных доработок, это будет означать не только исчезновение профессии промпт-инженера, но и всех других профессий тоже)

Так как вы будете своих "мастеров" тренировать? Моделей целая куча, а если учитывать еще и параметры для этих моделей (Temperature, Top-P, Top-K и т.д.), то это миллионы вариантов. Еще раз повторю свой первый пункт, который вы проигнорировали: моделей очень много и работа с каждой из них уникальна и никакого универсального способа работы нет и быть не может.

Такие как подходы как "chain-of-thought", тестируются на разных моделях, и, как вы можете видеть, они эффективны для всех представленных больших языковых моделей, хотя и с разной степенью успешности. В целом, мы должны повторно тестировать промпт, если планируем использовать его в другой LLM. Однако, я не думаю, что при равном количестве параметров у разных моделей результаты будут существенно отличаться (конечно, речь идет о статистически значимом количестве экспериментов.) Прикладываю ссылку на исследование.

Предоставленный вами метод значительно эффективнее "standard prompting" только в 3-х из 9 случаев. В остальных вариантах он не сильно отличается от обычного, так в чем смысл?

Во-вторых, исследование проведено на LaMDA, PaLM и некоем "Finetuned GPT-3 175B". Я могу быть не прав, но это достаточно старые модели и к ним конечно могут быть применимы "хаки" для улучшения ответа. Однако, с момента публикации данной бумаги уже вышла в свет GPT-4 и недавно вышла Turbo версия, а на момент написания уже была GPT-3.5, но вместо неё почему-то взяли что-то иное. Я уже молчу про OpenChat-3.5 который имея 7B параметров умудряется быть на уровне мартовской GTP-3.5 (по заявлению авторов, лично я с ней мало работал).

>>Однако, я не думаю, что при равном количестве параметров у разных моделей результаты будут существенно отличаться
Это конечно сильное заявление, учитывая что каждая модель тренируется на уникальных данных с применением уникальных техник и, что логично, выдает разный результат на один и тот же запрос. А вы по сути хотите найти master-key для всей моделей. КМК тянет на нобелевку.

Моя идея заключается в следующем: некоторые концепции промптов демонстрируют статистически значимое улучшение результатов потому, что они обращаются к определенным способам мышления или человеческим триггерам, которые проникают в модели через естественный язык. Так, метод "цепочка мыслей" эффективен, потому что люди, формулирующие тексты в таком стиле, реже допускают ошибки. Каким-то образом в модели просачивается и эмоциональная составляющая, условно когда от качества статьи зависит увольнение журналиста, он старается писать лучше.

Поэтому я считаю, что подсказка, хорошо работающая в одной модели, не покажет ужасных результатов в другой, если у них примерно равное количество параметров. Я понимаю, что мое объяснение этого явления может казаться поверхностным. Мне интересно услышать ваше мнение, почему одна и та же подсказка может работать кардинально противоположно в разных системах. Было бы еще лучше, если бы вы нашли исследования, подтверждающие это.

Я понимаю, что мое объяснение этого явления может казаться поверхностным.

Оно таковым и является: "каким-то образом" что-то куда-то просачивается это не научный язык, а догадки, требующие подтверждения.

Мне интересно услышать ваше мнение, почему одна и та же подсказка может работать кардинально противоположно в разных системах.

Я так не говорил. Я говорил, что оно может выдавать (а чаще всего так и делает) другой результат. Другой != противоположный.

Было бы еще лучше, если бы вы нашли исследования, подтверждающие это.

Честно признаюсь, я дилетант в данной тематике. Читаю нескольких людей которые понимают в этой тематике больше моего и их мнение в том что промпт-инжиниринг это сомнительная идея. Вы пришли на Хабр со своей идеей так что бремя доказательства лежит на вас. Если у вас есть еще какие-то исследования на эту тематику, буду рад посмотреть!

Небольшой примечание: Вы привели исследование в ответ на мое сообщение, за что конечно спасибо, но... При этом, по моим ощущениям, вы проигнорировали первые два абзаца и отвечаете только на последний.

моделей очень много и работа с каждой из них уникальна и никакого универсального способа работы нет и быть не может.

Я хотел опровергнуть именно эту позицию, сложно отвечать на все, при этом ничего не опуская. Постараюсь в ближайшее время посмотреть подобные исследования и собрать какое-то количество скринов, как тот, который я показал раньше. Это сможет вас убедить в том, что есть универсальные способы работы с LLM?

Может тогда лучше оформить это все в отдельную статью и выложить на Хабре? С пояснением своей позиции и приведенными примерами, мне кажется это бы не только мою позицию бы поменяло но чью-то другую.

 Читаю нескольких людей которые понимают в этой тематике больше моего и их мнение в том что промпт-инжиниринг это сомнительная идея. 

Можешь дать ссылки на этих людей? Для меня идея промптинга не является сумасшедшей, и я не слышал прям явных противников. Хотелось бы ознакомиться с их позицией, если это и правда распространённое мнение, то можно было бы написать

Пользовался обеими версиями. Был период, когда 3.5 в моих кейсах отвечал лучше, чем 4. Сейчас к 4 доступа не имею, но 3.5 теперь откровенно тупит. К примеру, на вопрос "как сделать х, не используя у" может ответить ровно с точностью до наоборот и убедить в том, что так делать не надо вообще не получится

надеюсь это прикол и ты меня просто забайтил)

Удивительно, но к специалистам в этой области, как правило, нет конкретных требований.

Сложно создать требования - зыбкая почва:
- Если в мае 2023 промпт на GPT4 при нулевой температуре выдавал один результат, то в ноябре сильно отличается
- Если до ноября 2023 приходилось разбивать большой текст на сегменты чтоб можно было обработать в GPT4 8k токенов, то сейчас можно передать до 128к и получить до 4к в ответ.
- Если в мае GPT4 не "срезал углы", то сейчас филонит на 2к+ токенов и приходится подстраивать промпт.

На такой болотистой почве сложно сформулировать формальные требования промпт-спецу.
Для меня достаточно просто запросить примеры промтов чтоб понять, насколько чел. внимателен к деталям.

Как вы могли понять из прочитанной статьи, моя позиция по этому вопросу следующая: требования должны включать минимальное техническое образование и владение языком программирования Python, чтобы нанятый сотрудник мог провести исследование по поводу необходимого промпта и представить его результаты в Jupyter Notebook.

Внимание к деталям - что это? Очень субъективный критерий. Важнее смотреть не на формулировку промпта, а на качество получаемых от него ответов. Год назад идея эмоционального давления на языковые модели многим показалось бы идиотской. Однако было доказано, что это работает. То есть, вы могли бы отклонить кандидатуру промпт гения, который пишет капсом и слезно умоляет LLM потому, что он не уделяет внимание деталям (тем субъективным деталям, которым уделяете внимание вы).

Внимание к деталям - что это? Очень субъективный критерий.
...

То есть, вы могли бы отклонить кандидатуру промпт гения, который пишет капсом и слезно умоляет LLM потому, что он не уделяет внимание деталям (тем субъективным деталям, которым уделяете внимание вы).

Вы вроде за меня придумали, что в моем понимании "внимание к деталям". :)
Удачи в дискуссиях.

Мне показалось, что это как раз то самое неуместное эмпирическое определение качества промпта, о котором я говорю в статье. Если вы имели в виду другое, простите.

Почему вы не используете метод langchain + бд?

Вроде удобнее, меньше глюков.

Проблема промптинга остается актуальной, даже при использовании баз данных для извлечения релевантной информации. Необходимость в проверенной инструкции не исчезает, она просто переходит на другой уровень.

Вы использовали LLM для написания ответа на комментарии?

Спасибо за ваш комментарий! Исходя из той информации, которую вы видите, действительно естественно предположить, что я использую языковую модель искусственного интеллекта для создания ответов. Эти модели могут обрабатывать запросы и предоставлять подробные, хорошо структурированные ответы на самые разнообразные темы. 🫡😁

  1. В статье вы написали, что датасет у вас небольшой. Сейчас, когда нет ресурсов, можно использовать ChatGPT и на 3.5 сгенерирвать недорого датасет на 1-2 тыс. вопрос-ответ.

  2. Появляется протокол ChatML, но я не следил за последними апдтейтами, возможно в следующей версии стоит посмотреть, помогает ли этот протокол или есть ли еще стандарты

  3. Коллега недавно делал доклад про промпт-инжиниринг https://youtu.be/_vL-AM7iRrg?list=PLmOm0lp-aNUYBAZOyBIoS56V57oA67yLj Если будет полезно, можем его призвать в тред

Большое спасибо, что не забыли мою просьбу и прочитали.

  1. Если я вас правильно понял, вы говорите, что достаточно дешево можно сгенерировать 1-2 тыс. тестов. Это да, но запустить их выйдет в нормальную сумму. (Я проверял промпт размером в 5 тыс. токенов.)

  2. Хорошо, ознакомлюсь.

  3. Я был бы очень рад, мне интересно услышать мнение людей, у которых был реальный опыт в этом. Это помогло бы мне понять, правильный ли у меня сейчас ход мысли. (лекцию посмотрю)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории