Pull to refresh

Comments 18

  1. Кто ни будь пробовал обучать одни у туже сеть несколько раз на одних и тех же данных каждый раз ограничивая минимальный размет токенов? Т.е. в начале размер токена - минимум 1 буква, второй проход минимум 2 слово, 3й проход минимум 3-4 слова. т.о. сеть будет видеть не только деревья, но и лес.

  2. Можете рассказать или дать ссылку на то как объединяют нейронные сети с блоками логического вывода? Почему в ЧатГПТ не удалось встроить простейший калькулятор, чтобы она не искала ответ сколько будет 2+2 в вычисляла - я так понимаю такие вычислительные блоки встраиваемые в нейросеть аналог программы для операционной системы. Т.е. ЧатГПТ - это операционка, а подключённый к ней Wolfram - это аналог экселовской таблицы.

"Кто ни будь пробовал обучать одни у туже сеть несколько раз на одних и тех же данных каждый раз ограничивая минимальный размет токенов? Т.е. в начале размер токена - минимум 1 буква, второй проход минимум 2 слово, 3й проход минимум 3-4 слова. т.о. сеть будет видеть не только деревья, но и лес."

Это как?)
Когда учат GPT, то подают блок токенов, например 512 токенов и учат предсказывать 513-й, во время работы сеть выдает распределение вероятностей токенов продолжения в ответ на некую входящую последовательность. Из этого набора различными методами (ядерного семплирования, поиска луча и т.п.) выдается следующий токен и так продолжается или заданное число раз, либо пока не встретится спец. токен окончания генерации.

  1. Да, это тема очень обширная и есть как минимум 2 подхода:
    а) использовать GNN (графовые нейросети) - тут в видео показан граф со ребрами-смысловыми связями и отношениями
    https://www.youtube.com/watch?v=oifFhoqmWso
    б) использовать CoT (chain of thought prompting)
    - этот подход наиболее известный и именно его с помощью промт-инжиниринга все и хотят приспособить к решению сложных задач, изобретая все более сложные промты, но т.к. он тоже авторегрессионный модель просто не способна понять того, что от нее требуют: изучить структуру в данных, вместо того, чтобы изучить более простые статистики слов
    https://ai.googleblog.com/2022/05/language-models-perform-reasoning-via.html

    третий является неким расширением CoT: MM-REACT выделяет специализированных экспертов по зрению с ChatGPT для решения сложных задач визуального понимания с помощью мультимодальных рассуждений и действий.
    в) https://multimodal-react.github.io/

А есть какие либо способы сжатия нейросетей с небольшой потерей качества по аналогии с JPEG ?

Квантование и дистилляция

Ваш вопрос про квантование?
Вот есть статья, тут еще и другие методы описаны: https://habr.com/ru/companies/doubletapp/articles/722798/

Вообще используя квантование вы можете запустить аналог ChatGPT у себя на ПК и уже вышло несколько разных репозиториев и моделей как это сделать. Но как раз такие модели все же хуже оригинальных.

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

А учитывая, что эмбеддинг, порожденный моделью, и так есть для каждого токена, построить усредненный эмбеддинг по каждому 1, 2, 3, 4, 6, 8, 12, 16, ... токенов и поместить их все в единый индекс должно быть крайне просто.

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

Для этого метода нужно обучить сеть, если будем так делать - напишу.

Не понял, какую именно сеть надо учить. Вашу? А что вообще тогда у вас есть готового? Только идея?

Чтобы Ваш метод заработал, нужно обучить сиамскую сеть, для поиска соответствия вопрос - сниппет. И в выборке должны быть сниппеты разной длинны.

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

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

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

