본문 바로가기
NLP

T5 (2019) 논문 리뷰

by 아르카눔 2024. 11. 8.

T5 (Text-to-Text Transfer Transformer)의 논문 이름은  Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer다. (링크)

 

저자는 Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yangqi Zhou, Wei Li, Peter J. Liu다. 

 

T5는 2017년에 나온 Transformer를 기본으로 한 Encoder-Decoder 모델로 새로운 학습 데이터를 도입하고 transfer learning의 측면에서 데이터에 text-to-text라는 개념을 도입하여 학습한 모델이다. 

 

Transformer에서 구조가 크게 바뀐게 아니라 간단할줄 알았는데 생각보다 내용이 많아서 읽는데 시간이 오래 걸렸다. 

 

 

Abstract

Transfer learning (전이학습)은 pre-trained model에 대한 downstream task를 수행하기 전에 실행할 수 있는 강력한 기술이다. 본 논문에서는 transfer learning 구조를 unlabeled data에 적용시켜, text-to-text format으로 만들어서 활용했다. 또한 Colossal Clean Crawled Corpus (C4)라는 굉장히 큰 데이터를 도입하였다. 이를 통해 summarization, question answering, text classification 등 다양한 분야의 벤치마크에 대해서 SOTA 성능을 달성했다.

 

1. Introduction

최근에 general-purpose 능력을 키우기 위해서 data-rich task로 전체 모델을 pre-train 한 다음 여기서 습득한 지식을 downstream tasks로 학습하는 transfer learning의 개념이 보편적이 되었다.  

 

본 논문에서는 Figure 1에 나와있듯이 모든 text processing 문제를 text-to-text 문제로 해석하였다. Question-answering, language modeling, span extraction 등을 모두 text-to-text로 치환해서 푼다.  

 

 

 

 

또한 웹에서 수집한, 깨끗하게 정제된 영어 데이터인 Colossal Clean Crawled Corpus (C4)을 추가적으로 소개한다.

 

 

 

2. Setup

본 논문에서는 새로운 대용량 데이터인 Colossal Clean Crawled Corpus (C4)와 새로운 모델 프레임워크인 Text-to-Text Transfer Transformer (T5)를 소개한다.

 

2.1. Model

 

Encoder-decoder 구조의 Transformer를 사용한다. Transformer에서 사용한 sine과 cosine positional embedding이 아닌 상대적으로 더 단순화된 positional embedding을 사용한다. 정확히는 Self-Attention with Relative Position Representations (링크) 논문에서 사용한 방법을 사용한다. Layers의 숫자나 자세한 내용은 뒤에서 설명한다. 

 

 

2.2. Colossal Clean Crawled Corpus

Common Crawl 데이터를 활용해서 생성했다. 

Common Crawl은 공개적으로 접근 가능한 웹 아카이브로 "web extracted text"를 제공한다. 이는 HTML 파일에서 나온 markup이나 다른 non-text을 모두 제거한다. 데이터를 매달 수집하며 한달간 약 20 TB를 수집한다. 하지만 대부분의 수집된 텍스트는 자연어가 아니다. Gibberish (횡설수설)이나 boiler-plate text (menus, error messages or duplicated texts) 등 쓸모 없는 정보들이 많이 포함되어있다. 저자들은 offensive language, placeholder text, source code 등등도 고려했다.

 

다음의 휴리스틱을 따라서 정제했다.

 

  • 마침표, 느낌표, 물음표, 또는 닫는 따옴표로 끝나는 줄만 남겼다.
  • 문장 수가 3개 미만인 페이지는 제외했으며, 단어 수가 5개 이상인 줄만 남겼다.
  • "저속하거나, 음란하거나, 외설적이거나, 그 외에 부적절한 단어 목록"에 있는 단어가 포함된 페이지는 모두 제거.
  • 여러 웹 페이지에서 Javascript 활성화 경고 문구가 발견되어, "Javascript"라는 단어가 포함된 줄은 모두 삭제.
  • 일부 페이지에는 placeholder text인 "lorem ipsum"이 있어서 해당 문구가 나타나는 페이지는 모두 제거.
  • 일부 페이지에는 의도하지 않은 코드가 포함되있다. 중괄호 "{}"는 웹에서 널리 사용되는 Javascript와 같은 많은 프로그래밍 언어에 나타나지만 일반적인 텍스트에는 거의 사용되지 않으므로, 중괄호가 포함된 페이지는 모두 제거.
  • 일부 스크랩된 페이지는 위키백과에서 가져온 것으로 인용 표시(예: [1], [citation needed] 등)가 있었다. 이러한 표시는 모두 제거.
  • 많은 페이지에 다음과 같은 상용구 형태의 정책 고지 사항을 포함한다. "terms of use", "privacy policy", "cookie policy", "uses cookies", "use of cookies", 또는 "use cookies". 이런 문자열들은 모두 제거했다.
  • 데이터셋의 중복을 제거하기 위해, 데이터셋 내에서 세 문장으로 이루어진 동일한 구간이 두 번 이상 나타나면 하나만 남기고 나머지는 모두 삭제.

