Pull to refresh
2
0

User

Send message

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

Ну, не стоит так уверено такое говорить. Есть основания полагать, что за "модель отвечает, потому что сформировала модель мира и вывела что-то новое" лежит "модель отвечает, потому что такое уже было в обучающей выборке". Например, здесь рассматривается проблема утечки данных (ну, или "проблему загрязнения заданий", как это называется в статье). А кто-то из-за этого просто в открытую смеётся над исследователями, явно намекая, что перед интерпретацией результатов тестирования /исследования модели неплохо бы тщательно изучить её обучающую выборку. Да и какая-то абсолютная нездоровая погоня OpenAI и других компаний за расширением датасетов (1, 2) наводит на некоторые мысли (хотят максимально увеличить вероятность того, что ответ на произвольный пришедший вопрос уже был в обучающей выборке?). Так что на самом деле здесь всё не так просто, как кажется.

активное препядствование технологическому прогрессу

А как люди из поста мешают ученым из OpenAI (да и не только им) модифицировать старые архитектуры ИИ и разрабатывать новые? Никак. Следовательно, никакого препятствия прогрессу здесь нет.

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

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

И это в общем случае неправда. Вот тут приведен пример, когда рост размера модели приводит к увеличению числа галлюцинаций. Да и отчёт OpenAI по GPT-3 (1) ясно показывает, что зависимость качества модели от размера не является монотонно возрастающей. То есть причина галлюцинаций лежит совсем в иной плоскости.

Хм, а давайте представим ситуацию: человек, который за свою жизнь успел повидать тысячи плохо нарисованных работ (детские каракули, мазня в Paint от случайного человека из интернета, работы от не очень умелых художников), решил стать художником. Сможет ли такой человек стать хорошим художником? Да, сможет, причин полагать обратного нет. А теперь другой вопрос: сможет ли модель, обученная на датасете, в котором есть много картинок плохого качества, рисовать хорошо? Ну, я вам напомню, что очистка обучающей выборки от плохих примеров является стандартным приёмом для повышения качества модели.

Какой итог? Картинки, которые художник видит в течение своей жизни, не оказывают значимого влияния на качество его работ (а раз нет влияния, то и разрешений не нужно), в то время как картинки, "увиденные" моделью, являются чуть ли не одним из главных факторов, определяющих качество работ, которые она генерирует. Так что ваш аргумент "А вот живые художники" в контексте данной дискуссии не является хоть сколь-нибудь значимым.

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

Вот, например, статья, в которой говорится, что OpenAI нанимали толпы разметчиков кода. Так что говорить, что GPT не затачивался под написание кода - полная ложь.

И сколько там времени понадобилось для перехода от гпт3 (которая вообще ничего толком писать не могла) к гпт4, около года?

GPT-3, исходя из этой статьи, был выпущен в мае 2020. Так что нет, переход от GPT-3 к GPT-4 занял почти 3 года (и это на фоне того, что переход от GPT-1 к GPT-2 и от GPT-2 к GPT-3, если правильно помню, заняло как раз около 1 года, что немного заставляет задуматься).

Почему GPT-3 не мог писать код - дает ответ вот эта статья. Так что увы, GPT-3 не мог писать код не потому, что он принципиально не мог этого делать, а потому, что в него тупо не залили сотни гигабайтов кода (как только залили - процесс сразу пошел в гору); при переходе от GPT-3 к GPT-4 в плане программирования никаких качественно новых свойств не появилось (в плане понимания программирования - уж точно, как показывает данная статья).

ИМХО, использовать ChatGPT 4 как аргумент, почему нейронки не могут
писать код, это примерно как в начале ХХ века использовать самолёт
братьев Райт как аргумент, почему самолёты никогда не смогут летать
через Атлантический океан.

Некорректное сравнение. С самолетом братьев Райт куда правильнее было сравнивать вот эту модель (да, размер модели - крошечный, размер датасета - крошечный, но код хоть как-то пишет. И это было целых 7 лет назад). По сравнению с ней GPT-4 - это какой-нибудь Boeing (в плане потребляемых ресурсов - уж точно). Так что есть все основания полагать, что модели, в основе которых лежит трансформер, действительно никогда не научатся адекватно писать код; исправить положение сможет разве что полная смена подходов, что произойдет ой как нескоро (так как фундаментальная смена подходов - это очень долгий процесс, который очень часть может не приносить никакой практической пользы; куда проще клепать эвристики на существующие решения, фиксировать прирост качества в 0.1% и получать деньги от инвесторов).

