В наши дни крупномасштабные языковые модели (LLMS) привлекают все больше внимания, но их способность к нулевым/мало выстрелам часто оценивается, и я чувствую, что они не используются для использования их для точной настройки текстовой классификации, такой как существующие предварительно обученные модели, такие как BERT. Поэтому, чтобы выяснить, сколько текстовой классификации возможно с LLM, мы провели эксперимент, используя LLM для классификации текста, используя тот же метод, что и Text Classification с использованием BERT.
Цель этого эксперимента состоит в том, чтобы выяснить, что происходит, когда LLM, который часто привлекает внимание для нулевой/нескольких выстрелов в обучение, используется для регулярной классификации текста.
Берт, который обычно использовался для классификации текста до сих пор, является двунаправленной моделью и часто использовала токен предложения [CLS] для классификации текста. Однако LLM, которые обычно используются в наши дни, такие как лама, являются однонаправленными моделями. Следовательно, в однонаправленной модели нет смысла принимать токен предложения. Таким образом, в этой реализации мы используем встроенное представление токенов на конец предложения для классификации текста, используя класс LlamaForSequenceClassification ' transformers . В однонаправленной языковой модели токен в конце препарата может считаться только токеном всего утверждения в серии, поэтому он считается подходящей альтернативой [CLS] .
Кроме того, поскольку полная точная настройка LLM чрезвычайно сложна с точки зрения памяти и вычислительной эффективности, мы используем LORA, метод тонкой настройки, которая позволяет вам достичь производительности, сравнимой с полной настройкой, настраивая только дополнительную матрицу с низким уровнем рейтинга. Примечание: PEFT используется для точной настройки с материалом по объяснению LORA.
В эксперименте по оценке мы будем классифицировать девять ценностей новостного корпуса Livedoor. Экспериментальный контент почти такой же, как и Учебник из текстовой классификации автора с использованием BERT.
В эксперименте по оценке использовались семь типов японских LLM. В частности, мы провели эксперименты на четырех моделях Rinna 3.6b и моделях Cyberagent 7b, 3b и 1b.
В качестве способа корректировки гиперпараметра мы провели эксперименты с уровнем обучения, установленной на 1E-4, 3E-4, 5E-4 и 1E-3. Мы также экспериментировали с тремя типами входных форматов в модель. В частности, для каждой статьи в новостном корпусе LiveDoor название хранилось в переменной, называемой title и body статьи и вводили в следующие три шаблона.
| Тип шаблона | Появление |
|---|---|
| 0 | f "Название: {title} nbody: {body} nlabel:" |
| 1 | f "Название: {title} nbody: {body}" |
| 2 | f "{title} n {body}" |
Мы провели эксперименты один за другим для всех комбинаций вышеупомянутых скоростей обучения и шаблонов обучения и использовали гиперпараметт с самым высоким средним макро-средним значением F в разработке для оценки в окончательном наборе тестирования. Ранг Лоры Rish является на уровне 32.
Обратите внимание, что экспериментальные результаты не являются точными, поскольку эксперименты выполняются только один раз с одним значением семянного числа, и не выполняется разделенная перекрестная проверка. Поэтому, пожалуйста, не доверяйте результатам ниже, но, пожалуйста, посмотрите на них только как на ссылку.
Результаты показаны в таблице ниже. Экспериментальные результаты расположены в порядке убывания для среднего значения F макроса. Все последующие результаты можно просматривать из файла CSV, хранящегося в каталоге results .
| Точность | Точность | Отзывать | F1 | |
|---|---|---|---|---|
| Ринна/японская-ГПТ-некс-3,6B-Инструктирация-SFT-V2 | 97.96 | 97.77 | 97.76 | 97,75 |
| Ринна/Японская-ГПТ-некс-3,6B | 97.55 | 97.24 | 97.39 | 97.30 |
| Ринна/японская-ГПТ-некс-3,6B-Инструктирация-Сфт | 97.55 | 97.32 | 97.27 | 97.27 |
| Ринна/Японская-ГПТ-некс-3,6B-Инструктира-Попу | 97.55 | 97.03 | 97.37 | 97.18 |
| Cyberagent/Open-Calm-7b | 97.01 | 96.76 | 96.42 | 96.55 |
| Cyberagent/Open-Calm-3b | 96.88 | 96.38 | 96.51 | 96.42 |
| Cyberagent/Open-Calm-1b | 94,43 | 94.24 | 93,80 | 93,98 |
Из таблицы мы видим, что директива, настроенная rinna/japanese-gpt-neox-3.6b-instruction-sft-v2 показала самое высокое значение F. С другой стороны, относительно большая модель при 7B, cyberagent/open-calm-7b имеет немного более низкое значение F. Чтобы улучшить производительность, может потребоваться настройка его немного больше, например, Rola's R и другие высокие пара.
Между прочим, значение F rinna/japanese-gpt-neox-3.6b-instruction-sft-v2 составляет 97.75 , что выше значения F studio-ousia/luke-japanese-large-lite что достигло самой высокой производительности в учебном пособии по текстовой классификации с использованием 97.47 , который был реализован автором. Конечно, количество параметров в модели примерно в 9 раз отличается, поэтому оно не может быть простым сравнением, но если вы хотите продолжить производительность текстовой классификации, используя LLM+LORA в качестве альтернативы BERT может быть хорошим вариантом.
Затем, rinna/japanese-gpt-neox-3.6b-instruction-sft-v2 cyberagent/open-calm-7b rinna/japanese-gpt-neox-3.6b шаблона для трех репрезентативных моделей в этом эксперименте показаны в таблице ниже.
| Шаблон | Дольдо F1 | F1 | |
|---|---|---|---|
| Ринна/японская-ГПТ-некс-3,6B-Инструктирация-SFT-V2 | 2 | 97.27 | 97,75 |
| Ринна/японская-ГПТ-некс-3,6B-Инструктирация-SFT-V2 | 1 | 97.18 | 97.14 |
| Ринна/японская-ГПТ-некс-3,6B-Инструктирация-SFT-V2 | 0 | 97.05 | 96.80 |
| Ринна/Японская-ГПТ-некс-3,6B | 1 | 97.14 | 97.30 |
| Ринна/Японская-ГПТ-некс-3,6B | 2 | 96.92 | 97.36 |
| Ринна/Японская-ГПТ-некс-3,6B | 0 | 96.61 | 96.69 |
| Cyberagent/Open-Calm-7b | 1 | 97.22 | 96.55 |
| Cyberagent/Open-Calm-7b | 0 | 97.07 | 96.56 |
| Cyberagent/Open-Calm-7b | 2 | 96.88 | 96.85 |
Как правило, на способность к выводу LLM сильно влияет шаблон (подсказка). С другой стороны, поскольку этот эксперимент не является обстановкой с нулевым/несколькими выстрелами, ожидается, что различия в производительности из-за шаблонов могут быть уменьшены в некоторой степени. Тем не менее, результаты показывают, что шаблон ранее создал определенную разницу в значениях F (около 1 точки в значениях F). template_type=0 является относительно сложным шаблоном, template_type=2 - простой шаблон, который просто объединяется с разрывами линий, но можно увидеть, что простой template_type=2 имеет лучшую производительность. Подсказки очень важны в настройках с нулевым/несколькими выстрелами, но если вы можете сделать тонкие настройки, может быть лучше, чтобы подсказка максимально просты.
Далее, давайте посмотрим на производительность каждой скорости обучения, когда модель прикреплена к rinna/japanese-gpt-neox-3.6b , а template_type прикреплен к 2 .
| Лр | Дольдо F1 | Точность | Точность | Отзывать | F1 |
|---|---|---|---|---|---|
| 5e-2 | 2.18 | 12.91 | 1.43 | 11.11 | 2.54 |
| 3e-2 | 2.18 | 12.91 | 1.43 | 11.11 | 2.54 |
| 1e-2 | 2.18 | 12.91 | 1.43 | 11.11 | 2.54 |
| 5e-3 | 24.78 | 32,20 | 36.30 | 30.27 | 28.21 |
| 3e-3 | 2.18 | 12.91 | 1.43 | 11.11 | 2.54 |
| 1E-3 | 96.92 | 97.69 | 97.51 | 97.27 | 97.36 |
| 5e-4 | 96.77 | 98.23 | 98.02 | 97.87 | 97.93 |
| 3E-4 | 96.74 | 96.88 | 96.46 | 96.21 | 96.30 |
| 1E-4 | 94,79 | 97.01 | 96.85 | 96.72 | 96.76 |
| 5e-5 | 94,28 | 95,92 | 95,73 | 95,50 | 95,58 |
| 3e-5 | 93,74 | 94.02 | 93,50 | 93,61 | 93,55 |
| 1e-5 | 78.94 | 81.25 | 80.21 | 79,43 | 79,62 |
Из таблицы видно, что, хотя довольно большая скорость обучения эффективна для обучения с LORA, верхний предел составляет около 1e-3 , и если вы используете очень большую скорость обучения, такую как 1e-2 , ваше обучение не будет хорошо. Я хотел бы видеть экспериментальные результаты по более широкой модели, но при классификации с использованием LLM+LORA я думаю, что это хорошая идея, чтобы попробовать скорость обучения около 5e-4 в качестве первого шага.
Кроме того, давайте рассмотрим различия в производительности для каждого размера партии, когда модель прикреплена к rinna/japanese-gpt-neox-3.6b , template_type 2 , а Lora r зафиксирована на 32 .
| Размер партии | Лр | Дольдо F1 | Точность | Точность | Отзывать | F1 |
|---|---|---|---|---|---|---|
| 2 | 5e-4 | 97.12 | 98.10 | 98.02 | 97.48 | 97.70 |
| 16 | 1E-3 | 97.12 | 97.83 | 97.77 | 97.37 | 97.52 |
| 32 | 1E-3 | 96.92 | 97.69 | 97.51 | 97.27 | 97.36 |
| 64 | 5e-4 | 96.57 | 97.55 | 97.39 | 97.35 | 97.35 |
| 4 | 5e-4 | 97.08 | 97.42 | 97.37 | 97.01 | 97.15 |
| 8 | 3E-4 | 97.20 | 97.28 | 96.99 | 96.87 | 96.91 |
Эта таблица расположена в порядке убывания для значений F. В результате возможно, что существует вероятность того, что различия в производительности могут быть вызваны в некоторой степени в зависимости от размера партии, но в этом эксперименте эксперимент проводился только один раз с одним случайным численным значением семян, поэтому, кажется, трудно прийти к четкому выводу. В целом, меньшие размеры партий занимают больше времени, чтобы они тренировались, и, как правило, нестабильны в производительности, поэтому было бы неплохо установить размер партии примерно до 16 или 32 на данный момент.
Наконец, давайте посмотрим на производительность LORA на R, когда модель прикреплена к rinna/japanese-gpt-neox-3.6b , а template_type зафиксирована на 2 .
| Лора р | Лр | Дольдо F1 | Точность | Точность | Отзывать | F1 |
|---|---|---|---|---|---|---|
| 8 | 5e-4 | 97.45 | 97.15 | 96.97 | 96.75 | 96.83 |
| 64 | 1E-3 | 97.22 | 97.28 | 96.96 | 96.85 | 96.89 |
| 16 | 1E-3 | 97.20 | 97.69 | 97.59 | 97.27 | 97.38 |
| 4 | 3E-4 | 97.12 | 97.69 | 97.64 | 97.24 | 97.40 |
| 32 | 1E-3 | 96.92 | 97.69 | 97.51 | 97.27 | 97.36 |
В результате я чувствую, что в наборе испытаний не существует большой корреляции между значениями F и значениями F. Поскольку считается, что ценность R Lora является «чем больше модели, чем меньше значение», я думаю, было бы безопаснее установить ее на 32 или выше для LLM среднего размера всего несколько B, но я хотел бы попробовать немного больше эксперимента.
В этой реализации мы провели эксперимент, используя LLM для традиционной классификации текста. В результате, сделав мелкие корректировки с использованием LORA, мы можем достичь довольно высокой производительности, просто регулируя небольшое количество параметров, и «использование LLM в качестве альтернативы Bert» также можно считать разумным вариантом. Была также тенденция для шаблонов, которые все еще влияют на производительность, даже при установке тонкой настройки. Кроме того, при внесении тонких корректировок с использованием LORA скорость обучения должна быть установлена в довольно большом значении, и было обнаружено, что ценность ранга r также, вероятно, влияет на производительность.
Автор: Хаято Цукагоши
Электронная почта: [email protected]
Если вы хотите ссылаться на эту реализацию в статье и т. Д., Пожалуйста, используйте следующее:
@misc {
hayato-tsukagoshi-2023-llm-lora-classification,
title = { {Text Classification with LLMs and LoRA} } ,
author = { Hayato Tsukagoshi } ,
year = { 2023 } ,
publisher = { GitHub } ,
journal = { GitHub repository } ,
howpublished = { url{https://github.com/hppRC/llm-lora-classification} } ,
url = { https://github.com/hppRC/llm-lora-classification } ,
}