模型概述
模型特點
模型能力
使用案例
🚀 GPT-SW3模型介紹
GPT-SW3是由AI Sweden聯合RISE和WASP WARA for Media and Language開發的一系列僅解碼器的大型預訓練Transformer語言模型。該模型能以瑞典語、挪威語、丹麥語、冰島語、英語和編程語言生成連貫文本,還可執行未明確訓練過的文本任務。
🚀 快速開始
由於這是一個私有倉庫,若要從Python訪問該模型,你必須使用訪問令牌登錄。可以使用huggingface-cli login
命令完成登錄,更多信息請參閱HuggingFace快速入門指南。
以下代碼片段加載了分詞器和模型,並在可用時使用GPU:
import torch
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
# Initialize Variables
model_name = "AI-Sweden-Models/gpt-sw3-6.7b-v2-instruct"
device = "cuda:0" if torch.cuda.is_available() else "cpu"
prompt = "Träd är fina för att"
# Initialize Tokenizer & Model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
model.eval()
model.to(device)
使用generate
方法生成文本的示例如下:
input_ids = tokenizer(prompt, return_tensors="pt")["input_ids"].to(device)
generated_token_ids = model.generate(
inputs=input_ids,
max_new_tokens=100,
do_sample=True,
temperature=0.6,
top_p=1,
)[0]
generated_text = tokenizer.decode(generated_token_ids)
數據預處理期間使用的聊天格式如下:
<|endoftext|><s>
User:
Jag tycker träd är fina
<s>
Bot:
Kul att du tycker det!
<s>
...
生成文本的過程與之前相同:
prompt = """
<|endoftext|><s>
User:
Varför är träd fina?
<s>
Bot:
""".strip()
input_ids = tokenizer(prompt, return_tensors="pt")["input_ids"].to(device)
generated_token_ids = model.generate(
inputs=input_ids,
max_new_tokens=100,
do_sample=True,
temperature=0.6,
top_p=1,
)[0]
generated_text = tokenizer.decode(generated_token_ids)
使用generate
方法生成文本的示例如下:
input_ids = tokenizer(prompt, return_tensors="pt")["input_ids"].to(device)
generated_token_ids = model.generate(
inputs=input_ids,
max_new_tokens=100,
do_sample=True,
temperature=0.6,
top_p=1,
)[0]
使用HuggingFace的pipeline
方法是generate
方法的便捷替代方案,它會為你處理大部分工作:
generator = pipeline('text-generation', tokenizer=tokenizer, model=model, device=device)
generated = generator(prompt, max_new_tokens=100, do_sample=True, temperature=0.6, top_p=1)[0]["generated_text"]
✨ 主要特性
- 多語言支持:能夠在5種不同語言和4種編程語言中生成連貫文本。
- 指令執行能力:可以被指示執行未明確訓練過的文本任務,將其轉化為文本生成任務。
📚 詳細文檔
模型描述
GPT-SW3是一系列僅解碼器的大型預訓練Transformer語言模型,由AI Sweden聯合RISE和WASP WARA for Media and Language開發。該模型在包含瑞典語、挪威語、丹麥語、冰島語、英語和編程語言代碼的3200億個標記的數據集上進行了預訓練,使用NeMo Megatron GPT實現的因果語言建模(CLM)目標進行預訓練。
預期用途
GPT-SW3是一個自迴歸大型語言模型,能夠在5種不同語言和4種編程語言中生成連貫文本。它還可以被指示執行未明確訓練過的文本任務,將其轉化為文本生成任務。
侷限性
與其他大型語言模型一樣,由於訓練數據的多樣性(或缺乏多樣性)會對模型質量產生下游影響,GPT-SW3在偏差和安全性等方面存在侷限性。它在生成多樣性和幻覺方面也可能存在質量問題。通過發佈修改後的RAIL許可證,我們希望增加對大型語言模型的交流、透明度和研究。該模型可能會:過度代表某些觀點而忽視其他觀點,包含刻板印象,生成仇恨、辱罵、暴力、歧視或偏見性語言。模型可能會出錯,包括產生看似事實的錯誤信息,生成無關或重複的輸出,以及可能不適合所有場景的內容,包括色情內容。
合規性
GPT-SW3的發佈包括模型權重、配置文件、分詞器文件和詞彙文件。這些文件均不包含任何個人身份信息(PII)或受版權保護的材料。
模型詳情
屬性 | 詳情 |
---|---|
開發人員或組織 | GPT-SW3由AI Sweden聯合RISE和WASP WARA for Media and Language開發。 |
模型發佈日期 | 2022年12月20日 |
模型版本 | 這是GPT-SW3的第二代版本。 |
模型類型 | GPT-SW3是一個大型僅解碼器的Transformer語言模型。 |
訓練算法、參數、公平性約束或其他應用方法及特性信息 | GPT-SW3使用NeMo Megatron GPT實現進行訓練。 |
更多信息的論文或其他資源 | 無 |
許可證 | LICENSE |
發送關於模型的問題或評論的地址 | nlu@ai.se |
預期用途
- 主要預期用途:我們預發佈GPT-SW3是為了研究和評估大型語言模型在北歐語言方面的能力。這是構建大型語言模型知識、驗證模型以及收集關於哪些方面表現良好和哪些方面表現不佳的反饋的重要一步。
- 主要預期用戶:北歐自然語言處理生態系統中的組織和個人,他們可以為模型的驗證和測試做出貢獻,並向社區提供反饋。
- 超出範圍的用例:請參閱修改後的RAIL許可證。
數據、侷限性和建議
- 訓練數據選擇:GPT-SW3的訓練數據是基於廣度和可用性的結合進行選擇的。有關用於訓練我們模型的數據的更多詳細信息,請參閱我們的數據表。
- 評估數據選擇:無
- 侷限性:與其他大型語言模型一樣,由於訓練數據的多樣性(或缺乏多樣性)會對模型質量產生下游影響,GPT-SW3在偏差和安全性等方面存在侷限性。它在生成多樣性和幻覺方面也可能存在質量問題。一般來說,GPT-SW3無法避免困擾現代大型語言模型的諸多問題。通過發佈修改後的RAIL許可證,我們希望增加對大型語言模型的交流、透明度和研究。該模型可能會:過度代表某些觀點而忽視其他觀點,包含刻板印象,生成仇恨、辱罵、暴力、歧視或偏見性語言。模型可能會出錯,包括產生看似事實的錯誤信息,生成無關或重複的輸出,以及可能不適合所有場景的內容,包括色情內容。
- 未來工作建議:間接用戶應該知道他們正在處理的內容是由大型語言模型創建的。用戶應該瞭解風險和侷限性,並在必要時包含適當的年齡聲明或屏蔽界面。使用大型語言模型進行預訓練的模型應該包含更新的模型卡片。模型的用戶應該為受影響的人提供反饋機制,例如用於評論的電子郵件地址。
- 我們希望GPT-SW3的發佈以及我們模型訓練過程的相關信息能夠增加對大型語言模型以及自然語言處理和深度學習的開放科學研究。
數據集動機
- 為了預訓練大型語言模型(LLM),如GPT-3、Gopher、BLOOM等,需要數百甚至數千GB的文本數據。最近的研究表明,訓練數據的規模比以前想象的更為重要。因此,為了訓練瑞典語的大型語言模型,我們需要一個大規模、高質量的瑞典語數據集。由於在此之前沒有這樣的數據集,我們收集了北歐語言和英語的數據。
- 由AI Sweden的戰略倡議自然語言理解團隊創建,核心團隊是AI Sweden的NLU研究小組,成員包括來自AI Sweden(Lindholmen Science Park AB)和RISE的研究人員和開發人員。
- 由瑞典創新局(Vinnova)通過多個不同的資助項目提供資金,包括2019 - 02996和2022 - 00949。
數據集組成
實例是按語言和文檔類型分類的文本文檔,數據集是經過過濾和去重的集合,來源包括:
- 書籍:Litteraturbanken、The Pile
- 文章:Diva、The Pile: PubMed、The Pile: ArXiv
- 代碼:Code Parrot: Github code
- 對話:Familjeliv、Flashback、通過Parlai收集的數據集、Pushshift.io Reddit數據集
- 數學:英語數學數據集(由DeepMind代碼生成)、瑞典語數學數據集(手動翻譯模板生成)
- 其他:摘要數據、OPUS、電影腳本、自然指令、P3、挪威大型語料庫、丹麥語大型語料庫、冰島語大型語料庫、The Pile: Stack Exchange
- 網絡通用爬蟲:LES項目的網絡數據、多語言C4、OSCAR、The Pile: Open Web Text
- 網絡來源:各種瑞典公共網站抓取數據、Familjeliv文章、瑞典公共招聘廣告、維基百科、官方維基百科轉儲
- 指令數據:dolly、Open Assistant、OIG、Fass(瑞典藥品信息,轉換為問答格式)
訓練數據由1.1TB UTF - 8編碼的文本組成,包含6.6億個文檔,總計3200億個標記。
數據收集過程
- 數據是公開可用數據集和來源的集合,通過從互聯網下載獲得。
- 數據集在2021年6月至2022年6月期間收集,收集來源的創建時間各不相同,例如通用爬蟲數據已持續收集了12年。
- 對數據進行了過濾、重新格式化和去重處理,以達到一致的文本格式並去除不符合文本質量要求的文檔。指令數據處理方式不同,轉換為聊天輪次格式並進行相應格式化,Open Assistant數據還使用GPT - SW3自動翻譯成瑞典語、丹麥語、挪威語和冰島語。
數據集用途
- 該數據集用於預訓練GPT - SW3模型。
- 可用於預訓練語言模型,是許多當前和未來語言任務的基礎。
- 數據集可能代表瑞典互聯網話語和公共部門,但不一定反映整個瑞典人口。未來用戶應注意避免可能導致不公平對待個人或群體或其他不良後果的使用方式。
數據集分發
不會分發給第三方,未提及分發方式、時間、許可證、出口控制等相關信息。
數據集維護
由AI Sweden at Lindholmen Science Park AB支持、託管和維護,可通過nlu@ai.se聯繫。目前沒有更新數據集的計劃,有關數據保留限制請閱讀AI Sweden的NLU倡議隱私政策。目前不支持他人擴展、增強或貢獻數據集。
🔧 技術細節
GPT-SW3使用NeMo Megatron GPT實現進行預訓練,使用因果語言建模(CLM)目標。在訓練過程中,對數據集進行了過濾、格式化和去重處理,以提高模型的性能和質量。
📄 許可證
該模型使用修改後的RAIL許可證。
⚠️ 重要提示
該模型可能存在偏差、生成仇恨或不適當內容等問題,使用時需謹慎。
💡 使用建議
間接用戶應知曉處理的內容由大型語言模型生成,用戶需瞭解風險和侷限性,必要時添加年齡聲明或屏蔽界面。使用該模型預訓練的模型應包含更新的模型卡片,併為受影響者提供反饋機制。



