Быстрые токенизаторы в вопросно-ответной системе

Урок 69 из 104 курса «HuggingFace: курс по Transformers»: официальный курс Hugging Face Learn (Хаггинг Фейс) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

{#if fw === 'pt'} {:else} {/if} Теперь мы погрузимся в конвейер question-answering и посмотрим, как использовать смещения (offsets) для получения ответа на вопрос из контекста, подобно тому, как мы делали это для сгруппированных сущностей в предыдущем разделе. Затем мы посмотрим, как работать с очень длинными контекстами, которые в итоге будут обрезаны. Вы можете пропустить этот раздел, если вас не интересует задача ответа на вопрос. {#if fw === 'pt'} {:else} {/if} Как мы видели в Главе 1, для получения ответа на вопрос мы можем использовать конвейер question-answering следующим образом: В отличие от других конвейеров, которые не могут обрезать и разбивать на части тексты, длина которых превышает максимально допустимую моделью (и поэтому могут пропустить информацию в конце документа), этот конвейер может работать с очень длинными контекстами и вернет ответ на вопрос, даже если он находится в конце: Давайте посмотрим, как он справится со всем этим! Как и в любом другом конвейере, мы начинаем с токенизации входных данных, а затем отправляем их через модель. По умолчанию для конвейера question-answering используется контрольная точка distilbert-base-cased-distilled-squad (слово "squad" в названии происходит от набора данных, на котором дообучили модель; подробнее о наборе данных SQuAD мы поговорим в главе 7): {#if fw === 'pt'} {:else} {/if} Обратите внимание, что мы токенизируем вопрос и контекст как пару, причем вопрос стоит первым. Модели для ответов на вопросы работают немного иначе, чем модели, которые мы рассматривали до сих пор. На примере картинки выше модель была обучена предсказывать индекс токена, с которого начинается ответ (здесь 21), и индекс токена, на котором ответ заканчивается (здесь 24). Вот почему эти модели возвращают не один тензор логитов, а два: один для логитов, соответствующих начальному токену ответа, и один для логитов, соответствующих конечному токену ответа.

План урока

  1. Использование конвейера question-answering
  2. Использование модели для ответа на вопросы
  3. Обработка длинных контекстов

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды