четверг, 13 июня 2024 г.

Как работают генеративные языковые модели нейросетей

 Возможности и сценарии применения больших текстовых моделей, как GPT4, Claud или LlaMA, привлекают к этой технологии всё больше внимания. Вместе с экспертом, CDO компании MTS Travel и экс- руководителем центра R&D МТС Big Data Михаилом Степновым разбираемся, из чего состоят генеративные нейросети, насколько сложно их создать и обучить, куда движется индустрия. Материал подготовлен на основе выступления Михаила на MTS True Tech Day 2024.


Не вчера родились: коротко об истории нейросетей

LLM (Large Language Model) – это масштабная языковая модель (нейронная сеть), обученная на огромных наборах текстов (корпусах данных) и способная обрабатывать запрос на естественном языке для решения различных задач: например, создания нового контента, перевода текста на иностранные языки, поиска и выдачи необходимой информации. Мировые лидеры в области разработки языковых моделей: OpenAI (GPT-4, GPT-4o), Google (PaLM, Gemini), Microsoft (Copilot), Meta AI (LlaMA). В России – Яндекс (YandexGPT), Сбер (GigaChat), МТС (MTS AI Chat).

Несмотря на то, что о генеративных моделях, как Chat GPT, в целом предпочитают говорить как о феномене 2020-х годов, само понятие нейросетей появилось уже более 70 лет назад: создание первой нейронной сети относится к периоду 1950-х годов. Что касается больших текстовых моделей, началом их массового распространения можно считать 2017 год, когда в научной статье «Attention Is All You Need» исследователи Google открыли миру трансформерную архитектуру, очень быстро совершившую переворот в области Deep Learning.

Одной из первых языковых моделей на базе новой архитектуры стал BERT (Bidirectional Encoder Representations from Transformers), решивший многие задачи обработки текстов. Модель научилась кодировать и анализировать текстовую информацию достаточно хорошо для того, чтобы заменить алгоритмы TF-IDF (term frequency-inverse document frequency) и Word2Vec для решения бизнес-задач.

Интересно, что еще в 1950-х основной задачей, которую ученые собирались решить с помощью искусственного интеллекта, был машинный перевод текстов на иностранные языки. Модели с трансформерной архитектурой предложили эффективное решение: принцип BLEU (Bilingual Evaluation Understudy), согласно которому модель для обучения машинному переводу сопоставляет эталонные переводы одного и того же предложения, выполненные людьми.

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

По словам Михаила Степнова, структура большой языковой модели LLM относительно проста. Чтобы ее запустить, по сути, требуется два файла: первый («parameters.zip»), объемом около 140 ГБ (в случае LlaMA2), содержит параметры этой сети, второй («run.c») – небольшой фрагмент кода на 500 строк, который может быть написан на Python, С или другом языке. Создание второго файла не доставит проблем. «Вам нужен только ноутбук, даже без подключения к интернету. То есть у пользователя более-менее продвинутого уровня не возникнет никаких сложностей при запуске LLM. Гораздо интереснее всё начинается, когда мы хотим эту модель обучить. Говоря метафорически, мы пытаемся сжать всю информацию из интернета в тот самый файл в 140 ГБ, содержащий вероятности соиспользования различных слов между собой. Для этого мы, условно, берем значимый фрагмент интернета (около 10 ТБ текста) и обучаем параллельно на большом количестве видеокарт: на 6000 GPU по 12 дней. Трансформерная архитектура дает нам такую возможность. Но самая главная цифра здесь такая: обучить большую языковую модель «с нуля», с полной подготовкой, стоит около 2 млн долларов. Далеко не у каждого есть такая сумма», – замечает эксперт МТС на конференции True Tech Day 2.0.

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

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

