FRED T5 Large Habr Summarizer
F
FRED T5 Large Habr Summarizer
由basic-go開發
基於FRED-T5-large訓練的Habr文章抽象摘要生成器,專門用於俄語文本摘要任務
下載量 70
發布時間 : 12/17/2023
模型概述
這是一個針對Habr技術文章的抽象摘要生成模型,底層採用ai-forever/FRED-T5-large架構,經過多階段優化訓練,能夠生成高質量的俄語技術文章摘要。
模型特點
多階段優化訓練
採用SFT、DPO等多階段訓練策略,結合數據擴展和後處理技術,顯著提升摘要質量
專業領域適配
專門針對Habr技術文章進行優化,理解技術術語和上下文
智能後處理
包含自動清理和截斷機制,解決模型輸出的常見問題如未完成句末生成等
模型能力
俄語文本理解
技術文章摘要生成
長文本處理
使用案例
內容摘要
技術文章摘要
為Habr等技術平臺的長篇文章生成簡潔摘要
在測試集上達到0.6075的指標值
內容預處理
為下游NLP任務提供預處理後的文本摘要
🚀 哈勃文章抽象摘要生成器
這是一個用於哈勃文章的抽象摘要生成器,基於 GPT Week 測試任務的數據進行訓練。它以 ai-forever/FRED-T5-large 為基礎模型,能夠有效對哈勃文章進行摘要提取。
🚀 快速開始
使用該摘要生成器需要對文本進行預處理和後處理,以下是具體示例:
import re
from transformers import pipeline
clean_expr = re.compile(r"[\xa0\x1a\x16\x1b\x17\x15\u2004]")
spaces_expr = re.compile(r"\s{2,}")
def process_text(text: str) -> str:
"""對文本進行預處理和後處理。"""
text = clean_expr.sub(" ", text)
text = spaces_expr.sub(" ", text)
if "." in text:
index = text.rindex(".")
text = text[:index + 1]
return text
summarizer = pipeline("summarization", model="basic-go/FRED-T5-large-habr-summarizer", device=0)
ARTICLE = """
Трогательный инженерный бизиборд, Новый Год и волонтеры / Хабр
31-12-2019
Зачем нужен бизиборд, когда у папы много интересных инструментов? Опасные убраны, а пассатижами пусть ребенок играет, шуруповерт нажимает, ручки осциллографа крутит. Но наступил момент и сделан инженерный бизиборд. Таким каким он должен быть, в противоположность фабричному изделию – красивому, глянцевому, красочному, со всеми закругленными углами и краями. Разноцветному для глаз, но однородному и скучному на ощупь. С чего все началось Началось с объявления чуть больше года назад в социальной сети, что московскому психоневралогическому интернату (ПНИ) требуются бизиборды: Что это такое Что такое ПНИ трудно представить, но можно посмотреть в youtube. И если волонтеры пишут, что в ПНИ проблема дефицита сенсорных впечатлений, значит это ОЧЕНЬ большая проблема. Мы, взрослые, ходим по строительному гипермаркету и крутим в руках железки, щупаем трубки, проводим рукой по оплетке и т.д. Женщины в магазине трогают вообще всё. Я инженер, регулярно покупаю какие-то детали, чтобы на столе лежали, и я достаточное количество раз их потрогал и постепенно понял – смогу ли применить как задумал. Каждый в детстве лежал на кровати и бесконечно долго разглядывал и щупал ковер. Или, провинившись, стоял в углу и ковырял обои. Щупать – это способность и потребность человека. Когда мы с товарищем увидели бизиборды, которые планируется купить для ПНИ, решили сделать максимально трогательный бизиборд сами. Трогательный в прямом смысле. Куплены парные раскручивающиеся фитинги из пластика, никелированной стали, бронзы, чугуна оцинкованного и черного чугуна. Медные трубки, гофрированная трубка из нержавеющей стали, по которой со звоном долго спускается шайба, если ее поднять и отпустить. Самый красивый материал, конечно, никелированная сталь. Но красота не главное, главное контраст. Поэтому рядом с никелированной деталью висит деталь из черного чугуна, и трудно сказать – какой материал даст больший чувственный опыт. «Чугунные игрушки» из анекдота – не насмешка, а необходимость; ребенку важно почувствовать тяжесть и грубую фактуру материала. Все фитинги по-разному закручиваются, интересней других крутить сложные составные фитинги для труб ПНД. Гофра для унитаза удивляет диаметром, и ее можно растягивать. Пеньковая веревка впечатляюще колюча. Отрезной диск красивый, брутальный, и на ощупь грубый. Образцы керамики вдали выглядят обычно, но красивые, если рассматривать их многослойное покрытие вблизи, проводя по рельефу пальцами. Как это сделано За основу взят лист фанеры 1500×1000×10 мм. В строительном гипермаркете есть услуга пила в размер, к основному листу дополнительно нарезали ребер жесткости. С размером листа ошибся, лист чуть-чуть не влез в автомобиль, а гипермаркет уже закрылся и пришлось в ночь идти с этим листом домой пешком – не надо так. Ребра жесткости прикручены шурупами 16 мм – стянут оба листа, но не выйдут с другой стороны. Всюду, где можно, использован детский труд. Детский труд экономит деньги – не нужно покупать очередной конструктор. Вон папе купили новое кресло, иди распаковывай и собирай, нужна будет помощь — позовешь. И детский труд – это педагогично, ребенок вырастет умеющим не только работать руками, но и делегировать задачи. Дети учатся не тому, чему их учат взрослые, а тому что взрослые при детях делают. Покрасили на лестничной площадке, постелив полиэтилен. Закрепили детали тросами в ПВХ-оплетке. Стальные тросы в ПВХ-оплетке — прекрасный материал, только пришлось отдельно ехать в магазин за кусачками, которые этот трос смогут перекусить. На обратной стороне тросы затянули узлами, а узлы залили термоклеем. Термоклей имеет хорошую адгезию к ПВХ, залитый узел сам не распустится и выдернуть его с лицевой стороны стенда невозможно. Чем все закончилось В «наш» ПНИ уже успели закупить готовые бизиборды, меня переправили к волонтерам другого ПНИ. Там фотографии посмотрели и сказали – а давайте отправим ваш стенд в Азовский интернат для умственно отсталых детей. Сказали – и отправили. В новогоднюю ночь приехала еще одна бригада волонтеров, погрузили стенд в огромный прицеп к АЗЛК 2141 уже забитый коробками с подарками интернату, и в метель уехали. Очень романтично. Дальше я долго пытался получить какую-то обратную связь от волонтеров, но смог лишь узнать телефон интерната. Там звонку удивились, обрадовались, сказали, что не поняли, что это им привезли и отдали в уголок труда. И сказали, что примут любую помощь, и чтобы я приходил и помогал. Я посмотрел фотографии интерната, посмотрел на детей и увидел, что стенд отправили совершенно не туда. Ситуация в интернате по сравнению с ПНИ роскошная, проблемы запертости в своем теле и на своей кровати у детей нет. Жил бы рядом с интернатом – приходил бы по субботам, учил бы этих детей программировать Ардуино. Опыт преподавания робототехники в школе есть, справился бы и в интернате. Но между нами 1100 км. А стенд все же нужен был в ПНИ. Выводы Все сделано правильно, только нужно самому говорить с тем, для кого что-то делаешь. Самому изучать потребность, самому получать обратную связь и самому делать следующий шаг. Стенд делается относительно легко, технология «фанера + тросы в пвх + термоклей» рабочая, предлагаю использовать наш опыт.
"""
ARTICLE = process_text(ARTICLE)
response = summarizer(ARTICLE, max_new_tokens=360, num_beams=2, do_sample=True, top_k=100,
repetition_penalty=2.5, length_penalty=1.0)
summary = process_text(response[0]["summary_text"])
print(summary)
# Трогательный инженерный бизиборд, сделанный для московского психоневралогического интерната, был сделан самим автором. Он использовал парные раскручивающиеся фитинги из пластика, никелированной стали, бронзы, чугуна оцинкованного и черного чугуна, а также детские труд и инструменты. В новогоднюю ночь стенд был отправлен в Азовский интернат для умственно отсталых детей. Автор выражает благодарность волонтерам, которые помогли сделать этот стенд, и предлагает использовать их опыт для улучшения ситуации в интернате.
📚 詳細文檔
歷史方法
不同方法在測試數據集上的指標如下表所示:
# | 額外數據 | SFT | DPO | 後處理 | 指標 |
---|---|---|---|---|---|
1 | ✓ | 0.5168 | |||
2 | ✓ | ✓ | 0.5525 | ||
3 | ✓ | ✓ | ✓ | 0.5664 | |
4 | ✓ | ✓ | ✓ | 0.6075 |
在初始階段,模型存在以下影響指標的問題:
- 字節序列生成問題:通過預處理和後處理解決。
- 模型常未完成最後一句:通過後處理截斷未完成部分解決,後處理對最終模型的指標貢獻較小。
- 文本片段重複和改寫:在最終模型中該問題得到顯著緩解,但仍可能存在重複情況。
1. SFT
- 按照
metric > 0.65
的規則從訓練數據集中進行切片。 - 將切片後的數據集按 4 : 1 的比例劃分為訓練集和驗證集。
- 以 1e - 4 為初始學習率,進行 4 個 epoch 的訓練,學習率逐漸減小。
2. SFT + 後處理
- 對模型的文本輸出應用示例中的
process_text
函數。
3. SFT + DPO + 後處理
- 使用 SFT 模型對訓練切片進行推理。
- 以 1e - 7 為學習率,對生成的候選數據進行 1 個 epoch 的 DPO 訓練。
4. 額外數據 + SFT + 後處理
“額外數據” 意味著在更大的數據集上進行更多訓練。
- 使用上一步得到的模型對原始訓練數據集的一半進行推理。
- 將生成結果與之前的生成結果合併,併為每篇文章選擇最佳候選。
- 按照
metric > 0.65
的規則對候選數據進行新的切片,使數據集增加 30%。 - 以 1e - 4 為初始學習率,重新進行 8 個 epoch 的訓練,學習率逐漸減小。
未成功的嘗試
未能實現 額外數據 + SFT + DPO [+ 後處理]
配置,訓練不穩定,模型從某個時刻開始性能下降。
可能的改進方向
在第四種方法中,僅使用了約 20% 的原始訓練數據集。通過更改生成參數並重新進行推理,可以獲得更多通過 metric > 0.65
閾值的候選數據。預計在具有更多高質量候選數據的數據集上訓練模型(由於多樣性增加),可以提高目標指標。
📄 許可證
本項目採用 Apache - 2.0 許可證。
Bart Large Cnn
MIT
基於英語語料預訓練的BART模型,專門針對CNN每日郵報數據集進行微調,適用於文本摘要任務
文本生成 英語
B
facebook
3.8M
1,364
Parrot Paraphraser On T5
Parrot是一個基於T5的釋義框架,專為加速訓練自然語言理解(NLU)模型而設計,通過生成高質量釋義實現數據增強。
文本生成
Transformers