웹에서 raw data 로 데이터를 스크래핑해서 정제할 사람들이라면 참조할만해 보이는 부분이다.

 

논문에서 설정한 downstream tasks는 모두 영어 기반 텍스트이므로 langdetext를 활용하여 0.99 이상의 확률로 영어가 아니라고 판별된 텍스트를 모두 제거했다. C4 (Colossal Clean Crawled Corpus) 데이터는 TensorFlow Datasets의 일부로 공개했다.

 

2.3. Downstream Tasks

우리의 목적인 일반적인 언어 학습 능력 (general language learning abilities)를 측정이다. 따라서 다양한 벤치마크를 사용하였으며 machine translation, question answering, abstractive summarization, text classification을 포함한다. GLUE와 SuperGLUE의 text classification과 meta-benchmarks, CNN / Daily Mail의 abstractive summarization, SQuAD의 question answering, WMT English to German, French, and Romanian translation을 벤치마크로 사용했다. 모든 데이터를 TensorFlow Datasets에 있다.

 

GLUE (Wang et al., 2018) and SuperGLUE (Wang et al., 2019b)는 각각 a collection of text classification tasks meant to test general language understanding abilities으로 구성되어있다 (comprise). :


• Sentence acceptability judgment (CoLA (Warstadt et al., 2018))
• Sentiment analysis (SST-2 (Socher et al., 2013))
• Paraphrasing/sentence similarity (MRPC (Dolan and Brockett, 2005), STS-B (Cer et al., 2017), QQP (Iyer et al., 2017))
• Natural language inference (MNLI (Williams et al., 2017), QNLI (Rajpurkar et al., 2016), RTE (Dagan et al., 2005), CB (De Marneff et al., 2019))
• Coreference resolution (WNLI and WSC (Levesque et al., 2012))
• Sentence completion (COPA (Roemmele et al., 2011))
• Word sense disambiguation (WIC (Pilehvar and Camacho-Collados, 2018))
• Question answering (MultiRC (Khashabi et al., 2018), ReCoRD (Zhang et al., 2018), BoolQ (Clark et al., 2019))

 

 CNN / Daily Mail은 본래 question-answering을 위한 데이터였으나 Nallapati et al. (2016)에서 제시된 방법을 따라서 텍스트 요약으로 사용했다. 그리고 See et al. (2017)에서 제시한 the non-anonymized version을 abstractive summarization 태스크를 활용한다. SQuAD는 question answering이고 WMT 데이터는 English to German의 경우 Transformer 논문에서 제시한 것과 동일하게 News Commentary v13, Common Crawl, Europarl v7 데이터를 학습 데이터로, newstest2013을 validation 데이터로 사용했다. English to French는 2015년 데이터로 학습하고 newstest2014를 validation으로 사용했다. English to Romanian은 WMT 2016에서 제시된 train and validation 데이터를 사용했다.

 

2.4. Input and Output Format

Tasks-specific (text) prefix를 원본 input sequence에 추가하여 모델에 넣어준다.

 

구체적인 내용은 Appendix D. Preprocessed Examples를 보면 알 수 있다.

 

 

3. Experiments

섹션 3는 다음과 같이 구성된다. we undertake an empirical comparison of model architectures (Section 3.2), unsupervised objectives (Section 3.3), pre-training data sets (Section 3.4), transfer approaches (Section 3.5), and scaling (Section 3.6). At the culmination of this section, we combine insights from our study with scale to obtain state-of-the-art results in many tasks we consider (Section 3.7).

 

3.1. Baseline

3.1.1. Model

