Sambalingo Serbian Chat
支持塞爾維亞語和英語的人類對齊聊天模型,基於Llama-2-7b適配並通過直接偏好優化訓練
下載量 35
發布時間 : 2/15/2024
模型概述
該模型是一款支持塞爾維亞語和英語的聊天模型,通過直接偏好優化訓練而成,適用於對話生成任務。
模型特點
多語言支持
同時支持塞爾維亞語和英語的對話生成
人類對齊
通過直接偏好優化(DPO)訓練,使模型輸出更符合人類偏好
擴展詞彙表
在基礎Llama模型上增加了25,000個新語言token,詞彙表擴展到57,000個token
模型能力
塞爾維亞語對話生成
英語對話生成
多語言混合對話
使用案例
對話系統
塞爾維亞語聊天機器人
用於構建支持塞爾維亞語的聊天機器人
能夠生成流暢自然的塞爾維亞語對話
雙語客服助手
構建同時支持塞爾維亞語和英語的客服系統
可在兩種語言間無縫切換回答用戶問題
🚀 SambaLingo塞爾維亞語聊天模型
SambaLingo-Serbian-Chat是一個經過人類對齊的聊天模型,支持塞爾維亞語和英語。它基於基礎模型 SambaLingo-Serbian-Base,使用直接偏好優化(Direct Preference Optimization)方法進行訓練。基礎模型通過在 Cultura-X 數據集的塞爾維亞語部分的170億個標記上進行訓練,將 Llama-2-7b 模型適配到塞爾維亞語。你可以在 SambaLingo-chat-space 嘗試使用這個模型。
🚀 快速開始
使用Hugging Face加載模型
加載分詞器時,請確保設置 use_fast=False
。
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Serbian-Chat", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Serbian-Chat", device_map="auto", torch_dtype="auto")
與模型管道交互
加載分詞器時,請確保設置 use_fast=False
。
from transformers import pipeline
pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Serbian-Chat", device_map="auto", use_fast=False)
messages = [
{"role": "user", "content": {YOUR_QUESTION}},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt)[0]
outputs = outputs["generated_text"]
建議的推理參數
- 溫度(Temperature):0.8
- 重複懲罰(Repetition penalty):1.0
- 核採樣概率(Top-p):0.9
提示指南
要使用此模型進行提示,請使用以下聊天模板:
<|user|>\n{question}</s>\n<|assistant|>\n
示例提示和生成結果
<|user|>
Od kada datiraju prva naselja na prostoru danasnjeg Beograda, i kada je grad osnovan?</s>
<|assistant|>
Beograd su naseljavali ljudi još u praistoriji, a prva naselja datiraju iz neolitskih vremena, pre oko 7.000 godina. Međutim, grad Beograd nije osnovan upravo u to vreme, već u srednjem veku, kada su Srbi u 9. veku osnovali srednjovekovni grad Beograd, na mestu današnjeg Kalemegdana. Grad je kasnije pretrpeo razna oсвајања, razaranja i obnavljanja, da bi se na kraju razvio u značajnu evropsku metropolu.
✨ 主要特性
- 多語言支持:支持塞爾維亞語和英語,可在兩種語言之間靈活切換。
- 人類對齊:經過直接偏好優化訓練,生成的回覆更符合人類偏好。
📦 安裝指南
文檔中未提及具體安裝步驟,可參考上述快速開始部分加載模型。
💻 使用示例
基礎用法
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Serbian-Chat", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Serbian-Chat", device_map="auto", torch_dtype="auto")
高級用法
from transformers import pipeline
pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Serbian-Chat", device_map="auto", use_fast=False)
messages = [
{"role": "user", "content": {YOUR_QUESTION}},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt)[0]
outputs = outputs["generated_text"]
📚 詳細文檔
模型描述
- 開發者:SambaNova Systems
- 模型類型:語言模型
- 支持語言:塞爾維亞語、英語
- 微調基礎模型:Llama-2-7b
- 試用模型:SambaLingo-chat-space
- 相關論文:SambaLingo: Teaching Large Language Models New Languages
- 博客文章:sambalingo-open-source-language-experts
訓練細節
對齊階段遵循 Zephyr-7B 的方法,包括兩個階段:監督微調(SFT)和直接性能優化(DPO)。
- SFT階段:在 ultrachat_200k 數據集和其谷歌翻譯版本的混合數據集上進行訓練。訓練一個週期,全局批量大小為512,最大序列長度為2048個標記。使用線性衰減學習率2e-5和10%的熱身。
- DPO階段:在 ultrafeedback 數據集和 cai-conversation-harmless 數據集上進行訓練,混合了10%的谷歌翻譯數據。全局批量大小為32,訓練三個週期。使用線性衰減學習率5e-7,10%的熱身,DPO的正則化因子β=0.1。
分詞器細節
通過添加來自新語言的多達25,000個非重疊標記,將基礎Llama模型的詞彙量從32,000個標記擴展到57,000個標記。
評估
評估結果請參考論文:SambaLingo: Teaching Large Language Models New Languages
使用方式
直接使用
此模型的使用受Meta的 Llama 2社區許可協議 約束。請在下載模型權重之前查看並接受許可協議。
不適用場景
SambaLingo不應用於以下場景:
- 關鍵任務應用
- 涉及他人安全的應用
- 做出高度重要決策的應用
偏差、風險和侷限性
與所有大語言模型一樣,SambaLingo存在一定的侷限性:
- 幻覺問題:模型有時可能會生成聽起來合理但事實錯誤或無關的信息。
- 代碼切換:模型可能會在單個回覆中無意地在語言或方言之間切換,影響輸出的連貫性和可理解性。
- 重複問題:模型可能會產生重複的短語或句子,導致回覆的吸引力和信息量降低。
- 編碼和數學能力:模型在生成準確代碼或解決複雜數學問題方面的性能可能有限。
- 毒性問題:模型可能會無意中生成包含不適當或有害內容的回覆。
🔧 技術細節
- 對齊方法:採用直接偏好優化(DPO)和監督微調(SFT)相結合的方法。
- 詞彙擴展:將基礎Llama模型的詞彙量從32,000擴展到57,000。
📄 許可證
本模型使用Llama 2許可證。
致謝
我們衷心感謝開源AI社區;沒有開源,這項工作是不可能完成的。SambaNova支持開源社區,並希望積極為這一倡議做出貢獻。
我們特別感謝以下組織和團隊:
- Meta開源了Llama 2和FLORES-200數據集。
- Nguyen等人開源了CulturaX數據集。
- CohereAI發佈了AYA-101並開源了多語言指令調整數據集。
- EleutherAI提供了開源評估框架。
- Hugging Face-H4團隊開源了Zephyr訓練方法和對齊手冊倉庫。
引用SambaLingo
@misc{csaki2024sambalingo,
title={SambaLingo: Teaching Large Language Models New Languages},
author={Zoltan Csaki and Bo Li and Jonathan Li and Qiantong Xu and Pian Pawakapan and Leon Zhang and Yun Du and Hengyu Zhao and Changran Hu and Urmish Thakker},
year={2024},
eprint={2404.05829},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
Phi 2 GGUF
其他
Phi-2是微軟開發的一個小型但強大的語言模型,具有27億參數,專注於高效推理和高質量文本生成。
大型語言模型 支持多種語言
P
TheBloke
41.5M
205
Roberta Large
MIT
基於掩碼語言建模目標預訓練的大型英語語言模型,採用改進的BERT訓練方法
大型語言模型 英語
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基礎模型的蒸餾版本,在保持相近性能的同時更輕量高效,適用於序列分類、標記分類等自然語言處理任務。
大型語言模型 英語
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一個多語言大語言模型,針對多語言對話用例進行了優化,在常見的行業基準測試中表現優異。
大型語言模型 英語
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基於100種語言的2.5TB過濾CommonCrawl數據預訓練的多語言模型,採用掩碼語言建模目標進行訓練。
大型語言模型 支持多種語言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基於Transformer架構的英語預訓練模型,通過掩碼語言建模目標在海量文本上訓練,支持文本特徵提取和下游任務微調
大型語言模型 英語
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI發佈的開放預訓練Transformer語言模型套件,參數量從1.25億到1750億,旨在對標GPT-3系列性能,同時促進大規模語言模型的開放研究。
大型語言模型 英語
O
facebook
6.3M
198
1
基於transformers庫的預訓練模型,適用於多種NLP任務
大型語言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多語言大語言模型系列,包含8B、70B和405B參數規模,支持8種語言和代碼生成,優化了多語言對話場景。
大型語言模型
Transformers 支持多種語言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基礎版是由Google開發的文本到文本轉換Transformer模型,參數規模2.2億,支持多語言NLP任務。
大型語言模型 支持多種語言
T
google-t5
5.4M
702
精選推薦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