P
prithivida
910.07k
152
Distilbart Cnn 12 6
Apache-2.0
DistilBART是BART模型的蒸餾版本,專門針對文本摘要任務進行了優化,在保持較高性能的同時顯著提升了推理速度。
文本生成 英語
D
sshleifer
783.96k
278
T5 Base Summarization Claim Extractor
基於T5架構的模型,專門用於從摘要文本中提取原子聲明,是摘要事實性評估流程的關鍵組件。
文本生成
Transformers 英語

T
Babelscape
666.36k
9
Unieval Sum
UniEval是一個統一的多維評估器,用於自然語言生成任務的自動評估,支持多個可解釋維度的評估。
文本生成
Transformers

U
MingZhong
318.08k
3
Pegasus Paraphrase
Apache-2.0
基於PEGASUS架構微調的文本複述模型,能夠生成語義相同但表達不同的句子。
文本生成
Transformers 英語

P
tuner007
209.03k
185
T5 Base Korean Summarization
這是一個基於T5架構的韓語文本摘要模型,專為韓語文本摘要任務設計,通過微調paust/pko-t5-base模型在多個韓語數據集上訓練而成。
文本生成
Transformers 韓語

T
eenzeenee
148.32k
25
Pegasus Xsum
PEGASUS是一種基於Transformer的預訓練模型,專門用於抽象文本摘要任務。
文本生成 英語
P
google
144.72k
198
Bart Large Cnn Samsum
MIT
基於BART-large架構的對話摘要模型,專為SAMSum語料庫微調,適用於生成對話摘要。
文本生成
Transformers 英語

B
philschmid
141.28k
258
Kobart Summarization
MIT
基於KoBART架構的韓語文本摘要模型,能夠生成韓語新聞文章的簡潔摘要。
文本生成
Transformers 韓語

K
gogamza
119.18k
12
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98