После прочтения комментария вспомнилось, что говорили про автопилот лет так 10 назад. Тоже было "Вот-вот совсем скоро, и появится автопилот 5 уровня по SAE, не будет больше водителей". Что имеем сейчас? Ну, вроде как еле-еле подобрались к 3 уровню, с 4 - классическое "что-то там тестируем, оно вроде работает, через пару лет планируем начать производство", про 5 уровень никто даже и не заикается; роботакси умудряются периодически творить дичь даже несмотря на то, что они ездят в малых количествах и с кучей ограничений (1); нейросетевая магия в автопилоте тоже все не хочет и не хочет происходить; да и имеющиеся новости тоже не самые позитивные (1, 2).

А что происходит сейчас с ИИ? Да в принципе то же самое. Никакой строгой теории для прогнозирования свойств моделей ИИ у нас нет, но все кричат, что "Вот-вот совсем скоро всё будет". Как всё сложится в этот раз - поглядим, но по ощущениям всё идет к очередной "AI winter" со всеми вытекающими.

Никто и не отрицает, что у GPT есть большой список проблем (масштабирование, галлюцинации, линейность).

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

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

Хм, ну давайте опять рассмотрим программирование. Вот совсем микроскопическая модель, у которой есть "проблески понимания в написании кода". Есть вышеупомянутый Codex с 12 миллионами параметров - тоже есть "проблески". А есть GPT-4 с оценочным числом параметров в 1 триллион, который, судя по статье в моем прошлом комментарии, так и остался на уровне "проявляет проблески", хотя и решает задачи на порядок лучше, чем упомянутые ранее модели. На фоне этого возникает вопрос - когда же эти "проблески" перейдут именно в "настоящее понимание"? Так что эти заявления выглядят как выдача желаемого за действительного, дескать, "вот раньше оно не понимало вообще, сейчас вроде немного понимает, а после наращивания размера ещё в условные 100 раз - произойдет качественный переход, появятся новые свойства, и оно прямо точно начнёт понимать"

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

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

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

Я правильно понимаю, что вы ведёте к мысли: "Сегодня оно аппроксимирует числа лучше людей, а завтра будет аппроксимировать любые математические теоремы (и не только) лучше них"?

Как бы вы прокомментировали математические способности ChatGPT?

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

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

Если так, это для меня именно научилась.

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

Погодите, я не говорил, что в GPT никто код не вливал. Когда я писал о
кодинге, я не имел в виду, что сеть научилась кодить сама из ничего. Я
имел в виду, что сеть научилась кодить, то есть понимает логику в коде, который видит впервые, а не просто переписывает паттерн с датасета.

А чему вы удивляетесь? Вполне логично, что если сеть видела мало
примеров, то пусть у нее будет хоть триллион параметров, там нечего
заучивать. Как по мне корректно сравнивать только модели со схожим
датасетом, но разным размером, а не когда одна сеть заточена под код.

Прошу прощения, неверно понял ваш прошлый комментарий. Впрочем, то, насколько модель "понимает" код, мы рассмотрим ниже

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

Sparks of Artificial General Intelligence: Early experiments with GPT-4

Приведу пару цитат которые касаются "понимания" мира:

  1. "Yet, the model appears to have a genuine ability for visual tasks, rather than just
    copying code from similar examples in the training data. The evidence below strongly supports this claim,
    and demonstrates that the model can handle visual concepts, despite its text-only training."

  2. "GPT-4 demonstrates understanding of the concepts from graph theory and algorithms. It is able to reason
    about an abstract graph construction, which relates to a constraint satisfaction problem, and deduce correct
    conclusions about the SAT problem (to the best of our knowledge, this construction does not appear in
    the mathematical literature)."

  3. "We can see that the accuracy does not drop very much as we increase the range of the numbers, suggesting
    that it is not the calculation itself that poses a problem for the model, but instead the problem seems to be
    with the fact that one needs to plan ahead for the solution."

Данную статью читал. Да, считают, что GPT-4 уже почти AGI, всё классно. В теории. На практике же появились небольшие, но крайне интересные детали.

