模型概述
模型特點
模型能力
使用案例
🚀 GPT - SW3模型
GPT - SW3是由AI Sweden聯合RISE以及WASP WARA for Media and Language開發的一系列僅解碼器的大型預訓練Transformer語言模型。它能夠以5種不同的自然語言和4種編程語言生成連貫文本,還可被指示執行未明確訓練過的文本任務。
🚀 快速開始
由於這是一個私有倉庫,若要從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>
...
生成文本的過程與上述相同。
使用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]
generate
方法的一個便捷替代方案是HuggingFace管道,它能為你處理大部分工作:
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種編程語言。
- 指令執行能力:可以被指示執行未明確訓練過的文本任務。
📦 安裝指南
由於這是私有倉庫,需使用訪問令牌登錄:
huggingface-cli login
💻 使用示例
基礎用法
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)
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)
print(generated_text)
高級用法
# 高級場景說明:使用HuggingFace管道進行文本生成
generator = pipeline('text-generation', tokenizer=tokenizer, model=model, device=device)
prompt = "請描述一下森林的重要性"
generated = generator(prompt, max_new_tokens=200, do_sample=True, temperature=0.7, top_p=0.9)[0]["generated_text"]
print(generated)
📚 詳細文檔
模型描述
GPT - SW3是一系列僅解碼器的大型預訓練Transformer語言模型,在包含3200億瑞典語、挪威語、丹麥語、冰島語、英語和編程代碼標記的數據集上進行了訓練。模型使用NeMo Megatron GPT實現,以因果語言建模(CLM)為目標進行預訓練。
instruct
模型在指令數據上進行了微調,使用了聊天和原始文本兩種格式。
預期用途
GPT - SW3是一個自迴歸大語言模型,能夠以5種不同語言和4種編程語言生成連貫文本。它還可以被指示執行未明確訓練過的文本任務。
侷限性
與其他大語言模型一樣,由於訓練數據的多樣性(或缺乏多樣性)會對模型質量產生下游影響,GPT - SW3在偏差和安全性等方面存在侷限性。它在生成多樣性和幻覺方面也可能存在質量問題。模型可能會過度代表某些觀點,而忽視其他觀點,包含刻板印象,生成仇恨、辱罵、暴力、歧視或偏見性的語言。模型可能會出錯,包括產生錯誤信息,生成無關或重複的輸出,以及可能不適用於所有場景的內容,包括色情內容。
合規性
GPT - SW3的發佈包括模型權重、配置文件、分詞器文件和詞彙文件。這些文件均不包含任何個人身份信息(PII)或受版權保護的材料。
模型卡片
- 開發團隊:由AI Sweden聯合RISE以及WASP WARA for Media and Language開發。
- 發佈日期:2022 - 12 - 20
- 模型版本:GPT - SW3的第二代。
- 模型類型:大型僅解碼器Transformer語言模型。
- 訓練算法等信息:使用NeMo Megatron GPT實現進行訓練。
- 許可證:[LICENSE](https://huggingface.co/AI - Sweden - Models/gpt - sw3 - 6.7b - v2 - instruct/blob/main/LICENSE)
- 問題反饋地址:nlu@ai.se
預期用途
- 主要用途:預發佈GPT - SW3用於研究和評估北歐語言大語言模型的能力。
- 主要用戶:北歐NLP生態系統中的組織和個人,他們可以為模型的驗證和測試做出貢獻,並向社區提供反饋。
- 超出範圍的用例:請參閱修改後的RAIL許可證。
數據、侷限性和建議
- 訓練數據選擇:基於廣度和可用性選擇訓練數據,更多詳細信息請參閱數據手冊。
- 評估數據選擇:暫無相關信息。
- 侷限性:與其他大語言模型一樣,存在偏差、安全性、生成多樣性和幻覺等問題。
- 未來工作建議:間接用戶應知曉其處理的內容是由大語言模型生成的;用戶應瞭解風險和侷限性,並根據需要包含適當的年齡聲明或屏蔽界面;使用大語言模型預訓練的模型應包含更新的模型卡片;模型用戶應為受影響者提供反饋機制,如評論郵箱。
數據手冊
動機
為了訓練瑞典語大語言模型,需要高質量的大規模瑞典語數據集。由於此前不存在此類數據集,因此收集了北歐和英語語言的數據。
組成
- 數據實例:文本文件,按語言和文件類型分類。
- 數據來源:包括書籍、文章、代碼、對話、數學、雜項、網絡通用爬蟲數據、網絡來源等。
- 指令數據:包括dolly、[Open Assistant](https://github.com/LAION - AI/Open - Assistant/blob/main/docs/docs/data/datasets.md)、[OIG](https://laion.ai/blog/oig - dataset/)等。
- 數據總量:訓練數據包含1.1TB UTF - 8編碼文本,6.6億個文檔,共3200億個標記。
收集過程
- 數據獲取方式:從互聯網下載,是公開可用數據集和來源的集合。
- 收集機制:數據由機器挖掘、過濾和採樣。
- 收集時間範圍:2021年6月至2022年6月。
預處理
- 數據處理:對數據集進行了過濾、重新格式化和去重處理。指令數據被轉換為聊天輪次格式,並進行了相應的格式化。
- 原始數據保存:原始組件數據集在各自的位置公開可用。
用途
- 已使用任務:用於預訓練GPT - SW3模型。
- 其他可能用途:可用於預訓練語言模型,為許多當前和未來的語言任務奠定基礎。
分發
- 是否分發給第三方:否。
- 分發方式等信息:暫無相關信息。
維護
- 維護方:Lindholmen Science Park AB的AI Sweden。
- 聯繫方式:nlu@ai.se
- 更新計劃:目前暫無更新計劃。
評估結果
屬性 | 詳情 |
---|---|
平均得分 | 39.57 |
ARC (25 - shot) | 40.78 |
HellaSwag (10 - shot) | 67.77 |
MMLU (5 - shot) | 31.57 |
TruthfulQA (0 - shot) | 40.32 |
Winogrande (5 - shot) | 63.54 |
GSM8K (5 - shot) | 6.37 |
DROP (3 - shot) | 26.67 |
🔧 技術細節
GPT - SW3使用NeMo Megatron GPT實現,以因果語言建模(CLM)為目標進行預訓練。訓練數據包含3200億瑞典語、挪威語、丹麥語、冰島語、英語和編程代碼標記。instruct
模型在指令數據上進行了微調,使用了聊天和原始文本兩種格式。
📄 許可證
[LICENSE](https://huggingface.co/AI - Sweden - Models/gpt - sw3 - 6.7b - v2 - instruct/blob/main/LICENSE)
⚠️ 重要提示
模型可能存在偏差和安全性等問題,可能會生成仇恨、辱罵、暴力、歧視或偏見性的語言,以及不適用於所有場景的內容。使用時請謹慎。
💡 使用建議
間接用戶應知曉其處理的內容是由大語言模型生成的;用戶應瞭解風險和侷限性,並根據需要包含適當的年齡聲明或屏蔽界面;使用大語言模型預訓練的模型應包含更新的模型卡片;模型用戶應為受影響者提供反饋機制,如評論郵箱。



