Pull to refresh
4
0
Send message

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

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

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

У меня есть своё мнение по поводу причин галлюцинаций. Пока прочитал только заголовок, сейчас напишу свое мнение и пойду читать)

Какая функция LLM основная ? Меня недавно прям осенило. Основная функция состоит из двух процессов, которые выполняются одновременно. 1) Перевод текста из окна контекста во внутреннее представление, картину мира, но это не голая картина мира, она неразделима со вторым процессом. 2) Перевод внутреннего представления в будущий ответ.

И по сути LLM сводится к простому переводчику, он переводит с "языка" на котором к нему обратились в язык, которым он отвечает, через внутреннее состояние, которое оперирует концептуальным смыслом. Если убрать фазу перевода простого текста из затравочного контекста во внутренее представление, то роль LLM еще больше упрощается. LLM просто учится переводить между двумя языками, внутренего представления и человеческого текстового.

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

Галлюцинации возникают по причине того, что внутренее представление не до конца точное, и не соответствует на 100% смыслу тексту затравки. Т.е. не хватает параметров для полного описания всех ньюансов смыслов, имеющихся в обучающем корпусе. В начале восхождения LLM заметили простой факт, тупо увеличивая количество параметров, получаем меньшее количество ошибок и более корректные ответы. Просто детализация внутренней картины миры становится более насыщенной. Это как в том меме, где чувак держит в пальцах маленький кусочек бумажки с картинкой и щурится)) Ведь другое дело, когда бумажка это полотно на всю стену, где не только общий смысл картины рассмотреть, но и увидеть мельчайшие обьекты вдалеке, которые теперь стали видны. И можно более подробно описать увиденное, а значит лучше понять смысл картинки.

ps. Прочитал. Лучше автору не натягивать сову на глобус, тем более, если в тематике не совершенно не разбираетесь.

Для этой профессии тоже придумают свою нейросеть. Даже сейчас Sora не плохо выдает хорошие ракурсы и композиции. На уровне клипов из MTV. Вообще от умственных профессий похоже в ближайшие годы мало что останется.

Ещё есть poe.com - солянка разных чатботов.

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

Тоже об этом думал, что вместо текста надо обучать на аудио речи. Странно что пока нет прорывов в этом направлении. Наверное вычислительно это более затратно чем обучение на тексте. Напрашивается сам собой ИИ будущего, где можно будет говорить с ним на естественном языке.

Видимо статья очень устарела, судя по упоминанию GPT-3 и BigSleep (CLIP + BigGAN). Но актуальность свою не потеряла. Я немного разочарован, думал будет представлена практическая модель исследования вероятностей для GPT-3 и их интерференции. Нечто вроде составления всех вероятных комбинаций слов в глубину на определенное количество шагов и анализ полученных данных. Хотя бы что-то статистически значимое можно было бы вычленить, или же нет? В сравнении с блокчейном, где аналогично есть цепочка блоков - бывают конфликты цепочек, откаты. Вот бы нечто подобное увидеть в применении к LLM, используя анализ вероятных продолжений - смотреть "в глубь" и выбирать наиболее интересный пусть последовательностей. Так и галлюцинации можно уменьшить, наверное ?

Читайте внимательнее, OpenAI предупредила. OpenAI - это компания, предупредить они могут от лица своего руководства. Где вы нашли "предсказания" ? Где вы нашли "генерирования" ? Не очень адекватный у вас комментарий вышел.

ps. Новостью статья не является, потому что все описанные события произошли довольно давно. Сборная солянка из фактов. Кому-то заняться нечем.

Да вы правы, еще задержки будут при удалении считанного чанка. Чем больше размер удаляемого файла, тем больше задержка. На файловой системе ext4 и размере файла 200 гигабайт удаление могло занять секунд 10 и более. Но повторюсь, мои требования позволяли только локальный доступ к очереди и производительность мелких чанков устраивала.

Мне на php нужна была очередь, а подключать сторонние библиотеки не было желания. Требования к производительности позволяли использовать просто файлы для очереди с блокировкой на уровне файловой системы. В итоге сделал довольно простую и очевидную очередь на чанках. Добавление пакетов пишет в последний чанк, при его заполнении создает новый файл чанка. Считывание пакета считывает данные из чанка по указателю с его смещением. Как только все данные из чанка считаны, он удаляется, указатель переносится на следующий чанк. В итоге получилось элегантное решение с двумя точками доступа, одна это запись в конец списка, вторая считывания начиная с первого чанка. Добавление и получение из очереди блокируют очередь через flock($handle, LOCK_EX). Не тестировал, но уверен, что это решение более эффективно в плане производительности, чем использование Redis, RabbitMQ и им подобных (если требования позволяют)