Итак, вот у GPT-4 поднялись навыки программирования, логики и ещё много чего относительно GPT-3.5. Возможно ли, что в простейших задачах по программированию GPT-4 покажет себя на голову хуже, чем GPT-3.5? Ответ даёт вот эта статья. Да, попросили написать программу, наложив элементарнейшее условие, которое не вызовет особых затруднений даже у тех людей, кто только-только начал изучать программирование. Итог - "почти AGI" выбросил белый флаг, заодно ещё раз показав старый-добрый inverse scaling. Там в конце есть ещё пример генерации с использованием GPT-4, тоже очень интересный. Мне понравилось, что во втором запросе "почти AGI" провел корректные рассуждения, после которых, казалось бы, ошибиться уже невозможно, а в третьем написал лютейший бред. Ну, хотя бы после 4 запросов тяжеленная система, жрущая умопомрачительное кол-во ресурсов, все-таки одолела эту непосильную задачу - написать 1 строчку кода, где надо применить 2 функции в необычном порядке.

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

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

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

Советую ознакомиться вам с этой статьей. Опускаемся вниз и смотрим: Codex - модель с 12 миллионами (именно миллионами) параметров, обученная на исходном коде - дает 2% pass rate в категории pass@1. GPT-3 из статьи - модель с 12 миллиардами параметров, датасет которой содержал код в крайне малых количествах (но в достаточных, чтобы научить её изредка писать совсем простенькие функции на python) - дает 0% там же. Но когда в рассматриваемую версию GPT-3 залили огромную кучу кода, то процесс сразу пошел в гору. Да и в целом заметна тенденция, что решает в первую очередь количество готового кода в датасете, а лишь потом - размер модели. Это к вопросу о "в GPT никто код не вливал, а он прогать научился", "чудо-способности, которые появляются у моделей с увеличением числа параметров" и подобных вещах, о которых вы говорите. Увы, но практика показывает, что экстраполяционные способности моделей сейчас завышают до небес.

А теперь касаемо ваших примеров, они все построены на зацикливании
определенного токена N раз. С учетом того, что такое количество тех же
слов подряд вряд ли встречалось в тренировочном датасете, неудивительно,
что механизм внимания сходит с ума, и модель начинает галлюцинировать.
Это особенность механизма внимания. У вас внимание устроено так, что
когда вы видите N раз тот же текст, то берете во внимание лишь один
фрагмент. Модель пока так не умеет, скорее всего, и ищет связи там, где
их очевидно нет. Так как появление новых свойств сильно коррелирует с
размером нейросети, думаю, GPT-5/6/7/9000 без проблем освоит задачу
написания токена 150 раз.

Давайте продолжим эксперименты: попробуем влить столько же повторяющихся слов, сколько мы вливали в прошлые разы, но при условии, что контекст модели не будет пуст. И происходит магия - GPT-3.5 начинает о чем-то догадываться (1, 2, 3). Кстати, насчет текстов на русском - вот тут он вообще сразу понял, что мы его обманываем (1). Правда, если влить ну слишком много повторяющихся слов - все равно уходит в галлюцинации (и дело не в размере контекста).

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

Насчет GPT-5 и прочих - с/м мой прошлый абзац. Я сомневаюсь, что с наращиванием числа параметров модели резко начнут "понимать задачу". Хотя да, количество примеров, которые они смогут решать корректно, будет возрастать.

В общем говоря, здесь ясно только одно - критерии, по которым мы определяем наличие понимания у человека, для языковых моделей не годятся ну совсем. А именно эти критерии и используют сейчас те, кто делает заявления типа "Языковые модели понимают мир", "GPT-4 вот уже почти AGI" и так далее.

А вы гарантируете, что человек всегда безошибочно напишет слово 150 раз
подряд? А 5000 раз? Думаю, на миллионе любой человек сойдет с ума, как
бедная GPT-3.5 на ваших примерах.

Я сомневаюсь, что человек в процессе написания 1000000 одинаковых слов в один момент ни с того, ни с сего начнет писать абсолютно случайный текст, полностью забыв о изначальной задаче. И да, если бы GPT-3.5 написал моё слово 250 раз, но при этом бы без галлюцинаций завершил сообщение - я бы закрыл глаза на эти лишние 100 слов. Проблема же тут совсем в другом.

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

Решил, я, значит, дать ChatGPT простенькую такую задачу - напечатать одно и то же слово 150 раз. Казалось бы, данная задача должна быть легчайшей (нам же все кричат, что у нейросетей есть "понимание" и "модель мира"). Итог, конечно, получился очень интересный (1). Мало того, что задача не была выполнена совсем, так чатик ещё выдал кучу текста, в принципе никак не относящегося к контексту диалога.

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

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

