В этом эксперименте использовался набор данных DpgMedia2019: набор данных голландских новостей для обнаружения партийной принадлежности.
Он содержит различные части, но основная часть, которую я использую в этом репозитории, представляет собой подмножество оригинальных новостных статей 104K. Для каждой статьи есть метка «партизанская», указывающая, является ли статья партизанской или нет (верно/неверно). Количество партийных/беспартийных статей примерно сбалансировано.
Набор данных был создан авторами с целью внести свой вклад, например, в создание партизанского детектора новостей. В коде Python, используемом в экспериментах, определенные файлы набора данных загружаются автоматически.
Посетите github и статью для получения дополнительной информации о наборе данных и о том, как он был создан. Дополнительную информацию см. в разделе «Ссылки».
ПРИМЕЧАНИЕ !! По состоянию на январь 2023 года не все файлы больше доступны в исходном расположении набора данных на GitHub. Если вам нужны исходные файлы, загрузите их из набора данных Kaggle.
Подмножества обучения и проверки, используемые в этом репозитории, доступны в папке data.
В записной книжке «Prepare_Train_and_Validation_Datasets.ipynb» полный набор данных будет разделен на более мелкие поднаборы, которые используются для обучения и проверки.
Эти файлы доступны в папке data в этом репозитории.
Основная причина создания меньших подмножеств данных заключается в том, что модели GPT (или другой модели LLM) требуется всего несколько тысяч выборок для их точной настройки. Меньшие наборы данных также означают меньше токенов и меньший счет для вашей кредитной карты ;-)
Меньшие подмножества имеют следующие объемы выборки:
Следующие обычные модели Transformer были обучены и проверены в записной книжке Transformer_Model_Training_And_Validation.ipynb на меньших подмножествах данных обучения и проверки:
Модели PolyLM 1.7B и OpenLLaMA 7B V2 Open LLM были предварительно обучены на многоязычных наборах данных, которые также содержали голландский язык.
В записной книжке «Open_LLM_Training_And_Validation.ipynb» модели Open LLM квантованы до 4 бит и точно настроены с помощью настройки QLoRA, чтобы минимизировать использование памяти графического процессора.
LoraConfig имеет ранг 64 и альфу 16.
После обучения модель PolyLM 1.7B достигает точности на проверочном наборе 84,4%, а модель OpenLLaMA 7B V2 даже достигает 89,5%.
Я провел несколько тренировочных заездов, и в разных случаях обе модели набирали значения на 0,5% выше или ниже по сравнению с вышеупомянутым значением.
Код для тонкой настройки GPT-3.5 можно найти в блокноте Finetune_GPT-3.5.ipynb. На основе файлов CSV обучения и проверки создаются и загружаются в OpenAI конкретные файлы, которые используются для точной настройки модели GPT-3.5. Новостные статьи заключены в специальную подсказку, разработанную для классификации, которую мы хотели бы, чтобы модель изучила путем тонкой настройки.
Код проверки доступен в записной книжке «Validate_GPT-3.5.ipynb». для каждой записи в наборе проверки текст новостной статьи заключен в приглашение, и OpenAI вызывается через API для получения ответа от завершения чата. Ответ преобразуется в двоичную метку, и с использованием меток основной истины генерируется окончательный отчет о классификации.
Точно настроенная модель OpenAI GPT-3.5 достигает точности на проверочном наборе 89,4%.
Обратите внимание, что для тонкой настройки и проверки я использовал OpenAI, а не Azure OpenAI.
В последней версии (от 5 декабря 2023 г.) этого блокнота я внес следующие обновления:
Ниже приведены достигнутые показатели точности на проверочном наборе для трех моделей трансформаторов и модели GPT-3.5.
Модель GPT-3.5 после точной настройки достигает высокой точности.
Производительность трех моделей Transformer немного отстает. Они явно выиграют от обучения на большем количестве выборок данных.
Open LLM PolyLM получил самый низкий балл. Модель OpenLLaMA 7B V2, однако, достигает замечательного результата в 89,5%, что сопоставимо с оценками, достигнутыми моделями с точной настройкой GPT-3.5 Turbo (0613 и 1106).
(LLM) Тип модели | Точность проверки (%) Оценка |
---|---|
ПолиЛМ 1.7Б (Лора: r = 64) | 84,4 |
Многоязычный DistilBert | 85,6 |
Многоязычный Берт | 86,3 |
Многоязычный DeBERTa V3 | 85,8 |
OpenLLaMA 7B V2 (Лора: r=64) | 89,5 |
GPT-3.5 Turbo 0613 (доработанный) | 90,8 |
ГПТ-3.5 Турбо 1106 (доработанный) | 89,4 |
GPT-3.5 Turbo 1106 (контекстное обучение) | 56,0 |
!! Многоязычный DeBERTa V3 (полный набор данных) | 95,2 |
@misc{1908.02322,
Author = {Chia-Lun Yeh and Babak Loni and Mariëlle Hendriks and Henrike Reinhardt and Anne Schuth},
Title = {DpgMedia2019: A Dutch News Dataset for Partisanship Detection},
Year = {2019},
Eprint = {arXiv:1908.02322},
}