|
--- |
|
tags: |
|
- summarization |
|
- summary |
|
- booksum |
|
- long-document |
|
- long-form |
|
license: apache-2.0 |
|
datasets: |
|
- kmfoda/booksum |
|
metrics: |
|
- rouge |
|
widget: |
|
- text: large earthquakes along a given fault segment do not occur at random intervals |
|
because it takes time to accumulate the strain energy for the rupture. The rates |
|
at which tectonic plates move and accumulate strain at their boundaries are approximately |
|
uniform. Therefore, in first approximation, one may expect that large ruptures |
|
of the same fault segment will occur at approximately constant time intervals. |
|
If subsequent main shocks have different amounts of slip across the fault, then |
|
the recurrence time may vary, and the basic idea of periodic mainshocks must be |
|
modified. For great plate boundary ruptures the length and slip often vary by |
|
a factor of 2. Along the southern segment of the San Andreas fault the recurrence |
|
interval is 145 years with variations of several decades. The smaller the standard |
|
deviation of the average recurrence interval, the more specific could be the long |
|
term prediction of a future mainshock. |
|
example_title: earthquakes |
|
- text: " A typical feed-forward neural field algorithm. Spatiotemporal coordinates\ |
|
\ are fed into a neural network that predicts values in the reconstructed domain.\ |
|
\ Then, this domain is mapped to the sensor domain where sensor measurements are\ |
|
\ available as supervision. Class and Section Problems Addressed Generalization\ |
|
\ (Section 2) Inverse problems, ill-posed problems, editability; symmetries. Hybrid\ |
|
\ Representations (Section 3) Computation & memory efficiency, representation\ |
|
\ capacity, editability: Forward Maps (Section 4) Inverse problems Network Architecture\ |
|
\ (Section 5) Spectral bias, integration & derivatives. Manipulating Neural Fields\ |
|
\ (Section 6) Edit ability, constraints, regularization. Table 2: The five classes\ |
|
\ of techniques in the neural field toolbox each addresses problems that arise\ |
|
\ in learning, inference, and control. (Section 3). We can supervise reconstruction\ |
|
\ via differentiable forward maps that transform Or project our domain (e.g, 3D\ |
|
\ reconstruction via 2D images; Section 4) With appropriate network architecture\ |
|
\ choices, we can overcome neural network spectral biases (blurriness) and efficiently\ |
|
\ compute derivatives and integrals (Section 5). Finally, we can manipulate neural\ |
|
\ fields to add constraints and regularizations, and to achieve editable representations\ |
|
\ (Section 6). Collectively, these classes constitute a 'toolbox' of techniques\ |
|
\ to help solve problems with neural fields There are three components in a conditional\ |
|
\ neural field: (1) An encoder or inference function \u20AC that outputs the conditioning\ |
|
\ latent variable 2 given an observation 0 E(0) =2. 2 is typically a low-dimensional\ |
|
\ vector, and is often referred to aS a latent code Or feature code_ (2) A mapping\ |
|
\ function 4 between Z and neural field parameters O: Y(z) = O; (3) The neural\ |
|
\ field itself $. The encoder \u20AC finds the most probable z given the observations\ |
|
\ O: argmaxz P(2/0). The decoder maximizes the inverse conditional probability\ |
|
\ to find the most probable 0 given Z: arg- max P(Olz). We discuss different encoding\ |
|
\ schemes with different optimality guarantees (Section 2.1.1), both global and\ |
|
\ local conditioning (Section 2.1.2), and different mapping functions Y (Section\ |
|
\ 2.1.3) 2. Generalization Suppose we wish to estimate a plausible 3D surface\ |
|
\ shape given a partial or noisy point cloud. We need a suitable prior over the\ |
|
\ sur- face in its reconstruction domain to generalize to the partial observations.\ |
|
\ A neural network expresses a prior via the function space of its architecture\ |
|
\ and parameters 0, and generalization is influenced by the inductive bias of\ |
|
\ this function space (Section 5)." |
|
example_title: scientific paper |
|
- text: ' the big variety of data coming from diverse sources is one of the key properties |
|
of the big data phenomenon. It is, therefore, beneficial to understand how data |
|
is generated in various environments and scenarios, before looking at what should |
|
be done with this data and how to design the best possible architecture to accomplish |
|
this The evolution of IT architectures, described in Chapter 2, means that the |
|
data is no longer processed by a few big monolith systems, but rather by a group |
|
of services In parallel to the processing layer, the underlying data storage has |
|
also changed and became more distributed This, in turn, required a significant |
|
paradigm shift as the traditional approach to transactions (ACID) could no longer |
|
be supported. On top of this, cloud computing is becoming a major approach with |
|
the benefits of reducing costs and providing on-demand scalability but at the |
|
same time introducing concerns about privacy, data ownership, etc In the meantime |
|
the Internet continues its exponential growth: Every day both structured and unstructured |
|
data is published and available for processing: To achieve competitive advantage |
|
companies have to relate their corporate resources to external services, e.g. |
|
financial markets, weather forecasts, social media, etc While several of the sites |
|
provide some sort of API to access the data in a more orderly fashion; countless |
|
sources require advanced web mining and Natural Language Processing (NLP) processing |
|
techniques: Advances in science push researchers to construct new instruments |
|
for observing the universe O conducting experiments to understand even better |
|
the laws of physics and other domains. Every year humans have at their disposal |
|
new telescopes, space probes, particle accelerators, etc These instruments generate |
|
huge streams of data, which need to be stored and analyzed. The constant drive |
|
for efficiency in the industry motivates the introduction of new automation techniques |
|
and process optimization: This could not be done without analyzing the precise |
|
data that describe these processes. As more and more human tasks are automated, |
|
machines provide rich data sets, which can be analyzed in real-time to drive efficiency |
|
to new levels. Finally, it is now evident that the growth of the Internet of Things |
|
is becoming a major source of data. More and more of the devices are equipped |
|
with significant computational power and can generate a continuous data stream |
|
from their sensors. In the subsequent sections of this chapter, we will look at |
|
the domains described above to see what they generate in terms of data sets. We |
|
will compare the volumes but will also look at what is characteristic and important |
|
from their respective points of view. 3.1 The Internet is undoubtedly the largest |
|
database ever created by humans. While several well described; cleaned, and structured |
|
data sets have been made available through this medium, most of the resources |
|
are of an ambiguous, unstructured, incomplete or even erroneous nature. Still, |
|
several examples in the areas such as opinion mining, social media analysis, e-governance, |
|
etc, clearly show the potential lying in these resources. Those who can successfully |
|
mine and interpret the Internet data can gain unique insight and competitive advantage |
|
in their business An important area of data analytics on the edge of corporate |
|
IT and the Internet is Web Analytics.' |
|
example_title: data science textbook |
|
- text: "Transformer-based models have shown to be very useful for many NLP tasks.\ |
|
\ However, a major limitation of transformers-based models is its O(n^2)O(n 2)\ |
|
\ time & memory complexity (where nn is sequence length). Hence, it's computationally\ |
|
\ very expensive to apply transformer-based models on long sequences n > 512n>512.\ |
|
\ Several recent papers, e.g. Longformer, Performer, Reformer, Clustered attention\ |
|
\ try to remedy this problem by approximating the full attention matrix. You can\ |
|
\ checkout \U0001F917's recent blog post in case you are unfamiliar with these\ |
|
\ models.\nBigBird (introduced in paper) is one of such recent models to address\ |
|
\ this issue. BigBird relies on block sparse attention instead of normal attention\ |
|
\ (i.e. BERT's attention) and can handle sequences up to a length of 4096 at a\ |
|
\ much lower computational cost compared to BERT. It has achieved SOTA on various\ |
|
\ tasks involving very long sequences such as long documents summarization, question-answering\ |
|
\ with long contexts.\nBigBird RoBERTa-like model is now available in \U0001F917\ |
|
Transformers. The goal of this post is to give the reader an in-depth understanding\ |
|
\ of big bird implementation & ease one's life in using BigBird with \U0001F917\ |
|
Transformers. But, before going into more depth, it is important to remember that\ |
|
\ the BigBird's attention is an approximation of BERT's full attention and therefore\ |
|
\ does not strive to be better than BERT's full attention, but rather to be more\ |
|
\ efficient. It simply allows to apply transformer-based models to much longer\ |
|
\ sequences since BERT's quadratic memory requirement quickly becomes unbearable.\ |
|
\ Simply put, if we would have \u221E compute & \u221E time, BERT's attention\ |
|
\ would be preferred over block sparse attention (which we are going to discuss\ |
|
\ in this post).\nIf you wonder why we need more compute when working with longer\ |
|
\ sequences, this blog post is just right for you!\nSome of the main questions\ |
|
\ one might have when working with standard BERT-like attention include:\nDo all\ |
|
\ tokens really have to attend to all other tokens? Why not compute attention\ |
|
\ only over important tokens? How to decide what tokens are important? How to\ |
|
\ attend to just a few tokens in a very efficient way? In this blog post, we will\ |
|
\ try to answer those questions.\nWhat tokens should be attended to? We will give\ |
|
\ a practical example of how attention works by considering the sentence 'BigBird\ |
|
\ is now available in HuggingFace for extractive question answering'. In BERT-like\ |
|
\ attention, every word would simply attend to all other tokens.\nLet's think\ |
|
\ about a sensible choice of key tokens that a queried token actually only should\ |
|
\ attend to by writing some pseudo-code. Will will assume that the token available\ |
|
\ is queried and build a sensible list of key tokens to attend to.\n>>> # let's\ |
|
\ consider following sentence as an example >>> example = ['BigBird', 'is', 'now',\ |
|
\ 'available', 'in', 'HuggingFace', 'for', 'extractive', 'question', 'answering']\n\ |
|
>>> # further let's assume, we're trying to understand the representation of 'available'\ |
|
\ i.e. >>> query_token = 'available' >>> # We will initialize an empty `set` and\ |
|
\ fill up the tokens of our interest as we proceed in this section. >>> key_tokens\ |
|
\ = [] # => currently 'available' token doesn't have anything to attend Nearby\ |
|
\ tokens should be important because, in a sentence (sequence of words), the current\ |
|
\ word is highly dependent on neighboring past & future tokens. This intuition\ |
|
\ is the idea behind the concept of sliding attention." |
|
example_title: bigbird blog intro |
|
- text: "To be fair, you have to have a very high IQ to understand Rick and Morty.\ |
|
\ The humour is extremely subtle, and without a solid grasp of theoretical physics\ |
|
\ most of the jokes will go over a typical viewer's head. There's also Rick's\ |
|
\ nihilistic outlook, which is deftly woven into his characterisation- his personal\ |
|
\ philosophy draws heavily from Narodnaya Volya literature, for instance. The\ |
|
\ fans understand this stuff; they have the intellectual capacity to truly appreciate\ |
|
\ the depths of these jokes, to realise that they're not just funny- they say\ |
|
\ something deep about LIFE. As a consequence people who dislike Rick & Morty\ |
|
\ truly ARE idiots- of course they wouldn't appreciate, for instance, the humour\ |
|
\ in Rick's existential catchphrase 'Wubba Lubba Dub Dub,' which itself is a cryptic\ |
|
\ reference to Turgenev's Russian epic Fathers and Sons. I'm smirking right now\ |
|
\ just imagining one of those addlepated simpletons scratching their heads in\ |
|
\ confusion as Dan Harmon's genius wit unfolds itself on their television screens.\ |
|
\ What fools.. how I pity them. \U0001F602\nAnd yes, by the way, i DO have a Rick\ |
|
\ & Morty tattoo. And no, you cannot see it. It's for the ladies' eyes only- and\ |
|
\ even then they have to demonstrate that they're within 5 IQ points of my own\ |
|
\ (preferably lower) beforehand. Nothin personnel kid \U0001F60E" |
|
example_title: Richard & Mortimer |
|
parameters: |
|
max_length: 64 |
|
min_length: 8 |
|
no_repeat_ngram_size: 3 |
|
early_stopping: true |
|
repetition_penalty: 3.5 |
|
length_penalty: 0.3 |
|
encoder_no_repeat_ngram_size: 3 |
|
num_beams: 4 |
|
model-index: |
|
- name: pszemraj/long-t5-tglobal-base-16384-book-summary |
|
results: |
|
- task: |
|
type: summarization |
|
name: Summarization |
|
dataset: |
|
name: samsum |
|
type: samsum |
|
config: samsum |
|
split: test |
|
metrics: |
|
- name: ROUGE-1 |
|
type: rouge |
|
value: 33.7197 |
|
verified: true |
|
- name: ROUGE-2 |
|
type: rouge |
|
value: 8.5493 |
|
verified: true |
|
- name: ROUGE-L |
|
type: rouge |
|
value: 25.1917 |
|
verified: true |
|
- name: ROUGE-LSUM |
|
type: rouge |
|
value: 29.2739 |
|
verified: true |
|
- name: loss |
|
type: loss |
|
value: .nan |
|
verified: true |
|
- name: gen_len |
|
type: gen_len |
|
value: 34.464 |
|
verified: true |
|
- task: |
|
type: summarization |
|
name: Summarization |
|
dataset: |
|
name: xsum |
|
type: xsum |
|
config: default |
|
split: test |
|
metrics: |
|
- name: ROUGE-1 |
|
type: rouge |
|
value: 20.5398 |
|
verified: true |
|
- name: ROUGE-2 |
|
type: rouge |
|
value: 3.4827 |
|
verified: true |
|
- name: ROUGE-L |
|
type: rouge |
|
value: 13.647 |
|
verified: true |
|
- name: ROUGE-LSUM |
|
type: rouge |
|
value: 15.8818 |
|
verified: true |
|
- name: loss |
|
type: loss |
|
value: .nan |
|
verified: true |
|
- name: gen_len |
|
type: gen_len |
|
value: 81.4964 |
|
verified: true |
|
- task: |
|
type: summarization |
|
name: Summarization |
|
dataset: |
|
name: kmfoda/booksum |
|
type: kmfoda/booksum |
|
config: kmfoda--booksum |
|
split: test |
|
metrics: |
|
- name: ROUGE-1 |
|
type: rouge |
|
value: 36.2047 |
|
verified: true |
|
- name: ROUGE-2 |
|
type: rouge |
|
value: 6.0472 |
|
verified: true |
|
- name: ROUGE-L |
|
type: rouge |
|
value: 16.616 |
|
verified: true |
|
- name: ROUGE-LSUM |
|
type: rouge |
|
value: 33.172 |
|
verified: true |
|
- name: loss |
|
type: loss |
|
value: .nan |
|
verified: true |
|
- name: gen_len |
|
type: gen_len |
|
value: 248.7994 |
|
verified: true |
|
--- |
|
|
|
# long-t5-tglobal-base-16384 + BookSum |
|
|
|
- summarize long text and get a SparkNotes-esque summary of arbitrary topics! |
|
- generalizes reasonably well to academic & narrative text. |
|
|
|
## Cheeky Proof-of-Concept |
|
|
|
A summary of the [infamous navy seals copypasta](https://knowyourmeme.com/memes/navy-seal-copypasta): |
|
|
|
> The narrator tells the audience that he can kill anyone anywhere in the world with his bare hands, and he has access to all of the United States military's weapons. |
|
|
|
|
|
## Model description |
|
|
|
A fine-tuned version of [google/long-t5-tglobal-base](https://huggingface.co/google/long-t5-tglobal-base) on the `kmfoda/booksum` dataset: |
|
|
|
- 30+ epochs of fine-tuning from the base model on V100/A100 GPUs |
|
- all training used 16384 token input / 1024 max output |
|
|
|
Read the paper by Guo et al. here: [LongT5: Efficient Text-To-Text Transformer for Long Sequences](https://arxiv.org/pdf/2112.07916.pdf) |
|
|
|
## How-To in Python |
|
|
|
Install/update transformers `pip install -U transformers` |
|
|
|
Summarize text with pipeline: |
|
|
|
``` |
|
from transformers import pipeline |
|
|
|
summarizer = pipeline( |
|
'summarization', |
|
'pszemraj/long-t5-tglobal-base-16384-book-summary', |
|
) |
|
long_text = "Here is a lot of text I don't want to read. Replace me" |
|
|
|
result = summarizer(long_text) |
|
print(result[0]['summary_text']) |
|
``` |
|
|
|
Pass [other parameters related to beam search textgen](https://huggingface.co/blog/how-to-generate) when calling `summarizer` to get even higher quality results. |
|
|
|
## Intended uses & limitations |
|
|
|
- At the time of writing, the model is not _fully converged_ despite training for 20+ epochs. This checkpoint is serviceable enough (see examples). |
|
- I plan to update this page with newer checkpoints and post some metrics over time. |
|
- Compare performance to [LED-base](https://huggingface.co/pszemraj/led-base-book-summary) trained on the same dataset (API gen parameters are the same). |
|
- while this model seems to improve upon factual consistency, **do not take summaries to be foolproof and check things that seem odd**. |
|
|
|
## Training and evaluation data |
|
|
|
`kmfoda/booksum` dataset on HuggingFace - read [the original paper here](https://arxiv.org/abs/2105.08209). Summaries longer than 1024 LongT5 tokens were filtered out to prevent the model from learning to generate "partial" summaries. |
|
|
|
_NOTE: early checkpoints of this model were trained on a "smaller" subsection of the dataset as it was filtered for summaries of **1024 characters**. This was subsequently caught and adjusted to **1024 tokens** and then trained further for 10+ epochs._ |
|
|
|
## Training procedure |
|
|
|
### Updates: |
|
|
|
- July 3, 2022: Added a new version with several epochs of additional training that is more performant in general. |
|
|
|
### Training hyperparameters |
|
|
|
The following hyperparameters were used during the **most recent** training round\*: |
|
|
|
- learning_rate: 0.0006 |
|
- train_batch_size: 1 |
|
- eval_batch_size: 1 |
|
- seed: 42 |
|
- distributed_type: multi-GPU |
|
- gradient_accumulation_steps: 64 |
|
- total_train_batch_size: 64 |
|
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 |
|
- lr_scheduler_type: cosine |
|
- lr_scheduler_warmup_ratio: 0.01 |
|
- num_epochs: 2 |
|
|
|
|
|
\*_Prior training sessions used roughly similar parameters; multiple sessions were required as this takes aeons to train_ |
|
|
|
### Training results |
|
|
|
|
|
|
|
### Framework versions |
|
|
|
- Transformers 4.20.1 |
|
- Pytorch 1.10.0+cu113 |
|
- Datasets 2.3.2 |
|
- Tokenizers 0.12.1 |
|
|