Pytorch
TensorFlow

#
Тест в конце главы

Давайте проверим, чему вы научились в этой главе!

###
1. Какую из следующих задач можно сформулировать как проблему классификации токенов?

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

###
2. Какая часть предварительной обработки для классификации токенов отличается от других конвейеров предварительной обработки?

Ничего делать не нужно: тексты уже токенизированы. Тексты представлены в виде слов, поэтому нам нужно применить только токенизацию по подсловам. Мы используем `-100` для обозначения специальных токенов. При применении усечения/дополнения нам нужно убедиться, что метки имеют тот же размер, что и входные данные.

###
3. Какая проблема возникает при токенизации слов в проблеме классификации токенов и при необходимости их маркировки?

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

###
4. Что означает “доменная адаптация”?

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

###
5. Что такое метки в проблеме маскированного языкового моделирования?

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

###
6. Какую из этих задач можно рассматривать как проблему преобразования последовательности-в-последовательность (sequence-to-sequence problem)?

Написание коротких обзоров длинных документов Ответы на вопросы о документе Перевод текста на китайском языке на английский Исправление сообщений, отправленных моим племянником/другом, чтобы они были на правильном английском языке

###
7. Каков правильный способ предварительной обработки данных для проблемы преобразования последовательности-в-последовательность?

Входные данные и цели должны быть переданы токенизатору вместе с `inputs=...` и `targets=...`. Входные данные и цели должны быть предварительно обработаны в двух раздельных вызовах токенизатора. Как обычно, нам просто нужно выполнить токенизацию входных данных. Входные данные должны быть переданы токенизатору, и цели тоже, но под управлением специального контекстного менеджера.

###
8. Почему существует специальный подкласс Trainer для проблем преобразования ” последовательности-в-последовательность”?

Поскольку проблемы преобразования последовательности-в-последовательность используют определенные пользователем потери, для игнорирования меток задайте `-100`. Поскольку проблемы преобразования последовательности-в-последовательность требуют специального цикла оценки Поскольку целью являются тексты в проблемах преобразования последовательности-в-последовательность Поскольку в проблемах преобразования последовательности-в-последовательность мы используем две модели

###
10. Когда следует проводить предварительное обучение новой модели?

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

###
11. Почему легко провести предварительное обучение языковой модели на большом количестве текстов?

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

###
12. Какие основные проблемы возникают при предварительной обработке данных для задачи ответа на вопрос (question answering)?

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

###
13. Как обычно выполняется постобработка в задаче ответов на вопросы?

Модель дает вам начальную и конечную позиции ответа, и вам остается только декодировать соответствующий промежуток токенов. Модель возыращает вам начальную и конечную позиции ответа для каждого признака, созданного одним примером, а вам остается только декодировать соответствующий промежуток токенов в том из них, который имеет наилучшую оценку. Модель возвращает вам начальную и конечную позиции ответа для каждого признака, созданного одним примером, а вам остается только сопоставить их с промежутком в контексте, чтобы выбрать тот, который набрал наибольшую оценку. Модель генерирует ответ, а вам остается только декодировать его.
< > Update on GitHub