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, предложите варианты ответов "за" или "против"
     – Также учитывайте неявную обратную связь: информацию, которая возникает, когда пользователи взаимодействуют с вашим продуктом