기존에 제시된 Transformer 모델을 사용하며 BERT base 모델과 비교한다.

Feed forward network의 output dimensionality는 $d_{ff}$ = 3072다.  

Key와 Value 행렬들에서 사용되는 inner dimensionality는 $d_{kv}$ = 64다.  

Multi-head의 헤드 개수는 $h$ = 12다.  

다른 Sublayers와 embeddings의 차원은 $d_{\text{model}}$ = 768이다.  

이는 곧 220M 파라미터로 BERT base의 약 2배다.  

 

3.1.2. Training

Text-to-text로 학습하기 때문에 maximum likelihood (최대우도) 방법으로 학습하며 cross entropy loss를 사용한다.

Optimizer로는 AdaFactor를 사용하였으며 test time에는 greedy decoding을 사용한다.

 

Pre-train 단계에서는 C4 데이터를 활용하여 $2^{19}$ = 524,288 steps 만큼 학습한다. Maximum sequence length는 512이며 batch size는 128 sequences다.  

이를 러프하게 계산하면 하나의 mini batch는 128 x 512 = $2^{7 + 9}$ = $2^{16}$  tokens를 가진다.  

따라서 전체 배치 사이즈와 스텝을 계산하면 pre-training 단계에서 약 $ 2^{35} \approx 34 $B tokens를 학습한다.  

BERT는 약 137B tokens를, RoBERTa에서는 약 2.2T tokens를 사용한다.  

T5에서는 그에 비하면 훨씬 적은 수인 $ 2^{35} \approx 34 $B 학습하여 합리적인 컴퓨테이션 로드를 고려한다.

 

Inverse square root라는 learning rate schedule 방법을 사용한다. $n$이 현재 training iteration이고 $k$가 warm-up steps일 때, inver square root는 $1 / \sqrt{\text{max}(n, k)} $다. 본 논문에서는 $k$를 모두 $10^4$로 설정했다.  

Initial lr이 0.01일 때, 학습률 스케쥴을 따르면 초반 $10^4$ steps 동안은 warmp-up steps라서 lr이 상수로 존재하지만 그 이후에는 지수적으로 감소한다.

 

Fine-tuning에서는 모든 태스크들에 대해서 $2^{18}$ = 262,144 steps만큼 학습한다. Maximum sequence length는 128이고 batch size는 512라서 배치 마다의 tokens의 수는 512 x 128 = $2^{16}$ tokens로 pre-training 단계와 동일한 수의 토큰을 학습한다. Learning rate의 경우 0.001로 모든 steps 마다 동일하게 적용한다. 매번 5,000 steps 마다 checkpoint를 저장한다.

 

 

3.1.3. Vocabulary

SentencePiece를 사용하여 텍스트를 WordPiece tokens로 인코딩한다. 모든 실험에서 32,000 wordpices를 가진다.

즉 Vocab size가 32,000이다. 

번역 태스크의 경우 English의 경우 C4에서 10 parts를, 독일어, 프랑스어, 루마니아어의 경우 1 part를 사용한다.

 

 

3.1.4. Unsupervised Objective

 

 

 

BERT의 masked language modeling과 유사하게 작업을 수행한다.

원본 text에서 일부를 masking한 다음 sentinel token이라고 하는 토큰으로 대체해서 input text를 만든다.

그 다음 targets의 경우 sentinel 텍스트 뒤에 masked texts를 덧붙이는 형식으로 만든다.  

Sentinel tokens가 delimiter (구분자)로 작동한다. 

 

3.1.5. Baseline Performance

 

Pre-training을 한 다음 fine tuning한 결과가 pre-train 없이 fine-tuning만 한 "No pre-training" 보다 좋은 결과임을 알 수 있다.

 

3.2. Architectures

 

Figure 3의 Fully-visible이 Encoder 구조고, Causal이 Decoder 구조다.  

Causal with prefix의 경우 이전의 토큰들을 보지 않는 것은 일반 Causal과 동일하지만 prefix는 본다.

 

 

 

일반 Grey는 Causal masking이고 다크 그레이는 fully-visible masking이다.  

 

맨 왼쪽은 Encoder-Decoder 구조이며 encoder에서는 fully-visible masking을 decoder에서는 Causal masking을 사용한다.

 

가운데는 Decoder only 구조이며 Causal masking을 사용한다.

 

