Теория | Про AI простыми словами
June 24

Урок 3 «Нейросети для создания текстов (LLM)» 

👩‍🏫 Автор урока: Анна Веклич, эксперт в сфере развития и продвижения высшего образования и науки, сооснователь @GPT4Telegrambot и автор курса «Нейрограмотность».

📌 В этом уроке вы узнаете, что такое языковые модели (LM и LLM) и как они работают, а также что такое «промпт», «память», «параметры», «токены» в нейросетях, и какой длины может быть вопрос и ответ от нейросети.

Содержание конспекта

📌 Этот урок будет интересен тем, кто хочет детальнее понять, как работают текстовые нейросети, чем они отличаются, как обновляются и почему об этом так много пишут в СМИ. Он чуть сложнее, чем предыдущие, но мы старались сохранить понятный стиль изложения и наглядные примеры.

Языковые модели нейросетей (LM)

Из предыдущего урока мы знаем, что существует 2 основных типа нейросетей в зависимости от того, что они создают – тексты или картинки, видео, музыку и пр.

Для создания новых текстов с помощью AI – используются языковые модели нейросетей (Language Models, LM). Они заточены на работу с естественным языком человека. То есть ответы от нейросети приходят в виде текста, как будто это отвечает человек.

Пример работы ChatGPT в @GPT4Telegrambot

Самые известные и большие языковые модели – это GPT-4 или Claude 3.

📌 Их называют Large Language Models = большие языковые модели, или LLM.

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

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

📌 NLP (Natural Language Processing) – способность языковой модели распознавать, обрабатывать и понимать человеческий язык.

Это позволяет нам получать корректные ответы при общении с AI, ведь программа понимает, что мы хотим спросить.

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

Иллюстрация создана нейросетью Midjourney в @GPT4Telegrambot /imagine разговор взрослого с младенцем

📌Большие языковые модели (LLM) – тип нейросети, специализированный на обработке и понимании естественного языка. Используется для генерации текстов по принципу предсказания следующего слова (предложения или даже целого абзаца) на основании данных, на которых нейросеть была обучена.

Схема работы LLM:

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

Как это возможно?

LLM – это продвинутый Т9

Основной принцип генерации ответов от языковых моделей – это принцип Т9 из 2010-х, который предсказывает и предлагает вариант следующего слова, когда вы пишете что-то в телефоне.

📌 T9 – предиктивная (предугадывающая) система набора текстов для мобильных телефонов, которая предлагает вариант следующего слова на основании внутреннего встроенного словаря. Название T9 происходит от англ. Text on 9 Keys, то есть набор текста на 9 кнопках.

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

Как работают LLM?

Обучение → Понимание → Предсказание

Давайте рассмотрим каждый этап детально:

1. Обучение на огромном количестве текста: Представьте, что LLM – это очень усердный студент, который читал книги, статьи, блоги, и даже переписки в интернете на протяжении многих лет.

Изображение сгенерировано Midjourney внутри @GPT4Telegrambot. Промпт: /imagine Изобрази очень усердного студента, который читал книги, статьи, блоги, и даже переписки в интернете на протяжении многих лет --ar 16:9.

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

Этот процесс называется «обучением», и он позволяет модели уловить закономерности использования языка. О машинном обучении мы говорили в предыдущем уроке.

2. Понимание контекста: Когда вы просите LLM продолжить ваш текст или ответить на вопрос, модель вспоминает все, что она «прочитала» во время обучения, чтобы понять контекст вашего запроса.


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


3. Предсказание: Затем LLM использует свои знания о языке для предсказания, какое слово или фраза будет следующей. Это похоже на игру, где нужно догадаться, какое слово подходит лучше всего, исходя из контекста.


Например, если вы напишете «Солнце встает на», модель, скорее всего, предложит «востоке», потому что это самый распространенный и логичный ответ на основании ее «знаний».


Или ваш запрос: «Жили-были».

LLM думает: «О, это начало похоже на начало многих русских сказок. Что обычно идет дальше в подобных историях?»

Предсказание LLM: «Дед да бабка» или «Старик со старухой».


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

Разнообразие ответов как у человека

Важно, чтобы нейросеть могла по разному отвечать на один и тот же вопрос, в зависимости от контекста, стиля и задачи. В таком случае ее «речь» будет сложно отличить от человеческой. Ведь в разговоре с мамой мы используем один набор слов и оборотов, с друзьями – другой, а на публичном выступлении – третий.