«Как это работает, понятно не всем и не до конца. Даже сами AI-ресерчеры и дата-сайентисты не всегда понимают, как именно распределяются веса внутри модели. Классический пример: если вы спросите у GPT4, кто является матерью Тома Круза, она правильно ответит – Мэри Ли Пфайффер, потому что в условной статье на Википедии есть эта информация. Но если, удалив предыдущий контекст, мы спросим, кто является знаменитым сыном Мэри Ли Пфайффер, ответ будет – «не знаю». Claude в этом случае ищет другого известного человека с похожей фамилией, Мишель Пфайффер, и говорит, что у нее нет детей. А ведь в этой истории с большими текстовыми моделями мы все-таки хотели бы получить ассистента, Co-Pilot, который мог бы генерировать письма, изображения, код, быстрее и эффективнее решать наши задачи. Мы хотим задавать вопросы модели и получать ответы. А та модель, которую мы за 2 млн долларов получили, пока этого не умеет», – говорит Михаил Степнов.

Чтобы модель достигла более высокого уровня развития, требуется еще один этап ее подготовки: дообучение, или тонкая настройка (fine-tuning). Для нее используется значительно меньший объем данных (например, 100 тыс диалогов – вопросов и ответов) и меньшие мощности (достаточно нескольких видеокарт). В целом эта задача гораздо более простая, чем процесс обучения. В результате модель учится взаимодействовать с пользователем так, как ему нужно, и таким образом появляется желаемый ассистент.

Следующий этап развития модели – промтинг (Prompt Engineering), или использование контекста для верхнеуровневого дообучения. Правда, он не позволяет переобучить модель, это режим краткосрочный, и «познания» нейросети откатываются к исходным, как только пользователь обновляет окно контекста.

«Большая языковая модель обучается «с нуля» раз в год, это длительный и сложный процесс. Вопреки распространенному мифу, эти модели самостоятельно не умеют выходить в интернет и получать какую-то информацию в реальном времени. Так, сейчас в GPT4o загружены данные до середины 2023 года, в GPT4 были – до конца 2022 года. А вот дообучение, или файнтюн, можно проводить с такой периодичностью, с которой вы получаете новые данные по своей задаче. Существует сервис Chatbot Arena, где тестируются разные генеративные языковые модели и сравнивается их эффективность при решении реальных задач. На вершине актуального рейтинга ожидаемо находятся GPT4o и Gemini Pro от Google, и в целом в первой шестерке – коммерческие модели, доступ к которым вы можете получить за деньги. Но фактически всё, что ниже, – это модели бесплатные, которые вы можете скачать, доработать и использовать по своему усмотрению. Поэтому, к счастью, 2 млн долларов всем нам тратить не нужно», – рассказывает эксперт.

Будущее больших языковых моделей

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

Вторая тенденция – появление у языковых моделей аналитического мышления для решения более сложных и ресурсозатратных задач. Этому может способствовать протестированный на ChatGPT метод обучения с подкреплением RLHF (Reinforcement Learning from Human Feedback).

 Третья тенденция – появление большего разнообразия моделей GPT и расширение их области применения. Уже сегодня компания Open AI анонсировала магазин приложений GPT (GPT Store), где можно самостоятельно создать кастомного помощника. «Со временем мы ожидаем что это перерастет в появление операционной системы на основе большой языковой модели. Уже сейчас работа GPT очень похожа на работу Linux или Windows: есть основная модель, или основная оболочка, которая позволяет системе понимать, чего вы от нее хотите. Есть набор прикладных программ, которым вы отправляете задачи. Chat GPT не умеет искать информацию в интернете, но умеет генерировать запросы в поисковую строку браузера Bing. Либо, например, какой-нибудь другой запрос может отправиться в файловую систему: калькулятор на Python или что-то еще. Мы начинаем относиться к языковой модели как к продвинутому интерфейсу. И возможно, в будущеем операционная система нового поколения будет не очередной версией Windows, а большой языковой моделью, которая умеет трассировать ваши запросы, направлять в нужные элементы», – резюмирует эксперт.

Блинов А.

https://spbit.ru/

Комментариев нет:

Отправить комментарий