맨 오른쪽의 Prefix LM은 Causal masking과 fully-visible masking이 섞인 형태다. 

 

 

 

3.2.2. Comparing Different Model Structures

 

L-layers Decoder 모델과 L + L Encoder-Decoder (L-layered Encoder and L-layered Decoder) 모델의 computational cost가 거의 같음을 발견했다. 

 

  • L Encoder + L Decoder는 2P parameters를 가지고 computation cost는 M FLOPs다.
  • Encoder와 Decoder가 sharing parameters를 가지고 L layers라면, P parameters computation cost는 M FLOPs다.
  • L/2 Encoder + L/2 Decoder는 P parameters를 가지고 computation cost는 M/2 FLOPs다.
  • L Decoder only는 P parameters 이며 computation cost는 M FLOPs다.
  • Decoder-only prefix LM으로 P parameters 이며 computation cost는 M FLOPs이지만 input에 대한 fully-visible self-attention을 적용한다.

실험 결과는 Table 2에 나와있다.

 

 

 

Objective에서 Denoising은 본 논문의 섹션 3.1.4에 나온 변형된 MLM 방법이고 LM은 Next Token Prediction이다.  

 

 

3.3. Unsupervised Objectives

Objectives를 단계별로 자세하게 분석하고 실험하여 결과를 보고한다.

 

 

  • High-level 에서는 여러 목표 함수를 비교한다.
  • Corruption strategies에서는 원본 텍스트를 어떻게 변형할지를 결정한다.
  • Corruption rate에서는 masking 혹은 span할 비율을 비교한다.
  • Corrupted span length는 span의 length를 비교한다. 

 

 

Objectives 비교

Prefix language modeling, BERT style MLM, Deshuffling, MASS-style, I.I.D. Noise and Replace spans, I.I.D. Noise and Drop spans, and Random Spans를 비교한다. I.I.D.는 전체 토큰의 길이에 따라서 span length를 정하는 방법이다. 

 

정제한 Inputs와 Targets는 아래 Table 3에 나와있다.

 

 

 

Objective별 성능은 Table 4와 5에 나와있다.

 

 

 

 

 

Corruption rate 비교

 

Corruption rate를 실험했을 때 15%가 가장 좋은 성능임을 Table 6에서 확인할 수 있다.

 

 

Span Length 비교

 

Span이 2 ~ 3의 범위일 때도 성능이 좋지만 iid 일 때 성능이 가장 좋다.

iid는 는 전체 토큰의 길이에 따라서 span length를 정하는 방법이다. 

Sequence에 500 tokens가 있을 때 15%의 토큰을 corrupt한다.

총 500 x 0.15 = 75개의 corrupted tokens가 있는데 총 25개의 spans이 있다면 span length 75 / 25 = 3이 된다.   

 

 

Unlabeled Data Sets 비교 

 

 

대체로 C4 데이터가 좋은 성능임을 보여준다.

C4를 정제하지 않은 경우 훨씬 작은 데이터인 Wikipedia와도 비슷함을 확인할 수 있다.

 

Full or Repeated Partial Data

 

C4 데이터가 있을 때 전체를 사용하는 것과 일부만 사용하되 반복 회수를 늘리는 경우를 비교 실험한다.

즉 전체 학습 tokens의 수 자체는 동일하게 설정했다.

 

Table 9의 결과 작은 데이터를 반복하는 것 보다 더 큰 데이터를 한 번 학습하는게 나음을 알 수 있다.

 

이는 아마도 반복함으로써 데이터의 패턴 자체를 암기하여 일반화 능력이 떨어질 수도 있기 때문이다.

 

 

3.5. Training Strategy

3.5 섹션에서는 Fine-tuning과 개별적인 supervised tasks 학습을 다룬다.

 

3.5.1. Fine-Tuning Methods

 

1. Adapter Layers

원본 모델을 최대한 보존하면서 파인 튜닝을 하기 위함이다.

추가적인 레이어를 덧붙인다.

 

 

2. Gradual Unfreezing

 

이름에서도 알 수 있듯이 모델의 전체 파라미터를 freeze한 다음에 점진적으로 모델의 파라미터들을 unfreeze하는 방법이다.

출력층 Output layer에 가까운 층 부터 unfreeze하고 Input layer에 가까운 층으로 이동하면서 점진적으로 unfreeze한다.

 

 

실험의 결과 모든 모델을 Fine-tuning하는게 결과가 좋음을 알 수 있다.

 

 

