7 ключевых шаблонов для продукта LLM
7 ключевых закономерностей, разделенных на «улучшение производительности в сравнении с сокращением затрат/рисков» и «удобство использования данных и удобство для пользователя».
- Оценки: измерение производительности
- Поисково-дополненная генерация (RAG): добавление новых внешних знаний.
- Точная настройка: для лучшего выполнения конкретных задач.
- Кэширование: уменьшает задержку и стоимость]
- Ограждения: обеспечение качества продукции
- Защитный UX: для измерения ошибок и управления ими
- Сбор отзывов пользователей: создание маховика данных
Оценки: показатели эффективности
- Оценки — это набор показателей, используемых для оценки эффективности модели в работе.
- Включает контрольные данные и показатели.
- Измеряйте, насколько хорошо работает система или продукт, и можете обнаружить регресс.
- В области языкового моделирования существует множество тестов: MMLU, EleutherAI Eval, HELM, AlpacaEval.
- Метрики можно разделить на две категории: контекстно-зависимые и контекстно-свободные.
- Общие показатели: BLEU, ROUGE, BERTScore, MoverScore.
- Новая тенденция заключается в использовании сильных LLM в качестве безотносительных показателей для оценки результатов других LLM.
- G-Eval, бумага викуньи, QLoRA
Поисково-дополненная генерация (RAG): добавление текущих внешних знаний.
- Улучшает выходные данные за счет привлечения информации извне базовой модели и дополнения входных данных этими данными для обеспечения более богатого контекста.
- RAG повышает реалистичность, основывая модели на извлеченном контексте, что помогает уменьшить иллюзии.
- Кроме того, дешевле поддерживать поисковый индекс в актуальном состоянии, чем постоянно предварительно обучать LLM.
- Благодаря такой экономической эффективности, LLM могут получить доступ к самым последним данным через RAG.
- Если данные необходимо обновить/удалить, например предвзятые или вредоносные документы, проще обновить поисковый индекс (вместо тонкой настройки LLM).
- Для RAG полезно сначала разобраться со встраиванием текста
- Встраивание текста – это сжатое абстрактное представление текстовых данных, которое позволяет представить текст произвольной длины в виде вектора чисел фиксированного размера.
–Обычно обучается на текстовых корпусах, таких как Википедия
- Думайте об этом как об универсальной кодировке текста, где похожие элементы расположены ближе друг к другу, а разные элементы дальше друг от друга. - Хорошие встраивания хорошо справляются с последующими задачами, такими как поиск по сходству.
– Massive Text Embedding Benchmark (MTEB) компании Huggingface оценивает модели в различных задачах, таких как классификация, кластеризация, поиск и суммирование. - Здесь мы в основном говорим о встраивании текста, но встраивание может осуществляться разными способами.
- Fusion-in-Decoder (FiD) использует комбинацию генеративных моделей и поиска для обеспечения качества открытого домена.
- LM, дополненные Интернетом, предлагают использовать существующие поисковые системы для расширения LLM.
- Как применять RAG
— Гибридный поиск (традиционный поисковый индекс + поиск на основе встраивания) работает лучше, чем каждый из них по отдельности.
Тонкая настройка: для лучшего выполнения конкретных задач
- Точная настройка — это процесс взятия предварительно обученной модели (модели, которая уже обучена на большом объеме данных) и дальнейшей ее доработки для конкретной задачи.
- Использовать знания, которые модель уже получила во время предварительного обучения, и применить их к конкретной задаче, которая обычно включает меньший набор данных для конкретной задачи.
- Термин «точная настройка» широко используется для обозначения различных концепций
- Непрерывное предварительное обучение
- Точная настройка обучения
- Точная настройка одной задачи
- RLHF (обучение с подкреплением) из отзывов людей) - Зачем точная настройка?
— Производительность и контроль:
# Повышайте производительность стандартных базовых моделей и даже превосходите сторонние LLM.
# Лучше контроль над поведением LLM, что делает вашу систему или продукт более надежным
# Тонкая настройка позволяет создать продукт, который отличается от простого использования стороннего или открытого LLM
- Модульность:
# Тонкая настройка одной задачи позволяет создать армию меньших моделей, каждая из которых специализируется на уникальной задаче
# Эта настройка позволяет модульно разбивать системы на такие задачи, как модерация контента, извлечение и обобщение.
- Уменьшение зависимостей:
# Путем точной настройки и размещения собственных моделей вы можете уменьшить юридические проблемы, связанные с конфиденциальными данными (например, личными данными, внутренними документами и код) подвергается воздействию внешних API.
# Также преодолевает ограничения сторонних LLM, такие как ограничения скорости, высокая стоимость или чрезмерно ограничительные фильтры безопасности. - Генеративные предварительно обученные трансформаторы (GPT; только декодер)
- Преобразователь передачи текста в текст (T5; кодер-декодер)
- ИнструктироватьGPT
- Мягкая быстрая настройка и настройка префикса
- Адаптация низкого ранга (LoRA) и QLoRA
- Как применить тонкую настройку
1. Собрать демонстрационные данные/метки
2. Определить показатели оценки
3. Выберите модель предварительного обучения
4. Обновите архитектуру модели
5. Выберите метод точной настройки (LoRA, QLoRA и т. д.)
6. Настройка гиперпараметров по умолчанию
Кэширование: сокращение задержек и затрат
- Кэширование — это метод хранения данных, которые были ранее получены или вычислены.
- Чтобы сделать будущие запросы тех же данных более удобными для обработки.
- В LLM идея состоит в том, чтобы кэшировать ответ LLM на встраивание входного запроса и обслуживать кэшированный ответ, когда семантически аналогичный запрос поступает в следующий запрос.
- Ключом к принятию шаблона кэширования является выяснение того, как безопасно кэшировать, а не полагаться исключительно на семантическое сходство.
- Зачем кэшировать: уменьшить задержку, уменьшить количество запросов LLM, сэкономить деньги
- Как применять кеширование?
– Начните с хорошего понимания шаблонов пользовательских запросов.
– Подумайте, эффективно ли кеширование для ваших шаблонов использования.
Ограждения: обеспечение качества продукции
- Проверьте выходные данные LLM, чтобы убедиться, что они не только хорошо выглядят, но и синтаксически корректны, соответствуют действительности и не содержат вредного содержания.
- Зачем вам нужны ограждения?
– Обеспечивают надежность и единообразие выходных данных модели для использования в производстве.
– Обеспечивает дополнительный уровень безопасности и обеспечивает контроль качества результатов LLM. - Один из подходов — контролировать реакцию модели с помощью подсказок.
— Антропные общие подсказки, предназначенные для того, чтобы помочь модели давать полезные, безвредные и честные (HHH) ответы. - Более распространенный подход — проверка вывода (например, пакет Guardrails).
- NeMo-Guardrails от Nvidia следует аналогичным принципам, но предназначена для управления диалоговыми системами на основе LLM.
- Вы также можете напрямую адаптировать выходные данные в соответствии с определенной грамматикой, например, Руководством Microsoft (вспомните DSL для LLM).
- Как применять ограждения
1. Структурные рекомендации
2. Синтаксические ограждения
3. Ограждения безопасности контента
4. Семантические/фактические ограждения
5. Ограждения ввода
Защитный UX: прогнозирование ошибок и управление ими
- Защитный UX — это стратегия проектирования, которая признает, что плохие вещи, такие как неточности или галлюцинации, могут произойти, когда пользователи взаимодействуют с машинным обучением или продуктами на основе LLM.
- В первую очередь он направлен на их прогнозирование и управление ими, определяя поведение пользователей, предотвращая неправильное использование и соответствующим образом обрабатывая ошибки.
- Почему защитный UX?
- Машинное обучение и LLM не идеальны. Может давать неточные результаты
- Реагируйте по-разному на один и тот же вопрос
- Защитный UX помогает смягчить вышеуказанные проблемы, предоставляя
# Улучшенную доступность, повышенное доверие и лучший UX - Ознакомьтесь с рекомендациями, составленными компаниями
Рекомендации Microsoft по взаимодействию человека и искусственного интеллекта
Руководство Google по работе с людьми и искусственным интеллектом
Рекомендации Apple по человеческому интерфейсу для машинного обучения - Как применять защитный UX
- Установите правильные ожидания
- Обеспечьте эффективное увольнение
- Обеспечьте атрибуцию
- Привязывайтесь к знакомству
Сбор отзывов пользователей: создание маховика данных
- Сбор отзывов пользователей позволяет выявить предпочтения пользователей.
- Отзывы пользователей, относящиеся к продуктам LLM, способствуют оценке, точной настройке и построению ограждений.
- Такие данные, как корпус для предварительного обучения, созданные экспертами демонстрации и предпочтения людей для моделирования вознаграждений, — это лишь некоторые из немногих возможностей в продукте LLM.
- Обратная связь может быть явной или неявной
- Явная обратная связь — это информация, предоставляемая пользователем в ответ на запрос продукта.
- Неявная обратная связь — это информация, которую вы получаете в результате взаимодействия с пользователем, без необходимости намеренного предоставления пользователем обратной связи.
- Зачем собирать отзывы пользователей?
– Отзывы пользователей помогают нам улучшать наши модели.
– Узнав, что пользователям нравится, не нравится или на что они жалуются, модели можно улучшить, чтобы они лучше соответствовали их потребностям.
– Это также позволяет нам адаптироваться к индивидуальным предпочтениям.
– Циклы обратной связи помогают вам оценить общую производительность вашей системы. - Как собирать отзывы пользователей
– Упростите пользователям возможность оставлять отзывы: например, в ChatGPT, предложите варианты ответов "за" или "против"
– Также учитывайте неявную обратную связь: информацию, которая возникает, когда пользователи взаимодействуют с вашим продуктом