Главная / Статьи

Пятнадцать концепций LLM, рассмотренных через один запрос от бота-поддержки

Пройдитесь по одному вопросу клиента с помощью ИИ-ассистента, чтобы понять, что на самом деле делают модели, токены, эмбеддинги, контекст, RAG, агенты и методы оценки, и где заканчивается функционал каждого из них.

Издатель: REACTAPP.TOP13 мин чтения3094 слов

Источники: 15 Terms Every AI Engineer Should Know

Клиент открывает всплывающее окно чата магазина и спрашивает, можно ли вернуть наушники, купленные десять дней назад. Через несколько секунд ассистент читает вопрос, изучает правила возврата магазина и объясняет возможные варианты. Этот диалог кажется простым, но он проходит через цепочку различных компонентов: текст преобразуется в числа, обученная модель выполняет над ними вычисления, приложение может искать во внутренних документах, а также может вызвать инструмент для начала процедуры возврата.

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

До поступления вопроса: модель и способ её обучения

Всё, что происходит в этом разделе, случилось задолго до того, как клиент открыл чат. Это определяет, что вообще может делать ассистент.

1. Модель: функция преобразования входных данных в выходные

Модель — это математическая система, которая преобразует входные данные в выходные с использованием закономерностей, извлечённых из данных. Одна модель классифицирует фотографии животных; другая прогнозирует сроки доставки. Языковая модель работает с текстом, генерируя его путём предсказания наиболее вероятных следующих элементов пошагово.

Примером может служить студент, решивший тысячи упражнений. Сталкиваясь с новой задачей, он применяет полученные навыки вместо того, чтобы искать точно такой же вопрос. Эта аналогия несовершенна, поскольку модели не учатся и не понимают так же, как люди, но она отражает основную идею обобщения на основе примеров.

В сценарии магазина языковая модель интерпретирует вопрос и составляет ответ. Однако готовое решение также включает пользовательский интерфейс, источники данных и, возможно, инструменты.

  • Практическая значимость: модели специализируются. Модель, умеющая писать свободно на языке, автоматически не обладает хорошими навыками прогнозирования спроса или оценки риска мошенничества.
  • Распространённая ошибка: отождествление «модели» с «приложением». Модель — это лишь один из нескольких компонентов.

2. Параметры: числа, кодирующие поведение

Нейронная сеть содержит очень большое количество регулируемых значений, называемых параметрами. Самыми известными являются веса; ещё одним типом являются смещения. Вместе они определяют, как преобразуется информация при её прохождении через сеть.

Представьте себе пульт управления, полный регуляторов: их поворот меняет звук, а изменение параметров влияет на выходные сигналы. Обучение — это процесс, при котором происходит настройка этих регуляторов.

То, что изучил языковой модель, распределено по огромным числовым массивам. Как правило, не существует отдельного места, где хранится фраза «Париж — столица Франции». Часть текстов из обучающего набора может быть запомнена дословно, но модель не является поисковым архивом просмотренных документов.

  • Инженерная значимость: количество параметров определяет потребности в хранилище, памяти и вычислительных ресурсах, а также влияет на её возможности. Более крупная модель не гарантирует лучших результатов для вашей конкретной задачи.
  • Распространенная ошибка: представление параметров как базы данных с сохраненными ответами. На самом деле это научно выведенные настройки.

3. Обучение: практика с обратной связью

Обучение корректирует параметры модели с использованием данных и целевой функции. Для языковых моделей стандартной целевой функцией является прогноз следующего токена.

Возьмем предложение для обучения «Столица Франции — Париж». Модели показывают начало предложения, она делает прогноз относительно следующего элемента, после чего система обучения измеряет разницу между этим прогнозом и реальным следующим токеном. Затем параметры корректируются с целью уменьшения ошибки. При повторении этого процесса с огромным количеством примеров это больше похоже на практику с корректировками, чем на копирование текста в хранилище.

Модель магазина была обучена ещё до появления первого клиента. Это придало ей общие языковые навыки, но ничто не гарантирует, что она знает текущие правила возврата товаров именно этого магазина.

  • Практическая значимость в инженерии: выбор данных и форм объектов определяет как возможности модели, так и типы допускаемых ею ошибок.
  • Распространенная ошибка: предположение, что модель, усвоившая языковые паттерны, также проверила факты. Это не так.

4. Transformer: архитектура, общая для большинства языковых моделей