3.5.2. Multi-Task Learning

 

지금까지의 pre-training은 single unsupervised learning이었다.  

대안으로 multi-task learning이 있다. 이름 그대로 여러개의 task를 동시에 진행한다.

 

Examples-proportional mixing

기본적으로 데이터를 원래 사이즈에 비례하게 뽑아서 섞는다.

하지만 특정 데이터의 크기가 너무 커서 영향력이 압도적일 수 있다.

이를 방지하기 위해 데이터의 크기를 제한(limit)하는 방법을 제안한다.

 

N개의 task 데이터셋의 examples 수가 각각 $e_n (n \in {1, ..., N})$이라면, 학습 중 $m$번째 task에서 예시를 샘플링할 확률 $r_m$은 min($e_m, K$) / Σ min($e_n, K$)로 설정한다. 여기서 $K$는 인위적인 데이터셋 크기의 limit다.  

 

Temperature-scaled mixing

데이터 셋 크기의 불균형을 해결하기 위해서 "temperature (온도)"를 이용해서 mixing rates를 조절한다.

multilingual BERT에서 다국어를 학습할 때 효과적으로 사용한 방법이다.

 

온도 $T$로 Temperature-scaling을 구현하려면 각 task의 혼합 비율 $r_m$을 1/$T$ 제곱하고, 비율의 합이 1이 되도록 다시 정규화합니다. $T$ = 1일 때 이 접근 방식은 Examples-proportional mixing 예시 비례 혼합과 동일하다.

$T$가 증가함에 따라 비율은 equal mixing 동일 혼합에 가까워집니다. 온도 스케일링 전에 $r_m$을 얻기 위해 적용했던 데이터셋 크기 제한 $K$는 사용하지만 큰 값 $2^21$으로 $K$를 설정한다. $K$ 값을 크게 설정하는 이유는 온도를 높이면 가장 큰 데이터셋의 혼합 비율이 감소하기 때문이다.

 

Equal mixing

가장 단순하지만 최적이 아닌 (suboptimal) 방법으로 데이터셋을 동일한 확률로 뽑는다. 

 

 

3.5.2. Combining Multi-Task Learning with Fine-tuning

 

학습할 때 pre-train + fine-tuning tasks (aka supervised tasks)로 데이터를 구성한다.

 

이때 3가지 방법으로 multi-task learning을 적용해본다.

아래의 모든 방법은 Pre-train 과정에서 $K = 2^{19}$로 설정한다.  

 

1. 첫 번째는 fine-tuning을 하기 전에 examples-proportional mixing 방식으로 pre-train을 위한 데이터를 구성한다.  개별적인 fine-tuning을 수행하기 전에 multi-task가 도움이 되는지를 탐색한다.

 

2. 두 번째는 약간 다른 변형이다.

이때 test할 하나의 task는 제외하고 pre-train을 진행하고

이 남은 하나의 task를 fine-tune 단계에서 학습한다.

이를 "leave-one-out" multi-task learning으로 명명하고 진행했다.

 

3. 세 번째는 examples-proportional mixing 방법으로 모든 supervised tasks를 섞는다. 

 

Pre-train에서는 $2^{19}$ steps를, fine-tune에서는 $2^{18}$ steps를 학습한다.

 

 

 

Table 11의 결과 multi-task learning 보다 pre-train과 fine-tuning을 별개로 하는게 더 낫다.

 

 

 

다양한 multi-task learning 방법의 성능 비교다.

Multi-task training 이후 추가적인 fine-tuning을 수행할 수도 아닐 수도 있다.

추가적인 파인 튜닝을 안 한 방법이 표준적인 multi-task learning이다. 

기존의 pre-train + fine-tuning 조합을 제외하면 Multi-task training 이후 추가적인 fine-tuning을 수행하는게 가장 성능이 좋다.

 

Scaling

 

Model size (size), Batch size와 training steps의 비교 실험이다.

 

 

 

 

Model의 크기를 키우고 학습 스텝을 늘리면 성능이 향상되지만 그 만큼 computation cost의 증가를 고려해야 한다.

모델의 사이즈를 더 늘리지 못하더라도 training steps를 늘리면 비슷한 성능을 얻을 수 있음을 Table 13에서 확인할 수 있다. 

 

 

 

3.7. Putting It All Together

