模型概述
模型特點
模型能力
使用案例
🚀 芬蘭語GPT - 2中等模型
本項目是一個基於因果語言建模(CLM)目標,在芬蘭語上預訓練的GPT - 2中等模型。GPT - 2最早在這篇論文中被提出,並在此頁面首次發佈。
注意:此模型是擁有3.45億參數的變體,與Huggingface的GPT - 2中等模型配置一致,並非OpenAI著名的擁有15億參數的大模型變體。我們還有參數更多(7.74億)的[gpt2 - large - finnish](https://huggingface.co/Finnish - NLP/gpt2 - large - finnish)模型可供使用,其性能優於本模型。
✨ 主要特性
- 基於因果語言建模(CLM)目標,在芬蘭語上進行預訓練。
- 學習到芬蘭語的內在表示,可用於提取對下游任務有用的特徵。
- 擅長根據提示生成文本。
🚀 快速開始
你可以直接使用此模型進行文本生成,或對其進行微調以應用於下游任務。你可以在模型中心查找針對你感興趣任務的微調版本。
📦 安裝指南
文檔未提及安裝步驟,可參考Huggingface的相關庫安裝說明來使用此模型。
💻 使用示例
基礎用法
使用管道進行文本生成:
>>> from transformers import pipeline
>>> generator = pipeline('text-generation', model='Finnish-NLP/gpt2-medium-finnish')
>>> generator("Teksti√§ tuottava teko√§ly on", max_length=30, num_return_sequences=5)
[{'generated_text': 'Tekstiä tuottava tekoäly on tullut ihmisten arkeen viime vuosina. Se auttaa hahmottamaan ja tulkitsemaan monimutkaisia kokonaisuuksia ja ilmiöitä, joita ihmiset tekevät esimerkiksi ruokakaupassa'},
{'generated_text': 'Tekstiä tuottava tekoäly on jo ottanut haltuunsa myös ihmisten käyttämiä sovelluksia ja esimerkiksi pankkipalveluita. Sen vuoksi tekoäly on tärkeä kumppani etenkin yritysten liiketoiminnan kehittämisessä.-'},
{'generated_text': 'Teksti√§ tuottava teko√§ly on teko√§lylle luonnollinen valinta, sill√§ sen avulla voi kommunikoida ihmisten kanssa hyvin pitk√§lle samalla tavalla kuin tietokoneiden kanssa. Se on kehittynyt muun'},
{'generated_text': 'Teksti√§ tuottava teko√§ly on ihmisen kehitt√§m√§ teko√§ly, jota ei viel√§ ole pystytty rakentamaan. Teko√§ly kykenee toimimaan esimerkiksi matemaattisissa, tilastollisissa ja sosiaalisissa'},
{'generated_text': 'Tekstiä tuottava tekoäly on jo niin iso juttu ettei sitä kannata rajoittaakaan. Ja jos se saadaan käyttöön, niin se voi jo pian syrjäyttää perinteisen'}]
高級用法
獲取給定文本的特徵:
PyTorch實現
from transformers import GPT2Tokenizer, GPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('Finnish-NLP/gpt2-medium-finnish')
model = GPT2Model.from_pretrained('Finnish-NLP/gpt2-medium-finnish')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
TensorFlow實現
from transformers import GPT2Tokenizer, TFGPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('Finnish-NLP/gpt2-medium-finnish')
model = TFGPT2Model.from_pretrained('Finnish-NLP/gpt2-medium-finnish', from_pt=True)
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
📚 詳細文檔
模型描述
芬蘭語GPT - 2是一個以自監督方式在大量芬蘭語數據語料庫上預訓練的Transformer模型。這意味著它僅在原始文本上進行預訓練,沒有人工對其進行任何標註(因此可以使用大量公開可用的數據),並通過自動流程從這些文本中生成輸入和標籤。更確切地說,它被訓練用於預測句子中的下一個單詞。
具體而言,輸入是一定長度的連續文本序列,目標是相同的序列,但向右移動一個標記(單詞或單詞片段)。模型內部使用掩碼機制,確保對標記 i
的預測僅使用從 1
到 i
的輸入,而不使用未來的標記。
通過這種方式,模型學習到芬蘭語的內在表示,可用於提取對下游任務有用的特徵。不過,該模型最擅長的還是根據提示生成文本。
預期用途和限制
用途
你可以使用原始模型進行文本生成,或對其進行微調以應用於下游任務。
限制和偏差
此模型使用的訓練數據包含大量來自互聯網的未過濾內容,這些內容遠非中立。因此,模型可能會產生有偏差的預測,這種偏差也會影響該模型的所有微調版本。
與所有語言模型一樣,很難預先預測芬蘭語GPT - 2對特定提示的響應,並且可能會在無預警的情況下生成冒犯性內容。我們建議在發佈輸出之前,由人工對輸出進行審核或過濾,以審查不良內容並提高結果質量。
訓練數據
這個芬蘭語GPT - 2模型是在六個數據集的組合上進行預訓練的:
- mc4_fi_cleaned:mC4數據集是Common Crawl網絡爬取語料庫的多語言、經過清理的版本。我們使用了mC4數據集中的芬蘭語子集,並使用我們自己的文本數據清理代碼進一步清理了該子集(可查看數據集倉庫)。
- wikipedia:我們使用了維基百科(2021年8月)數據集中的芬蘭語子集。
- Yle芬蘭新聞檔案2011 - 2018
- Yle芬蘭新聞檔案2019 - 2020
- 芬蘭新聞社檔案(STT)
- Suomi24句子語料庫
原始數據集經過清理,以過濾掉質量不佳和非芬蘭語的示例。這些清理後的數據集總共約有84GB的文本。
訓練過程
預處理
文本使用字節級的字節對編碼(BPE)(用於處理Unicode字符)進行分詞,詞彙表大小為50,257。輸入是由512個連續標記組成的序列。
預訓練
該模型在由Google TPU研究雲贊助的TPUv3 - 8虛擬機上訓練了360k步(略超過1個epoch,批量大小為128)。使用的優化器是AdamW,學習率為1e - 4,學習率在4000步內進行預熱,之後學習率呈餘弦衰減。
評估結果
評估使用了mc4_fi_cleaned數據集的驗證分割,並使用困惑度(分數越小越好)作為評估指標。從下表可以看出,該模型(表中的第一行)的性能優於我們較小的gpt2 - finnish模型變體,但不如我們更大的gpt2 - large - finnish模型。
模型名稱 | 困惑度 |
---|---|
Finnish - NLP/gpt2 - medium - finnish | 34.08 |
Finnish - NLP/gpt2 - finnish | 44.19 |
Finnish - NLP/gpt2 - large - finnish | 30.74 |
🔧 技術細節
分詞
採用字節級的字節對編碼(BPE),詞彙表大小為50,257。
輸入序列
輸入為512個連續標記組成的序列。
訓練環境
在TPUv3 - 8虛擬機上訓練,由Google TPU研究雲贊助。
優化器
使用AdamW優化器,學習率1e - 4,學習率預熱4000步,之後餘弦衰減。
📄 許可證
本項目採用Apache - 2.0許可證。
致謝
如果沒有Google通過TPU研究雲慷慨提供的計算資源,這個項目將無法實現。
團隊成員
- Aapo Tanskanen,Hugging Face個人主頁,領英個人主頁
- Rasmus Toivanen,Hugging Face個人主頁,領英個人主頁
如有更多細節需求,請隨時與我們聯繫。



