transformers/docs/source/en/model_doc/roformer.md
Steven Liu c0f8d055ce
[docs] Redesign (#31757)
* toctree

* not-doctested.txt

* collapse sections

* feedback

* update

* rewrite get started sections

* fixes

* fix

* loading models

* fix

* customize models

* share

* fix link

* contribute part 1

* contribute pt 2

* fix toctree

* tokenization pt 1

* Add new model (#32615)

* v1 - working version

* fix

* fix

* fix

* fix

* rename to correct name

* fix title

* fixup

* rename files

* fix

* add copied from on tests

* rename to `FalconMamba` everywhere and fix bugs

* fix quantization + accelerate

* fix copies

* add `torch.compile` support

* fix tests

* fix tests and add slow tests

* copies on config

* merge the latest changes

* fix tests

* add few lines about instruct

* Apply suggestions from code review

Co-authored-by: Arthur <48595927+ArthurZucker@users.noreply.github.com>

* fix

* fix tests

---------

Co-authored-by: Arthur <48595927+ArthurZucker@users.noreply.github.com>

* "to be not" -> "not to be" (#32636)

* "to be not" -> "not to be"

* Update sam.md

* Update trainer.py

* Update modeling_utils.py

* Update test_modeling_utils.py

* Update test_modeling_utils.py

* fix hfoption tag

* tokenization pt. 2

* image processor

* fix toctree

* backbones

* feature extractor

* fix file name

* processor

* update not-doctested

* update

* make style

* fix toctree

* revision

* make fixup

* fix toctree

* fix

* make style

* fix hfoption tag

* pipeline

* pipeline gradio

* pipeline web server

* add pipeline

* fix toctree

* not-doctested

* prompting

* llm optims

* fix toctree

* fixes

* cache

* text generation

* fix

* chat pipeline

* chat stuff

* xla

* torch.compile

* cpu inference

* toctree

* gpu inference

* agents and tools

* gguf/tiktoken

* finetune

* toctree

* trainer

* trainer pt 2

* optims

* optimizers

* accelerate

* parallelism

* fsdp

* update

* distributed cpu

* hardware training

* gpu training

* gpu training 2

* peft

* distrib debug

* deepspeed 1

* deepspeed 2

* chat toctree

* quant pt 1

* quant pt 2

* fix toctree

* fix

* fix

* quant pt 3

* quant pt 4

* serialization

* torchscript

* scripts

* tpu

* review

* model addition timeline

* modular

* more reviews

* reviews

* fix toctree

* reviews reviews

* continue reviews

* more reviews

* modular transformers

* more review

* zamba2

* fix

* all frameworks

* pytorch

* supported model frameworks

* flashattention

* rm check_table

* not-doctested.txt

* rm check_support_list.py

* feedback

* updates/feedback

* review

* feedback

* fix

* update

* feedback

* updates

* update

---------

Co-authored-by: Younes Belkada <49240599+younesbelkada@users.noreply.github.com>
Co-authored-by: Arthur <48595927+ArthurZucker@users.noreply.github.com>
Co-authored-by: Quentin Gallouédec <45557362+qgallouedec@users.noreply.github.com>
2025-03-03 10:33:46 -08:00

8.1 KiB

RoFormer

PyTorch TensorFlow Flax

Overview

The RoFormer model was proposed in RoFormer: Enhanced Transformer with Rotary Position Embedding by Jianlin Su and Yu Lu and Shengfeng Pan and Bo Wen and Yunfeng Liu.

The abstract from the paper is the following:

Position encoding in transformer architecture provides supervision for dependency modeling between elements at different positions in the sequence. We investigate various methods to encode positional information in transformer-based language models and propose a novel implementation named Rotary Position Embedding(RoPE). The proposed RoPE encodes absolute positional information with rotation matrix and naturally incorporates explicit relative position dependency in self-attention formulation. Notably, RoPE comes with valuable properties such as flexibility of being expand to any sequence lengths, decaying inter-token dependency with increasing relative distances, and capability of equipping the linear self-attention with relative position encoding. As a result, the enhanced transformer with rotary position embedding, or RoFormer, achieves superior performance in tasks with long texts. We release the theoretical analysis along with some preliminary experiment results on Chinese data. The undergoing experiment for English benchmark will soon be updated.

This model was contributed by junnyu. The original code can be found here.

Usage tips

RoFormer is a BERT-like autoencoding model with rotary position embeddings. Rotary position embeddings have shown improved performance on classification tasks with long texts.

Resources

RoFormerConfig

autodoc RoFormerConfig

RoFormerTokenizer

autodoc RoFormerTokenizer - build_inputs_with_special_tokens - get_special_tokens_mask - create_token_type_ids_from_sequences - save_vocabulary

RoFormerTokenizerFast

autodoc RoFormerTokenizerFast - build_inputs_with_special_tokens

RoFormerModel

autodoc RoFormerModel - forward

RoFormerForCausalLM

autodoc RoFormerForCausalLM - forward

RoFormerForMaskedLM

autodoc RoFormerForMaskedLM - forward

RoFormerForSequenceClassification

autodoc RoFormerForSequenceClassification - forward

RoFormerForMultipleChoice

autodoc RoFormerForMultipleChoice - forward

RoFormerForTokenClassification

autodoc RoFormerForTokenClassification - forward

RoFormerForQuestionAnswering

autodoc RoFormerForQuestionAnswering - forward

TFRoFormerModel

autodoc TFRoFormerModel - call

TFRoFormerForMaskedLM

autodoc TFRoFormerForMaskedLM - call

TFRoFormerForCausalLM

autodoc TFRoFormerForCausalLM - call

TFRoFormerForSequenceClassification

autodoc TFRoFormerForSequenceClassification - call

TFRoFormerForMultipleChoice

autodoc TFRoFormerForMultipleChoice - call

TFRoFormerForTokenClassification

autodoc TFRoFormerForTokenClassification - call

TFRoFormerForQuestionAnswering

autodoc TFRoFormerForQuestionAnswering - call

FlaxRoFormerModel

autodoc FlaxRoFormerModel - call

FlaxRoFormerForMaskedLM

autodoc FlaxRoFormerForMaskedLM - call

FlaxRoFormerForSequenceClassification

autodoc FlaxRoFormerForSequenceClassification - call

FlaxRoFormerForMultipleChoice

autodoc FlaxRoFormerForMultipleChoice - call

FlaxRoFormerForTokenClassification

autodoc FlaxRoFormerForTokenClassification - call

FlaxRoFormerForQuestionAnswering

autodoc FlaxRoFormerForQuestionAnswering - call