Чтобы ответ нейросети был «живой» – ей нужна доля вариативности (изменчивости) при подборе ответа. Если будет 100% привязка к одному варианту, речь будет сухая и скучная.

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

Пример, как ChatGPT может менять стиль ответа.

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


Например, если вы пишете «Искусственный интеллект – это…», то в LLM существует множество вариантов, каким может быть следующее слово. У каждого из них есть некий вес, процент вероятности. Где слова «компьютерная программа» имеет 30%, а слово «собака» – 0,00000001%. Потому что такое сочетание практически никогда не используется.

Параметры и размеры языковых моделей

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

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

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

Типы языковых моделей по размеру:

  • Tiny – миниатюрные, TLM (до 1 млн параметров): используются в условиях ограниченных вычислительных ресурсов (например, мобильные приложения);
  • Small – маленькие, SLM (до 100 млрд параметров): GPT-1 (2018 г.), GPT-2 (2019 г.);
  • Large – большие, самые продвинутые и сложные, LLM (от 100 млрд параметров): GPT-4, Claude 3, Grok, Gemini Pro.

Контекстное окно и память LLM

Вы уже знаете, что простая схема работы языковой модели выглядит так:

Мы подробно рассмотрели, что такое LLM и как они работают. А теперь предлагаем чуть подробнее изучить второй аспект работы с LLM – это «Вопрос / INPUT» к LLM и ее «Ответ / OUTPUT».

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

Чтобы LLM поняла ваше задание, его нужно сформулировать/описать, то есть дать задание – промпт.

📌 Промпт – это подробное описание задания или действия, которые должна выполнить нейросеть. Может быть представлен в виде текста, голоса или документа (по отдельности или вместе).

Но каким может быть максимальный размер промпта и ответа? Для каждой LLM объем введенной информации и ответа является ограниченным.


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


📌 Общий объем всех знаков, которые можно передать в нейросеть, чтобы спросить о чем-то, называется контекстное окно.

Оно включает в себя:

– сам вопрос (текст или голос)

– загруженные документы

– предыдущие вопросы и ответы на эту тему, если они были

Пример контекстного окна в рамках одной темы:

Вопрос 1: «Представь, что ты диетолог, который формирует меню для девушки 35 лет, которая бы хотела бы выстроить оптимальный баланс белков, жиров, углеводов. Она занимается спортом 2 раза в неделю по 2 часа».

Ответ от нейросети:

Вопрос 2: «Я ем мясо, рыбу, ем овощи, но не ем фрукты и молоко. Как мне правильно завтракать?».

Ответ от нейросети:

Вопрос 3: «Прочитай эту статью о здоровье и скажи, как мне скорректировать свое питание, исходя из этого исследования?».

К вопросу добавляется документ для дополнительного изучения нейросетью и выдачи ответа на основе данных «Научной статьи о влиянии молочных продуктов на здоровье человека» (файл в pdf-формате). Для работы с документом в @GPT4Telegrambot необходимо переключиться на модель Claude-3.

Ответ от нейросети:

Вопрос 4: «А теперь, с учетом всех данных и рекомендаций из исследования, составь для меня меню на месяц».

Ответ от нейросети:


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

Понятие контекстное окно также тесно связано с терминами «память нейросети» и «поддержка контекста».

📌 Память нейросети – это способность модели сохранять информацию о предыдущих вопросах и отвечать на новые с учетом прошлой переписки, а не «с нуля». Нейросеть внимательна к этим деталям и может держать в уме то, о чем вы с ней говорили ранее, но в определенном объеме.

📌 Поддержка контекста – это опция, которая включается в нейросети по вашему желанию и означает способность нейросети запоминать ваши предыдущие вопросы/ответы или начинать каждый раз все с нуля, не учитывая контекст. При необходимости ее можно отключить или включить обратно.


Например

📌 Включить поддержку контекста в @GPT4Telegrambot можно через
«меню -> настройки».

Размер контекстного окна и памяти можно посчитать. Это необходимо, чтобы понять, насколько может быть длинным вопрос и ответ. Единица измерения объема памяти контекста называется токен.

📌 Токен – это единица информации, с помощью которой можно измерить ваш вопрос для нейросети и ее ответ, а также то, сколько всего информации может одномоментно запомнить программа.

  • Русский язык считается – 1 символ = 1 токен.
  • Английский язык считается – 4 символа = 1 токен.

Пример общения с ChatGPT на русском языке:

