
Мы добавили контрольно -пропускные пункты в обнимающееся лицо для более легкого воспроизведения!
Мы добавили Conturnual_pretrain.ipynb в качестве автономного примера сценария мягкого маскировки. Он работает хорошо без графических процессоров!
Мягкое маскирование также может работать в обычной непрерывной настройке . Проверьте нашу последнюю бумагу EMNLP23!
Хотите знать, можете ли вы адаптировать LLM Black-Box, не беспокоясь об обновлении его параметров? Посмотрите на нашу последнюю статью о поиске поколения (RAG) (RAG)!
В 2021 году мы представили Pycontinual, простую и гибкую структуру для постоянного обучения. Наше исследование значительно выиграло от этой структуры. Сегодня мы рады поделиться ContinuAllm , расширяемой постоянной структурой обучения, ориентированной на языковые модели (LMS), предназначенную для поддержания преимуществ непрерывного обучения (CL) в этой области.
Непрерывное обучение для LMS отличается от традиционного CL, потому что
Наш репозиторий включает в себя внедрение Pytorch коллекции современных методов (SOTA), используя тот же трудовой труд обучения и оценки. Этот репозиторий стремится продвигать область постоянного обучения для LMS. Включенные методы:
От нашей группы:
От других групп (подробнее) :
Широко используемые базовые показатели для постоянного обучения:
Мы добавили continual_pretrain.ipynb в качестве автономного примера сценария мягкого маскировки. Он работает хорошо без графических процессоров!
Когда дело доходит до постоянного изучения языковых моделей (LMS), поиск соответствующих наборов данных имеет решающее значение. Наборы данных, которые мы предоставляем, придерживаются следующих принципов:
Мы выпускаем наш набор данных, содержащий 6 различных доменов, каждый из которых сопровождается соответствующей конечной задачей. Набор данных можно найти здесь. Ниже приведены некоторые статистические данные для каждого домена:
| Домен корпус | Размер | Конечная задача | Задача | #Обучение | #Testing | #Classes |
|---|---|---|---|---|---|---|
| Ильп ресторан | 758 МБ | Ресторан | Классификация аспектов настроений (ASC) | 3452 | 1120 | 3 |
| Amazon Phone | 724 МБ | Телефон | Классификация аспектов настроений (ASC) | 239 | 553 | 2 |
| Amazon Camera | 319 МБ | Камера | Классификация аспектов настроений (ASC) | 230 | 626 | 2 |
| ACL Papers | 867 МБ | Acl | Классификация намерений цитирования | 1520 | 421 | 6 |
| AI Papers | 507 МБ | Ай | Классификация отношений | 2260 | 2388 | 7 |
| PubMed Papers | 989 МБ | PubMed | Прогнозирование взаимодействия химического белка | 2667 | 7 398 | 13 |
Архитектура Continuallm в значительной степени следует архитектуре Pycontinual, CPT и DGA.
conda create --name continuallm --file requirements.txt
transformers==4.17.0 и adapter-transformers==3.0.1 . Мы рекомендуем использовать эти конкретные версии, так как использование других версий может привести к неожиданным ошибкам.
Вот где происходит постоянное обучение. Мы выучим Sequnce доменов.
max_samples=640000
for idrandom in 0
do
for pt_task in 0 1 2 3 4 5
do
python -m torch.distributed.launch --nproc_per_node 4 --use_env posttrain.py
--per_device_train_batch_size 62
--fp16
--max_seq_length 164
--max_samples ${max_samples}
--idrandom ${idrandom}
--ntasks 6
--pt_task ${pt_task}
--baseline ' das '
done
done --idrandom : выберите последовательность задач. Смотрите ./sequences для получения более подробной информации.--baseline : см. Введение для доступных базовых моделей (см. choices в config.py ). После костериального изучения LMS теперь мы можем оценить выполнение, пробежая конечную задачу тонкую настройку индивидуально .
max_samples=640000
seed=(2021 111 222 333 444 555 666 777 888 999)
for round in 0 ; do
for idrandom in 0 ;
do
for pt_task in 0 1 2 3 4 5
do
for ft_task in $( seq 0 ${pt_task} ) ;
do
python finetune.py
--max_seq_length 164
--pt_task ${pt_task}
--ft_task ${ft_task}
--idrandom ${idrandom}
--ntasks 6
--max_samples ${max_samples}
--seed ${seed[$round]}
--baseline ' das '
done
done
done
done Для тех, кто заинтересован исключительно в полученной модели или хочет продолжить обучение модели с помощью своих собственных данных, у нас есть хорошие новости! Мы предлагаем контрольно -пропускные пункты через обнимающееся лицо.
Вы можете легко импортировать нашу постоянно пост-обученную модель с transformers Huggingface!
import torch
from transformers import AutoTokenizer , AutoModelForSequenceClassification
# Import our model. The package will take care of downloading the models automatically
tokenizer = AutoTokenizer . from_pretrained ( "UIC-Liu-Lab/DAS-Rest2Cam" )
model = AutoModelForSequenceClassification . from_pretrained ( "UIC-Liu-Lab/DAS-Rest2Cam" , trust_remote_code = True )
# Tokenize input texts
texts = [
"There's a kid on a skateboard." ,
"A kid is skateboarding." ,
"A kid is inside the house."
]
inputs = tokenizer ( texts , padding = True , truncation = True , return_tensors = "pt" )
# Get the model output!
res = model ( ** inputs ) Если вы столкнетесь с какой -либо проблемой при непосредственной загрузке моделей с помощью API HuggingFace, вы также можете загрузить модели вручную из репо и использовать model = AutoModel.from_pretrained({PATH TO THE DOWNLOAD MODEL}) .
Непрерывная предварительная последовательность- это первая последовательность в ./sequences/posttrain
Если вы заинтересованы в файлах важности, пожалуйста, before_distill0 after_mlm{domain_id} before означать важность, рассчитанную до предварительного обучения, что выполняется только один раз до первой области для общих предварительно обученных знаний. after указания важность, рассчитанной после предварительного обучения Domain_id.
Мы очень ценим, что вы смотрите и ссылались. Ваше внимание к деталям и признанию значительно ценится.
@inproceedings { ke2022dgs ,
title = { Continual Learning of Language Models } , author = { Ke, Zixuan and Shao, Yijia and Lin, Haowei and Konishi, Tatsuya and Kim, Gyuhak and Liu, Bing } , booktitle = { International Conference on Learning Representations (ICLR) } , year = { 2023 } }
@inproceedings { ke2022dga ,
title = { Adapting a Language Model While Preserving its General Knowledge } , author = { Ke, Zixuan and Shao, Yijia and Lin, Haowei and Xu, Hu and Shu, Lei, and Liu, Bing } , booktitle = { Empirical Methods in Natural Language Processing (EMNLP) } , year = { 2022 } }
@inproceedings { ke2022continual ,
title = { Continual Training of Language Models for Few-Shot Learning } , author = { Ke, Zixuan and Lin, Haowei and Shao, Yijia and Xu, Hu and Shu, Lei, and Liu, Bing } , booktitle = { Empirical Methods in Natural Language Processing (EMNLP) } , year = { 2022 } } Если у вас есть какие -либо вопросы, касающиеся кода, пожалуйста, не стесняйтесь отправлять электронное письмо в Zixuan Ke, Yijia Shao или Haowei Lin. В качестве альтернативы вы можете открыть проблему. Мы хотели бы выразить свою благодарность Бинг Лю, Ху Сюй и Лей Шу за их ценные комментарии и мнения