Pull to refresh

Comments 12

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

Ну, такова жизнь - галлюцинация, которую не удалось распознать, считается реальностью.

Добро пожаловать!..

... в Бойцовский клуб.

Естественный отбор.
В остальном, как показывает практика, можно галлюцинировать бесконечно долго и прекрасно жить в иллюзиях.

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

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

Вместо того, чтобы бегать от санитаров, можно убедить главврача, что твоя картина мира полезнее для управления больницей. Вон христиане 300 лет бегали, а потом (Миланский эдикт) понемногу перехватили управление больницей богадельней.

Не совсем аналогия, но делаю нечто похожее для сложной обработки текста - многошаговая обработка:

  1. Разбиваю сложный промтп на куски.

  2. Выполняю каждый кусок и делаю проверку результата предыдущего промпта.
    В добавок к проверке выполняю скрипт который бракует результат и уведомляет в канал телеги что цепочка свалилась.

  3. Результат может быть довольно сложным преобразованием.

Примечания:

  1. Использую модель ChatGPT4 через API.

  2. Температура всегда в 0 (чтоб получать более-менее гарантированный результат этапа).

  3. Размер текста для моих задач не должен превышать 2к токенов, иначе GPT начинает срезать углы и филонить в качестве.

  4. Как следствие к №3, нужно еще делать авто-разбивку текста на <2к токенов.

  5. Как следствие к №4, нужно добавить свою считалку токенов.

По кол-ву вызвов API получается дороже, зато результат предсказуем.

Мне кажется, что любые разбивки входа на батчи убивают саму суть LLMов, либо же, разбивалка должна быть невероятно сложной. Если мы хотим от модели решения задачи с реально большим контекстом, то наше ожидание именно в том, чтобы модель смогла вычленить из контекста > 1 факта из произвольных мест контекста и синтезировать их. Более того, понимание любого предложения из не первого батча может быть невозможным в принципе без предложения перед ним.

На первый взгляд кажется, что единственный способ обработать текст на >2K токенов и выполнить над ним задачу - это последовательно суммаризировать текст, и только после этого уже над ним работать. Условно, у нас есть текст на 10000 токенов.
Сначала даем первые 2К, и просим сжать до 400. Потом выход первого + 1600 новых и просим суммаризировать до 720, и так далее, чтобы в итоге получить исходный текст, сжатый до 2К. Но что-то, подсознательно чувствую, что работать оно не будет...

Если мы хотим от модели решения задачи с реально большим контекстом, то наше ожидание именно в том, чтобы модель смогла вычленить из контекста > 1 факта из произвольных мест контекста и синтезировать их.

Согласен с идеей, но практика такова что если даешь полный текст и требуешь найти все факты, то модель аккуратно вытаскивает до 15 фактов (эмпирически), а выше 15 - крайне не надежно.
Меняли промпт, заставляли перепроверять себя, представлять в виде нумерованного списка, упрашивали ничего не пропускать. Пофиг - 15+ и начинает филонить.

А пробовали через LoRA напихивать факты в более простые оффлайн модели? Все же, довольно много задач имеют хоть и большой, но достаточно постоянный контекст?

Например, если ИИ не может найти на картинке зеленую кружку, ему укажут, где именно она находится. Если он посчитал на картинке 15 людей, ему подскажут, что их на ней 38, и укажут расположение каждого.

Если нейросеть не смогла найти на картинке зелёную кружку, то каким образом Дятел сумеет её найти на картинке? Если нейросеть не смогла выделить всех людей, то каким образом это может сделать Дятел? Результат гарантированно ошибающейся эвристики-нейросети корректируется тремя столь же гарантированно ошибающимися эвристиками. Да, разные эвристики будут ошибаться по-разному (каждая из эвристик даст своё кол-во людей - никаких 38 в помине не будет) и во многих случаях частично нивелировать ошибки друг друга. Но будут и другие случаи - когда в результате действия Дятла правильный ответ нейросети будет заменён заведомо ошибочным.

Sign up to leave a comment.