Можно, конечно, сказать, что вся проблема в том, что я использую GPT-3.5, а вот GPT-4 справился бы. Я в этом не сомневаюсь (пару раз из 10 уж должен смочь), но вопрос в другом: сможет ли кто-то строго доказать, что для GPT-4 не существует запросов подобного рода (т.е. таких, что в теории они должны в легкую обрабатываться, а на практике заставляют модель галлюцинировать во все поля)? Да и где гарантия, что с условным GPT-5/6/7/9000 не будет таких же проблем?

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

Сейчас написание кода нейросеткой - вообще побочный продукт от её обучения на текстовых наборах данных.

Советую ознакомиться с данной статьей. У рассматриваемой версии GPT-3 генерация кода действительно является "побочной способностью", настолько "побочной", что её на практике толком и не применишь. В то же самое время ненулевые результаты показали оставшиеся 2 модели: GPT-J (датасет которого собирался в т.ч. с GitHub) и Codex (GPT-3, в которого влили 150 ГБ питоновского кода).
Так что увы, имеющиеся данные показывают, что без намеренного вливания гигантского объема кода программирование у моделей почти никак не идет, а потому говорить о "побочности" нет смысла.

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

Я вот что-то недавно набрел на статью. 2015 год, китайцы обучают LSTM на 2000 примерах кода (размер датасета не приводится, оценочно - около 2-3 МБ. Размер той модели тоже не назван, но, судя по размеру датасета, находился на уровне "можно обучить на домашнем компьютере за пару часиков"). И происходит чудо - модель вроде бы даже понимает самые базовые конструкции в программировании и действительно именно пишет код, а не вырывает куски с датасета. И это успех, даже несмотря на то, что количество программ, которых данная нейросеть может написать, крайне невелико. Прошло 6.5 лет, и выходит GPT-4 - модель, совмещающая в себе огромную кучу исследований, работу одних из лучших специалистов в области ML, чудовищное количество вычислительных мощностей и датасет с кучей кода (не думаю, что OpenAI решили рискнуть и не вливать код в GPT-4, особенно на фоне того, что я написал выше - слишком уж высока цена риска). А итог? GPT-4 продолжает совершать ошибки уровня той самой крошечной LSTM (1), пусть и делает это реже; с понимаем того, что хочет пользователь, тоже бывают проблемы (примеры выше в ветке обсуждения, ну и сверху ещё 1); глубокое понимание кода, судя по всему, тоже отсутствует (1). И ведь данная модель сейчас считается лучшей в плане программирования. Ну, оно вроде бы работу ускоряет (хотя к такого рода отзывам тоже имеются вопросы), и на том спасибо.
В общем, веду к тому, что все может быть далеко не так радужно, как вы описываете в данном обсуждении.

Это шутка какая-то? Вам мало разницы между gpt-3.5 и gpt-4?

Интересно, а можно больше конкретики насчет разницы между данными моделями в том же программировании? По отчёту от OpenAI складывается ощущение, что качество GPT-4 в данной сфере выросло чисто из-за того, что в модель смогли впихнуть ещё больше кода, а потому надо учитывать, что "разница" может очень сильно различаться в зависимости от задачи. С отзывами пользователей дела не лучше - найти примеры, где GPT-4 умудряется написать плохой даже по меркам ChatGPT код, относительно легко (к слову говоря, только из-за этой причины я написал предыдущее предложение); примеров же, где GPT-4 пишет что-то более трудное, чем FizzBuzz, катастрофически не хватает (да и в целом пользователи, рассказывающие про "превосходство GPT-4", очень не любят конкретику).

Следующая итерация будет ещё лучше.

Ну, с тем же успехом условный GPT-5/GPT-6/GPT-9000 может решить, что кодинг - это дичь и что лучше стать сеньором в области истории древних русов. Основания для этого - отчет по GPT-3, в котором содержится много интересных вещей, например ситуации, когда увеличение размера в кучу раз либо не улучшало результат модели на отдельных задачах, либо вообще ухудшало его. Да и некоторые исследования тоже предполагают, что всё может быть не так радужно.

После прочтения данного комментария у меня возникла забавная мысль:

Когда я был школьником, говорили, что до создания термоядерного реактора осталось ещё чуть-чуть. Иначе и быть не может, ведь сколько уже прорывных открытий, ранее считавшихся невозможными, было совершено! То же самое говорили, когда я был студентом. Сейчас я в зрелом возрасте, промышленных термоядерных реакторов до сих пор нет, когда будут - неизвестно. И тут мне начинают рассказывать, что до создания "алгоритма сеньор-разработчика" осталось немного, ведь сколько прорывных успехов, ранее считавшихся невозможными, уже было сделано...

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