ответы ChatGPT и вопросы пользователя должны быть маркированы. А самой диалоговой структуре ответов похоже был обучен на примерах через RLHF.
На старой GPT-3, диалоговое поведение сети достигалось просто префиксами вида:
Q: мой вопрос
A: [сеть писала здесь свой ответ]
Q: следующий вопрос
A: [следующий ответ]

Сеть быстро улавливала структуру QA диалога и продолжала ей следовать.

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

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

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

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

У автора самое глубокое понимание предмета, которое я видел. Попробовал себе представить и сравнить мыслительный путь в мозге и в ChatGPT как я это вижу (грубо) с точки зрения ведения диалога с другим человеком. Мозг принял аудио сообщение, которое расшифровалось на слова. Потом импульс от этих слов пошел дальше в отделы смыслового декодирования, где по ним был создан смысловой мыслеобраз услышанного. Далее сигнал мыслеобраза пошел в отделы обработки, где может долго волнами "крутиться" по отделам, перерабатывая суть образа, вырабатывая промежуточные результаты, которые рекуррентно могут быть повторно обработаны разными отделами. Пока на выходе не будет готовый результат, который не нуждается в дальнейшей обработке - это похожий слепок образа, который надо обратно передать в слова собеседнику. ChatGPT похоже во время обучения тоже выстроил свои отделы, отвечающие за разные функциональные способы обработки входящего смыслового образа. Только в виду своей структуры, это конвеер, и возможно нечеловечность ИИ в том, что вместо последовательных модулей обработки информация обрабатывается паралельно всеми "модулями" сразу. Ведь нет над-структуры, которая решает куда направить промежуточный результат ? В следующий модуль для обработки, или уже можно в речевой. Значит и структура должна быть проще, чем у мозга. Может эта над-структура и есть сознание ?

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

Возможно для достижения схожего эффекта для ChatGPT надо создать скрытый текстовой слой, где он будет размышлять над вопросом, задавая самому себе вопросы и критикуя себя аналогично AutoGPT (множество личностей). Ведь и мы порой в раздумии размышляем над своими словами и поступками, анализируем, прогнозируем. Вот этого слоя отрешенности думаю не хватает для ChatGPT. Чтобы он не сразу выплёвывал результат, а разбивал вопрос на составные части и итеративно приближался к решению/ответу. Схожие зачатки есть у BingChat и у плагинов ChatGPT. Проблему, описанную в статье в виде примера со скобками, вероятно можно успешно решать на текущих моделях, но с применением такого итеративного подхода. Если ребенка можно научить складывать числа "столбиком" (что тоже есть итеративный подход), то думаю поставленные задачи тоже надо в скрытом слое разбивать на простейшие мелкие этапы. Возможно еще потребуется составить дополнительные обучающие примеры, где нетривиальные задачи будут разбиты на подзадачи человеком.

Существует некая матрица весов параметров, которая теоретически соответствует минимальной ошибке и наиболее близко описывает текстовые корпуса, на которых обучался ChatGPT. У людей разве не случаются ошибки в словах, разве люди не путают слова, понятия, места ? Это такие же "галлюцинации" как у языковых моделей, только у здоровых людей это зачастую почти не встречается. Надо сначала приблизить текущие языковые модели к этой теоретически эталонной, чтобы уровень ошибок соответствовал как минимум уровню ошибок, допускаемых человеком) что-бы люди могли уверенно положится на такие над-структуры, агенты, как на самих себя))

А я на днях протестировал на сайте https://codepal.ai нейронку CodeGen, про которую я слышал в открытых источниках, что она удивительно обнадёживающая. Я кинул туда ТЗ для создания двух классов с наследованием друг от друга для реализации кастомного stream wrapper для виртуализации файловых операций для решения одной задачи, которую не смог до конца реализовать на ChatGPT 3.5 из-за ограничений размера сообщений. ChatGPT терял контекст даже через одно сообщение, полностью или частично. CodeGen на том же ТЗ подумал с пол минуты и выдал готовое решение реализации с двумя классами, более качественно откомментированное и реализующее именно то, что требовалось в ТЗ. Попробуйте и вы, там без регистрации можно несколько тестовых генераций запустить, потом после регистрации еще 5 бесплатных. Один минус, что поле для ввода ТЗ очень маленькое, но зато более вместительное, чем кажется по началу. Мой ТЗ в сумме состоял из 13 предложений. Не знаю какой там максимальный лимит.

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

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

Information

Rating
4,805-th
Registered
Activity