Transformer — это конструкция нейронной сети, которая сочетает механизм внимания с другими слоями обработки для преобразования входных данных в полезные результаты. Представьте себе конвейер: каждая станция улучшает работу, полученную от предыдущей, вместо того чтобы снова начинать с исходного текста.

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

  • Значимость с точки зрения инженерии: понимание архитектуры связывает воедино остальные концепции. Токены поступают в модель, эмбеддинги представляют их, механизм внимания связывает их между собой, а окно контекста определяет объем информации, который может учитываться моделью.
  • Распространенная ошибка: путать архитектуру с обученной моделью. Трансформер — это чертеж; обученная модель — это конкретный экземпляр с выученными параметрами.

В процессе генерации ответа: от текста к токенам до результата

Теперь клиент нажимает кнопку отправки. В этом разделе описывается, что происходит во время такого запроса.

5. Инференс: запуск обученной модели

Инференс означает выполнение обученной модели с новым входным данным для получения результата. Если обучение — это тренировка, то инференс — это сдача экзамена.

Когда поступает запрос на генерацию звука, модель вычисляет результат на основе предоставленных данных с использованием уже имеющихся у неё параметров. В обычном режиме работы она не перенастраивается после каждого сообщения; её параметры остаются неизменными во время ответов. При генерации текста процесс вывода представляет собой цикл: вычисляются вероятности следующего токена, выбирается один из них, он добавляется к результату, и процесс повторяется до завершения ответа. То, как осуществляется шаг выбора токена, — это отдельная тема, которая рассматривается в нашем руководстве по параметрам temperature, top-k и top-p.

  • Значимость с точки зрения инженерии: именно в процессе вывода определяются задержки и стоимость вычислений за каждый запрос, что влияет как на пользовательский опыт, так и на сумму счета.
  • Распространённая ошибка: предположение, что всё сказанное в разговоре запоминается навсегда. Модель может использовать информацию из текущего контекста, не сохраняя её в своих параметрах.
  • 6. Токен: единица текста, которую фактически видит модель

    Токен — это фрагмент текста, определяемый токенизатором. В зависимости от токенизатора это может быть целое слово, фрагмент слова, знак препинания или какой-либо другой элемент. Для иллюстрации: слово «headphones» может оставаться целым при использовании одного токенизатора, а при использовании другого разделяться на «head» и «phones». Никогда не предполагайте, что одно слово всегда соответствует одному токену.

    Каждый токен сопоставляется с целочисленным идентификатором, и модель преобразует эти идентификаторы в числовые представления перед обработкой.

    • Практическая значимость в инженерии: количество токенов определяет, подходит ли введённый текст, какой длины могут быть результаты и сколько обычно стоит вызов API. Одно и то же значение может требовать разного количества токенов в разных языках или форматах; например, JSON и код часто токенизируются иначе, чем простой прозаический текст.
    • Распространённая ошибка: путаница между токенами и их идентификаторами. Токены — это фрагменты текста; идентификаторы — их числовые метки.

    7. Эмбеддинги: значение как положение в пространстве

    Эмбеддинг — это числовое представление какого-либо элемента: токена, предложения, документа или изображения. Обычно это вектор, упорядоченный список чисел.

    Представьте себе карту библиотеки, на которой книги по схожим темам располагаются рядом друг с другом. Эмбеддинги задают каждому элементу координаты на такой карте, что позволяет измерять их сходство. Хорошо подобранный модель эмбеддингов для поиска может разместить вопрос «Как вернуть этот товар?» рядом с вопросом «Какова ваша политика возврата?», даже если у них почти нет общих слов.

    Полезно различать два способа использования эмбеддингов. В языковой модели токен-эмбеддинги являются частью способа представления входных данных. В системе поиска документ-эмбеддинги используются для нахождения релевантных материалов. Идеи связаны, но способы представления и даже сами модели, которые их генерируют, часто отличаются.

    • Инженерная значимость: именно эмбеддинги обеспечивают работу поиска и извлечения информации на основе смысла.
  • Распространённая ошибка: путать близость к решению с его корректностью. Самый близкий по результату документ всё равно может соответствовать неверной политике, например устаревшей версии.
  • 8. Инструкции: указания и материалы, которые вы предоставляете

    Инструкции — это всё, что передаётся модели для формирования её ответа: указания, вопрос пользователя, примеры и дополнительный текст.

    Сравните два запроса. «Объясните возвраты» — это слишком расплывчато. «Исходя из приведённой ниже политики, определите, можно ли вернуть наушники, купленные десять дней назад; если отсутствует необходимая информация, запросите её и не выдумывайте правила» — в таком случае чётко определены задача, источники информации и действия при недостатке данных. Это как разница между просьбой к другу «купить что-то в магазине» и передачей ему списка с бюджетом.

    В помощнике окончательный запрос обычно формируется приложением: инструкции разработчика, сообщение клиента и текст правил, загружаемые из базы знаний.

    • Значимость для инженерии: точные запросы снижают неоднозначность и позволяют тестировать ожидаемое поведение.
    • Распространенная ошибка: использование инструкций в запросе в качестве средства безопасности. Инструкции влияют на поведение, но не обеспечивают соблюдения правил доступа. Для того чтобы что-то никогда не происходило, необходим контроль вне самой модели.

    9. Окно контекста: ограниченное рабочее пространство

    Окно контекста — это объем материала, который модель может обработать за один раз; его размер измеряется в токенах. Представьте себе стол: вы можете разместить на нем записки во время работы, но его поверхность ограничена.

    В этом пространстве хранятся системные инструкции, история разговора, загруженные документы и результаты работы инструментов; в зависимости от системы генерируемый вывод также учитывается в лимите. Когда разговор становится слишком длинным, приложению необходимо вмешаться, например, удалив более старые сообщения, подведя их итог или снова загрузив необходимые фрагменты при необходимости.

    Контекст и параметры — это разные вещи. Параметры были заданы при обучении; контекст — это информация, предоставляемая только для текущей задачи.

    • Инженерная значимость: необходимо осознанно планировать использование пространства. Добавление большего количества текста не означает предоставления более полезного текста, а нерелевантные данные могут отвлекать модель.
    • Распространенная ошибка: считать большое окно неограниченной памятью или полагать, что каждая деталь в нем будет использована правильно.

    10. Внимание: связь частей входных данных

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

    В быту это можно сравнить с повторным прочтением соответствующих предложений в тексте перед тем, как ответить на вопрос об этом тексте. С технической точки зрения внимание вычисляет числовые оценки релевантности между различными позициями и использует их для формирования взвешенных комбинаций информации. Разные компоненты и слои модели могут улавливать различные виды связей.

    • Практическая значимость для инженерии: концепция внимания объясняет, почему формулировки, порядок и окружающий текст влияют на ответ, что имеет большое значение при разработке запросов и обработке документов.
    • Распространенная ошибка: восприятие весов внимания как полного объяснения логики работы модели. Они представляют собой лишь математический сигнал, а не прозрачное описание причин появления ответа.

    Основание и адаптация модели

    Один только процесс обучения модели не может дать информацию о текущей политике данного магазина. Два метода решают эту проблему совершенно разными способами.

    11. RAG: найдите информацию, затем дайте ответ

    Retrieval-Augmented Generation предполагает поиск релевантной информации в момент запроса и её включение в контекст модели, чтобы ответ мог опираться на неё. Это похоже на экзамен с открытой книгой: книга доступна, но студент всё равно должен понять вопрос, найти нужную страницу и правильно её применить.

    Для продавца процесс обычно выглядит следующим образом:

    • Приходит вопрос клиента.
    • Программа ищет в документах правил релевантные фрагменты.
    • Наиболее подходящие фрагменты вставляются в запрос вместе с вопросом.
    • Модель пишет ответ, основанный на этих фрагментах.

    Поиск информации может осуществляться с использованием поиска по ключевым словам, эмбеддингов или их комбинации. Важно отметить, что этот подход не влияет на параметры модели. В существующей статье RAG explained: как системы ИИ получают свежие знания по запросу более подробно рассматривается аспект поиска.

    • Техническая значимость: RAG позволяет приложениям использовать приватные, специализированные или часто меняющиеся документы без необходимости перенастройки модели.
    • Распространенная ошибка: предположение, что RAG гарантирует корректность ответов. Он сокращает количество необоснованных ответов, но система всё равно может выбрать неверный фрагмент или неправильно интерпретировать правильный.

    12. Тонкая настройка: дополнительная практика по узкой задаче

    Тонкая настройка — это продолжение обучения уже обученной модели, обычно на более маленьком, сфокусированном наборе данных, направленном на достижение конкретной цели. Это похоже на то, как носитель английского языка практикуется в составлении кратких ответов для обслуживания клиентов.

    Компания может использовать тонкую настройку с помощью пар вопросов клиентов и идеальных ответов, чтобы обеспечить последовательный тон, формат вывода или специализированное поведение модели. В отличие от указания правил в промпте, тонкая настройка изменяет уже выученные параметры или добавляет обученные компоненты, которые влияют на поведение модели. Она также может внедрять специализированные знания, но является неэффективным средством для хранения часто меняющихся фактов, поскольку каждая изменение требует новой процедуры обучения.

    • Практическая значимость: тонкая настройка оправдывает себя, когда повторяемое поведение невозможно достичь надежным образом с помощью промптов.
  • Распространённая ошибка: считать RAG и финтюнинг конкурентами. RAG предоставляет ссылочный материал в момент ответа; финтюнинг формирует поведение системы в процессе обучения. Многие системы используют оба подхода.
  • Когда система действует и как понять, что она работает

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

    13. Галлюцинации: убедительные, но необоснованные

    Галлюцинация — это выходной результат, который является ложным, выдуманным или не подкреплённым соответствующими доказательствами. Предположим, что магазин разрешает возврат товаров в течение семи дней, но ассистент уверенно отвечает, что все наушники можно вернуть в течение тридцати дней. Это утверждение звучит правдоподобно и грамотно, но при этом ошибочно.

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

    • Практическая значимость: хорошо сформулированный неверный ответ может причинить реальный вред, поэтому системам необходимы надежные доказательства, проверка выводов и официальный способ признания неопределенности.
    • Распространенная ошибка: восприятие уверенной формулировки как признака надежности.

    14. Агент: выбор и выполнение шагов для достижения цели

    Агент ИИ — это система, которая использует модель для принятия решений и выполнения действий в направлении достижения цели, обычно с привлечением специальных инструментов. Обычный чат-бот может объяснить процедуру возврата; агент же может найти информацию о заказе, проверить соответствие условиям и составить заявку на возврат.

    Типичный цикл обработки заявок на возврат:

    • Ознакомиться с целью клиента.
    • Определить, какая информация отсутствует, например запись о заказе.
    • Воспользоваться инструментом поиска заказов, предоставленным приложением.
    • Оценить результат согласно установленным правилам.
    • Либо подготовить процедуру возврата, либо задать уточняющий вопрос, либо передать дело человеку.

    Модель никогда сама по себе не обращается к базе данных. Приложение предоставляет инструмент, проверяет разрешения и выполняет операцию; модель лишь предлагает вызов. Степень автономии сильно варьируется — от одного вызова инструмента до длинных многократных последовательностей действий, и не каждая фиксированная автоматизация заслуживает названия «агент». Чтобы узнать больше о самом цикле, прочитайте понимание ИИ-агентов: цели, инструменты, память и цикл агента.

    • Инженерная значимость: действия требуют четких границ, обработки ошибок и контрольных точек для утверждения. Подготовка запроса на возврат средств — это не то же самое, что его утверждение.
    • Распространенная ошибка: путать способность к действию с разрешением на действие без надзора.

    15. Оценка: доказательства работоспособности приложения

    Оценка — это систематическое измерение того, насколько хорошо модель или полноценное ИИ-приложение выполняет поставленную перед ним задачу. Представьте велосипед: прежде чем ездить на нем по дорогам, необходимо проверить тормоза, рулевое управление и колеса в различных условиях, независимо от того, насколько хорош он выглядит.

    Для ассистента по возвратам полезный набор тестов должен включать как минимум:

    • Возврат, который однозначно подлежит обработке.
    • Заявку на возврат, поданную после истечения установленного срока.
    • Вопрос, в котором не указана дата покупки.
    • Два документа с правилами, противоречащих друг другу.
    • Попытку найти заказ, которая не увенчалась успехом.
    • Попытку получить возврат средств, на который клиент не имеет права.

    Оценивайте правильность ответов: наличие доказательств в их обосновании, адекватное выражение неопределенности, безопасность использования инструментов, а также время отклика и затраты. Учитывайте случаи, которые команда не использовала при создании системы; тестирование только на знакомых примерах преувеличивает её качество.

    • Практическая значимость: демонстрация показывает, что один пример сработал. Оценка помогает понять, как часто система функционирует и где возникают сбои.
    • Распространенная ошибка: оценка стиля формулировок модели вместо тестирования всего приложения от начала до конца.

    Основные выводы

    • Модель — это лишь одна из составляющих ИИ-приложения; источники данных, запросы, инструменты, разрешения и тесты определяют большинство аспектов его работы в реальных условиях.
  • Параметры фиксируются во время инференса. Все, что модель должна знать в данный момент, такое как текущая политика, должно поступать через контекст, обычно путем поиска информации.
  • Токены и окно контекста представляют собой ограничения. Необходимо тщательно решить, что будет включено в них.
  • Похожесть, плавность и уверенность — это не признаки корректности; признаками являются проверка и доказательства.
  • Инструменты позволяют системе действовать, но полномочия находятся в коде приложения и этапах утверждения, а не в инструкциях к промпту.
  • Прежде чем использовать этот процесс с клиентами, оцените его в целом на реалистичных и атакующих примерах.