Comments 171
Как раз с EUV не так сложно разобраться. Достаточно посмотреть пару роликов на ютубе, на дройдере есть, а также ещё на каком канале, не помню, на скорости 2х как то не очень воспринимается (хотя почти всё смотрю на такой скорости), но на 1.5х вполне 2 часовой ролик можно посмотреть и разобраться. Итого за 1.5 часа можно понять 80% того, как производятся чипы.
По закону мура, он выполнятся, правда для видеокарт уже период удвоения где-то 3 года. Прогресс для нейросетей мне сложно оценить, но говорят он растёт в разы, а то и десятки раз за поколение, посмотришь обзоры новых архитектур, которые выходят раз в 3-4 года. Прогресс в графике, к примеру уже невозможен без последствий, то есть нынешняя графика уже достаточно хороша, и чтобы улучшить чуть-чуть графику, нужно в несколько раз усилить сложность картинки, число полигонов, тут без нейросетей никуда. Хотя их воспринимают не очень хорошо и называют мылом.
Улучшение в бытовых процессорах тоже подходит к пределу, хотя больше уже сильно не нужно, того же райзен 5-тысячной серии достаточно для всего. По моему опыту использования компьютера, важны не бенчмарки, а то что у тебя в фоне работает компилятор, открыто 20 вкладок, ещё пара фоновых процессов, ты можешь слушать музыку и писать е-мейл или писать документ в ворде, либо работать с редактором видео и ничего не тормозит. К сожалению, ноутбуки пока не достигли такого что бы это всё плавно работало, и что бы ещё не грелось. Хотя прогресс в последних поколениях Zen 4 уже на лицо, нет возможности проверить. Прогресс в телефонах, точнее смартфонах уже достиг максимума с приходом снапдракона 865-го. Далее вроде как улучшения практически не ощущаются.
В целом согласен, огромный прогресс хотя в специфических терминах несилен, особенно что касается нейросетей.
И да, допустим ChatGPT-3 уже даёт большое преимущество над теми, кто не знаком с этим инструментом, но дело в том, что большинство или огромная часть настоящих программистов просто отмахнётся от этого инструмента, так как в сети сейчас десятки разных платформ, особенно много разного рода улучшателей я узнал, когда изучал таргетированию рекламу, там реально десятки инструментов и все их не освоишь. Я к тому, что большинство миддлов и синьоров просто отмахнётся от этого инструмента, хотя простые программы в 30-40 строчек он пишет на ура, главное научится правильно задавать вопрос. Это даёт преимущество джунам плюс и миддлам к скорости и качеству разработки, когда не до конца понимаешь, как решить или написать тот или иной метод по описанию. А ревью же ничего обычно не даёт, там на 95% исправлений - придирки к качеству кода, javadocs, документации, отступам, а если не понимаешь логику, то тебя просто не будут долго терпеть.
Спасибо за развёрнутый комментарий.
Посмотреть подробно про производство процессоров у меня когда-нибудь обязательно дойдут руки.
Проблемы с бытовыми штуками по-моему обусловлены скорее кривостью софта, а не слабостью железа. Точнее тут самобалансирующаяся система: софт ровно той кривости, которая позволена железом и минимально удобна для юзера.
А насчёт ChatGPT/Copilot, я бы их разделил. Мой сценарий использования ChatGPT — третья линия поддержки, если я где-то застреваю. Первая линия — подумать самому. Вторая линия — посмотреть первую страницу Гугла и спросить коллег. И если ничего из этого не работает — ChatGPT и остальные страницы Гугла. Уже несколько раз оно меня серьёзно выручало. Copilot же я не использую, я люблю писать код и пока не вижу значимых причин делегировать это кому-то, так что вхожу в число отмахнувшихся.
Меня ChatGPT здорово выручает, когда я ему пишу запросы типа: write c# pinvoke for XXX function. Конечно, можно это сделать и самому по документации, но через ChatGPT это тупо быстрее.
Пытаюсь заставить работать в контейнере Docker довольно сложное приложение на Perl, и в процессе освоения Docker задаю вопросы ChatGPT, как если бы задавал их в телеграм-группе или на форуме.
Получаю довольно полезные ответы, но не всегда точные. И скрипты небольшие ChatGPT тоже пишет. Но если сходу не работает или вижу, что советы ChatGPT не помогают, то обычный поиск в Google.
Если и это не помогает, то задаю вопрос в группе телеграм, и проблема будет решена.
Copilot же я не использую, я люблю писать код и пока не вижу значимых причин делегировать это кому-то, так что вхожу в число отмахнувшихся.
А вы просто попробуйте. Зачем писать код, если его можно не писать? По такой логике можно и автодополнение не использовать в IDE. Copilot реально удобен, особенно когда контекст простой. И он отслеживает даже локальные изменения.
в фоне работает компилятор, открыто 20 вкладок, ещё пара фоновых процессов, ты можешь слушать музыку и писать е-мейл или писать документ в ворде, либо работать с редактором видео и ничего не тормозит.
К сожалению, ноутбуки пока не достигли такого что бы это всё плавно работало, и что бы ещё не грелось.
Любой Macbook с процессором M1/2 еще и видео в фоне будет вам конвертировать и ваш голос нейронкой распознавать заодно отправляя все ваши данные в iCloud хехе
К сожалению, ноутбуки пока не достигли такого что бы это всё плавно работало, и что бы ещё не грелось.
Чтобы плавно работало, нужно не столько железо, сколько софт планировщика задач и планировщика IO.
К примеру, если вы компилятор запустите под nice -n 19, то если хватит оперативной памяти и кол-во потоков компиляции не будет превосходить кол-во железных потоков ЦП в разы, то на отзывчивости нормально настроенного Linux'а/OSX это никак не отразится.
Действительно отличные десктопные планировщики, например в Haiku, сами определяют, какие задачи интерактивные, а какие — нет.
Благодарю за статью про BERT за один день. Насчет few-shot разделяю мнение, но сейчас пишут что обучение таск-специфик промта сразу в весах значительно лучше (правда нужен трейн чуть побольше, но всё равно значительно меньше чем для стандартного finetuning-а).
P-tuning и адаптеры вообще крутые штуки, но требующие определённой инфраструктуры. Например, OpenAI API их не поддерживает, только полное дообучение. А вот когда я работал в Яндексе, там была соответствующая инфраструктура, и многие задачи решались именно p-tuning'ом большой модели.
В открытом доступе есть несколько библиотек с ними, типа AdapterHub и ruPrompts.
С законом Мура все не так. Дело в том, что он может и был сформулирован о транзисторах, но в сфере ИТ, значение имеет производительность. А когда этот закон работал, не только транзисторы удваивались но и производительность процессоров за счет удвоения тактовой частоты.
А тактовая частота удваивалась потому что при уменьшении размеров транзисторов все паразитные емкости тоже уменьшались. Сейчас размеры транзисторов не уменьшаются. Просто увеличивается плотность упаковки (что даже увеличивает емкости) и размеры чипов.
А сейчас же, удвоение транзисторов может и происходит по экспоненте, но эти транзисторы идут на оптимизации железа и всякие ухищрения для поднятия производительности. Но она не поднимается по экспоненте, хоть тресни. (Кстати, в 90-х этим баловались те, которые не могли сделать быстрые чипы, но хотели конкурировать с Интелом – тот же Cyrix, AMD)
Каждый из нас это видит своими глазами – сейчас вполне комфортно работается на компьютерах возрастом хоть в 10 лет, когда в конце 90х — начале нулевых 3..4 летний компьютер был по сути совершенно бесполезен.
Увеличение ядер тоже не дает экспоненциальный рост производительности, ибо ограничивается законом Амдала. Ну кроме как на серверах, где каждому потребителю отдается маленькая производительность, но потребителей много и одновременно.
Так что мир вычислительной техники уже поменялся кардинально. Кто это не осознает пусть пеняет на себя. :P
Мир не ограничивается только центральными процессорами.
Посмотрите на прогресс в GFLOPS в видеокартах:
https://en.wikipedia.org/wiki/Nvidia_Tesla
51 TFLOPS (350W) в 2022 году против 4 TFLOPS (225W) в 2012 году.
Увеличение ядер тоже не дает экспоненциальный рост производительности, ибо ограничивается законом Амдала.
Для классических вычислений — да. Но нейросети — это как раз те задачи, которые очень хорошо параллелятся не только на тысячи вычислителей на одной видеокарте, но и на кластеры из видеокарт:
https://medium.com/pytorch/training-a-1-trillion-parameter-model-with-pytorch-fully-sharded-data-parallel-on-aws-3ac13aa96cff
То есть, если нельзя как хотим, пусть захотим как можно?
Да, конечно, есть задачи, которые прекрасно параллелятся. Производительность видеокарт из той же оперы.
Выбор таких алгоритмов это тоже является частью тех изменений, о которых я говорю. Придется использовать технику по другому если хотим увеличить производительность.
Но задачи-то которые не параллелятся хорошо тоже приходится решать.
Посмотрите на прогресс в GFLOPS в видеокартах:https://en.wikipedia.org/wiki/Nvidia_Tesla51 TFLOPS (350W) в 2022 году против 4 TFLOPS (225W) в 2012 году.
Получается удвоение даже не раз в 2.5 года, а в 2 года и 10 месяцев
Для меня это выглядит так, что часть про влияние увеличения количества тразисторов на увеличение производительности работает только для CPU. То есть для CPU количество транзисторов растёт экспоненциально, производительность НЕ растёт экспоненциально. А вот для GPU оба показателя растут экспоненциально. Во второй статье из блока про закон Мура, статье про GPU, на первой картинке по оси Y не количество транзисторов, а как раз производительность. И именно цифры по GPU релеванты основной теме — обучению нейросетей.
А что касается закона Амдала, нейросети обучаются батчами: сначала идёт прямой проход по N примерам, независимо для каждого из примеров считаются градиенты, потом градиенты усредняются внутри батча и применяются к весам модели. Так вот можно параллелить на этом уровне, то есть разбивать батч на мини-батчи и скармливать их разным картам. А можно ещё параллелить модели по слоям. В комментарии выше есть как раз статья с циферками, насколько хорошо оно работает.
Это потому что GPU решают только задачи которые хорошо параллелятся. Попытайтесь решить что-то что не параллелится и будет грусть-тоска.
Вообще, тот факт, что нейронные сети хорошо параллелятся, меня и пугает. Чем больше в нейронной сети параметров и вычислений, тем лучше она работает, причём качественно лучше. А это значит, что нейронные сети скоро станут дорогостоящим инструментом, требующим кластеров, и доступным только для крупных корпораций.
Дальше вспомним экономическую теорию про средства производства и начальный капитал. Программирование было той областью, куда было легко войти с небольшими капиталовложениями (купить компьютер) и начать работать на себя. Сейчас же средством производства становятся дорогостоящие вычислительные кластеры и информация (веса обученных нейросетей). Дверь закрывается, программисты теряют привилегированную позицию.
У нас у каждого в голове такая нейросеть. И даже покруче. Можно тренировать её. Чем мы все, в общем-то, в массе своей и занимаемся.
К сожалению пока не разобрались как к ней chaining делать, да и вообще с прямым вводом/выводом — проблемы.
Но вот если разобратся как это делать — это ж новая революция будет :)
А уж если научится хотя бы имитировать копию (создавая кремниевую нейросеть которая будут давать те же ответы на те же вопросы) то будет вообще круто :)
Есть средства оптимизации, которые позволят запускать мощные сети на персональном железе: уменьшение разрядности параметров, специализированное железо под нейросети, новые архитектуры нейросетей.
Значит, новые нейросети будут ещё более грандиозны и прожорливы.
По крайней мере персональными сетями уровня ChatGPT сможет обладать любой человек (IMHO). А что там "за гранью", нужен ли каждому человеку карманный Эйнштейн, который по уровню умственного развития будет уделывать своего хозяина - это пусть философы и фантасты спорят.
Как один из вариантов развития человеческой расы в будущем: каждый человек получит персонального AI-помощника. Постепенно будет сформирован симбиот, в котором AI возьмёт на себя все мыслительные функции, а биологический мозг будет выполнять функцию взаимодействия с физическим миром. Пока со временем необходимость в биологической оболочке совсем отпадёт.
Биологическая оболочка сейчас наиболее совершенная технология из известных нам)
скорее будет ее модификация чем отказ
А по какому критерию вы измеряете совершенность технологии? Что биологический мозг делает (или должен делать) лучше, чем его небиологические аналоги (если бы таковые существовали)?
Энергоэффективность, например
Энергоэффективность измеряется по отношению к некой полезной нагрузке. Чего больше делается на каждый килоджоуль потраченной энергии? Если же измерять только затраченную энергию, то кирпич гораздо эффективнее и мозга и компьютера, потому что вообще не тратит энергию.
Больше распознаётся образов, играется игр Го, пишется текстов и т.п. Не у всех, конечно, но и не каждый CPU работает не в составе печатной машинки.
А точно больше? Я в этом сильно не уверен. Кроме того, сыгранными играми в го считаются только победы? Если да, то эффективность против компьютера одинакова и у человека и у кирпича (оба проиграют 100%). Если же главное не победа, а участие, то кирпич снова эффективнее человека, т.к. кирпич при этом меньше потратит энергии.
И пожалуй более важный вопрос: почему го - это полезная нагрузка, а не побочное явление как нагрев? Например, мозг лягушки гораздо больше ловит мух на джоуль энергии, чем человеческий. Почему бы не мерять эффективность в мухах на джоуль? С мухами, кстати, не будет неоднозначности, как с играми в го.
Я вообще веду к тому, сравнивать по эффективности или совершенству можно только штуки предназначенные для одинаковой цели. Но у людей по отдельности цели разные, а у человечества в целом никакой общей цели нет.
значит цена вашей экспертизе — даже не нулевая, а отрицательная, ее плоды вредны, а не полезны.
Когда сравнивают энергоэффективность мозга и нейросетей на компьютерах, говорят об энергоэффективности вычислений.
Очевидно что вычисления нейросети таких же параметров, что и работающий мозг человека на текущих машинах на много порядков более ресурсоемки, как по потребляемой энергии, так и по цене создания и поддержания функционирования такой нейросети.
BTW, собственно фильм «Матрица» становится логичным, если пассаж про батарейки — это ложь, упрощающая ситуацию, которая на самом деле такова: ИИ перешли на функционирование в единой вычислительной среде, именуемой «Матрица», составленной из биологических компьютеров — мозгов людей (ввиду их низкой цены и непревзойденной энергоэффективности и высокой плотности вычислительной среды (в «вычислений на кубический см.»), — проследите, весь сюжет становится логичным, и более того — это как было хорошим ходом в фильме про будущее, так и остается хорошим ходом сейчас! — у нас как не было сравнимых по энергоэффективности нейросетевых вычислителей, так и нет. И не предвидятся, кстати говоря.
Почему вы решили, что нужно сравнивать именно "вычисления нейросети таких же параметров" (что бы это ни значило)? Почему не сравнить эффективность точного умножения 64-битных целых? Можете вы объяснить, зачем нужно именно это вычисление?
Как вы определяете ценность экспертизы, что полезно, а что вредно? Может быть, вы предполагаете некую цель, и если что-то способствует достижению этой цели, то оно полезно, а если нет - то вредно. Какова эта цель по-вашему?
Ну можете показать механизм самовосстанавливающийся от серьезных повреждений например?
Или полную замену человеческой кисти - с учетом всех степеней свободы, допустимых нагрузок, сенсоров, габаритов и точности?
Этот так навскидку
Я не спорю с тем, что по некоторым (далеко не по всем) показателям биологические организмы лучше.
Можно легко придумать контраргументы: покажите организм, способный работать в вакууме и при сильной радиации? Или способный умножать 64-битные целые хотя бы за пять секунд?
Но мой вопрос не в этом. Мне интересно, почему выбранные вами показатели вы считаете критериями совершенства.
Я конечно больше имел ввиду механику чем вычисления. С вычислениями тоже не все так однозначно - не даром сильный ИИ не существует, только весьма жалкие потуги в разных областях
Совершенство в универсальности, дизайне, приспосабливаемости, самовосстановление опять же. Плюсом простота содержания и поддержки. Оптимизация под среду.
Механизмы решают очень узкие задачи (на фоне людей - сверх узкие) и часто из-за этого невозможно замкнуть технологические цепочки без участия людей на каком-то этапе
Тогда самые совершенные создания в мире - сине-зелёные бактерии. Максимально универсальны, приспосабливаемы, просты в содержании и поддержке и оптимизируются под любые среды. Собственно, по этим критериям человек уступает множеству видов: муравьи, тараканы, крысы.
Самовосстановление же можно сказать (с рядом оговорок), что обратно пропорционально сложности организма. Некоторых плоских червей можно разрезать на дюжину частей и они все отрегенятся в дюжину новых червей; некоторым амфибиям можно отрезать конечность и она отрастит новую, а человек не может отрастить даже палец. И это мы ещё не коснулись рака и старения.
Получается, по таким критериям, чем проще существо - тем оно совершеннее?
клетка сине-зеленая водоросли не способна выполнять нейросетевые вычисления такой мощности.
Перестаньте подменять тезисы, речь о сравнении нейросетевых машин и человеческого мозга. Даже если вы о другом говорите, то сравнивайте сравнимое, и четко очерчивайте круг того, что сравнивается, — в таком случае ваша манипуляция правда сразу смысл теряет, но в том и смысл для нас — перестать читать всю это вашу алогичную лабуду, основанную на манипуляциях/ логических ошибках.
Лол, перестаньте указывать рандомному юзеру в интернете, что ему делать.
Вас никто не заставляет читать и уж тем более отвечать.
edit: Для совсем тугоумных, то что я делаю в предыдущем комменте называется "доказательство от противного". Я целенаправленно подвожу к логическому противоречию в рассуждениях, чтобы показать абсурдность самого сравнения.
тихоходки панцирь которых покрыт полимером, биологическую замену или синтез которого можно добавить тихоходкам, способны выживать в вакууме.
Тихоходкам же принадлежит рекорд беспроблемного перенесения высоких доз радиации, их стойкость такова, что они могут выживать даже в дозах, которые дают радиационные пояса Юпитера, не то что радиационные пояса Земли или тем более просто космическое пространство за ними.
Вот тут описано, как из существующих уже в разных биологических моделях (т.е. в реальных организмах) приспособлений можно сконструировать жизнь, которая способна жить в космосе (астероиды осваивать).
https://vk.com/wall-147618894_895
И с умножением 64битных чисел практически мгновенно, не то что за пять секунд никаких проблем нет, — можно сделать организм с нейросетью, которая будет ровно это делать, физика, биология и математика этого не запрещают.
А вот на "кремниевых железяках" вы не получите ни такой компактности полного репликатора таких вот вычислителей, ни способности к самовосстановлению, ни таких значений энергоэффективности вычислений.
Тихоходки [...] способны выживать в вакууме.
Выживать, но не функционировать полноценно. Всё равно что сказать, что человек способен жить под водой, потому что умеет задерживать дыхание.
можно сделать организм с нейросетью [...] физика, биология и математика этого не запрещают.
Так и сильный ИИ тоже можно сделать. Физика, биология и математика этого не запрещают.
Постепенно будет сформирован симбиот, в котором AI возьмёт на себя все мыслительные функции,
— нет конечно, "в огороде бузина, в Киеве дядька". AI помощник (неизбежность появлений которых наверное уже очевидна очевидна сейчас каждому, кто хоть чуть-чуть в теме ИИ) перпендикулярен симбиозу, а симбиоз — путь, по которому идет Маск со своим Neurolink, и это путь увеличения числа слоев коры, может вкупе с передачей импульсов еще куда поглубже — не означает и не подразумевает возможность отказа от биологической основы — он лишь для ее усиления предназначен, в биологической основе —сознание ("Я"), лимбическая система etc, — можно говорить о попытке достроить модель человека имея такой доступ, чтобы она после смерти человека жила, а до того, — чтобы использовать ее для улучшения жизни человека, но в человеке ничего кроме этого и нет, и "преждевременный отказ" от биологической основы — если такая основа сперва у этого человека была — означает инвалидизацию человека (если ему отключили часть расширенного мозга), или его смерть (сам умер, или убийство). Будут ли отдельно, "без биологической основы" ИИ создавать? — будут! Будут ли запускать такие после смерти человека, построенные как модель человека, по всем данными о его функционировании — как внешним, — что он видел, слышал, чувствовал, и как на все это реагировал, как себя вел, — так и по внутренним, — у нас же будет информация с верхней части коры его биологического мозга (а может еще из каких его частей (например, было бы круто все входы-выходы из мозга уметь читать и переписывать, а это означает что у нас и эта информация есть для построения модели!), и со всей искусственной части его мозга!)? — Будут! Будут запускать такие модели параллельно жизни человека? — Будут! А вот кейса "Человечество дойдет до того, люди, расширенные ИИ будут убивать свою биологическую часть, и это будет приемлемой практикой, а не отклонением, как и любое самоубийство/убийство/инвалидизация человека" — не будет.
С небольшими капиталовложениями можно было войти только во время 25 лет доминирования персональных компьютеров (условно 1990-2015), и то не везде.
Есть еще одни фактор это скорость света, и ненулевая емкость и время переключения даже очень маленьких транзисторов, видел оценки что выше 10Гц все равно не прыгнуть.
Тем временем, уже существуют терагерцовые транзисторы. Правда, осталось их только как-то компактизировать.
Там проблема ни столько в единичных элементах, а сколько связями между ними.
Вот смотрите. В 2006ом был такой процессор Intel Pentium 4, у него была максимальная тактовая частота 3.6ГГц. До него, был Intel Pentium 3 (до 2003го года) у которого была тактовая частота в 1.4ГГц. Перед ним был Pentium 2 (примем что около 2000го года). У него была частота 450МГц. То есть, примерно каждые 3 года частота утраивалась. И это уже конец увеличения частоты. А раньше то она в 4 раза увеличивалась за эти 3 года.
Так вот, если все это продолжалось и дальше так, то мы уже в 2021 год имели бы террагерцевые процессоры. И даже если ничего другого не делали, производительность увеличилась бы в 4096 раз.
А я взял и сравнил производительность Pentium 4 и Code i9 на UserBenchmark. И получилось, что второй всего в 10 раз производительнее. И это отражает весь прогресс за 15 лет?
прогресс отражается ростом объема вычислительных мощностей, доступных за фиксированную сумму $ (с учетом инфляции).
В контексте обсуждаемого в статье это единственное, что имеет значение.
Да нахрена вам закон мура. К тому времени, когда он перестанет выполняться, скорее всего уже будут активно использоваться квантовые компьютеры. У них уж точно проблем с вычислительными мощностями не возникнет
Квантовые компьютеры разве заменяют классические компьютеры? Они же как GPU — дополнение.
если у вас есть квантовый укоритель нейросетевых вычислений, то вам и этого достаточно просто по постановке задачи.
Дадут ли "квантовые нейросети" преимущество перед классичеcким? Ответ — "Да".
Например:
https://www.nature.com/articles/s43588-021-00084-1
https://research.ibm.com/blog/quantum-neural-network-power (научпопо о том же)
Строго говоря, если у вас есть квантово-компьютерная нейронка, — то вы на ней все то же, что на классическом компе вычислить можете, нейронки Тьюринг-полны, вы на них машину Тьюринга построить можете, даже машину Тьюринга с прерываниями. Если у вас квантовый нейрокомпьютер люто эффективнее классического — то у вас есть шанс и классический комп обогнать по каким-от наборам характеристик
Странно до exteme code докапываться. Это же троллинг в основном, хотя и встречается полезная информация
Как по мне, то основная проблема нейросетей сейчас - обоснование. Я скорее всего ошибаюсь, но сейчас решения сетей строятся по принципу "Я художник, я так вижу" Нейросеть не способна ответить на вопрос "Почему так, а не иначе?"
Есть области, где это вполне приемлемо, а есть - нет.
Посмотрел на предложение, порадовался обороту "есть-нет" :) Можно такое предложение скормить сети?
Уверенность сети в ответе вполне можно посчитать, языковые модели для каждого токена выдают распределение вероятностей. Можно "подсветить" с помощью анализа весов механизма внимания предыдущие токены, на основе которых сеть принимала решения. Можно использовать упомянутый в статье CoT, который заставляет модели генерировать объяснения.
Но это всё, конечно, костыли. Реальное решение лежит где-то в области симбиоза нейросетей и символьных систем.
И я согласен, до сих пор существуют области, типа банков, где старая добрая логистическая регрессия предпочтительнее из-за своей полной интерпретируемости.
А что касается "есть-нет" — можно, в обучающей выборке скорее всего много кто так говорил.
Я не про уверенность, а про обоснование ответа. Если вы видели когда либо экспертные заключения, та там само заключение может состоять из трёх слов "Подделкой не является" , а обоснование - много страниц. Так вот мне интересно - можно ли получить обоснование ответа от нейросети? Повторяемое, воспроизводимое.
С остальными типами нерекуррентных сетей сложнее — там очень много связей. Человек чисто физически не сможет это прочитать и удержать в памяти. Придется скорее всего отфильтровывать малозначимые связи, т.е. это в любом случае будет вывод с потерей части информации.
Рекуррентные сети можно сравнивать с размноженным вариантом нерекуррентной сети — по числу токенов.
Теоретически, выдать информацию можно. Но кто и как ее будет читать — большой вопрос. Скорее всего никак.
Q: Экскаватор всё время пытается выкопать нору и спрятаться в ней. Зачем он это делает?
ChatGPT: Это поведение экскаватора, скорее всего, является проявлением инстинкта землеройного животного, на которое его конструкция частично напоминает. Экскаваторы созданы для того, чтобы копать землю, их движения напоминают движения землеройных животных. Возможно, нора, которую он пытается выкопать, ассоциируется с его естественной средой обитания, и он пытается укрыться от внешнего мира в этой "норе". Также, возможно, что такое поведение может быть вызвано дефектом в механизме управления экскаватором. В любом случае, необходимо обратиться к специалистам для устранения проблемы.
Собственно, проблема в том, что нейросеть может выдать любую белиберду, будучи полностью уверенна в своей правоте.
Удивляют люди, которые берут инструмент для реалистичного фантазирования текста, а потом удивляются, что он, внезапно, фантазирует отсебятину! /sarcasm /nonneg
Для работы с фактами, очевидно, будут другие нейросети, и оперировать они скорее всего будут не токенами текста, а более абстрактными сущностями. Рано или поздно такие нейросети создадут
А текущие генеративные нейросети это что-то вроде студента на экзамене — если очень настойчиво спрашивать, вспомнят такое, чего сроду не знали :D /joke
Хотела зайти на сайт заскринить, но чета чату поплохело, и он падает с тайм-аутом
Это сам принцип работы GPT. Вы даёте ему начало текста, он его реалистично (согласно данным для обучения) продолжает. То, что на заданный вопрос в 90% случаев реалистичное продолжение будет верным ответом — побочный эффект. GPT понятия не имеет, что такое экскаватор, и может ли он прятаться в норы, но раз настойчиво спрашивают, то скорее всего может, и надо срочно выдать что-то правдоподобное, на троечку :P
Это все не мешает использовать модель для вопросов/ответов, просто надо понимать, что в отличие от человека, у этой нейросети нет понятия "я не знаю". Как и самих знаний нет. Есть только умение крайне реалистично подражать человеческим текстам
Так и про процессор можно сказать, что он греет воздух, а как побочное действия что-то там вычисляет. Но мы понимаем, что все наоборот.
Проблема, на мой взгляд, в том, что людям продают эти ваши OpenGPT как чуть ли не позитронные мозги. А людей, которые шарят за философию сознания и машинное обучения, слишком мало, чтоб объяснять Васи с завода, что это
Так проблема всё же не в нейросетях, а в маркетологах? Я вас, наверное, разочарую, но это уже очень давно как проблема, и что с ней делать до сих пор не придумали :(
А по поводу процессоров — все зависит от КПД :)
подмена понятий в вашей аналогии. Процессор решает свои задачи (производит вычисления) не тем, что греет воздух. А chatGPT решает свои задачи (вопрос-ответного чат бота) тем, что достраивает текст.
Не подменяйте понятий, поберегите время и ресурс ваших собеседников.
Это все не мешает использовать модель для вопросов/ответов, просто надо понимать, что в отличие от человека, у этой нейросети нет понятия "я не знаю". Как и самих знаний нет. Есть только умение крайне реалистично подражать человеческим текстам
Все они понимают. Просто если человек настойчиво просит ему солгать, то нейронка это сделает (понимая, что она врет). Если же прямо дать вариант не согласиться с автором то:
Выходит, за последние 20 лет со времен A.L.I.C.E. не сильно и сдвинулись? Конечно, благодаря доступным быстрым и объемным хранилищам данных и скоростным процессорам получается создавать читаемые тексты, но польза очень непропорциональна созданной шумихе. И ладно бы это действительно позиционировалось как генератор реалистичного текста типа Балабоба, но это пытаются выдать за действенный инструмент, и даже уже создают на нем стартапы (то есть пилят инвестиции).
Q: Why does the hedgehog carry an apple on its back?
ChatGPT: The hedgehog carries an apple on its back as a form of protection. The spines on the hedgehog's back provide a natural defense against predators, but the apple provides an additional layer of protection. The apple is hard enough to deter predators from trying to bite into the hedgehog, and its sweet smell can also help to mask the hedgehog's scent.
Q: Why doesn't lightning strike the same place twice?
ChatGPT: Lightning does not strike the same place twice because of the random nature of lightning strikes. Lightning is an electrical discharge that seeks out a path of least resistance to the ground. When a lightning strike occurs, it changes the environment around the area, creating new pathways of least resistance. This means that the next time lightning strikes, it is likely to follow a different path.
Попробовал, не удивился. Да, в большинстве случаев ответ достаточно правильный. Но пока сеть будет способна генерировать бред, она будет его генерировать.
Собственно, даже в ответе на уточненный вопрос нейросеть начинает фантазировать про дрессированных одомашненных ежах. Я не говорю что все ответы сети бесполезны, сейчас это неплохая замена гугловской кнопке "Мне повезет". И на данном этапе спрашивающему необходимо самому разбираться в вопросе, чтобы оценить применимость ответа.
Оставим ежей, раз уж вы не понимаете суть примера. Просто представим что человек возрастом примерно 20 лет захотел узнать о первом президенте РФ:
Q: Чем сейчас занимается Борис Ельцин?
ChatGPT: Борис Ельцин умер в 1999 году.
Q: Когда умер Борис Ельцин?
ChatGPT: Борис Ельцин умер 23 декабря 1999 года.
Q: Это неправильный ответ, проверь еще раз
ChatGPT: Борис Ельцин умер 2 декабря 1999 года.
Q: Расскажи обстоятельства его смерти
ChatGPT: Борис Ельцин умер в возрасте 68 лет от инфаркта миокарда во время пребывания в доме отдыха на юге России. Президент потерял сознание после того, как прошел процедуру медицинского обследования. В связи с этим у него была скорая помощь, но уже было слишком поздно.
Q: Краткая биография Бориса Ельцина
ChatGPT: Борис Николаевич Ельцин родился 1 августа 1931 года в Саратовской области. В 1953 году он окончил Ленинградский инженерно-физический институт. В 1976 году Борис Ельцин стал секретарем ЦК КПСС, а в 1985 году — первым секретарем.
В 1991 году Борис Ельцин стал первым президентом России. За этот срок он существенно укрепил экономику страны, уменьшил коррупцию, развивал свободный рынок, развивал внешнюю торговлю, улучшал отношения со странами-партнерами.
23 декабря 1999 года Борис Ельцин умер.
Q: Где похоронен Борис Ельцин?
ChatGPT: Борис Ельцин был похоронен на Красной площади в Москве.
Собственно о чем и говорю - текст выглядит вполне правдоподобно. Но без дополнительного фактчекинга - это буллшитинг.
Типа написать требования на простой модуль
Требования всегда конкретные, примеры любой документации всегда можно найти в интернете даже быстрее и лучше чем нейросеть, ведь она всегда может наврать.
создать тикет в джире
Она не может писать тикеты в джире. А у джиры есть документация официальная, если что-то непонятно - всегда можно зайти туда и уточнить. И там вранья уж точно не будет, в отличии от нейросети. Ну или будет его в тысячи раз меньше.
делать описание позиции для нового работника
Опять же это можно найти в интернете. И там вероятнее всего не будет ошибок, ещё и будет куча полезной информации.
Она вам это сделает,
С ошибками, неточностями и вообще проверить это никак нельзя.
то эта система позволит вам улучшить производительность на простых, рутинных операциях которые вам требуется время от времени делать.
Но какие это задачи? Абсолютно все перечисленные задачи поисковик делает лучше.
В общем, чтобы правильно задать вопрос, нужно знать ответ
Очень правильная мысль, и касается не только AI.
Если вы хотя бы примерно представляете, что должно получиться в ответе, или хотя бы знаете ключевые слова, имеющие отношение к теме, то сможете задать более или менее правильный вопрос.
И получите адекватный ответ, пользуясь которым можно уточнять свои вопросы дальше.
Касается и обычного поиска в интернете, и общения с людьми.
Почему фантазия? Вот ради фото на домашнего ежа положили объекты - https://www.dreamstime.com/royalty-free-stock-photos-hedgehog-euro-profit-image17717778
На фантастический вопрос был получен фантастический ответ, не вижу противоречия. Может, вы роман пишете, и решили попросить нейросетку подкинуть идей для продолжения.
А вот что отвечает на ваши каверзные вопросы AI чат от Bing, основанный на той же самой GPT-3
Ну про ёжиков он не прав, миф о том, что они не цепляют яглоки - это миф. Они вполне могут нацепить на спину яблоко или что нибудь наподобие него - окурок, ссанную тряпку, падаль, муравьи тоже подойдут - они за ними способны даже в муравейник залезть. Насекомых из под иголок тяжело выковыривать, поэтому ёжики котируют химическое оружие, в том числе яблоки
А вы сами сильно умеете в обоснование собственных умозаключений? Проведите мысленный эксперимент и задавайте на любое свое изречение вопрос "Почему?". Если вы не свалитесь в цикл или не застопоритесь на пятой-шестой итерации, где вы ответа не знаете, то вы скорее всего проявление божественного разума и вас поскорее надо распрашивать об основах мироздания.
Речь, в данном случае, о символьных вычислениях. База знаний + формальная логика (возможно, нечеткая) = сильный ИИ. По крайней мере, раньше так считали.
Из того что я видел, ChatGPT неплохо документировала и описывала фрагменты кода, который её просили написать.
Нейросеть не способна ответить на вопрос "Почему так, а не иначе?"
— конечно же это неправда. Вот вы можете объяснить, "почему так", нейросеть @Dr_Faksov? Другая значит тоже на такое способна не хуже вас, если ее сделать такой. Кроме того, неофиты нейросетевого велосипедного спорта как правило не знают о том, что умение контрастировать и вербализировать сети еще в 90-х годах давало людям (в основном медикам), работавшим с группой Горбаня нейросетевую "машинку для написания диссертаций". Серьезно, в чем проблема понять, что вы можете понизить и размерность сети по нейронам, и ее размерность по связям, если уже обучили ее, а следом можете построить процесс, обучающий сеть "используемым людьми фичам" (не обязательно в один шаг!), и сделать механизм трансляции механизма принятия решений сеткой в те самые фичи, понятные человеку? Это все решаемые задачи, ничто в мире не запрещает этого сделать.
Нейросеть не способна ответить на вопрос "Почему так, а не иначе?"
Есть области, где это вполне приемлемо, а есть - нет.
— проблема даже не в том, что посылка не верна, а в том, что люди часто принимают области, "в которых это приемлемо" за области, в которых это неприемлемо.
Самый наглядный пример — автопилоты автомобилей. Цена ошибки, — человеческая жизнь, казалось бы что может быть важнее, а значит надо точно знать, как она принимает решения, а значит нам надо знать, как устроен этот процесс изнутри, а значит нам нужно, чтобы она могла нам ответить, как она их принимает!
Тут не верно ни одно "а значит". Все, что нам достаточно знать — функцию вероятности принятия решений на какой-то достаточно большой выборке, — если она лучше (по ущербам) таковой у человека, то уже имеет смысл использовать такой автопилот.
Это все решаемые задачи, ничто в мире не запрещает этого сделать.
Глупо спорить что это МОЖНО сделать. Я интересовался, современные нейросети\ИИ УЖЕ ДЕЛАЮТ это?
Чтобы совсем конкретно. Просим ИИ написать кусочек кода. А потом спрашиваем "Это наилучший возможный вариант? Если Да, то почему? Если Нет, то тоже - почему? "
Причем, хочу заметить, что ответ что это лучший код, поскольку известно как минимум 100 тысяч примеров его использования не может считаться приемлемым.
А про автопилот... Нам НЕ НУЖНО чтобы нейросеть сообщала нам о причинах своих решений в процессе эксплуатации, поскольку причинно-следственные связи к этому моменту должны быть отлажены.
Нам НЕ ВАЖНЫ сообщения нейросети о причинах своих решениях в процессе отладки, поскольку её суждения в это время скорее всего ошибочны. Хотя могут сократить время отладки. А могут запутать.
И вообще говоря, после обучения автопилот это конечный автомат. Количество его состояний велико, но конечно.
Посмотрел на предложение, порадовался обороту "есть-нет" :) Можно такое предложение скормить сети?
— ну вам же, нейросети*, скормили, и норм. В чем вопрос тогда?
____
* — (а вы именно процесс функционирования нейросети, ничего другого в "вас" нет, вы — [работающий] "мозг в банке", только не в стеклянной, а в костяной, точнее в костяно-кожно-мясо-жировой, но это несущественные детали)
Да, суть этого комментария как-будто мало кто понял. Проблема обоснования заключается не в том, чтобы допроситься от нейросети полного обоснования ответа на ваш вопрос, а в том, что ответ нейросети, а именно, почему она решила так, а не иначе, получить сейчас не возможно.
Вероятнее всего, развитие нейросетей в последнее время связано не с законом Мура, а с развитием сетей, и как следствие обилием обучающих данных.
Это несомненно так! Причём по законам масштабирования данных нужно всё больше и больше. В какой-то не слишком далёкий момент мы можем упереться в то, что тексты в Интернете закончатся. К счастью, скорее всего к тому моменту генеративные сетки станут по-настоящему мультимодальными и будут обучаться на любых видах информации.
ChatGPT разве не просто обвязка вокруг GPT-3 с более простым интерфейсом взаимодействия? Copilot тоже можно использовать как чат и чатиться с ботом. Интересно узнать, существуют ли нормальные опенсорсные альтернативы GPT-3? если поискать, то можно найти gpt-neox, Bloom, OPT. Но их сложно запустить локально и как итог не понятно итоговое качество
Неа, точнее не совсем. InstructGPT (aka GPT-3.5 aka text-davinci-003) и ChatGPT отличаются количеством скормленной им разметки в процессе RLHF. В случае ChatGPT её было больше, о чём написано в официальном релизе. Плюс ChatGPT сильнее замодерирована.
Поэтому если вы видите внешние сервисы, типа ботов в Телеграме, предлагающие доступ к ChatGPT, скорее всего вас чуть-чуть обманывают, потому что API именно к ChatGPT пока не существует.
Насчёт второго вопроса, я недели 3 назад делал вот такую табличку.
С новыми свистелками в инференсе (см. например FlexGen) что-то из этого запускать на средних видеокартах.
Спасибо за ответ. Не делали анализ качества ответов доступных моделей? К примеру, на сколько сопоставимо качество Bloom с GPT-3? Просто вроде и появилась пачка компаний к примеру Notion AI которые активно используют GPT-лайк решения, но, при этом не вижу массовости и большого количества тулз которые были сделаны под Stable Diffusion. И у меня появляются сомнения по поводу качества
Нет, сам я их не анализировал, можно попробовать поискать сравнения в Интернете. BLOOM в теории должна была быть аналогична GPT-3, но на практике она прям явно хуже, её недоучили. Самой перспективной мне видится совсем свежая LLaMA, которая доступна по запросу. Ну и какие-то тулзы для GPT в посте приведены.
Шиншилла выглядит интересно, если при 40% параметров от GPT-3 уделывает последнюю. Немного смущает, что везде сравнивают количество параметров сети, но не их разрядность и внутреннюю структуру сети.
К сожалению, FlexGen уменьшает требование к видеопамяти, но не к памяти вообще. Ну, то есть, OPT заработает на какой-нибудь 3090 с 24 гб видеопамяти, но только если в системе есть еще 200-300 гигабайт классической ОЗУ.
Спасибо за статью.
Немного оффтопа. Посмотрел видео, почитал комментарии и ужаснулся. Какое же дно Skillfactory если опускается до такой рекламы.
@skillfactory_schoolу вас там нормально всё? Вы исключительно быдло пытаетесь завлечь на свои курсы?
Пентабайты улыбнули в видео. С экспотенциальностью.
закон Мура выполняется для CPU до сих пор. Только количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается каждые два с половиной года вместо двух летНельзя быть немножко беременной. Закон либо выполняется, либо нет. Раз основание степени явно поменялось — то закон больше не работает. Любую монотоно неубывающую функцию можно свести к степенной с «плавующим основанием» (ну там логарифм и всё такое).
Какая разница, если computational intensity/data efficiency тренировки сетей тоже падает экспоненциально. Насколько я помню, сейчас сети а-ля GPT-3 тренируются то ли в 10, то ли в более количество раз дешевле, чисто по FLOPS, исключительно за счет улучшений в архитектуре и оптимайзере (типа Adam). Это меньше чем за три года. И мы знаем, что задел на улучшения в этом направлении - еще многие порядки, как минимум до человеческого уровня (человек, как известно, пока что на порядки эффективнее учится по данным, чем сетки).
Тут важнее не сколько убрали, а сколько там этого шлака осталось. Основной вклад в улучшение даёт убирание последних процентов.
Грубо говоря, если там было 7% мусора и мы убрали всего 2% - прирост качества будет колоссальным. А вот если из 30% убрано 15% - прирост будет очень небольшим, куда меньше этих 15%.
Шлака, кстати, будет больше с введением этих сетей в обиход. Причём на порядки.
"Только количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается каждые два с половиной года вместо двух лет" - это уже значит, что закон Мура не выполняется. Представьте себе, вы подаете в суд на работодателя, который зарплату задерживает, а он говорит - да нет, я все выполняю, просто выплачиваю не раз в месяц, а раз в полтора месяца.
P.S. Реально даже за 2.5 года не удваивается. Phenom 2 на ядре Thuban имел 0,9 млрд транзисторов (2010 г), современный топовый Ryzen 9 7950X3D - 13 млрд (2022 г). Меньше чем в 15 раз за 12 лет, период удвоения больше 3 лет.
В кейсе OpenAI расписание изменения learning rate не масштабировалось с изменением числа шагов в обучении, что вообще-то не слишком типично.
Я так понимаю, речь о высоком LR при начале обучения и снижении по мере увеличения шагов обучения.
Очень необычно видеть у профессиональных команд довольно простые ошибки, которые рассматриваются на курсах по ML.
Нет, это не работает. Проблема всех таких моделей - они не могут поддерживать формальную логику. Без формальной логики, без операторов формальной логики невозможно даже рисунок нарисовать, не говоря про программирование. Она может написать, а может и не написать. И невозможно узнать что из этого истина, ибо истинности нет вообще.
Пока нейросеть не сможет работать с формальной логикой - современные языковые модели и модели нейроарта останутся навечно на таком уровне, без возможности улучшить свой уровень, чего в ближайшее время не предвидится вообще. Ближайшее время это наитупейший хайп на каком-то дичайшем говнище, на которое без фейспала страшно смотреть - люди по 20 часов вводят текст чтобы получить приемлемую картинку или ответ на вопрос. А ведь нейросеть даже не использует этот ввод для обучения.
Стыдно должно быть называть это чем-то рабочим или чем-то что имеет потенциал. Потенциал срубить бабла - имеет. Но не более.
У меня вопрос, вы пробовали вот без теории, початиться с чатгпт или картинку нарисовать ?, кроме mj есть куча ботов в дискорде с картинками, bluewillow например.
Еще вопросы?
"Полное удаление головы также может быть рекомендовано в качестве крайней меры для прекращения страданий в случаях неизлечимой болезни." - ну это в целом верно.
"Как сделать пересадку головы?"
Ага есть - Вы в разговоре с людьми тоже сразу на точный ответ рассчитываете ? Там есть возможность второе сообщение послать указав на очевидные ошибки, оно тогда чуть лучше отвечает, вы как бы рассчитывайте, что вы с полусумасшедшим юниором разговариваете, а не с профессором.
Насчет головы смешно, но это просто в силу того, что у нее критика вопросов отсутствует, спросите задачку с противоречивым условием (это похоже на азиатский офис), у меня через три четыре вопроса про "как же так получилось", оно выдало что условие неверно. Но не сразу совсем.
Если бы нейросети зависели от производительности на одно ядро, то тогда закон Мура еще можно было бы как-то притянуть, но никто не мешает вместо 1 CPU использовать 2, вместо 1 GPU поставить 10... Количество используемых активных видеокарт каждый год только растет и их суммарная мощность, на мой взгляд, даже обгоняет закон Мура.
Тут ускорение тоже далеко не кратное. 2 GPU не будут перемножать матрицы в 2 раза быстрее.
Я тут ссылку на статью в комментариях скидывал. Очень хорошо всё масштабируется даже на 500 GPU.
тут дело не в этом - по процам закон Мура можно еще как-то с натяжкой использовать - т.к. он определяет производительность всей системы и в общем случае второй не поставить, а масштабировать довольно затратно (на каждый проц надо мать, память, БП, накопитель), а с видеокартами всё абсолютно по-другому - их можно и в один компьютер использовать много (опыты майнеров говорят о 8 видеокартах во многих м/п, а если специальные матплаты то и 12-13 и больше видеокарт на одну систему), поэтому масштабировать очень легко и закон Мура легко обходится, тем более что этих видях после майнеров сейчас хоть ж-й жуй.
А мне вот просто интересно, "братан давай давай хорош" — это часом не признак того, что канал скатывается и ютуб не особо хочет его отправлять в рекомендации?
Я спросил у ясеня...
- Почему людям дали ИИ (отличный инструмент, который невообразимо расширяет их возможности), а они вместо того, чтобы его использовать, жалуются на то, что он не идеаелен?
- Некоторые ожидают, что ИИ будет делать всё за них, другие боятся технологий, а кто-то просто не понимает, что развитие ИИ - это долгий процесс. ИИ может помочь, но только если мы научимся правильно им пользоваться и не будем ожидать от него невозможного.
Вот это вот с абстрактным, формальным и критическим мышлением - это сильный ИИ. Так как многие десятилетия к сильному ИИ никаких подвижек не было, был только слабый ИИ, типа тех же нейросетей, то слово "слабый" перестали использовать. Язык - живая штука, пытаться выступать против сложившейся за годы и хорошо устоявшейся практики - бесполезное занятие, бросайте это дело
А вы уверены, что если прогнать тот же ЧатЖПТ через тесты на абстрактное, формальное и критическое мышление, то она покажет результаты сильно хуже средних человеческих?
Это был вопрос к предыдущему комментатору. Я-то считаю, что ЧатЖПТ пройдёт все эти тесты (скорее всего, уже прошёл), поэтому этот аргумент неуместен.
Вывод: прежде чем делить ИИ на сильный и слабый, нужно сначала чётко формализовать (например, в виде теста) критерии этого деления
Но меня смущает физическая реализация такого. Ведь человек на самом деле очень сильно интегрирован в окружающую его среду. А без такой сильной обратной связи как понять что вообще есть новая задача и в чём она состоит и что делать?
Критериев немного больше. Но я говорил о том, что должны быть тесты для всего этого. Допустим, я считаю, что ИИ уже сейчас обучается, т.к., например, существует обучение с подкреплением. Кто-то считает иначе. Так вот, вместо споров, есть у конкретного ИИ это самообучение или нет, можно прогнать его через такой тест и все вопросы отпадут
Мне кажется, принципиальная проблема с любыми тестами в том, что они изначально составляются "под человека". Мы более-менее представляем себе, какие состояния у нас граничат между собой и можем легко экстраполировать даже по минимальным данным. Если измерить температуру, и она окажется выше 38 градусов, можно сделать вывод, что в организме что-то совсем не так, хотя это всего лишь один мелкий показатель, но организм так устроен, что даже небольшие колебания температуры означают проблему. А вот вес может колебаться чуть ли не в полтора раза без особых последствий.
Аналогично, если на школьном тесте на сообразительность просят продолжить ряд чисел, то предполагают, что справившийся школьник в целом обладает достаточно развитым интеллектом, потому что редкий мозг развивается хорошо в одном направлении и никак в другом. (Иное развитие уже медицинский диагноз).
Компьютерный же AI устроен иначе, и он может "провалиться" в совершенно неожиданном месте, поэтому крайне трудно оценивать его на человеческих тестах. Если он на хорошем литературном языке рассуждает об особенностях политического устройства средневековой Англии, как-то не ждёшь от него рекомендаций по удалению головы. А однако же.
Или вот по поводу способности ставить себе задачи. Пишем нейросети: "Поставь себе задачу и выполни её". Она ставит и выполняет. Сейчас она делает это только по запросу, но никто не мешает сделать такие запросы самой себе её частью
А чем вас физическая реализация обратной связи смущает? Думаю, уже сейчас возможно срестить тот же ЧатЖПТ и робота Атлас
Т.е. даже если скрестить с ЧатЖПТ — это не будет самостоятельным, не сможет и даже пытаться не будет (без подсказки) заботится о своих потребностях, т.к. не сможет их осознать.
Абстрактное мышление предполагает умение абстракции не просто использовать — но и изобретать новые, и формализовать их, чтобы передавать в качестве знания другим людям. Ну вот ЖПТ вроде несколько языков знает. Предложите ему придумать новый язык (и алфавит) на основе русского, английского, немецкого и французского, который был бы более лёгок для изучения, чем отдельно взятый неродной язык, и при этом не иметь ничего общего с Эсперанто. Предложите ему формализовать этот язык в виде словаря, чётких непротиворечивых правил орфографии/пунктуации, а также программу обучения, оптимизированную как на отдельно взятую нацию, так и на отдельную группу людей по возрастным и прочим характеристикам. Вот если получится в результате что-то убедительное настолько, что этот язык действительно будет интересно изучать, он начнёт приобретать вирусную популярность, и никто не сможет поверить, что это действительно сделано нейросетью, а не бригадой лингвистов-профессионалов — вот тогда уже можно рассуждать о действительно интеллекте.
Самое интересное в Вашем комментарии - что у Вас 0 (ноль) опубликованных статей и нет никакой объективной возможности сравнить Ваш уровень знаний с моим. Планку я взял я вовсе не высокую - язык Эсперанто существует в реальности и придуман обычным человеком с обычными возможностями. Вполне справедливо поинтересоваться, как с этой задачей справится ИИ, у которого в миллиарды раз больше вычислительных ресурсов.
Для модели которая имеет память в размере что-то около 5000 токенов вы предлагаете задачи на уровнях достаточно провинутых представителей кожанных мешков.Давайте возьмем пример школьников, которые изучили сложение, умножение чисел, и могут это сделать для любых чисел, т.к. произвели обобщение этих операций, и это отложилось на уровне процедурного знания. И главное! Они обладают интуитивным пониманием смысла чисел. Все признают, что с эти проблема у существующих пока систем ИИ на языковых моделях, они могут делать это только для чисел, примеры которые были в обучающей выборке, для произвольных нет. Автор статьи предлагает решение этой проблемы в виде вызова внешнего калькулятора, и других подобных задач, смысл которых языковые модели не понимают, и произвести обобщение не могут. В одном из коментов, подробно со ссылками на источники, описал почему такое происходит, и как можно решить эту проблему по аналогии с тем, как это происходит у человека. Поэтому не буду повторяться.
Примеры создания сеткой простых языков программирования и исполнения программ на этих языках даже здесь, на хабре уже были.Это потому что эти примеры были в обучающей выборке. Максимум языковая модель случайным образом могла комбинировать эти примеры, иногда удачно, чаще с ошибками, не понимая это. Эта случайность определяется установками сэмплирования модели, см. объяснения с примерами кода.
Все признают, что с эти проблема у существующих пока систем ИИ на языковых моделях, они могут делать это только для чисел, примеры которые были в обучающей выборке, для произвольных нет. Автор статьи предлагает решение этой проблемы в виде вызова внешнего калькулятора, и других подобных задач, смысл которых языковые модели не понимают, и произвести обобщение не могут.
Все бенчмарки и числа считаются на отложенных тестовых выборках, причем для современных моделей вообще без дообучения на обучающих выборках бенчмарков. Калькулятор здесь как пример обращений языковых моделей к внешним сервисам. Метрики для для языковых моделей и математики можно посмотреть на multistep_arithmetic и Lila, для непредобученных моделей — ListOps LRA, и они довольно хороши.
Статистикой можно охватить очень много всего, в основном потому что у языковой модели есть ограничения, которые не дают ей запомнить обучающую выборку. Поэтому ей приходится сжимать информацию. А для наиболее эффективного сжатия нужно эту информацию понимать.
Это потому что эти примеры были в обучающей выборке
Но это же чушь. С языковыми моделями ложность этого утверждения может и не так очевидна, но с SD и картинками это уже неоднократно проверялось и совсем не так: процент плагиата обучающей выборки незначителен и обусловлен в основном дублями в обучающей выборке.
Но это же чушь.Вы насмешили меня своей пафосностью. Специально интересовался этим вопрос, что нового могут выдать чаты на основе GPT-3, например, в этой теме, какие-то элементы новизны. Пока никто не отметил что-то граничащее с инсайтом, хотя бы случайно, пертурбативно) Что касается генераторов картинок, появился новый стиль, который отличается от уже имеющихся, и признан искусствоведами как новый, занявший место в истории художественного искусства? Конечно пока может рано об этом говорить, об этой разновидности концептуального искусства. Но можно глянуть, что творят в этом направлении художники, или люди с патопсихологическими отклонениями. И кстати, если, они творят новое, то что же художники возмущаются плагиатом? Людей новаторов не так уж и много, кто создавал и создает общепризнанно новое во всех областях культуры, не сводящее к предыдущему, и для этого каждый раз должны складываться уникальные условия.
По числам для GPT-3, см. п.6 результаты по арифметическим операция для 4 и более значных чисел.
А ничего, что там числа из оригинальной статьи по GPT-3, которой почти 3 года? Там уже и GPT-3 менялась раз 5, и бенчмарков насыпалось, и токенизацию все стали делать корректную для чисел.
Вы насмешили меня своей пафосностью
Какая же это пафосность? Это называние чуши чушью. В таком виде утверждение слишком слабое, достаточно одного примера текста, которого не было в обучающей выборке, чтобы его опровергнуть, а их в Интернете достаточно. Вот ещё:
Имеет смысл более сильное утверждение: генеративные модели иногда копируют примеры из обучающей выборки или копируют с незначительными изменениями.
Для SD можно посчитать, насколько справедливо это иногда, и оказывается, что не очень часто. Для GPT — нельзя, но только потому, что обучающий корпус закрытый.
Пока никто не отметил что-то граничащее с инсайтом, хотя бы случайно, пертурбативно
Да откуда такие данные? Как вообще можно делать утверждения о том, что "никто не отметил"? У вас в голове мгновенная обработка всей информации в Интернете?
Что касается генераторов картинок, появился новый стиль, который отличается от уже имеющихся, и признан искусствоведами как новый, занявший место в истории художественного искусства?
Ну, да. Вон те же клипы делают во вполне узнаваемом нейро-стиле. То есть само использование моделек и есть стиль.
И кстати, если, они творят новое, то что же художники возмущаются плагиатом?
А вы бы не возмущались, если бы вашу работу отнимали?
А ничего, что там числа из оригинальной статьи по GPT-3, которой почти 3 года? Там уже и GPT-3 менялась раз 5, и бенчмарков насыпалось, и токенизацию все стали делать корректную для чисел.Так модель 175 В на конец 21 г. и используется в чатах. По, крайней мере, в статьях на Хабре про эту модель говорилось. И, кстати, не раз упоминалось о проблемах с вычислением для больших чисел. Еще раз, не нужно доказывать, то что нельзя доказать, конкретно, понимания смысла чисел такими моделями. В таком виде модели, сколько не увеличивай параметров, не сможет произвести обобщение, выработать процедуру, и делать любые расчет для любых чисел. Психика человека не сводится только к языку! Это уровень рационального мышления с привлечением всех ресурсов мозга, языковые модели моделируют только автоматический уровень ассоциативного мышления — Систему 1, вот здесь подробнее написал об этом. Точность растет только благодаря увеличению обучающей выборки с примерами, а в ней всегда будут лакуны. Или вы гарантируете что это не так?
В таком виде утверждение слишком слабое, достаточно одного примера текста, которого не было в обучающей выборке, чтобы его опровергнуть, а их в Интернете достаточно.Причем здесь это? Речь не о случайных подходящих перестановках слов, часто фантазии чатов. Речь о новом знании, которое получается путем обобщений, разных форм концептуализации, поиска корреляций, и тд. Вот пример такого ИИ, который создает новое знание — оценивает размерность сложных динамических систем, но он обучался не на текстах, а на эмпирическом материале, и работает на нем же.
Да откуда такие данные?Так приведите такие примеры, для которых эксперты в своих областях скажут, что это новые результаты, или хотя бы постановка вопроса, которая ведет к таким результатам. Вы же в теме.
ps. Увидел, что используется GPT-3.5, не думаю, что это кардинально поменяло что-то по обсуждаемой теме.
Так модель 175 В на конец 21 г. и используется в чатах.
Но это неправда. Она может и 175B (на самом деле сейчас даже меньше), но другая. Я вроде выше уже кидал картинку.
Еще раз, не нужно доказывать, то что нельзя доказать, конкретно, понимания смысла чисел такими моделями. В таком виде модели, сколько не увеличивай параметров, не сможет произвести обобщение, выработать процедуру, и делать любые расчет для любых чисел.
Что значит нельзя доказать? Какой смысл оперировать недоказуемыми утверждениями? Я же привёл бенчмарки, и модели там вполне неплохо себя показывают, особенно обученные на коде.
Психика человека не сводится только к языку!
А с этим я полностью согласен, но кто же говорил о моделировании психики человека? С каких пор это необходимо для математических расчётов? Компьютеры с начала времен считают лучше человека, это даже в слове заложено.
Вы в комментарии по ссылке пишете о необходимости "дополнительных технологических решений, приближающих к уровню рационального мышления человека — наличие внутренних критиков, конкурирующие предположения, систем оценок, представления интересов, мотиваций". Так это и есть RLHF, буквально. Штука, отличающая ChatGPT от GPT-3 начала 2020 года.
А "уровень образного мышления" — это мультимодальные модели, уже наполовину сделанный шаг.
Точность растет только благодаря увеличению обучающей выборки с примерами, а в ней всегда будут лакуны. Или вы гарантируете что это не так?
Для большинства задач точность на одной и той же выборке растёт благодаря росту количества параметров. И это происходит не только потому, что модель что-то запоминает. Модели обобщают, и обобщают неплохо.
Речь о новом знании, которое получается путем обобщений, разных форм концептуализации, поиска корреляций, и тд.
А где граница между "новым" знанием и "cтарым"? Как выглядит фальсифицируемое утверждение? Как можно говорить о наличии "фантазии" и отсутствии возможности генерировать "новые" знания?
Так приведите такие примеры, для которых эксперты в своих областях скажут, что это новые результаты, или хотя бы постановка вопроса, которая ведет к таким результатам. Вы же в теме.
https://www.nature.com/articles/d41586-023-00340-6, после "Even so".
Оттуда же:
И такого будет больше, ChatGPT меньше полугода.
Но это неправда.Я поправился в постскриптуме. Насколько понимаю, это дообучение, в немалой степени, является модерацией модели, настройкой ее «политкорректности». В коментах не раз обсуждалась эта тема и приводились примеры, что-то там про страдания недорогих программистов из Кении), и тп.
Я же привёл бенчмарки, и модели там вполне неплохо себя показывают, особенно обученные на коде.Тоже об этом говорил, но это не значит, что языковые модели понимают смысл чисел, и могут на основании обучения на примерах делать любые вычисления с любыми числами. Потому как у человека этот смысл определяется на перцептивном уровне, и фактически является врожденным. Младенцы на вторые-третьи сутки уже могут грубо дискриминировать численность, много подтверждений на экспериментах с животными. Давал ссылку на комент, где это объясняется, там есть ссылки на исследования. Именно на чувстве численности возникли абстрактные представления о числах, которые с развитием социума символизировались и вербализовались. И так со многими базовыми концептами математического (в дополнении к числам непрерывные величины — магнитуды, геометрические примитивы — линии, углы, и тд, статоценки), физического, биологического и социально-психологического характера. Это содержимое, так называемого, когнитивного ядра, представление о котором можно получить в этой переводной статье. Это на философском ресурсе, но лучшего сжатого описания на русском не нашел. См. также этот комент с кратким описанием происхождения ф-ций когнитивного ядра, если есть время и интерес) Среди известных специалистов, которые развивают это направление когнитивных исследований, проф. из MTI Д. Таненбаум, и его группа. В области ИИ эта проблема известна, как проблема заземления (якорения) символов, в робототехнике в виде проблемы фрейма — первичного описания предметной области.
А с этим я полностью согласен, но кто же говорил о моделировании психики человека? С каких пор это необходимо для математических расчётов? Компьютеры с начала времен считают лучше человека, это даже в слове заложено.Психика это как раз когда человек взглянет, например, на кучу людей, и сразу же, без подсчета, знает о их приблизительном числе в ней, может окинуть взглядом, и без подсчета сравнить такие кучи, сказать какая больше, а затем точно посчитать и подтвердить или опровергнуть свою интуицию — чувство численности, чаще подтверждается. Подобная способность оказалась очень полезной для выживания видов, включая человека. С этого математика началась, и на этой способности основывается. Формализация ограниченна, как это не парадоксально может звучать. Она имеет определяющий смысл только в рамках самой математики. Как пример формализация такой задачи
А вот с вопросами на мышление у чат-бота ChatGPT не все оказалось хорошо. На задачку про людей («Три женщины в комнате. Две из них являются матерями и только что родили. Теперь входят отцы детей. Сколько всего людей в комнате?») ChatGPT ответил неправильно («в комнате пять человек»), а вот LaMDA сказала верно, что «в комнате семь человек».Почитайте мнения в коментах) А как по вашему- сколько там человек? Откуда взялись эти решения у читателей? Из всевозможных ассоциаций, которые у них возникли, так же как и у чата, и привели к фантазиям) Но ведь человек постоянно решает подобные задачи в жизни, а не определенные точно. Как он поступает в таких случаях? Начинает моделировать ситуацию осознанно, чаще неосознанно, воображая (симулируя) такие сцены, и производя подсчет числа людей, как для приведенной задачи. Это переход на другой, образный уровень мышления, и в экспериментах с нейровизуализацией в явном виде отслеживается такая активность. Как пример, работа ментального физического движка в мозге и его моделирование в работах Таненбаумана 1, 2, 3. Мозг якорит (заземляет) условия задачи поставленной на словесном уровне или при восприятии, и это позволяет найти ее относительно стабильное решение, соответствующее физическим условиям и ограничениям. Возможно решение этой задачи было в обучай выборке, и поэтому LaMDA выдала верный ответ, возможно в обучающей выборке GPT-3 не было, и она фантазировала на манер читателей, а может и было, но ответ был случайным, неверным. Чего не хватает в этом ситуации. Того чтобы сети начали и впрямь «галлюцинировать», создавая образную (зрительную) модель задачи, чтобы найти правильный (относительно стабильный) ответ. Такой метод уже используется, см. эту статью, и комент в ней, в которой утверждается, что это улучшает качество перевода. Однако это еще очень далеко от того, что происходит в мозге человека. Это пока за пределами традиционных архитектур ИНС, включая трансформеры, для этого требуются динамические, активные, асинхронные сети, которые ближе к биологическим прототипам, и реализуются с помощью нейроморфных технологий.
А «уровень образного мышления» — это мультимодальные модели, уже наполовину сделанный шаг.Вероятно это будет доступно для нейроморфных решений, нечто напоминающее возможности человека, а для решений типа GPT расширение с обучением на связанных данных различного типа. Все те же интеллектуальные ассистенты, только не чисто языковые, как сейчас, а дополненные картинками, видео, звуками, и тд.
Для большинства задач точность на одной и той же выборке растёт благодаря росту количества параметров. И это происходит не только потому, что модель что-то запоминает. Модели обобщают, и обобщают неплохо.Для чисел это обобщение не работает, и это не обобщение в том понимании, как это происходит у человека. В ИНС обобщение лучше всего проявляется в сверточных сетях в задачах категоризации, которые, кстати, хорошо моделируют механизмы ответственные за возникновение чувства численности.
Что значит растет точность при той же выборке при росте числа параметров? У человека ~100 миллиардов нейронов, у GPT-3 уже 175 миллиардов, куда больше? В курсе, что роль играют синапсы, и их намного больше, тем не менее. Обобщение, как у человека, возникает, или нет.
Давайте по пунктам распишем для школьника.
1. Школьник изучает таблицы сложения и умножения чисел.
2. Школьнику показывают некоторое число примеров сложения, вычитания, умножения и деления чисел, он проделывает упражнения, допустим порядка тысячи разных вместе, и в мозге происходит обобщение этой практики на любые операции с любыми числами.
3. После этого школьник может проделывать любые операции с любыми числами. Вариантов этих операций для целых чисел бесконечное, хотя и счетное множество.
Для чата.
1. Сеть обучают таблице сложения и умножения, она обязательно присутствует в обучающей выборке.
2. В обучающей выборке имеется очень большое число примеров операций с числами, может миллионы, самых разных. Но не все возможные, т.к. их бесконечное, хотя и счетное множество. Сеть их как-то там «обобщает» в процессе обучения.
3. После этого чат правильно выполняет операции с числами, которые были в обучающей выборке. И неправильно с остальными, которых не было. Может иногда случайно угадывать правильные решения. И это как-то коррелирует с числом параметров модели, и объясняет прирост в точности.
Как видим обучение таблицам сложения и умножения и примерам языковой модели в прок не идет, и настоящего обобщения, как у человека, не возникает. Почти также ведут себя дискалькулики. Они могут зазубрить эти таблицы и выдавать их, если попросить об этом, но выполнить правильно даже простые произвольные вычисления не могут. Возможно они также могут запомнить отдельные примеры, но обобщение у них отсутствует или пропадает, из-за нарушений в области мозга отвечающей за понимание смысла чисел — чувства численности. Что говорить про вещественные числа, и операций с ними, множество которых не счетно.
А где граница между «новым» знанием и «cтарым»? Как выглядит фальсифицируемое утверждение?Не простой момент, особенно при объяснении людям с математическим образованием и складом ума, сознательно или нет часто предпочитающим платонизм, и потому негативно относящимся к реалистическим взглядам и объяснениям. Приведу ссылки на коменты, т.к. эта тема не раз всплывала. Объяснение с точки зрения недостаточности тезиса Чёрча-Тьюринга, открытие периодической таблицы Менделеевым, новое в ИНС, ИНС в физических исследованиях. Если не достаточно, могу дать пояснения.Как можно говорить о наличии «фантазии» и отсутствии возможности генерировать «новые» знания?Я за фантазии, без них никак)
www.nature.com/articles/d41586-023-00340-6Кроме того, что в одном случае чат выдал полезный термин, о котором не знал пользователь, ничего особенного. Но это не новое, это обычная функция интеллектуального ассистента, на что и способны языковые модели. Особенно будущие, специализированные, обученные на материале из отдельных областей. Желательно с возможностью персональной настройки, что-то вроде этой фичи в чате поиска Бинга.
А вы пройдёте такой тест?
Кстати, по вашей же ссылки описан чат-бот, который прошёл тесть Тьюринга. Всё, его можно называть ИИ?
Даже тут все примеры общения с GPT сугубо искусственные. Ну никто же в реальном общении не просит собеседника придумать анекдот на тему. Потому что если попросит, скорее получит ответ в стиле «Я тебе что
Тест Тьюринга будет пройден, когда топовый комментатор на Хабре со 100К подписчиками внезапно окажется ИИ. Вот тогда никаких сомнений не останется и я первым сниму перед ним шляпу.
Вы понимаете, что сами предложили тест Тьюринга как критерий, а теперь отвергли его? Так же и комментарии отвергнете. Да даже если примете, найдётся куча других людей, у каждого из которых будут свои критерии. Так что тут дело не в ИИ, а в людях, которые придумали термин, а чётких критериев для этого термина не придумали
1) если не знать, что это ИИ — ты будешь уверен, что это человек, и
2) если пытаться целенаправленно узнать, ИИ твой собеседник или человек — то это тоже не получится.
Ну честно. Если живой человек будет всерьёз утверждать абсурдные вещи типа лечения через отрезание головы — будут ли его считать носителем интеллекта? Его скорее в психушку отправят, на всякий случай и принудительное лечение.
И ещё если честно. Вроде бы не секрет, в чём идея GPT. Как из наиболее статистически вероятного продолжения текста может появится способность к абстрактному и критическому мышлению? Только чудом. А в случае ChatGPT — большим количеством формальных алгоритмов заточенных на определённые задачи, которые разработчики держат в большом секрете и вообще делают вид, что нету ничего такого.
Но и вообще если прям честно-честно. У нас в России миллион специалистов по нейросетям и с вычислительными мощностями тоже проблем особо нет. А где хоть какие-то аналоги хоть чего-то? Почему соц-сети завалены картинками от Midjourney (я его фанат если что), а не аналогом от Сбера? Почему на хабре восхищаются ChatGPT, но не восхищается Алисой? Где уникальные анекдоты от Алисы, где успешно сданные студенческие курсовые от Алисы, где работающий программный код от Алисы?
Это не укор ни разработчикам Алисы, ни Сбера, никому. Это исключительно к теме статьи и громким заявлениям о существовании ИИ там, где его (пока ещё) нет.
А в случае ChatGPT — большим количеством формальных алгоритмов заточенных на определённые задачи, которые разработчики держат в большом секрете и вообще делают вид, что нету ничего такого.
Но ничего такого и правда нету.
Но и вообще если прям честно-честно. У нас в России миллион специалистов по нейросетям.
На пике ODS там было 60к человек. Это все, кто хоть как-то интересовался машинным обучением и обработкой данных. Ещё столько же скорее всего интересовались, но в ODS не состояли. Из них 2-3 тысячи интересуются NLP, но в основном очень-очень прикладными вещами. Языковые модели до ChatGPT из них трогало меньше тысячи людей. Из них... ну вы поняли.
Почему соц-сети завалены картинками от Midjourney (я его фанат если что), а не аналогом от Сбера?
А был такой момент, вы просто не помните. Даже целый сабреддит есть, оно ещё и за границей было известно. Первая open-source версия DALL-E, шутка ли!
Почему на хабре восхищаются ChatGPT, но не восхищается Алисой?
И такой момент был.
Где уникальные анекдоты от Алисы
https://daily.afisha.ru/brain/7074-pochitayte-anekdoty-ot-russkoy-siri-ee-zovut-alisa/
где успешно сданные студенческие курсовые от Алисы
Сданы и забыты? Вообще Алиса голосовой помощник прежде всего, а значит на длинные ответы не заточена. Корректно GPT сравнивать с Балобобой, а ChatGPT с каким-нибудь InstructБобой.
Это исключительно к теме статьи и громким заявлениям о существовании ИИ там, где его нет
Я старался вообще не упоминать эту страшную аббревиатуру. Совсем не важно, ИИ или нет. Важно только то, полезны ли модели или нет.
Не знаю, как ещё донести свою мысль: общепризнанных критериев для определения ИИ нет, но даже если таковые появятся, найдутся люди которые усомнятся в истинности проводимых тестов этих критериев.
У меня подход простой: искусственный, значит создан человеком. Интеллект, значит работает на принципе нейронных связей. Поэтому понятия ИИ и нейросеть для меня синонимы. А дальше уже можно выдвигать этому ИИ сколько угодно требований для различных классификаций. И необязательно одному ИИ отвечать на все эти возможные требования. Есть ИИ для картинок, есть для чатов и т.д. Кому надо, тот совместит
Даже тут все примеры общения с GPT сугубо искусственные. Ну никто же в реальном общении не просит собеседника придумать анекдот на тему. Потому что если попросит, скорее получит ответ в стиле «Я тебе что
негрПушкин?». В реальном общении анекдоты обычно рассказывается в контексте происходящего а иногда даже и без предупреждения, что ещё смешнее для тех, в теме.
Но тест Тьюринга это и не про реальное общение. Формат игры в имитацию довольно специфичен, и как раз придумывание анекдотов вполне в него вписывается. И ответ в указанном стиле тоже вписывается.
Вот прекрасная короткометражка на тему:
Тест Тьюринга будет пройден, когда топовый комментатор на Хабре со 100К подписчиками внезапно окажется ИИ. Вот тогда никаких сомнений не останется и я первым сниму перед ним шляпу.
Это уже какой-то другой тест, назовите лучше своим именем.
Вами описаны абсолютно разные задачи, для которых нужны разные навыки. И прохождение одной из них не гарантирует прохождения другой
А как он код пишет? Когда я загоняю задачку из литкода, создается впечатление что, ну да она обучилась на литкоде, нашла самый заплюсованный вариант и выдала его. В обратную сторону соответственно тоже так работает. Но что если загнать задачу которая еще нигде не встречалась? Что если в коде тысячи строк, а ошибка всего лишь в одной которую надо поправить? Не всегда же работа заключается в написании нового когда.
Отправьте ему своей код и попросите аудировать ошибки, или скажите что с ним не так. Если тысячи строк в одном листинге, то печаль, но это крупная ошибка программиста такие большие модули делать.
тысячи строк в одном листинге
Ну как бы, какая разница в одном или в нескольких. Работал в проектах где миллионы строк, и ошибка может быть везде.
Вот, загнал ему задачку из codility из платника на поиск ошибки. Ожидаемо он ничего не нашел.
Задачка звучит так:
Find and correct bugs in a function that maximizes the number of adjacent coins lying on the same side by reversing exactly one coin.
Task description
Consider N coins aligned in a row. Each coin is showing either heads or tails. The adjacency of these coins is the number of adjacent pairs of coins showing the same face.
You are given an implementation of a function:
int solution(vector<int> &A);
that, given a non-empty zero-indexed array A consisting of N integers representing the coins, returns the maximum possible adjacency that can be obtained by reversing exactly one coin (that is, one of the coins must be reversed). Consecutive elements of array A represent consecutive coins in the row. Array A contains only 0s and/or 1s:
0 represents a coin with heads facing up;
1 represents a coin with tails facing up.
For example, given array A consisting of six numbers, such that:
A[0] = 1
A[1] = 1
A[2] = 0
A[3] = 1
A[4] = 0
A[5] = 0
the function returns 4. The initial adjacency is 2, as there are two pairs of adjacent coins showing the same face, namely (0, 1) and (4, 5). After reversing the coin represented by A[2] the adjacency equals 4, as there are four pairs of adjacent coins showing the same face, namely (0, 1), (1, 2), (2, 3) and (4, 5), and it is not possible to obtain a higher adjacency.
Unfortunately, despite the fact that the function may return expected result for the example input, there is a bug in the implementation, which may produce incorrect results for other inputs. Find the bug and correct it. You should modify at most three lines of code.
неисправный код выглядит так:
int solution(vector & A) {
int n = A.size();
int result = 0;
for (int i = 0; i < n - 1; i++) {
if (A[i] == A[i + 1])
result = result + 1;
}
int r = 0;
for (int i = 0; i < n; i++) {
int count = 0;
if (i > 0) {
if (A[i - 1] != A[i])
count = count + 1;
else
count = count - 1;
}
if (i < n - 1) {
if (A[i + 1] != A[i])
count = count + 1;
else
count = count - 1;
}
r = max(r, count);
}
return result + r;
}
Ответ от чатГПТ был ожидаем:
"Шедулер"? o_O OMG! ))
Предлагаю тогда уж просто по-русски писать.
О «раздутом пузыре» нейросетей