Адаптация домена большой языковой модели
Адаптация домена с использованием большой языковой модели
Адаптировать предварительно обученную модель к новой области с использованием HuggingFace
![Изображение с Unsplash](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*Me6zhsYiozyhy9uxU_vJeA.png)
Большие языковые модели (LLM), такие как BERT, обычно предварительно обучаются на общедоступных корпусах, таких как Википедия и BookCorpus. Если мы применяем их к более специализированным областям, например, медицине, то часто происходит снижение производительности по сравнению с моделями, адаптированными для этих областей.
В этой статье мы рассмотрим, как адаптировать предварительно обученную LLM, такую как Deberta base, к медицинской области с использованием библиотеки HuggingFace Transformers. В частности, мы рассмотрим эффективную технику, называемую промежуточным предварительным обучением, при которой мы дополнительно предварительно обучаем LLM на данных из нашей целевой области. Это адаптирует модель к новой области и повышает ее производительность.
Это простая, но эффективная техника, позволяющая настроить LLM под вашу предметную область и добиться значительного улучшения производительности на последующих задачах.
Давайте начнем.
- Расширенная генерация с помощью поиска (RAG) от теории к реализации LangChain
- TSMixer Последняя модель прогнозирования от Google
- Microsoft Azure Даря возможности будущему облачных вычислений
Шаг 1: Данные
Первым шагом в любом проекте является подготовка данных. Поскольку наш набор данных относится к медицинской области, он содержит следующие поля и многие другие:
![Изображение от автора](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*j1Rh0uUmfvNBZQroJb6k3Q.png)
Невозможно перечислить здесь полный список полей, так как их много. Но даже эта краткая информация о существующих полях помогает нам сформировать последовательность ввода для LLM.
Первое, о чем следует помнить, это то, что входной текст должен быть последовательностью, так как LLM читает входные данные как текстовые последовательности.
Чтобы сформировать это в виде последовательности, мы можем добавить специальные теги, чтобы сообщить LLM, какую часть информации следует ожидать. Рассмотрим следующий пример: <patient>имя: Джон, фамилия: Доер, идентификатор пациента: 1234, возраст: 34</patient>
, тег <patient>
– это специальный тег, который сообщает LLM, что следующая информация относится к пациенту.
Таким образом, мы формируем входную последовательность следующим образом:
![Изображение от автора](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*gGNRwNDSqz9MFRG1_uoZ_A.png)
Как видите, мы вставили четыре тега:
<patient> </patient>
: чтобы содержать…