🚀 Pythia-Chat-Base-7B-v0.16
Pythia-Chat-Base-7B-v0.16是一個基於70億參數的開源聊天模型。它基於EleutherAI的Pythia 7B模型微調而來,在100%負碳排放的計算資源上使用超過4000萬條指令進行訓練。該模型能夠在12GB的GPU上進行推理,具有廣泛的應用場景。
歡迎試用我們的 OpenChatKit反饋應用!
🚀 快速開始
GPU推理
此方法需要一個具有24GB內存的GPU。
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16", torch_dtype=torch.float16)
model = model.to('cuda:0')
inputs = tokenizer("<human>: Hello!\n<bot>:", return_tensors='pt').to(model.device)
outputs = model.generate(**inputs, max_new_tokens=10, do_sample=True, temperature=0.8)
output_str = tokenizer.decode(outputs[0])
print(output_str)
Int8格式的GPU推理
此方法需要一個具有12GB內存的GPU。
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16", device_map="auto", load_in_8bit=True)
inputs = tokenizer("<human>: Hello!\n<bot>:", return_tensors='pt').to(model.device)
outputs = model.generate(**inputs, max_new_tokens=10, do_sample=True, temperature=0.8)
output_str = tokenizer.decode(outputs[0])
print(output_str)
CPU推理
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/Pythia-Chat-Base-7B-v0.16", torch_dtype=torch.bfloat16)
inputs = tokenizer("<human>: Hello!\n<bot>:", return_tensors='pt').to(model.device)
outputs = model.generate(**inputs, max_new_tokens=10, do_sample=True, temperature=0.8)
output_str = tokenizer.decode(outputs[0])
print(output_str)
✨ 主要特性
- 基於Pythia-7B微調:Pythia-Chat-Base-7B-v0.16基於ElutherAI的Pythia-7B模型,使用專注於對話式交互的數據進行微調。微調聚焦於問答、分類、提取和總結等多個任務。
- 大量高質量指令微調:使用4300萬條高質量指令對模型進行了微調。Together與LAION和Ontocord.ai合作,他們幫助整理了模型所基於的數據集。
- 進一步反饋數據微調:除了上述微調外,Pythia-Chat-Base-7B-v0.16還通過少量反饋數據進行了進一步微調,使模型能更好地適應人類在對話中的偏好。
- 低顯存推理能力:得益於量化技術,該模型能夠在12GB的GPU上進行推理,在保持對話能力的同時,使更多用戶和硬件配置能夠使用該模型。
📚 詳細文檔
模型詳情
屬性 |
詳情 |
開發者 |
Together Computer |
模型類型 |
語言模型 |
語言 |
英語 |
許可證 |
Apache 2.0 |
模型描述 |
一個70億參數的開源聊天模型,基於EleutherAI的Pythia模型,在100%負碳排放的計算資源上使用超過4000萬條指令進行微調 |
更多信息資源 |
GitHub倉庫 |
模型優勢
OpenChatKit在以下幾個任務上表現出色:
此外,該模型在少樣本提示方面表現良好。在大多數HELM任務中,對於分類和提取任務,少樣本提示能讓模型表現得更好。如果您有興趣嘗試使用少樣本提示與模型交互,請聯繫我們。
模型不足
儘管模型有很多優點,但仍有一些方面需要改進,也需要您的幫助:
- 基於知識的封閉式問答:聊天機器人可能會產生幻覺並給出錯誤結果。請務必進行事實核查,並在可能的情況下提供更正信息的反饋。
- 編碼任務:聊天機器人在編寫代碼方面表現不佳,因為它沒有在足夠大的源代碼語料庫上進行訓練。我們歡迎提供額外的數據集來改進這一點!
- 重複問題:有時聊天機器人會重複其回覆。我們正在努力改進這一點,在此期間,您可以點擊刷新按鈕開始新的對話。
- 上下文切換:如果在對話中中途改變話題,聊天機器人通常無法自動切換話題,會繼續給出與之前話題相關的答案。
- 創意寫作和長答案:聊天機器人無法生成長篇、有創意的文本,如論文或故事。
我們很高興能與您合作,通過獲取您的反饋、擴充數據集和提高準確性來解決這些不足。
使用場景
直接使用
該模型旨在用於研究目的。可能的研究領域和任務包括:
- 安全部署可能生成有害內容的模型。
- 探究和理解對話模型或語言模型的侷限性和偏差。
- 生成藝術作品並用於設計和其他藝術過程。
- 在教育或創意工具中的應用。
- 對話模型或語言模型的研究。
以下是排除的使用場景。
濫用、惡意使用和超出範圍使用
OpenChatKit社區將Pythia-Chat-Base-7B-v0.16作為構建聊天機器人的開源工具提供。社區不對模型的任何濫用、惡意使用或超出範圍使用負責。最終用戶有責任確保模型以負責任和合乎道德的方式使用。
超出範圍使用
Pythia-Chat-Base-7B-v0.16是為聊天機器人應用而設計的,對於其預期範圍之外的其他用例可能表現不佳。例如,它可能不適用於安全關鍵型應用或用於做出對個人或社會有重大影響的決策。重要的是要考慮模型的侷限性,並僅將其用於預期目的。
濫用和惡意使用
Pythia-Chat-Base-7B-v0.16是為聊天機器人應用而設計的,不應用於任何其他目的。濫用模型,如用於從事非法或不道德活動,是嚴格禁止的,違反了OpenChatKit社區項目的原則。
使用該模型生成對個人殘忍的內容屬於濫用模型。這包括但不限於:
- 生成假新聞、錯誤信息或宣傳內容。
- 宣傳針對個人或群體的仇恨言論、歧視或暴力。
- 在未經同意的情況下冒充個人或組織。
- 進行網絡欺凌或騷擾。
- 誹謗性內容。
- 垃圾郵件或詐騙。
- 在沒有適當授權的情況下分享機密或敏感信息。
- 違反模型或用於訓練它的數據的使用條款。
- 創建用於惡意目的的自動化機器人,如傳播惡意軟件、釣魚詐騙或垃圾郵件。
侷限性
Pythia-Chat-Base-7B-v0.16與其他基於語言模型的聊天機器人一樣,有一些侷限性需要考慮。例如,模型可能並不總是提供準確或相關的答案,特別是對於複雜、模糊或超出其訓練數據範圍的問題。因此,我們歡迎個人和組織的貢獻,並鼓勵合作,以創建一個更強大和包容的聊天機器人。
訓練
訓練數據
請參考 togethercomputer/OpenDataHub。
訓練過程
- 硬件:8 x A100 GPU
- 優化器:8bit-AdamW
- 梯度累積:4
- 批次:4 x 4 x 16 x 2048 = 524288 個標記
- 學習率:在100步內熱身到1e-5,然後保持恆定
🔧 技術細節
訓練數據
請參考 togethercomputer/OpenDataHub。
訓練過程
- 硬件:使用8個A100 GPU進行訓練。
- 優化器:採用 8bit-AdamW 優化器。
- 梯度累積:梯度累積次數為4。
- 批次:每個批次包含4 x 4 x 16 x 2048 = 524288個標記。
- 學習率:在訓練的前100步將學習率熱身到1e-5,之後保持恆定。
📄 許可證
本項目採用Apache 2.0許可證。
👥 社區
歡迎加入我們的 Together Discord 社區,一起交流和探討!