В последнее время много говорилось о чудесах моделей большого языка (LLM). Большинство из этих похвал заслужены. Попросите ChatGPT описать общую теорию относительности, и вы получите очень хороший (и точный) ответ. Однако, в конце концов, ChatGPT по-прежнему остается компьютерной программой (как и все другие LLM), которая слепо выполняет свой набор команд. Он понимает общую теорию относительности не лучше, чем ваш любимый питомец. К сожалению, мы используем «человеческие» слова для описания методов, которые инженеры используют для их создания, например, «машинное обучение» и «обучение». Это вводит в заблуждение, потому что у LLM не такой разум, как у человека.
Здесь есть определенная ирония: как может немыслящий чат-бот правильно обобщить выводы самого умного человека, когда-либо жившего на свете? Чтобы понять эту противоречивую природу LLM, давайте рассмотрим их подробнее с точки зрения сильных, слабых сторон и опасностей, чтобы увидеть, как мы можем использовать данные и решение для хранения данных, такое как MinIO, чтобы использовать первое и смягчить два других. Это методы, о которых должен помнить каждый инженер при обучении, тестировании и внедрении LLM в своей организации.
Сила LLM в том, что они обучены понимать вероятностное распределение слов в обучающем наборе, использованном для их создания. Если обучающий набор достаточно велик (например, корпус статей в Википедии или общедоступный код на GitHub), то модели будут иметь словарь и соответствующее распределение вероятностей, благодаря которым их результаты будут выглядеть так, как будто они имеют реальное понимание текст, который они выводят. Разберем подробнее еще один пример – на этот раз из философии. Задайте ChatGPT вопрос: «Что означает «cogito, ergo sum» и кто это написал?» и вы получите что-то похожее на текст ниже.
«Cogito, ergo sum» — это латинское философское положение, которое на английском языке переводится как «Я мыслю, следовательно, существую». Это утверждение, как известно, связано с Рене Декартом, французским философом, математиком и ученым. Декарт выразил эту идею в своей работе «Рассуждение о методе», опубликованной в 1637 году. Эта фраза отражает попытку Декарта установить основополагающую истину, в которой нельзя сомневаться, — уверенность в собственном существовании как мыслящего существа.
LLM дают подобные результаты, используя распределения вероятностей. Это работает примерно так: они начинают с просмотра текста вопроса и определяют, что слово «Cogito» с наибольшей вероятностью будет первым словом ответа. Отсюда они смотрят на вопрос и первое слово ответа, чтобы определить слово, которое с наибольшей вероятностью окажется следующим. Это продолжается и продолжается до тех пор, пока особый символ «конца ответа» не будет определен как имеющий наибольшую вероятность.
Эту способность генерировать ответ на естественном языке, основанный на миллиардах вероятностей, не следует бояться — скорее, это то, что следует использовать для получения бизнес-ценностей. Результаты становятся еще лучше, если вы используете современные методы. Например, используя такие методы, как поисковая дополненная генерация (RAG) и точная настройка, вы можете преподавать LLM свой конкретный бизнес. Для достижения подобных результатов потребуются данные, а вашей инфраструктуре потребуется надежное решение для хранения данных.
Эти возможности прогнозирования следующего токена можно использовать не только для создания отличного текста для вашего чат-бота или маркетингового текста, но также для обеспечения автоматического принятия решений в вашем приложении. Учитывая грамотно построенные подсказки, содержащие формулировку задачи и информацию об API («функциях»), которые можно вызвать, понимание языка LLM позволит ему сгенерировать ответ, объясняющий, какую «функцию» следует вызывать. Например, в диалоговом приложении о погоде пользователь может спросить: «Нужен ли мне дождевик, если я собираюсь сегодня вечером в Фенуэй-парк?» При наличии некоторых умных подсказок LLM может извлечь данные о местоположении из запроса (Бостон, Массачусетс) и определить, как можно сформулировать запрос к API осадков Weather.com.
Долгое время самой сложной частью создания программного обеспечения было взаимодействие между естественным языком и синтаксическими системами, такими как вызовы API. По иронии судьбы, это может быть одна из самых простых частей. Подобно генерации текста, качество и надежность поведения при вызове функций LLM можно повысить с помощью точной настройки и обучения с подкреплением с обратной связью от человека (RLHF).
Теперь, когда мы понимаем, в чем хороши LLM и почему, давайте выясним, чего LLM не может сделать.
Магистр права не может думать, понимать или рассуждать. Это фундаментальное ограничение программ LLM. Языковым моделям не хватает способности рассуждать о вопросе пользователя. Это вероятностные машины, которые дают действительно хорошее предположение на вопрос пользователя. Независимо от того, насколько хороша какая-либо догадка, она все равно остается догадкой, и все, что создает эти догадки, в конечном итоге приведет к чему-то неверному. В генеративном ИИ это известно как «галлюцинация».
При правильном обучении галлюцинации можно свести к минимуму. Точная настройка и RAG также значительно сокращают количество галлюцинаций. Суть в том, что для правильного обучения модели, ее точной настройки и предоставления ей соответствующего контекста (RAG) требуются данные и инфраструктура для ее хранения в нужном масштабе и эффективного обслуживания.
Давайте рассмотрим еще один аспект LLM, который я отношу к опасным, поскольку он влияет на нашу способность их тестировать.
Самым популярным использованием LLM является генеративный искусственный интеллект. Генеративный ИИ не дает конкретного ответа, который можно сравнить с известным результатом. В этом отличие от других вариантов использования ИИ, которые дают конкретные прогнозы, которые можно легко проверить. Тестировать модели на обнаружение изображений, категоризацию и регрессию несложно. Но как протестировать LLM, используемые для генеративного ИИ, так, чтобы оно было беспристрастным, достоверным и масштабируемым? Как вы можете быть уверены, что сложные ответы, которые дают LLM, верны, если вы сами не являетесь экспертом? Даже если вы являетесь экспертом, рецензенты-люди не могут участвовать в автоматизированном тестировании, которое происходит в конвейере CI/CD.
В отрасли есть несколько ориентиров, которые могут помочь. GLUE (Общая оценка понимания языка) используется для оценки и измерения эффективности программ LLM. Он состоит из набора задач, которые оценивают способность моделей обрабатывать человеческий язык. SuperGLUE — это расширение теста GLUE, которое позволяет решать более сложные языковые задачи. Эти задачи включают в себя разрешение кореференций, ответы на вопросы и более сложные лингвистические явления.
Хотя приведенные выше тесты полезны, большую часть решения должен составлять собственный сбор данных. Рассмотрите возможность регистрации всех вопросов и ответов и создания собственных тестов на основе индивидуальных результатов. Для этого также потребуется инфраструктура данных, созданная для масштабирования и производительности.
Вот оно. Сильные, слабые стороны и опасности LLM. Если вы хотите воспользоваться первым и смягчить последствия двух других, вам потребуются данные и решение для хранения, способное обрабатывать их большое количество.