我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
import textwrap
def summarize(text, ml):
preprocess_text = text.strip().replace("\n", "")
t5_prepared_Text = "Text to summarize: " + preprocess_text
wrapped_t5_prepared_Text = textwrap.fill(t5_prepared_Text, width = 70)
print(wrapped_t5_prepared_Text)
tokenized_text = tokenizer.encode(t5_prepared_Text, return_tensors = "pt").to(device)
summary_ids = model.generate(tokenized_text,
num_beams = 4,
no_repeat_ngram_size = 2,
min_length = 30,
max_length = ml,
early_stopping = True)
output = tokenizer.decode(summary_ids[0], skip_special_tokens = True)
return output
T5 模型透過前綴 + 輸入序列的方式,無論什麼任務,都有統一的結構,它可能看起來很簡單,但它使 NLP Transformer 模型更接近通用訓練和零樣本下游任務。
從 RNN 和 CNN 到 Transformer 花了 35 年多的時間,然後,世界上一些最聰明的研究團隊從為特定任務設計的 Transformer 轉向幾乎不需要微調的多任務模型,最後,Google 研究團隊為 Transformer 的輸入文字建立了一種標準格式,其中包含指示要解決的 NLP 問題的前綴。