Pull to refresh

Comments 9

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


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


Прямо вижу что то типа IDE для chatgpt, какой файл в проекте тебе нужно открыть из (список файлов) чтобы ответить на запрос… и автоматический кодогенератор, который по команде ИИ создает, модифицирует, читает, документирует файлы проекта, запускает и тестирует (тесты по уму создает человек).


Размер контекста катастрофически мал. Работу модели нужно дополнять ее дообучением на коде проекта уже созданном ею который работает и исполняет тесты (только использовать не последовательные чекпоинты и базовый и переобучать на основе стартового, так как finetune портит модель, она начинает забывать что знала ранее)

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

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

Прямо вижу что то типа IDE для chatgpt, какой файл в проекте тебе нужно открыть из (список файлов) чтобы ответить на запрос… и автоматический кодогенератор, который по команде ИИ создает, модифицирует, читает, документирует файлы проекта, запускает и тестирует (тесты по уму создает человек).

согласен. только вроде тесты он тоже отлично пишет. по доке например.

Работу модели нужно дополнять ее дообучением на коде проекта уже созданном ею который работает и исполняет тесты (только использовать не последовательные чекпоинты и базовый и переобучать на основе стартового, так как finetune портит модель, она начинает забывать что знала ранее)

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

Какую? chatgpt?


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


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


Теоретически, если подбирать до обучающую выборку такой, чтобы в в нее входили все домены знаний из изначальной, то особого вреда это нанести не должно… но как это сделать правильно — хз.

примеры задач которые могут быть решены при помощи файнтьюнинга моделей openai перечислены тут. и среди них нет похожих на задачу описанную в статье. более того самую интересную по соотношению цена/качество/доступность - gpt-3.5-turbo - нельзя дотернировывать.
если вы знаете такие примеры приведите ссылку на колаб/гитхаб плз

можно
Fine-tuning lets you get more out of the models available through the API by providing:

Token savings due to shorter prompts


p.s. моя ошибка, у нас тут речь не про chatgpt, в статье говорится про gptj но сама описываемая идея имеет смысл для любых gpt LLM-ок, одна из их главных бед — ограниченный контекст

основная идея, если у тебя есть какая то информация, нужная для работы запроса — подсунь ее сети с помощью дообучения.


и я утверждаю что этот способ не идеален, так как 'портит' языковую модель

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

Непонятно о чем мы тут говорим.

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

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

Оба метода имеют недостатки и достоинства, и кстати друг другу не противоречат
Sign up to leave a comment.

Articles