Вопрос: «Расскажи историю Турции в 1 предложении?».

Это 35 символов и значит 35 токенов.

Ответ: «Турция, страна с богатым историческим наследием, прошла путь от могущественной Османской империи, оставившей значительный след в мировой истории, до современного светского государства, стремящегося сочетать в себе традиции и модернизацию».

Тут 209 символов = 209 токенов.

То есть на этот вопрос-ответ мы потратили 209 + 35 = 244 токена.

📌 И если вы не отключите контекст и будете дальше спрашивать про Турцию в рамках этого диалога, то нейросеть будет тратить как токены на вопрос-ответ, так и на то, чтобы держать весь контекст в голове.

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

У каждой нейросети разный допустимый объем на токены для того, чтобы задать вопрос (загрузить что-то). И почти везде одинаковый на то, чтобы дать ответ.

Выбор моделей

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

Для многих подходит бесплатная версия GPT-3.5, кому-то больше нравится точная и современная GPT-4.

А самые продвинутые пользователи уже научились применять модель Claude 3 Opus (она превосходит даже GPT-4).

📌 Внешне вы все так же общаетесь с чатом, визуально ничего не меняется, но «под капотом» у чата могут быть разные варианты LLM.

Например в популярном агрегаторе @GPT4Telegrambot, который дает прямой доступ к нейросетям на русском языке, в разделе «Настройки» можно переключаться между GPT-3.5, GPT-4, Claude 3 Opus и Claud 3 Sonnet.

Доступные модели в @GPT4Telegrambot

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

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

Например, для создания уроков мы используем ChatGPT в версии GPT-4. А для работы с большими документами выбираем Claude 3, так как у него больше память, а это значит, что в него можно загружать объемные файлы и задавать вопросы по ним (объем файла должен быть до 10 Мб).

Новые модели нейросетей

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

То же и в сфере нейросетей, только обновления здесь происходят в 10 раз чаще.

Чаще всего разработчики улучшают модели через:

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

📌 За обновлениями нейросетей обязательно нужно следить. Еще год назад ChatGPT в версии модели GPT-3 не мог ответить на вопрос о том, кто убил Пушкина, а сегодня он пишет стихи в стиле этого поэта, создает образовательный контент и может написать песню в рифму. Трудно представить, что будет еще через год.

До встречи на следующем уроке, где мы подробнее расскажем о том, что такое GPT, ChatGPT, GPT-4 и почему так много одинаковых названий вокруг?

Словарь урока

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

📌 NLP (Natural Language Processing) – способность языковой модели распознавать, обрабатывать и понимать человеческий язык. Это позволяет нам получать корректные ответы при общении с AI, ведь программа понимает, что мы хотим спросить.

📌 Большие языковые модели (LLM) – тип нейросети, специализированный на обработке и понимании естественного языка. Используется для генерации текстов по принципу предсказания следующего слова (предложения или даже целого абзаца) на основании данных, на которых нейросеть была обучена.

📌 T9 – предиктивная (предугадывающая) система набора текстов для мобильных телефонов, которая предлагает вариант следующего слова, на основании внутреннего встроенного словаря. Название T9 происходит от англ. Text on 9 Keys, то есть набор текста на 9 кнопках.

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

📌 Промпт – это подробное описание задания или действия, которые должна выполнить нейросеть. Может быть представлен в виде текста, голоса или документа (по отдельности или вместе).

📌 Контекстное окно – общий объем всех знаков, которые можно передать в нейросеть, чтобы спросить о чем-то.

📌 Память нейросети – это способность модели сохранять информацию о предыдущих вопросах и отвечать на новые с учетом прошлой переписки, а не «с нуля». Нейросеть внимательна к этим деталям и может держать в уме то, о чем вы с ней говорили ранее, но в определенном объеме.

📌 Поддержка контекста – это опция, которая включается в нейросети по вашему желанию и означает способность нейросети запоминать ваши предыдущие вопросы/ответы или начинать каждый раз все с нуля, не учитывая контекст. При необходимости ее можно отключить или включить обратно.

📌 Токен – это единица информации, с помощью которой можно измерить ваш вопрос для нейросети и ее ответ, а также то, сколько всего информации может одномоментно запомнить программа.

Задание

Пожалуйста, не забудьте выполнить легкое проверочное задание на закрепление полученного материала, а также поставить оценку этому уроку. Все это можно сделать в образовательном боте «Нейрограмотность» @EDU4Telegrambot.