transformers safetensors iter relation extraction nlp base_model:microsoft/deberta-v3-large base_model:finetune:microsoft/deberta-v3-large license:apache-2.0 model-index endpoints_compatible region:us
---
base_model:
- microsoft/deberta-v3-large
library_name: transformers
license: apache-2.0
tags:
- relation extraction
- nlp
model-index:
- name: iter-ade-deberta-large
  results:
  - task:
      type: relation-extraction
    dataset:
      name: ade
      type: ade
    metrics:
    - type: f1
      value: 87.536
      name: F1
---


# ITER: Iterative Transformer-based Entity Recognition and Relation Extraction

This model checkpoint is part of the collection of models published alongside our paper ITER, 
[accepted at EMNLP 2024](https://aclanthology.org/2024.findings-emnlp.655/).<br>
To ease reproducibility and enable open research, our source code has been published on [GitHub](https://github.com/fleonce/iter).

This model achieved an F1 score of `87.536` on dataset `ade` on split `1`

### Using ITER in your code

First, install ITER in your preferred environment:

```text
pip install git+https://github.com/fleonce/iter
```

To use our model, refer to the following code:
```python
from iter import ITERForRelationExtraction

model = ITERForRelationExtraction.from_pretrained("fleonce/iter-ade-deberta-large")
tokenizer = model.tokenizer

encodings = tokenizer(
  "An art exhibit at the Hakawati Theatre in Arab east Jerusalem was a series of portraits of Palestinians killed in the rebellion .",
  return_tensors="pt"
)

generation_output = model.generate(
    encodings["input_ids"],
    attention_mask=encodings["attention_mask"],
)

# entities
print(generation_output.entities)

# relations between entities
print(generation_output.links)
```

### Checkpoints

We publish checkpoints for the models performing best on the following datasets:

- **ACE05**:
  1. [fleonce/iter-ace05-deberta-large](https://huggingface.co/fleonce/iter-ace05-deberta-large)
- **CoNLL04**:
  1. [fleonce/iter-conll04-deberta-large](https://huggingface.co/fleonce/iter-conll04-deberta-large)
- **ADE**:
  1. [fleonce/iter-ade-deberta-large](https://huggingface.co/fleonce/iter-ade-deberta-large)
- **SciERC**:
  1. [fleonce/iter-scierc-deberta-large](https://huggingface.co/fleonce/iter-scierc-deberta-large)
  2. [fleonce/iter-scierc-scideberta-full](https://huggingface.co/fleonce/iter-scierc-scideberta-full)
- **CoNLL03**:
  1. [fleonce/iter-conll03-deberta-large](https://huggingface.co/fleonce/iter-conll03-deberta-large)
- **GENIA**:
  1. [fleonce/iter-genia-deberta-large](https://huggingface.co/fleonce/iter-genia-deberta-large)


### Reproducibility

For each dataset, we selected the best performing checkpoint out of the 5 training runs we performed during training.
This model was trained with the following hyperparameters:

- Seed: `1`
- Config: `ade/small_lr_d_ff_4096_split1`
- PyTorch `2.3.0` with CUDA `11.8` and precision `torch.float32`
- GPU: `1 NVIDIA H100 SXM 80 GB GPU`

Varying GPU and CUDA version as well as training precision did result in slightly different end results in our tests
for reproducibility.

To train this model, refer to the following command:
```shell
python3 train.py --dataset ade/small_lr_d_ff_4096_split1 --transformer microsoft/deberta-v3-large --seed 1
```

```text
@inproceedings{hennen-etal-2024-iter,
    title = "{ITER}: Iterative Transformer-based Entity Recognition and Relation Extraction",
    author = "Hennen, Moritz  and
      Babl, Florian  and
      Geierhos, Michaela",
    editor = "Al-Onaizan, Yaser  and
      Bansal, Mohit  and
      Chen, Yun-Nung",
    booktitle = "Findings of the Association for Computational Linguistics: EMNLP 2024",
    month = nov,
    year = "2024",
    address = "Miami, Florida, USA",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2024.findings-emnlp.655",
    doi = "10.18653/v1/2024.findings-emnlp.655",
    pages = "11209--11223",
    abstract = "When extracting structured information from text, recognizing entities and extracting relationships are essential. Recent advances in both tasks generate a structured representation of the information in an autoregressive manner, a time-consuming and computationally expensive approach. This naturally raises the question of whether autoregressive methods are necessary in order to achieve comparable results. In this work, we propose ITER, an efficient encoder-based relation extraction model, that performs the task in three parallelizable steps, greatly accelerating a recent language modeling approach: ITER achieves an inference throughput of over 600 samples per second for a large model on a single consumer-grade GPU. Furthermore, we achieve state-of-the-art results on the relation extraction datasets ADE and ACE05, and demonstrate competitive performance for both named entity recognition with GENIA and CoNLL03, and for relation extraction with SciERC and CoNLL04.",
}
```

