Transcription
[музыка] Всем привет! Меня зовут Алексей Лобзов, и я являюсь руководителем направления развития компетенции системного анализа в Альфа-Банке. И вместе с этим, членом программного комитета конференции Flow. Сегодня нас ждет обсуждение с довольно провокационным названием: "Когда нейросеть заменят аналитика?". Я надеюсь, что она не заменит аналитика, но мы это выясним в ходе обсуждения.
У нас в гостях эксперты по ML: Павел Филонов и Сергей Марков. И сейчас я хотел бы передать слово коллегам для того, чтобы они вкратце себя представили. Наверное, начнем с Сергея. Сергей, тебе слово.
Всем привет! Меня зовут Сергей Марков. Я руковожу управлением экспериментальных систем машинного обучения в департаменте AI. Среди моих крупных проектов последнего времени, связанных с большими языковыми моделями, конечно, не только ChatGPT, про которые, наверное, многие из вас слышали. Вот, на самом деле, не только. То есть, мое управление занимается созданием очень многих систем, основанных на современных моделях машинного обучения. Вот. Ну, вот, наверное, если коротко, то так. Но так я, в принципе, человек увлекающийся наукой. Спасибо.
Павел, расскажи немножко о себе.
Я сначала подумал, что я опрометчиво использовал вот эти буквы, название своего доклада, который недавно было, поэтому меня сразу пригласили как эксперта. Но просто так еще оказалось, что я действительно последние семь лет занимаюсь, в принципе, направлением. А последние годы у меня прям конкретная задача: это я прихожу вроде консультанта к различным бизнес-заказчикам и пытаюсь им ответить на вопрос: им нужен, мы в каком-то виде. Ну, собственно, год, наверное, уже очень, почти все спрашивают: "А нужен ли нам какое-нибудь там GPT?". Обычно все под этим названием его знают. Ну, я им быстренько делаю, сейчас называется большие языковые модели. Давайте обсуждать. Да, и конкретно в вашем случае это вам поможет, помешает или вы вообще не почувствуете, тут внедрилась.
Спасибо. Для того, чтобы стартануть нашего дискуссию, я предлагаю немножко задать контекст в виде рассмотрения основных задач системного аналитика. Вообще, из чего состоит жизненный цикл разработки программного обеспечения? Предлагаю опираться на следующую модель, которая состоит условно из пяти этапов: это анализ, дизайн, разработка, внедрение и сопровождение. И на мой взгляд, как раз на первых двух этапах требуется наибольшее привлечение аналитика. Что происходит на этапе анализа? Выявляются проблемы, которые существуют у бизнеса, собираются потребности, формулируются требования, устанавливаются цели, а цели, которые направлены на решение проблем бизнеса. Дальше на этапе дизайна уже происходит проектирование некой информационной системы, разрабатывается архитектура, модель данных и прочее, прочее, что впоследствии пойдет в разработку. Наверное, на двух первых этапах аналитиков вовлечено больше всего. Понятно, что на других этапах он также подключается, но предлагаю сфокусироваться на двух этапах и попытаться понять, а вот искусственный интеллект, он всё-таки в перспективе заменит аналитика при работе на требованиями и проектированием, либо он наоборот сможет стать неким инструментом, который как раз повысит эффективность аналитика в процессе выполнения своих задач? А пока подвешу такой вопрос. Думаю, в ходе дискуссии мы найдем на него ответ. Вот, возможно, начнем с требований. Сергей, как ты думаешь, может ли нам искусственный интеллект помочь в сборе, например, требований? И возможно, ты знаешь какие-то решения, которые уже существуют?
Да, ну, вообще, вот если мы говорим искусственном интеллекте, то, наверное, надо как-то это, как у бородатых мужиков принято, договориться об определениях, что же мы понимаем, собственно говоря, под искусственным интеллектом. И этого определения у него довольно интересная история. Впервые было озвучено в 56-м году, часто считают Джона Маккарти. Вот. И что понимали изначально ученые, специалисты под искусственным интеллектом? Под искусственным интеллектом и по сей день специалисты понимают большие области науки, технологии, которые занимаются автоматизацией решения интеллектуальных задач. Если есть какая-то задача, которую вы решаете при помощи своего интеллекта, и вы создаете машину, которая способна вас подменить в решении такой задачи, вы занимаетесь этим самым искусственным интеллектом. И на самом деле, этому много лет. Она появилась еще задолго до того, как сам термин появился. Люди всё время приспосабливали для решения самых разных интеллектуальных задач всякие разные технологические решения, начиная с, не знаю, абаков, счётов, способов записи чего-то на бумаге, на папирусе и так далее. Вот. И сегодня наши технологии, они становятся всё более изощрёнными. Да, и они, конечно, снимают с наших плеч изрядно долю какой-то такой рутины интеллектуальной деятельности. Сегодня уже не умножаете, там, не знаю, трёх-четырёхзначные числа в голове, вы идёте и пользуетесь калькулятором. Сегодня вы не держите в голове содержимое всех книг по вашей профессиональной области, то вы идёте, если что, в Google, пользуетесь поисковыми инструментами, которые тоже основаны на современных технологиях, как искусственный интеллект. И, конечно, эти технологии, они постепенно расширяют область своего воздействия на человеческое общество и тем самым меняют вообще характер той деятельности интеллектуальной, который мы занимаемся. Происходит такой постоянный сдвиг парадигм. И в разработке программного обеспечения, здесь, на самом деле, это не является чем-то принципиально новым. Постепенно здесь технологии приходили в эту сферу и трансформировали. В сороковые, пятидесятые годы разработчик брал перфоратор, пробивал дырочки по карте или перфоленте. Потом перешло к написанию машинных кодов на бланках. Потом появились языки низкого уровня, типа того же ассемблера. Появился первый такой шаг в сторону использования естественного языка для разработки программных систем. И на этом технология не остановились. Затем на смену языкам низкого уровня пришли языки высокого уровня. Потом появились большие библиотеки методов, которые можно было переиспользовать, и вам не нужно уже было каждый раз с нуля писать там пузырьковую сортировку или какой-нибудь метод Форда-Фалкерсона или что-нибудь ещё. Да, вы могли просто воспользоваться функцией библиотеки. В девяностые, начале нулевых годов произошёл рассвет такой вот социальных платформ, что ли, для разработки. Появились GitHub, и это тоже оказалось таким очередным смещением парадигмы разработки. Я застал ещё разработку в 90-е годы, когда классный специалист – это был человек, который прочитал все три тома "Искусства программирования". Круто. Вот, ещё там, желательно, что-нибудь по теории графов там накидать, не знаю, введение в разработку, анализ алгоритмов и так далее, и так далее. И вот этот человек, запертый в комнате, в четырёх стенах, лишённый всякой связи с внешним миром, мог сесть за клавиатуру, ну, и решить какую-нибудь задачку.
[музыка]
Есеновского набора. И вот это был хороший программист. Но действительно, то есть, действительно хороший программист тогда выглядел так. Сегодня, но вам достаточно знать базу, пойти в Stack Overflow, написать запрос, найти нужную вам тему и скопировать оттуда готовый код. И самое главное здесь умение – это умение скопировать вопрос из ответа код. И если вы будете делать так, то у вас всё будет, скорее всего, более-менее хорошо. Вот. И вот сегодня очередной шаг. Вот появились большие языковые модели, которые помогают нам генерировать программный код. Они там делают умный автокомплит, например, ускоряя просто набор кода. Они могут по инструкции на естественном языке сгенерировать целые блоки программного кода. Ну, могут искать уязвимости, дефекты в программном коде. Ну, и по сути дела, они отменяют необходимость вам вручную идти делать какие-то запросы. Да, вы просто пишете, не знаю, комментарии перед телом своей функции на естественном языке, и умный автокомплит вам сразу, значит, уже рождает тело функции, которое выполняет функциональность. Естественно, это бустануло там какие-то направления и снизился порог входа для специалистов. Вот. И кто-то уже сейчас говорит: "Ну, скоро мы уволим всех программистов, и наконец-то менеджеры, аналитики и все остальные люди начнут сами писать прямо так, на естественном языке программный код". Вот. Но, знаете, с точки зрения программиста 50-х годов, мы все с вами такие очень глубокие менеджеры. Вот. Мы их, они нюхали машинные коды, машины, машины, на которых мы программируем, мы не помним. Вот. А ну-ка, там, попробуйте вспомнить, как кодируется инструкция, не знаю, сложению двух чисел, расположенных в памяти процессора. Вот. Поэтому мы, на самом деле, сама область, она уже давно трансформировалась под воздействием технологии искусственного интеллекта. Конечно же, не привело ни к какой-то замене людей. Да, это игра с не нулевой суммой, как любой технологический прогресс. То есть, оказывается, что совершенствование технологии оно приводит к тому, что как бы меняется область их применения. То есть, расширяется, скажем так, сфера применения программной инженерии. Она начинает применяться в тех областях, которых раньше она была просто нерентабельна и невозможно. Десятки лет кто-то мог подумать, что на всю страну хватит 20 компьютеров. Сегодня каждый смартфон содержит вычислительные мощности, которые превосходят все вычислительные мощности на момент отправки человека на Луну. Но тем не менее, мы находим удивительные применения, там, не знаю, гуляем птиц, свиней, дорогие, сложные баллистические задачи решаем при помощи вот этих карманных компьютеров. Вот. Поэтому здесь скорее повышение производительности труда. И вот, в том числе, и перекладывание задач написанию предметной области, написания каких-то аналитических документов, по, значит, там, созданию каких-то принципиальных архитектур, продукт на основе там интервьюирования заказчиков и так далее, и так далее. Это всё те задачи, в которых производительность труда благодаря генеративным языковым моделям будет повышаться. Вот. Но это будет приводить расширению областей применения программной инженерии. Это будет менять, конечно, саму работу, будет выводить её на более такой абстрактный уровень. То есть, меньше будет, значит, написание текстов вручную, больше будет, не знаю, прочтение вариантов, сгенерированных генеративной моделью. Да, и уточнение.
Более высокими уровнями абстракции будут оперировать аналитики, более высокими уровнями абстракции разработчики. Генерировать где-то какие-то области будут действительно поглощены. Но с другой стороны, раздвинутся границы сложности создаваемых нами программных систем, области их применения. Так что я думаю, что всё послужит просто всё очередному, как бы, расширению нашей области. Такой аллергии, дата. То есть, то, что я услышал, фактически, вот эти генеративные модели, они будут генерировать некие варианты текстов, тех же самых требований, с которыми дальше уже аналитики смогут работать. Фактически, это некий консультант для аналитика. И, наверное, в какой-то степени, даже вопрос задам: а в какой-то степени можно сопоставить такие системы, как с поисковыми системами? Если у меня есть вопрос, я захожу в поисковик, вбиваю, мне он выдает какие-то результаты поиска. Вот, можно ли сопоставить генеративные модели, системы искусственного интеллекта, поисковиками или нет? А Павел, я, наверное, тебя подключу своим мнением.
Давай. На самом деле, ты в принципе зришь правильно, особенно если мы говорим об этапе сбора требований. Ведь часто там, если ты приходишь в новый доменную область, и прям, не знаю, ты знаешь, что будут функциональные, будут нефункциональные. Это ты сразу понимаешь. А вот какие там могут быть, какие желательно не забыть из-за того, что там могут быть какие-то свои нюансы. Вот здесь в качестве шаблона можно либо пойти поискать, вот, не знаю, пришел ты на проект разработка мобильных игр под телефоны, и хочешь взять какой-то шаблон, да, чтобы, а ты никогда раньше не делал, не был в таких проектах. Тебе явно поможет какой-то шаблон. Ты можешь поискать его в интернете, но там, скорее всего, будет много похожих, но немножко про другое. Либо ты можешь действительно спросить у какой-нибудь языковой модели: "А сгенерируй мне примерный шаблон, как может выглядеть набор функциональных, нефункциональных требований для разработки такого типа приложения". И ты получишь, в принципе, какой-то текст. Ты в нем даже, скорее всего, увидишь какую-то структуру. Ты в нем там опознаешь какие-то паттерны, характерные для этих требований. Но, скорее всего, это будет только шаблон. Чтобы его превратить в документ для твоего проекта, тебе придется его сильно доработать. Фактически, весь телеком. С одной стороны, это позволит преодолеть этот первый этап стопора, да, то есть ты сможешь пробить как бы этот раздел и редактировать. Ведь всегда проще. Но, мне кажется, не стоит на этом ограничиваться. Это вот одна из проблем недооценки современных инструментов, когда просто говорят: "Ну, это просто будет новый поиск". На самом деле, интереснее иногда действительно смотреть какую-то больше такой энтоинт-историю. Дело в том, что, давай разберем этот пример со сбором требований дальше. Создав какой-то даже шаблон, ты ведь пойдешь, наверное, к техническим командам для уточнения. И не исключено, что это будет переписка в почте, или это могут быть даже какие-то встречи и звонки, где либо ты будешь судорожно пытаться успеть записать все минутки. А если, например, тебе тяжело и говорить, и писать одновременно, ты, скорее всего, включишь просто на запись звонок. И вот неплохо было бы, чтобы кто-то потом смог взять эту запись, автоматически распознать весь текст и ещё из всего текста сделать какую-то самаризацию. И вот эта самаризация уже в виде там двух абзацев, которые вы на самом деле наговорили час, а реально там что-то полезное может быть 2-3 абзаца, вставить уже понятно, снова доработав самому, но вставить в результирующие требования к продукту. Вот мне кажется, важно понимать даже в процессе там, хотя бы сбора требований, какой из этапов занимает сколько времени. Потому что если мы говорим о поиске шаблона, это скорее всего невероятно короткий этап. Нашёл шаблон – всё. Дальше там месяцы ты начинаешь на основе него что-то разрабатывать. Если ты ускоришь поиск шаблона, это сильно не даст тебе ощутимый выигрыш. Но если в ходе вот этого месяца ты должен провести, не знаю, 20 встреч с разными представителями, собрать с них, грубо говоря, вот эти подробности, потом как-то анализировать, иногда для этого там может быть ручную расшифровку делать этим видео. Вот здесь как раз на том плане работ, который по твоему просто занимает больше всего времени, если найти способ применить какой-то из современных инструментов, можно увидеть уже, ну, ощутимый выигрыш. Ощутимый. Я не очень пока верю в 2x, 3x или 10x. Вот, потому что всё равно, вряд ли это вот сто процентов своего времени, это чисто проводишь на вот этих созвонах, и всё равно тебе нужно как-то там присутствовать. Я, правда, не исключаю, что когда-нибудь можно будет вместо себя отправить виртуала. Пока ещё нельзя, но не исключаю, что нас удивят в ближайшие годы, и ты сможешь, например, представляешь, круто! Алексей, ты параллельно на четырёх звонках можешь присутствовать. И более того, упадут минутки со всех четырёх звонков. Когда мы дойдём до этого, есть такое ощущение, что дойдём. Вот это мне кажется, уже будет кратный буст. Но пока нужно немножко времени. Надо использовать то, что есть сейчас, например, расшифровка звонков, самаризация, выделение основной сути и, допустим, компиляция внутрь текста требований. Вот это мне кажется, уже, ну, какой-то там 10% может экономия времени привнести. Да, и 10% действительно это существенно, особенно если сравнивать с поиском шаблонов, которые, которые как правило есть в крупных организациях, и в принципе, этот поиск не должен составлять труда. Но возникает следующий вопрос: вопрос доверия. То есть, я как аналитик, я работаю с текстами, я работаю с пользователями, с другими экспертами, собираю информацию. Я себе могу доверять. Как я могу доверять программе? Что влияет на возможность сказать, что программа действительно извлекла то, что нужно, именно существенные вещи? Сергей, можешь поделиться?
Да, здесь на самом деле это очень часто обсуждаемая проблема. Все любят говорить "галлюцинациях" языковых моделей. На самом деле, всю жизнь называли фактоидами. Хорошо, галлюцинации. На самом деле, что такое галлюцинации? Ну, представьте себе, что вы припёрли студента на экзамене к стенке. Да? И вот он должен отвечать, но ответа он не знает, его забыл, может, даже никогда и не знал. Вот, но он знает, что молчать нельзя. Да? И вот он начинает генерировать такое вот, что-то, что-то, стремясь, чтобы оно прокатило. Да? И вот языковая модель, понятное дело, что там, несмотря на десятки, даже сотни миллиардов параметров современных языковых моделей, всё равно не может выучить весь интернет, представить его в своих весах. Да? И знание языковой модели такое размытое, респект всего интернета, условно говоря. И периодически вы задаёте какой-то вопрос. Ну, вот сил там стохастической природы генерации того, что модель не твёрдо что-то помнит. Да? Она начинает вам что-то генерировать, очень правдоподобное. Да? Но вот верить совершенно нельзя. Да? Те, кто из вас общался с другими такими моделями, знаете, что они периодически с уверенным видом несут полную чепуху. Вот. Но эта проблема, она, в общем, хорошо известна, имеет сейчас несколько таких мейнстримных путей решения. И один из них – это, собственно, соединение таких генеративных экстрактивных моделей, генеративных поисковых. Идея заключается в том, что вы можете сделать запрос к корпоративным базам знаний, к интернету и так далее, при помощи современных поисковых технологий, извлечь какие-то релевантные фрагменты информации, которые имеют отношение к заданному пользователям вопроса. Потом подать их языковой модели на вход. Можно разными способами сделать, просто кормить, используя вот эту информацию, дай ответ на вопрос пользователя. Ну, или там при помощи каких-то механизмов, а ля кросс-теншн. Это можно сделать. И прелесть этого подхода, она заключается в том, что вы ещё можете в ответе языковой модели и получить не только вот фактологию, которая смогла экстрактивная модель добыть, да, но получить ссылки на источники этой информации. Вот. И в этом смысле, ну, вот работа, скажем, там, с транскриптами каких-то встреч, совещаний и так далее, она, ну, скорее всего, должна там, с современными языковыми моделями, потому что шаблон производится. То есть, если вы собираетесь использовать для задач системной аналитики языковую модель, используйте её в синтезе с экстрактивной моделью, и в ответах у вас будет всегда ссылка на, значит, то часть транскрипта, где, собственно, та самая нужная информация содержится, и вы можете в любой момент перепроверить ответ модели, действительно ли она правильно поняла, что там говорилось. Тут ведь тоже вот вопрос доверия, он не так однозначно в отношении людей. Но, как говорится, полбеды, когда стоит вопрос доверия самому себе. Хотя и самому себе иногда опасно доверять. А вот когда люди перегружены информацией, коммуникациями и так далее, очень легко, значит, можно что-то забыть, перепутать и так далее. Но при создании действительно больших систем, сегодня задействован целый коллективы людей, и встречи, там, интервьюирование может проводить один человек, писать потом требования совсем другой. Как-то происходит в больших проектах? И тут уже встаёт вопрос, насколько там ваша коллега точен был, да, не накосячил ли он? Те, кто разрабатывал действительно большие программные продукты, сложные, большие, с членами требований, знают, что вот эти вот коммуникативные проблемы, они на самом деле очень часто влияют на эффективность. Вообще, надо сказать, что порог сложности разрабатываемой системы очень во многом связанный негативными. Ведь, ну, один человек, начиная с какого-то масштаба проекта, не может его сделать. Да, вам нужно создавать коллективы разработчиков, аналитиков и так далее. Но чем больше становится ваш коллектив, тем больше растёт количество взаимодействия между участниками коллектива, причём как бы оно растёт по квадратичному закону уже, да, не по линейному. Поэтому, начиная с какого-то размера проекта, вы просто упираетесь вот в порог невозможности. Да, то есть, у вас коммуникации становится так много, они становятся такими сложными, что люди не в состоянии их поддерживать. Вот. И в этом смысле здесь продвинутые технологии искусственного интеллекта – это один из способов, в том числе, вот, раздвижение этого порога сложности. Но вот, скажем, я не знаю, у нас в голове у каждого человека такое ограниченное количество слотов под информацию. Можете знать несколько сотен людей. Да? Когда вы знакомитесь, там, не знаю, с 201-м человеком, вы кого-то в это время забываете. А вот. Но, вообще, как бы, емкость человеческой, человеческого понимания, человеческой памяти, как говорится, составляет один петабайт. И это очень важное ограничение людей, которые технологии искусственного интеллекта могут раздвинуть. Все выходите в умных очках, смотрите на человека, очки распознают его фотографию, система подтягивает из базы его имя, всё, он уже избавляетесь от неловкости, что вы забыли имя, забыли, не знаю, контекст взаимодействия с этим человеком и так далее. Вот то же самое: поиск, умный поиск по транскриптам, самаризация, доступ ко всем там историям коммуникации, взаимодействия и так далее. Всё очень мощные инструменты, на самом деле, которые раздвигают возможность.
Спасибо. Я ещё слышал, что нейронные сети требуют некого обучения на определённом массиве данных. И вот мы знаем, что есть некие открытые системы, там, ChatGPT представляет свои интерфейсы. Ведь есть же в компаниях свой локальный контекст. И мне вот интересно, насколько влияние этого локального контекста велико? В частности, например, та же самая задача, которую мы сейчас рассмотрели: расшифровка результатов интервью. И если действительно контекст велик, значит, это что, всем компаниям, которые хотят использовать этот инструмент, нужно внедрять свои сетки? Как их обучать? Искать данные?
На самом деле, там подумали над этой проблемой, потому что там даже есть три уровня решений. То есть, первый, вот Сергей про него упоминал: можно, если позволяет размер так контекста, сколько можно засунуть символов за один раз. Сейчас это исчисляется десятками тысяч слов, но это всё время растёт, и скорее всего, скоро это ограничение вообще могут снять. Это просто вот вместе с вопросом. Сначала ты рассказываешь ему всю историю, если она влезает вот в этот объём. Это самый простой способ. Он просто работает, грубо говоря, из коробки. Скорее всего, если нам нужно загрузить туда уже там больше информации, больше чем, грубо говоря, 10 килобайт или 20 килобайт, то здесь можно использовать этап такого тюнинга или лёгкого так дообучения. Причём для больших языковых моделей даже специальные способы, которые позволяют это сделать, но не сильно вкладываясь, грубо говоря, за более скромные средства и жили аппаратное обеспечение, чем их исходное обучение. Ну, и, конечно, если у вас денег куры не клюют, грубо говоря, есть доступ, что самое интересное, в том числе оригинальным сетям для обучения, или у вас есть свои соразмерные по объёму, но скорее всего, это означает, что вы топ-3 компании в мире. И все. Вы, конечно, можете начинать прямо затачивать полностью под себя. Но это скорее уже, наверное, редкость. Как раз главное преимущество вот того, что сейчас используется, это то, что есть переобученные. И по сути, самый выгодный сценарий – это использовать предобученную, может быть, немножечко дотюнив её конкретно своими там специфическими названиями, специфическими связками, контекстами. Здесь, ну, всё ещё требуются специалисты по машинному обучению, которые вот это вот fine-tuning смогут организовать. Но он становится, мне кажется, всё проще и прозрачнее, и скоро это станет сказать доступно большим количеством специалистов, которые с ними работают. Поэтому короткий ответ: об этом подумали, есть даже несколько способов, такие, сказать, возрастающей по сложности.
Ну да. Вообще, сейчас эти технологии развиваются семильными шагами. Во-первых, вот такое важное направление, как низкоранговая адаптация, так называемая LoRA, и все методы, которые вокруг неё там появились.
[музыка]
Когда вы действительно можете большую языковую модель доучить очень скромными ресурсами, скажем так. Вот. Но в целом, прелесть больших языковых моделей, она ведь и заключается в том, что они очень много, так сказать, знания приобрели на этапе предобучения, и им часто для обобщения нужно очень небольшое число примеров, в отличие от моделей машинного обучения прошлого поколения. Вот. Поэтому в целом, конечно, вот сейчас B2B сегменте прям активно развиваются готовые планы для того, чтобы решать вот такие вот задачи доменной адаптации больших языковых моделей. Но здесь и вот механика, опять же, такая, связанная с мультиэкспертностью, когда вы создаёте такие вот мостики, позволяющие большие языковые модели взаимодействовать с другими сторонними системами, с другими моделями, сервисами, актерами, с корпоративными хранилищами данных и так далее, и так далее. То есть, вот то, что можно видеть на примере пяти плагинов, так называемых. Вот. И, собственно, эти подходы, они тоже сейчас развиваются очень быстро. И что здесь особенно приятно, это то, что, ну, вот кажется, это такой очень естественный способ решения некоторых таких органических ограничений языковых моделей. Люди, например, тоже не умеют быстро считать так же, как и трансформеры современные большие. Да? Но мы можем взять калькулятор и использовать какие-то другие инструменты. По сути дела, сейчас активно развивается вот это вот парадигма использования языковыми моделями разных инструментов. Языковая модель вместо того, чтобы сама там считает арифметическую задачку, которая задали, она генерирует запрос калькулятор, в каком-то там вычислителе, который производит необходимые вычисления, и модель затем использует результаты вычислений. Точно так же может происходить взаимодействие с любыми корпоративными системами.
Хорошо, у нас как раз подходит время для анонса, анонса ближайших докладов. Вот, поэтому я думаю, сейчас сделаем небольшой перерыв, и мы вернемся к нашему обсуждению спустя буквально пару минут. Кстати, вот эта вот вся история с удлинением контекстов модели, она не такая простая, потому что, вот как бы полный attention, полное внимание, оно не редуцируемо квадратичная сложность. Вот это вот всё, работы, в которые там у нас контекст удлинился до миллиарда токенов, в этом всём есть немножечко лукавства, потому что нельзя делать без потерь. То есть, раздвижение контекста происходит только, ну, за счёт того, что мы уже не все связи в этом контексте улавливаем. Поэтому в текущем бою, не эти модели, это скорее академическое направление. В бою модели с полным контекстом, значит, ограниченным. Но здесь, кстати, хорошо, что вот современные механизмы позиционного кодирования, они позволяют использовать модель на более длинных контекстах, чем она обучалась. То есть, вот скажем, этой же Llama, ротационные эмбеддинги, они, в общем, позволяют раза в два контекст кормить на этой конференции, чем моделька видела на обучение. В общем, она не разваливается. Но всё равно вычислительные сложности квадратичная, поэтому по мере удлинения контекста количество необходимых вычислений растёт как квадрат его длины. Поэтому это не решение. Это вот скорее хитрые какие-то разреженные механизмы внимания. Да? Ну, или синтез экстрактивной моделью, которая может длинный контекст посмотреть, да, и извлечь из него. Так. Понятно, что альтернативные всякие механизмы изучают, в том числе на основе конкурентных современных архитектур, всякие прочее. Может быть, взлетит. Выглядит интересно. Интересно, если всё вернётся, потому что рекуррентные на время забыли в связи с активным развитием трансформеров. И вот, может быть, будет такой снова возврат к трудам Юргена Шпицхубера. Ну да. Но здесь интересно, что вот есть такой бенчмарк, колонка Рейндж Арена на Paper Sweet Call, там можно посмотреть, что современные рекуррентные архитектуры, они очень так плохи. Всякие вот эти там. Следующий вопрос, кстати, Сергей, кажется, не в тот чатик. Ссылку на гигачат, это технический чат. Ещё можно будет под конец дискуссии отправить всех туда.
[музыка]
И мы возвращаемся к нашей дискуссии. За время этого небольшого перерыва с коллегами обсудили некоторые вопросы относительно стоящей темы, и в ходе обсуждения я для себя услышал несколько незнакомых для себя терминов, например, рекуррентная архитектура, бенчмарки. Не помню я, на что ссылаемся, на что-то такое интересное. Вот у меня сразу возникает вопрос: если мы говорим, что искусственный интеллект и нейросети смогут стать неким инструментом, который позволяет улучшить работу аналитика, насколько глубоко аналитику нужно погружаться в терминологию? Глубоко ли ему нужно в этом разбираться? Можете ли вы порекомендовать аналитику какие-то шаги для того, чтобы он первое, познакомился с этой сферой, и второе, начал это применять? Насколько это просто, либо возможно? Сергей, давайте тебе слово передам.
Да, ну, я думаю, что неизбежно до некоторого уровня всем нам нужно в этом разбираться. Ну, конечно, если вы пользуетесь современным компьютером, вам не нужно, опять же, погружаться там во все детали схемотехники, которые лежат в его основе. Вот. Но тем не менее, очень многие слова, которые появились изначально в обиходе информатики, когда они проникли в повседневный язык, сегодня, понятно, каждый. Ну, то есть, здесь какая-то, какой-то, наверное, компромисс будет существовать. Да, то есть, некоторые уровни все мы будем об этом знать немножко больше, чем знали до этого. Вот. Но всё равно, как бы, ну, вот сложная механика, последние километры будут знать только специалисты. Вот. Что делать сейчас, чтобы погрузиться в знания в этой области? На самом деле, очень хороший и очень непростой вопрос, потому что наша область она развивается такими быстрыми темпами. Ну, там, автор книг, пособий, обучающих курсов и так далее, очень трудно поспевать за прогрессом. Вот. Я вот на своей шкуре прочувствовал эту боль, потому что я пишу уже несколько лет книгу, посвящённую, собственно, истории и текущему состоянию дел в искусственном интеллекте. Вот. Она превысила "Войну и мир" сейчас своих объёмах, и когда возникают паузы, связанные с тем, что там, не знаю, текст надо вычитать корректору, там, или кому-то ещё, за это время выходит 4, 5, 6 очень важных работ в области машинного обучения, которые нужно срочно добавить в текст книги и так далее. Это вот какая-то уже чудовищная новая история. Этот ремонт его всё-таки придётся этим прекратить, они завершить в какой-то момент времени. В целом, если, если вы хотите погрузиться именно в подноготную, в технологии, есть, конечно, такие классические манускрипты, типа "Глубокое обучение", тоже книга прекрасная на русском языке. Вот. Но, понятное дело, что может быть, вот такой глубокое погружение не нужно. Что порекомендовать широкой аудитории, я честно говоря, прям не готов.
А я готов. Насколько я знаю, ты же как-то связан с обучением, либо был, либо в настоящее время?
И так, и так. Да, я постоянно занимаюсь тем, либо иным образом, обучением. И здесь я, на самом деле, порекомендую начинать с практики. Вот мне кажется, сейчас это более быстрый и более практико-ориентированный, то есть, полезный путь. Причём, что интересно, можно уже даже начинать с разных инструментов.
Сергей, почему не может стесняется? Потому что на самом деле из всех доступных инструментов, которые проще всего сейчас взять, начать использовать, это, собственно, ChatGPT, про который Сергей уже упоминал. Дело в том, что есть и конкуренты, но к ним там через VPN, и через карточки, через другие там номера телефонов, долгий путь. Вот. А в то же время, наверное, просто попросить Сергея кинуть удачную ссылку в основной чат.
[музыка]
И это им как-то помогает. Поэтому, как есть такая шутка, да, что у Excel есть невероятное количество функций, но среднестатистический человек пользуется пятью её возможностями. И те, кто хотят повысить свою продуктивность, пользуются десятью или пятнадцатью. Также можно глубоко погружаться в эти инструменты, потому что всё начнётся, скорее всего, с простого чата, потом захочется открыть так называемый дополнительный контекстный промт, потом захочется некоторые ползунки, типа, скажем, энтропии там или случайности генерирования, с этим поиграться. И рано или поздно это может превратиться вот реально такой пункт управления, когда там 10 ползунков, несколько полей ввода, несколько дополнительных кнопочек, и ещё, скорее всего, это разные инструменты. И уже возникнет понимание, когда хорошо подходит один, когда другой. Я думаю, что до такого уровня нужно не всем. Но если начать по чуть-чуть, по чуть-чуть, и видно, что это приносит больше, больше пользы, я не исключаю, что может дойти уже до ситуации. Я видел, там люди, не погруженные глубоко, но они уже просто скачивают на свои компьютеры какие-то очень упрощённые варианты этих моделей. Вот, они уже запускают их у себя, потому что есть, в принципе, более-менее понятные туториалы. А дальше, я думаю, даже там начнут появляться туториалы, как их добыть. Здесь, правда, придётся почитать, желательно почитать, в том числе те книжки, которые ссылался Сергей, но это уже такой исчезающий процент, я думаю. А вот большая часть может получить какой-то видимый результат на самых ранних шагах.
Хорошо, может быть, тогда ещё затронем вопрос ограничений искусственного интеллекта и его будущего? У нас время не так много остаётся, поэтому может, вкратце поделитесь с нами знаниями, если какие-то ограничения в экспортного интеллекта?
Ну, да, как и вообще в нашем физическом мире, да. Вот очень часто люди забывают о том, что, ну, как бы, любые вычисления, всё равно физические процессы в конечном счёте. Информацию нельзя передавать быстрее, чем со скоростью света. Элементы машины нельзя сделать меньше, чем планковского масштаба. Из этого, в 50-е годы поняли, что существует фундаментальный лимит, что машина, массы М, не может больше, чем примерно 10 в степени операций в секунду производить. Время Романа, знаменитый. Вот. Есть и более жёсткие неприятности в окружающем нас мире. Принцип Ландауэра: каждый раз, когда ваша система теряет один бит информации, выделяется некоторое количество теплоты. На самом деле, вычисляется, не теряя информацию, нельзя. Вот. И вот из-за этого принципа Ландауэра ваш компьютер очень быстро начинает перегреваться. Вот. Если вы не хотите, чтобы он испарился, вам нужно тоже ограничивать скорость вычислений. Вот как бы одна сторона медали. Другая сторона медали в том, что очень многие интеллектуальные задачи, они относятся к категории экспоненциальной сложности, X-time complete. Да? Вот мы живём в мультиагентной среде. Нам для того, чтобы выбрать оптимальное действие, нам нужно прогнозировать действия других агентов и так далее. Да? Значит, и ответные наши действия, ответные действия других агентов и так далее. Всё очень быстро приводит к комбинаторному взрыву. Именно поэтому интеллект системы, он от их вычислительной мощности зависит не линейно, логарифмически. Вот. Поэтому вот физические лимиты плюс вот эти вот лимиты вычислимости, они приводят к тому, что на такого, там, взрыва сверх интеллекта, его скорее всего не будет. Но скорее всего, мы сможем создавать системы, которые человеческий мозг более-менее уверенно превзойдут, потому что, ну, эволюция накладывала довольно жёсткие ограничения. Скажем, не знаю, там, от удара по лицу у нас не должна сбрасываться память. Не знаю, в мозгу не должно быть напряжения больше, чем одна целая там и три десятых вольт, потому что иначе вода, кислород разлагаться с нехорошими последствиями для нашей головки. Вот. Через эти лимиты мы психологически рано или поздно перешагнём и создадим системы, которые человеческий мозг превзойдут. Но там не будет, скорее всего, тотального превосходства, которым там пишут футуристы. Вот. Но вот технологии, они предназначены для того, чтобы усилить и расширить наши возможности. Как ещё в начале шестидесятых писали Дуглас Энгельбарт, Фредкин о том, что вот человечество приобретёт алгоритмические крылья, чтобы взлететь подобно Фениксу. Вот. Ну, и мы, конечно, мечтаем о таком.
Спасибо большое за развёрнутый ответ. Я думаю, самое время подвести итог. То, что я вынес из этой дискуссии, как аналитик: первое, для аналитика система искусственного интеллекта и нейросети могут стать отличным инструментом, который сможет улучшить его производительность. Второе, данная производительность может быть улучшена не во всех задачах. Объективно, шаблон бизнес-требований и так смогу найти. А вот расшифровать десятки интервью, сколько времени я затрачу, если я буду это делать вручную, прослушивая каждое? Поэтому задачу тоже нужно выбирать соответствующую. В данный момент, который я отметил для себя, чтобы в это погрузиться, надо с этим брать и пользоваться. И только после того, как попробовать, можно сделать вывод: подходит, не подходит. Если подходит, можно дальше углубляться. Вот. И да, технологии не стоят на месте, они развиваются, и я надеюсь, что с каждым месяцем, с каждым годом они будут всё лучше и лучше, и сделают нашу жизнь ещё более прекрасной. На этом я благодарю всех участников дискуссии. Зрителям желаю успешного продолжения конференции, интересных и полезных докладов. Большое спасибо всем. Спасибо всем. Пока!