Ваш вопрос очень обширный, я бы его обобщил.
Во-первых ваш алгоритм далеко не единственный, его можно существенно видоизменять, меняя параметры. Проведение текстов может занять недели 3, достаточно большое время.
К тому же мы еще в сентябре 2021го уже выпускали Объясняющую Question-answering систему, которая отвечала на русском по Википедии.
У нас есть опыт работы с ретривал QA системами, и там несколько проблем:
1. Обучить нужно retriBERT чтобы он доставал нужные сниппеты
2. Обучить также нужно и BART что он умел потом из них составлять ответ.
3. Повторять это нужно каждый раз, когда образ ответа (стилистика, его длина и тп) меняется в зависимости от бизнес задачи.
Но проблема же также и в том, что можно модели заменить - например взять T5 и прочие, вдруг они будут лучше. Мы плавно пришли к достаточно большому рисечу, который делают топ компании.

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

В-третьих, я соглашусь, что нужны численные бенчмарки, также они в процессе.

Покажу пример нашей QA системы 202го года на скрине, у нее конечно же было большое число проблем: начиная от объясняющей стилистики ответа, и до невозможности сравнивать предметы, также она не могла обработать ложную посылку, неполный вопрос:
(Как работает мозг? - мы как люди предполагаем что речь о мозге человека, а модель находит в Википедии 15 кусочков про мозги животных, про человека там тоже есть, но статья скорее всего будет только одна. Это значит что 90% вероятности, что ответ будет про мозг какого-то животного, при том сборная солянка и рандом. Этот ответ точно будет засчитан человеком как нерелевантный.)

Объясняющая Question-answering система (сентябрь 2021)
Объясняющая Question-answering система (сентябрь 2021)

Эту статью видели, где пытаются прикрутить логику аналог Системы 2 в дуальной модели псих. процессов? Сами фантазии ЯМ на трансформерах следствие моделирования ассоциативного уровня мышления — Системы 1, см. статью.

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

Нашел ваш анонс (https://dtf.ru/u/637184-viktor-nosko/1695665-rossiyskie-razrabotchiki-obyavili-o-starte-fractalgpt-analoga-chatgpt-i-gpt-4-ot-openai), где было сказано вот это:

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

Я не претендую на глубокие знания в области NN и трансформеров, но будучи регулярным пользователем последних, позволю себе не согласиться полностью с вашими выводами. По моему мнению то, что вы называется структурной проблемой требующей смены парадигмы и архитектуры, есть лишь побочный эффект сырости подходов в тренировке, файнтюнинге и сырости первых имплементаций. Кодогенерация ChatGPT образца ноября-декабря 2022 и кодогенерация ChatGPT сегодня это значительный шаг вперед. Я даже не говорю о dedicated трансормерах, типа GitHub Copilot, Amazon CodeWhisperer и прочих. А новые открытые и условно открытые модели, появляющиеся на рынке буквально каждую неделю, очень ярко подчёркивают этот тренд.

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

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

С помощью этой архитектуры никак не приблизится к уровня логического и критического мышления человека, не зависимо от того сколько параметров она содержит и на какой выборке обучается. Это особенно хорошо видно на примере операций с числами, т.к. их полного обобщения не происходит, а лишь частичная аппроксимация. Всегда найдутся примеры на которые будут выдаваться приближенные, или вообще не правильные результаты. Вот здесь приведены примеры для gpt 3.5 и 4. Для того чтобы такое обобщение происходило, как у человека при обучении на конечном числе примеров, требуется аналог процедурной памяти и процедурного мышления, а они полноценно могут быть реализованы только с помощью рекуррентной архитектуры. Трансформер сеть с прямой архитектурой позволяет реализовать (моделировать) ассоциативную память и ассоциативный уровень мышления, и лишь ограниченно, благодаря контекстному окну и авторегресси операции процедурного характера. Выше приводил ссылки на исследования. Возможно требуется как-то реорганизовать процедуру обучения, чтобы выжить из этой архитектуры максимум возможностей в этом плане, но принципиально решить проблему обобщения вряд ли. Есть и др. ограничения, здесь подробнее написал.


Естественно, у авторов статьи могут быть свои мнения на ваши замечания.

Sign up to leave a comment.

Articles