Языковые модели (LLM): база для искусственного интеллекта
Отличие мышления человека от машины
В 1950 году в философском журнале ‘Mind’ была опубликована статья под названием «Вычислительные машины и разум». Ее автор, британский криптограф Алан Тьюринг, предложил научной общественности эмпирический тест . Он придумал метод, который, по его мнению, должен определить, способен ли компьютер мыслить как человек. Точнее, можно ли, не видя собеседника, уверенно сказать, кто за ширмой – человек или компьютер?
Испытуемым в подобном тесте должен выступать человек. Он получает ответы в письменной форме, но не знает, кто именно написал ему текущее сообщение. Сможет ли он назвать, опираясь на полученный ответ, с кем он разговаривает в текущий момент? У него есть право на ошибку. Но если он будет ошибаться слишком часто, то сторонний рефери вынесет вердикт, что испытуемый не смог отличить машину от человека.
Прошло почти 70 лет, как появился другой, упрощенный вариант теста Тьюринга. Он был обнародован в 2018 году исследователем Джоном Маккоем в соавторстве с другими учеными из Массачусетского технологического института. Новый тест получил название ‘Minimal Turing Test’, проводился в два этапа и отличался максимально упрощенными правилами. Сначала участникам опроса (в нем приняло участие 1089 человек) предстояло назвать несколько слов, которые, с их точки зрения, могли безошибочно указывать на то, что они были произнесены человеком.
В результате получился довольно разношерстный список, а тoп-10 самых популярных ответов на них выглядел так: «любовь» (12,3%), «сострадание» (3%), «человеческий» (2,8%), «пожалуйста» (2,3%), «милосердие» (1,7%), «сопереживание» (1,6%), «эмоция» (1,3%), «робот» (1,2%), «человечество» (1,0%), «живой» (0,8%).
Второй этап был противоположен первому: из слов, отобранных на первом этапе, были составлены двухсложные конструкции (прилагательное + существительное), а опрошенные, зная, что часть вариантов составлена компьютером, должны были снова выбрать самые «человеческие» варианты.
Казалось бы, что слово «любовь» должно победить снова. Но опрошенные посчитали иначе: «самым человеческим» на этот раз стало слово “poop” (экскременты человека). Как? Почему? Объяснение этого парадокса достаточно логичное: попавшее в топ слово неявно нарушает табу на слова, принятые в обществе. Опрошенные сочли, что человек хочет дать им сигнал, что это именно он, а не компьютер. С их точки зрения, он дополнял слово эмоцией, причем запрещенность оказалась более значимой для выбора, чем очевидное слово «любовь».
Данный эксперимент показал, что одни и те же слова воспринимаются людьми по-разному и восприятие сильно зависит от контента. Если вы хотите разговаривать (и мыслить) как человек, то необходимо дополнять слова контекстом/эмоциями. Когда компьютер сообщает, то он просто передает смысл. А когда говорят (думают) люди, они сопровождают смысл эмоциями, отражающими отношение к передаваемому смыслу.
Мы рассказали об этом в начале нашего рассказа о языковых моделях не только как о феномене. Это открытие совпало с бумом стремительного роста искусственного интеллекта (ИИ), который выразился сейчас в достигнутом уровне создания больших языковых моделей (LLM).
Что такое LLM
Прежде чем рассказать, какие бывают языковые модели, остановимся на следующем вопросе: что такое язык человеческого общения? Интуитивно мы понимаем язык как основу: язык отражает способность человека к самовыражению и общению, он каким-то образом развивается в нем уже в раннем детстве и обогащается на протяжении всей жизни.
Особенностью компьютеров в их нынешнем понимании является то, что они не обладают такой естественной способностью к пониманию друг друга. Поэтому на первых этапах развития ИИ создание языковых моделей рассматривалось как получение некого подобия человеческого языка. Цель формулировалась следующим образом: развить у компьютеров способность к взаимному общению с себе подобными, как это делают люди.
Но уже на старте сразу стало понятно, что для реализации недостаточно создать новые алгоритмы. Необходимо оснастить компьютеры «знаниями». Их и стали называть «языковыми моделями» (Language Models).
Четыре основных этапа в развитии языковых моделей
Многие уже наслышаны о больших генеративных языковых моделях, но не все знают, что это такое и почему именно они стали теперь признаком уровня развития ИИ. Чтобы разобраться, потребуется рассказать, как происходило их развитие.
К настоящему моменту пройдены уже четыре стадии: статистические языковые модели (SLM), нейронные языковые модели (NLM), предварительно обученные языковые модели (PLM) и большие языковые модели (LLM). Расскажем о каждой из них подробней.
Статистические языковые модели
Статистические языковые модели (Statistical Language Models, SLM) получили свое название от статистических методов анализа – отдельного направления теоретической математики, которое активно развивалось в 1980–1990-е годы. Интуитивно было решено создавать языковые модели и обучать их на базе этих методов.
Чтобы придать словам форму и вложить в них смысл, понятный человеку в обыденном общении, их стали собирать в группы и цепочки. Человек пользуется аналогичными приемами: он выражает эмоции через междометия и прилагательные, передает смысл через существительные и предложения, для описания действий используются глаголы.
Для анализа цепочек слов был выбран математический аппарат, известный как «марковские цепи» или «цепочки Маркова». Для анализа исходные тексты стали делить на n-граммы – сочетания из двух (биграммы) или трех (триграммы) слов, для каждой пары рассчитывалась вероятность появления в более длинных словесных цепочках из обучающего текста. Одновременно с вероятностью появления оценивался также контекст. При генерации ответов производилась последовательная выборка n-грамм, опираясь на оценку запроса и его контекст.
Новые ИИ-модели быстро нашли применение для решения логических задач поиска, а также для обработки естественного языка (Natural Language Processing, NLP). Однако сразу выявились и недостатки: высокая зависимость модели SLM от размерности n-грамм.
Очевидно, что чем длиннее их последовательность, тем выше сходимость с оригинальным текстом, на котором производилось обучение. Это приводило к потере новизны создаваемого текста. Пытаясь справиться с возникшими трудностями, были разработаны разные стратегии для сглаживания зависимости, например метод отсрочки, или метод оценки Гуда-Тьюрига. Это помогало повысить качество результата, но не настолько, чтобы процесс считать идеальным.
Нейронные языковые модели
Как показали дальнейшие исследования, собрать осмысленный текст из коротких фраз как из заранее заготовленных кубиков не получается. Поэтому появилась новая концепция представления контекста. Для этого осуществлялось агрегирование связанных распределенных векторов слов. В результате возникли рекуррентные нейронные сети (Recurrent neural network, RNN), где связи между элементами образовывали направленную последовательность. Развитие их математики позволило вести обработку и осуществлять оценку генерируемых текстов.
Для развития методики отбора эффективных характеристик, отражающих смысл слов или предложений, был разработан единый подход к построению нейронных сетей при решении различных задач. Это направление получило название нейролингвистического программирования (Neuro-linguistic programming, NLP). Теоретические идеи, стоящие за НЛП, активно разрабатывались еще в 1970-х годах. Их создатели опирались на допущение, что существует определенная связь между неврологическими процессами, языком (лингвистическое) и паттернами поведения человека (программирование). Они верили, что если научиться использовать эти методы, то можно создать специальные техники, которые откроют необъятные возможности для влияния на людей и достижения желаемых целей. Однако строгих научных доказательств в пользу эффективности НЛП не было найдено. Систематические обзоры указывали, что в основе концепции лежат устаревшие представления об устройстве мозга. Поэтому подход НЛП к межличностному общению, развитию личности и психотерапии в конечном счете был признан псевдонаучным.
Тем не менее разработанные для НЛП идеи помогли инициировать процесс обучения языковых моделей. Это послужило значительным импульсом для развития ИИ. Созданные на этом этапе языковые модели стали называть «нейронными» (Neural Language Models, NLM).
Предварительно обученные языковые модели
Развитие математического аппарата для совершенствования языковых моделей продолжалось. Это привело к созданию новой архитектуры глубоких нейросетей, получившей название Transformer. Новая технология предназначалась для обработки текстов на естественном языке, его перевода и обобщения. Ее важным достоинством стало отсутствие требований к первоначальному упорядочиванию в оригинальных текстах. Это открыло огромные возможности по распараллеливанию процесса обработки. Языковые модели стали доступны для практического использования на существующем ИТ-оборудовании.
Созданные предварительно обученные языковые модели (Pre-trained Language Models, PLM) стали применять на крупномасштабных неразмеченных массивах данных. Получаемые контекстно зависимые представления слов оказались очень эффективными для выполнения типовых задач. Это вдохновило разработчиков на проведение большого количества последующих работ, которые развивали идею «предварительного обучения и тонкой настройки». Достижениями этого этапа стало создание таких архитектур, как CoVe, ELMo, OpenAI, GPT-2 и BERT.
Большие языковые модели
Возможно, вы заметили, что названия предыдущих моделей несли определенный «физический» смысл. В названии нового этапа развития – «Большие языковые модели» (Large Language Models, LLM) – акцент сделан на слове «большие». В чем секрет?
Действительно, именно масштаб исходных данных, на которых проводилось обучение, как оказалось, способен поднять ИИ на новый уровень. Крупные языковые модели нового поколения отражали эту новизну. В ходе исследований было обнаружено, что масштабирование уже известных PLM-моделей ведет к резкому повышению их производительности при выполнении прикладных задач – предварительное обучение как бы брало на себя часть будущей вычислительной нагрузки. Это позволило, работая с LLM, значительно быстрей получать результат.
В результате новизной модели GPT-3 стало то, что по сравнению с GPT-2 в ней резко – в 100 раз – возросло количество используемых параметров: с 1,5 млрд до 175 млрд. Обучение модели GPT-3 проходило на суперкомпьютере Microsoft Azure AI, специально построенном для OpenAI.
Российская компания «Яндекс» создала 100B-параметрическую языковую модель по типу GPT. Ее обучение заняло 65 дней на кластере из 800 видеокарт NVIDIA A100 и потребовало обработки 1,7 Тбайт онлайн-текстов, книг и бесчисленного множества других источников на английском и русском языках. Обновленный ИИ применяется теперь в работе сервиса «Алиса» и для Яндекс-поиска. После закрытия свободного доступа к GPT-3 обновленная языковая модель Yandex 100B YaLM стала самой большой в мире GPT-подобной нейросетью для английского и русского языков, которые доступны в свободном доступе.
Размерность языковой LLM-модели GigaChat, развитием которой занимается «Сбер», составляет 7 млрд параметров (GigaChat Lite) и 29 млрд параметров (GigaChat Pro).
Но развитие LLM в направлении наращивания их масштаба продолжается. Например, LLM-модель PaLM (Pathways Language Model), развитием которой занимается Google Research, имеет размерность 540 млрд параметров. Эта LLM-модель может учитывать данные одновременно на сотнях языков. Она позволяет переходить к решению более сложных прикладных задач.
Вместо послесловия
Мы коснулись только верхушки айсберга развития современных ИИ-систем, поскольку много интересных и важных вопросов осталось за кадром. До сих пор продолжается развитие алгоритмической части ИИ, наращивается масштаб применяемых LLC-моделей, поддержка ИИ находит отражение на доступных аппаратных средствах.
Что будет происходить с ИИ дальше? Куда пойдет развитие? Будет ли это связано с масштабированием для обучения новых языковых моделей? Какое прикладное значение могут иметь созданные LLM? Все эти вопросы ждут своего ответа.
Опубликовано 22.02.2024