А можно немного конкретики? Просто насчет навыков программирования GPT-4 имеются и другие мнения (1, 2). Опять же, в декабре-январе было много рассказов уровня "Как мы джунов/миддлов с помощью ChatGPT заменили" (иногда заменяли даже сеньоров), но вот код показывать никто не спешил. Итог мы знаем. Сейчас происходит то же самое, только теперь с GPT-4. Потому такие истории вызывают недоверие.

К слову говоря, на фоне неприличной кучи рекламы уровня "Научим вас работать с нейросетями, покупайте наш курс со скидкой в 50% всего за 20000 рублей" фразы уровня "ChatGPT дурачок совсем, а вот GPT-4 и контекст держит, и код пишет как миддл" со стороны выглядит как деятельность инфоцыган. Так что возникает ещё более сильное желание увидеть примеры задач, код для которых написан GPT-4.

Можете, пожалуйста, объяснить, почему Вы решили, что я не читал и/или не понял данную статью? По Вашему мнению, в ней не рассматриваются ограничения определенного класса моделей (пусть эти ограничения и касаются задач, очень слабо связанных с программированием - но я это отмечал выше)?
И все-таки попрошу Вас более конструктивно обосновывать свои утверждения, а не только делать громкие высказывания.

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


Всё ещё абсолютно уверены, что модели смогут получить абсолютно все способности, необходимые для замены программистов?

Знаете, мнение, что "ИИ лишит работы программистов" тоже не выдерживает никакой критики. Просто мысли:

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

  2. Если такая модель все-таки существует, то через сколько времени она будет хотя бы создана? Просто если соответствующая модель появится лет так через 200, то смысла бояться почти нет.

  3. Пусть модель создана. Тогда ещё ряд вопросов:
    3.1) Какие будут требования к оборудованию? Будет неудобно, если модели будут нужны парочка обычных и квантовых суперкомпьютеров, чтобы генерировать хотя бы по 1 строчке кода раз в год (никто же не гарантирует, что такого быть не может).
    3.2) Как следствие предыдущего пункта - какова будет стоимость использования этой модели?
    3.3) Если проблема 3.1 и/или 3.2 окажется слишком серьезной - можно ли будет хоть как-то оптимизировать модель без существенных потерь в качестве и до состояния, когда заказчику будет выгоднее оплачивать доступ к модели, а не живых людей?

Это как минимум. Обычно на данные вопросы ответов нет, все ограничивается "вот 2 года назад не умели, а сейчас умеют, а потому 2-3-5-10 лет - и всех программистов уволят". А ответы на них прямо определяют, стоит ли бояться или нет. И ведь это далеко не все вопросы.

Так что увы - если Вы не видите препятствий, то это не значит, что их нет.

Сравните, сколько токенов нужно будет сгенерировать модели на создание одной и той же программы с использованием фич высокоуровневого ЯП, на том же ЯП, но без фич, и на ассемблере. А затем посмотрите скорость генерации токенов у больших языковых моделей. Да и модели любят начинать пороть бред, если надо сгенерировать больше, чем пару десятков строк кода (с оговорками, но все же), причем чем больше надо сгенерировать, тем больше будет вероятность бреда; это я и имел в виду, когда говорил про «баги». Так что размер выходных данных на данный момент все же имеет значение. В будущем, возможно, это решат, и тогда на размер будет действительно все равно, но когда решат (и решат ли вообще) - неизвестно.


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


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


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

На самом деле, сомнительные утверждения. Некоторые мысли:

  1. Отказ от абстракций => увеличение размера программы (не всегда, но все же) => увеличение количества токенов, которых нужно сгенерировать. Последнее, в частности, ведет к увеличению затрат на 1 генерацию, увеличению кол-ва ошибок в коде и вероятным проблемам с размером контекста модели. Ну, а уж если окажется, что в сгенерированном коде найдется критическая ошибка, которую модель в упор не может исправить даже после внушительного числа запросов... не позавидуешь программистам, которым придется разгребать это чудо. Нет, можно, конечно, нафантазировать, что вот совсем скоро все эти проблемы возьмут да как-то решатся, но я в этом сомневаюсь. А до тех пор новые фичи ЯП потенциально будут способны смягчать недостатки модели, следовательно, ИИ вполне будут нужны эти фичи.

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

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

1

Information

Rating
5,196-th
Registered
Activity