Нейронные сети всюду продвигаются, как невероятный инструмент, которому под силу чуть ли не всё на свете. И хотя с их помощью можно действительно решать многие задачи, важно понимать, что они могут, а чего не могут, на данный момент. И, так как это - инструмент, было бы неплохо научиться им пользоваться.
В прошлой статье мы узнали, что такое языковые модели, как они работают и как обучаются. В этот раз мы разберёмся в том, как именно, нам работать с языковыми моделями, чтобы это было полезно и эффективно.
Для чего стоит использовать нейросети
Образование
Языковые модели хорошо подходят, в первую очередь, для образовательных целей. Однако, не как непогрешимая энциклопедия и гигантская база данных, а скорее как наставник указывающий путь.
Она идеально подходит, например для создания структур (если угодно, дорожных карт) для обучения. То есть вы можете попросить языковую модель составить план обучения по какому-либо разделу, или создать каркас знаний по какой-то теме. Например, если вы хотите разобраться в истории, модель набросает вам общий расклад ключевых событий в истории человечества. Ознакомившись с каркасом, вы можете попросить её углубиться в какую-то отдельную тему – например «Древний мир» и получите структуру данных по Древнему миру. Затем чтобы углубиться в историю, например Древнего Египта, вы снова просите её раскрыть эту тему и так далее. В итоге у вас получается структурная схема знаний, которые необходимо освоить чтобы прийти к цели.
Это так же работает для любого образовательного вопроса. Создавайте иерархическую структуру того, что нужно изучить с помощью языковой модели и пускайтесь в работу.
Работа с текстом
Как продолжение образовательной темы можно отметить пользу модели для работы с текстами в целом. Она хорошо справляется с сокращением и обобщением текстов, а так же не плохо выделяет ключевые моменты. Кроме того модель может переформулировать текст и объяснить сложную тему более простыми словами.
Так же её можно использовать для поиска информации в больших текстах. Это удобно, когда вы не знаете в точности нужные формулировки, чтобы использовать базовый поиск, но понимаете, что именно вам нужно найти.
Модель удобно использовать для составления шаблонных текстов или электронных писем, а так же для редактуры и исправления ошибок и стиля.
Кроме того она может помочь в технической обработке данных, например превратив текст в маркированный список или список в таблицу.
Деконструкция
Хотя проблема разделения большой и сложной задачи на более мелкие может быть не простой, чаще всего языковая модель хорошо с ней справляется. В случае упомянутого выше образования, нейросеть может из глобальной задачи «научиться программировать на JavaScript» составить вам конкретный план по изучению программирования с разной степенью детализации. Или, например, напишет подробный план изучения иностранного языка.
Это же может сработать, с общими (не профессиональными) спортивными тренировками, созданием плана организации мероприятия или даже малого бизнеса. Она поможет набросать план книги, напишет рецепт какого-нибудь блюда и т.д.
Однако, всегда стоит помнить, что в серьезных вопросах, как медицина или создание того же бизнес плана, категорически нельзя доверять языковой модели полностью. На неё можно ориентироваться. Но любой «бизнес план» от ИИ необходимо проверять и оценить самостоятельно. Ниже я посвящу ещё несколько разделов касаемо этого вопроса.
Генерация идей
Языковая модель хорошо справляется с генерацией идей. Не всегда оригинальных и не обязательно попадающих «в точку», но зато практически бесконечных, когда вы можете задавать ей вектор «размышления».
Конечно, языковая модель вряд ли напишет за вас гениальный роман, но она легко может помочь в этом предлагая идеи, которые вам может быть даже не приходили в голову. Либо может развить ваши собственные идеи. Разумеется речь идёт не только о написании книг, но о любой творческой деятельности. Главное, чтобы вы могли в тексте объяснить чего вы от неё хотите.
Тренировка и проверка навыков
Вы можете использовать языковую модель и для проверки собственных идей или мыслей. Она вполне может попробовать оспорить ваши утверждения, если вы её попросите. Причём, неважно, оспорит она их достаточно убедительно или нет. В любом случае, вы либо убедитесь в том, что правы, либо найдёте слабое место в своих умозаключениях. И то, и то будет полезно.
Если вы изучаете любой навык, который можно отразить в тексте, например, язык программирования, то вы можете попросить модель задавать вам вопросы или задачи для проверки своих навыков. И, хотя, конкретно для программирования, есть довольно много более точных инструментов для проверки навыков, в целом эта возможность может быть крайне полезной в других областях.
Обратная связь
Очень важным преимуществом в использовании нейросети при образовании является её возможность давать обратную связь. Не всегда у вас есть преподаватель, который может ответить на неожиданный вопрос. Гугл и Яндекс порой требуют большого количество времени, чтобы найти нужные ответы, да и те могу быть очень общими.
Работая с языковой моделью, вы всегда можете задать ей уточняющие вопросы, если что-то непонятно. Причём в своём вопросе вы можете сформулировать все нюансы того, что вам оказалось непонятно. Вы можете попросить её объяснить один раз, два, десять. Объяснить простым языком, научным, на примерах или любым другим способом. При этом нейросеть не скажет, что ей надоело объяснять одно и то же.
Кстати, этот аспект может оказаться крайне полезным для людей с плохой коммуникабельностью, которым порой страшно задать вопрос, чтобы не показаться глупым или не привлекать к себе лишнего внимание. Языковой модели вы можете задавать любые, даже самые глупые вопросы. Она вас не оценивает, не будет упрекать или что-то о вас «думать», а будет всегда отвечать в том виде, в котором вы запросите.
Помимо вопросов, вы можете использовать обратную связь для дискуссий, проверки собственной или чужой аргументации, создания проверочных вопросов или генерации задач на ту или иную тему.
Для чего не нужно использовать нейросети
Узконаправленные знания
Как мы выяснили из прошлой статьи, языковая модель работает на основе статистических связей между словами. Соответственно, чем меньше статистики, тем менее точными будут её ответы. Поэтому любые узкоспециализированные сведения или труднодоступная информация, для нейросети не подходят.
Пытаясь узнать у неё какие-то детали по, такого рода, вопросам, вы в лучшем случае получите ответ, что она об этом не знает, но что более вероятно (и хуже) получите неверную и ошибочную информацию. Причём нейросеть может быть при этом достаточно убедительной. Поэтому любые спорные или сложные факты, сведения по узкой или противоречивой тематике обязательно нужно перепроверять.
Напоминаю, что языковая модель не думает и не анализирует в привычном нам смысле. Она не может отличить правду от вымысла.
Творческие задачи
Хотя языковая модель может красиво выражать свои мысли и может даже сама написать рассказ, стоит учесть, что ввиду принципа своей работы, вся её творческая деятельность будет основана на наиболее распространённых шаблонах. Следовательно, результат такого творчества будет очень поверхностным и может быть в большой степени бессмысленным или вторичным.
Языковая модель может быть хорошим помощником в творчестве, благодаря генерации идей, но на текущий момент неспособна полностью творчеством заниматься.
Медицина и юриспруденция
Хотя вы можете посоветоваться с нейросетью по поводу своего самочувствия, но диагностировать свои заболевания, или, тем более, лечить их по советам языковой модели нельзя категорически. Её заключения могут быть (скорее всего и есть) ошибочными, поскольку невозможно провести медицинский осмотр через текстовые сообщения, без знания истории болезни и т.д. И как вы понимаете вредные советы могут нанести реальный вред вашему здоровью, поэтому такого делать нельзя.
То же касается юриспруденции. Законы штука сложная и очень гибкая. Всевозможные законы и кодексы изменяются по много раз каждый год. При этом в каждой стране они различаются. Так что задавать юридические вопросы языковой модели можно только в рамках развлечения. Помните, что нейросеть не будет отвечать за то, что вы сядете в тюрьму из-за её совета.
В целом, общим правилом можно назвать - не доверять языковой модели в любых вопросах связанных с риском для здоровья, денег, свободы. Вы можете использовать модель для получения дополнительной информации и анализа, но не оставляйте ей принятие решений за вас. Любые бизнес-планы проверяйте и перерабатывайте лично, программные решения используйте только после всесторонних проверок и тестирования, диеты или тяжелые спортивные нагрузки только после встречи с врачом или тренером. Думаю, суть ясна. Потому что языковая модель может ошибаться, и делает это часто.
Почему появляются ошибки
Вспоминая из прошлого материала как обучалась модель, легко понять, что во многом это происходит на текстах из интернета. А в интернете регулярно встречаются противоречивые факты и устаревшая информация, включая научные теории, которые позже были опровергнуты. Например, модель может утверждать, что Плутон — это планета (по старым учебникам), хотя с 2006 года его переклассифицировали.
У языковой модели нет реального понимания того что она пишет. Модель не осознает смысл, а лишь предсказывает последовательности слов. Поэтому для появления ошибок достаточно чтобы по теме было мало статистической информации или если эта информация противоречива.
Кстати, это одна из причин, по которой модель может допускать, например, ошибки в расчётах. Казалось бы – математика точная наука, и что может более точно провести вычисления, чем компьютер. Но на самом деле языковая модель не проводит вычисления, а так же предсказывает числа на основе шаблонов. Поэтому она может делать ошибки, причём иногда даже в арифметических задачах уровня 2-3 класса.
Так же языковая модель может испытывать сложности с причинно-следственными связями и гипотетическими сценариями. При недостатке статистических данных она будет пытаться угадать их, что вероятно приведёт к неверному или противоречивому ответу.
Как происходят исправления
Если модели указать на ошибку, она может попытаться самостоятельно её исправить. Модель, переоценивает вес разных частей контекста и активирует альтернативные "пути" генерации текста.
То есть при указании на ошибку, модель пытается выполнить ту же задачу альтернативными путями, что может привести к исправлению неточности. Но естественно это тоже будет работать только в случае достаточного количества данных.
В целом наиболее типичные способы исправления ошибок моделью, это:
- поиск более надежных шаблонов в случае путаницы в данных
- пошаговая проверка цепочки «рассуждений» в случае логической ошибки
- переоценка контекста, в случае потери нужной информации для запроса.
Сама модель тоже может находить ошибки, но, как правило, только в очевидных случаях, вроде арифметических несоответствий или явных противоречий в своём ответе.
Примером исправления ошибки может быть такая:
Ошибка: "Первая высадка на Луну была в 1965 году"
Исправление: После уточнения модель находит более частый паттерн "1969 год"
Если вы подозреваете, что модель совершила ошибку, или просто хотите проверить сведения, можете уточнить у неё какие источники подтверждают указанный факт или почему она сделала тот или иной вывод.
Как правильно составлять запросы
Для того, чтобы использовать возможности модели максимально, следует придерживаться некоторых правил, при создании запросов (промптов).
На общий вопрос вы получите очень общий ответ. Поэтому будьте конкретными и точными. Избегайте двусмысленности. Если запрос достаточно объемный, его стоит структурировать или лучше разбить на несколько более мелких запросов.
Хотя модель, как правило, может разобрать и достаточно большие и сложные запросы, но чем больше они перегружены, тем больше вероятность ошибки.
Кроме того, может помочь уточнение, в каком именно виде вы хотите получить ответ. Развёрнутый и подробный или в виде ключевых пунктов, а может в виде таблицы. По умолчанию модель старается выдавать ответы в виде тезисов с маркированными списками, т.к. этот механизм считается наиболее удобным для восприятия человеком, но помните что вы можете регулировать формат ответа.
Более точный и полный ответ можно получить используя цепочки рассуждений. То есть когда пользователь просит модель дать ответ, продемонстрировав как она приходит к нему шаг за шагом. Это может быть наиболее полезно для задач из точных наук, т.к. в случае ошибки её будет проще локализовать, да и в целом видеть пошаговое решение всегда полезно.
В общем, идеальный запрос должен подчиняться следующей структуре:
Контекст + задача + ограничения + формат ответа, например так:
"Как опытный экономист, проанализируй влияние повышения ключевой ставки на 2% на малый бизнес в России. Учитывай данные за последние 5 лет. Ответ представь в виде: 1) Краткого резюме, 2) 3 ключевых последствия, 3) 2 возможных исключения»
Проблема смещения к среднему
Не смотря на качество запросов, ответы модели могут быть не точны из-за такого явления как смещение к среднему.
Смещение к среднему - это тенденция модели давать усреднённые, шаблонные ответы вместо точных или специализированных. Она возникает из-за: статистической природы генерации (выбор наиболее вероятных слов), ограничений обучения (попытки угодить всем пользователям) и фильтров безопасности.
Например, на запрос:
Какая научная теория лучше всего объясняет вымирание динозавров?
по умолчанию будет дан средний ответ:
Существует несколько гипотез: падение астероида, вулканическая активность, изменения климата. Большинство учёных считает, что причиной могла быть комбинация факторов.
но идеальный ответ будет
Гипотеза астероида (Чиксулубский кратер) — основная подтверждённая теория. Она объясняет иридиевую аномалию в геологических слоях и глобальные последствия удара
То есть усреднённый ответ перечисляет все возможные варианты, даже малозначимые, чтобы избежать риска ошибки. А более точный ответ выделяет главную научно подтверждённую теорию, игнорируя маргинальные гипотезы.
В результате смещение к среднему приводит к потере уникальности ответов, избеганию узкоспециализированных тем и чрезмерной осторожности формулировок.
Ответь мне как специалист...
С проблемой смещения к среднему отчасти можно бороться давая дополнительный контекст в начале запроса – то самое «расскажи как…».
Естественно языковая модель не понимает профессии, но она анализирует контекст и в случае, когда вы просите её «расскажи как экономист», модель увеличивает вес токенов связанных с экономической терминологией, углубляет и детализирует ответ. Таким образом, запрос «объясни инфляцию» даст общий ответ, а «Объясни инфляцию как опытный экономист» - даст более специализированный ответ с упоминанием монетарной политики, индекса потребительских цен и т.д. Кроме того модель пытается структурировать ответ в виде экспертного мнения и использовать профессиональную терминологию.
Используя такие уточнения в запросе, вы смещаете усреднённый ответ к более специализированному и уменьшаете число банальностей. Но не стоит забывать и то, что уже упомянутые ранее ограничения продолжают работать. Если модель не имеет достаточно статистической информации по узкой теме, она начнёт «выдумывать» свой ответ. Кроме того, это очевидно не будет работать с практическими навыками или абстракциями (вроде ответь, как опытный шахтёр или ответь как мудрец).
Такой приём следует использовать тогда когда он необходим. Если вам нужен именно простой и общий ответ, то не нужно пытаться делать его специализированным.
Заключение
Таким образом языковые модели хоть и являются мощным инструментом, вовсе не являются непогрешимыми и пользователь всегда должен включать критическое мышление, когда ведёт с ней диалог. А так же понимать, на какие вопросы он может получить наиболее достоверный ответ, а на какие нет.
В следующей статье мы рассмотрим некоторые психологические аспекты работы с языковыми моделями и поговорим о перспективах развития нейросетей в ближайшем будущем.