/ Модель

Характеристики

Лицензия
Apache 2.0
Архитектура
hgrn · dense
Опубликована
10 ноя 2023

HGRN-1B

Генерация текстаТекст → текст3 профессии

Авторегрессионная языковая модель OpenNLPLab на архитектуре HGRN для генерации текста и моделирования последовательностей.

33скачиваний за 30 дней8лайковвеса обновлены10 ноя 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

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

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

OpenNLPLab/HGRN-1B — авторегрессионная языковая модель на архитектуре HGRN (Hierarchically Gated Recurrent Neural Network), разработанная OpenNLPLab для генерации текста и моделирования последовательностей. Карточка описывает обучение на WikiText-103 с токенизацией GPT-2 BPE и приводит эксперименты по языковому моделированию, моделированию изображений и задачам Long Range Arena.

Модель предназначена для генерации текста и экспериментов с рекуррентными нейросетями для последовательностей. В репозитории указан формат PyTorch; модель использует причинную языковую архитектуру HgrnForCausalLM. Размер 1B следует из идентификатора модели. В метаданных указан английский язык. Лицензия — Apache-2.0.

Карточка ориентирована на обучение и эксперименты и не приводит сведений о качестве на конкретных тестах или длине контекста. Описанные эксперименты на WikiText-103 и упоминания задач моделирования изображений сами по себе не подтверждают, что опубликованный чекпойнт принимает изображения.

Сценарии применения

  • генерация продолжения текста
  • авторегрессионное языковое моделирование
  • эксперименты с рекуррентными языковыми моделями

Ограничения

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

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Overall Architecture

The overall network architecture is as follows:

Experiments

Environment Preparation

Our experiment uses two conda environments, where Autoregressive language modeling, needs to configure the environment according to the Env1 part, and LRA needs to configure the environment according to the Env2 part.

Env1

First build the conda environment based on the yaml file:

conda env create --file env1.yaml

If you meet an error when installing torch, just remove torch and torchvision in the yaml file, rerun the above command, and then run the below commands:

conda activate hgrn
wget https://download.pytorch.org/whl/cu111/torch-1.8.1%2Bcu111-cp36-cp36m-linux_x86_64.whl
pip install torch-1.8.1+cu111-cp36-cp36m-linux_x86_64.whl
pip install -r requirements_hgrn.txt

Then, install hgru-pytorch:

conda activate hgrn
cd hgru-pytorch
pip install .

Finally, install our version of fairseq:

cd fairseq
pip install --editable ./

Env2

Build the conda environment based on the yaml file:

conda env create --file env2.yaml

If you encounter difficulties in setting up the environment, you can install the conda environment first, and then use the following command to install the pip packages:

pip install torch==1.10.0+cu111 torchvision==0.11.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
pip install -r requirements_lra.txt

Finally, install hgru-pytorch:

conda activate lra
cd hgru-pytorch
pip install .

Autoregressive language model

1) Preprocess the data

First download the WikiText-103 dataset:

wget https://s3.amazonaws.com/research.metamind.io/wikitext/wikitext-103-raw-v1.zip
unzip wikitext-103-raw-v1.zip

Next, encode it with the GPT-2 BPE:

mkdir -p gpt2_bpe
wget -O gpt2_bpe/encoder.json https://dl.fbaipublicfiles.com/fairseq/gpt2_bpe/encoder.json
wget -O gpt2_bpe/vocab.bpe https://dl.fbaipublicfiles.com/fairseq/gpt2_bpe/vocab.bpe
for SPLIT in train valid test; do \
    python -m examples.roberta.multiprocessing_bpe_encoder \
        --encoder-json gpt2_bpe/encoder.json \
        --vocab-bpe gpt2_bpe/vocab.bpe \
        --inputs wikitext-103-raw/wiki.${SPLIT}.raw \
        --outputs wikitext-103-raw/wiki.${SPLIT}.bpe \
        --keep-empty \
        --workers 60; \
done

Finally, preprocess/binarize the data using the GPT-2 fairseq dictionary:

wget -O gpt2_bpe/dict.txt https://dl.fbaipublicfiles.com/fairseq/gpt2_bpe/dict.txt
fairseq-preprocess \
    --only-source \
    --srcdict gpt2_bpe/dict.txt \
    --trainpref wikitext-103-raw/wiki.train.bpe \
    --validpref wikitext-103-raw/wiki.valid.bpe \
    --testpref wikitext-103-raw/wiki.test.bpe \
    --destdir data-bin/wikitext-103 \
    --workers 60

This step comes from fairseq.

2) Train the autoregressive language model

Use the following command to train language model:

bash script_alm.sh

You should change data_dir to preprocessed data.

Image modeling

bash script_im.sh

LRA

1) Preparation

Download the codebase:

git clone https://github.com/OpenNLPLab/lra.git

Download the data:

wget https://storage.googleapis.com/long-range-arena/lra_release.gz
mv lra_release.gz lra_release.tar.gz 
tar -xvf lra_release.tar.gz

2) Training

Use the following script to run the experiments, you should change PREFIX to your lra path, change tasks to a specific task:

python script_lra.py

Standalone code

See hgru-pytorch.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
HgrnForCausalLM
Ревизия весов
f0495dd

0 моделей