Objective:

Span-corruption

 

Model Sizes

  • Base: $d_{ff}$ = 3072, $d_{kv}$ = 64, $h$ = 12, $d_{\text{model}}$ = 768, L = 12,220M params
  • Small: $d_{ff}$ = 2048, $d_{kv}$ = 64, $h$ = 8, $d_{\text{model}}$ = 512, L = 6, 60M params
  • Large: $d_{ff}$ = 4096, $d_{kv}$ = 64, $h$ = 16, $d_{\text{model}}$ = 1024, L = 24, 770M params
  • 3B: $d_{ff}$ = 16382, $d_{kv}$ = 128, $h$ = 32, $d_{\text{model}}$ = 1024, L = 24, 3B (2.8B) params
  • 11B: $d_{ff}$ = 65536, $d_{kv}$ = 128, $h$ = 128, $d_{\text{model}}$ = 1024, L = 24, 11B params

실험 결과는 Table 14와 같다.

 

 

대체로 모델의 사이즈가 증가할 수록 성능이 좋아진다.

CNN / DM이 예외적이다. 

 

Appendix D. Preprocessed Examples

T5의 text-to-text의 디자인으로 어떻게 텍스트를 정제하는지를 나타낸다. 


D.1 CoLA 

Original input:
    Sentence: John made Bill master of himself.


Processed input:

  cola sentence: John made Bill master of himself.


Original target:

  1


Processed target: 

  acceptable


D.2 RTE 

Original input:
  Sentence 1: A smaller proportion of Yugoslavia’s Italians were settled in Slovenia (at the 1991 national census, some 3000 inhabitants of Slovenia declared themselves as ethnic Italians).


  Sentence 2: Slovenia has 3,000 inhabitants.


Processed input: 

  rte sentence1: A smaller proportion of Yugoslavia’s Italians were settled in Slovenia (at the 1991 national census, some 3000 inhabitants of Slovenia declared themselves as ethnic Italians). sentence2: Slovenia has 3,000 inhabitants.


Original target: 

  1


Processed target: 

  not_entailment


D.3 MNLI
Original input:
  Hypothesis: The St. Louis Cardinals have always won.


  Premise: yeah well losing is i mean i’m i’m originally from Saint Louis and Saint Louis Cardinals when they were there were uh a mostly a losing team but


Processed input: 

  mnli hypothesis: The St. Louis Cardinals have always won. premise:
yeah well losing is i mean i’m i’m originally from Saint Louis and Saint Louis Cardinals when they were there were uh a mostly a losing team but

 

Original target: 

  2

 

Processed target:

  contradiction

 

D.5 QNLI 

Original input:
  Question: Where did Jebe die?
  Sentence: Genghis Khan recalled Subutai back to Mongolia soon afterwards, and Jebe died on the road back to Samarkand.


Processed input: 

  qnli question: Where did Jebe die? sentence: Genghis Khan recalled Subutai back to Mongolia soon afterwards, and Jebe died on the road back to Samarkand.


Original target: 

  0


Processed target: 

  entailment


D.6 QQP
Original input:
  Question 1: What attributes would have made you highly desirable in ancient Rome?
  Question 2: How I GET OPPERTINUTY TO JOIN IT COMPANY AS A FRESHER?

 

Processed input: 

  qqp question1: What attributes would have made you highly desirable in ancient Rome? question2: How I GET OPPERTINUTY TO JOIN IT COMPANY AS A FRESHER?

 

Original target: 

  0


Processed target: 

  not_duplicate


D.7 SST2 

Original input:
  Sentence: it confirms fincher ’s status as a film maker who artfully bends technical know-how to the service of psychological insight .


Processed input:

  sst2 sentence: it confirms fincher ’s status as a film maker who artfully bends technical know-how to the service of psychological insight .


Original target: 

  1


Processed target: 

  positive


D.8 STSB
Original input:
  Sentence 1: Representatives for Puretunes could not immediately be reached for comment Wednesday.
  Sentence 2: Puretunes representatives could not be located Thursday to comment on the suit.


Processed input: 

  stsb sentence1: Representatives for Puretunes could not immediately be reached for comment Wednesday. sentence2: Puretunes representatives could not be located Thursday to comment on the suit.


Original target: 

  3.25


Processed target: 

  3.2

 

 

 

 

 

References:

https://gbdai.tistory.com/61