license: apache-2.0
language:
欢迎试用我们的 OpenChatKit 反馈应用!
Pythia-Chat-Base-7B-v0.16
一句话总结:作为 OpenChatKit(代码库在此)的一部分,
Pythia-Chat-Base-7B-v0.16 是一个基于 EleutherAI Pythia 7B 微调的 70 亿参数语言模型,在 100% 负碳计算资源上训练了超过 4000 万条指令。
Pythia-Chat-Base-7B-v0.16 基于 ElutherAI 的 Pythia-7B 模型,并通过专注于对话式交互的数据进行微调。
我们针对多项任务优化了模型,包括问答、分类、信息提取和摘要生成。
模型通过包含 4300 万条高质量指令的数据集完成微调。
Together 与 LAION 和 Ontocord.ai 合作,共同策划了训练所用的数据集。
更多关于数据集构建过程的细节可参阅 LAION 的博客文章。
除上述微调外,该模型还通过少量反馈数据进行了进一步优化,
使其能更好地适应人类对话偏好。
Pythia-Chat-Base-7B-v0.16 的显著特点是借助量化技术,可在 12GB 显存的 GPU 上运行推理,
在保持对话能力的同时降低了硬件门槛。
模型详情
- 开发团队: Together Computer
- 模型类型: 语言模型
- 支持语言: 英语
- 许可协议: Apache 2.0
- 模型描述: 基于 EleutherAI Pythia 微调的 70 亿参数开源对话模型,使用 100% 负碳计算资源训练超过 4000 万条指令
- 更多资源: GitHub 仓库
快速开始
GPU 推理(24GB显存)
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>: 你好!\n<bot>:", return_tensors='pt').to(model.device)
outputs = model.generate(**inputs, max_new_tokens=10, do_sample=True, temperature=0.8)
print(tokenizer.decode(outputs[0]))
8位量化GPU推理(12GB显存)
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>: 你好!\n<bot>:", return_tensors='pt').to(model.device)
outputs = model.generate(**inputs, max_new_tokens=10, do_sample=True, temperature=0.8)
print(tokenizer.decode(outputs[0]))
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>: 你好!\n<bot>:", return_tensors='pt').to(model.device)
outputs = model.generate(**inputs, max_new_tokens=10, do_sample=True, temperature=0.8)
print(tokenizer.decode(outputs[0]))
模型优势
该模型在以下场景表现优异:
此外,模型在小样本提示(few-shot)任务中表现突出。对于分类和提取任务,采用小样本提示(如 HELM 任务常用方法)效果更佳。联系我们获取小样本提示实践方案。
模型局限
以下领域仍需改进,期待您的参与:
- 知识型闭卷问答:可能产生幻觉答案,请务必核实事实并提交反馈
- 编程任务:代码训练语料不足,欢迎贡献相关数据集
- 内容重复:可能重复响应,可点击刷新按钮重启对话
- 话题切换:中途变更话题时模型可能延续先前主题
- 创意写作:不擅长生成长篇文章或故事
我们期待通过用户反馈、数据增强和算法优化共同改善这些不足。
使用场景
直接用途
本模型适用于以下研究领域:
- 潜在有害内容生成模型的安全部署研究
- 对话模型/语言模型的局限性与偏见探究
- 艺术创作与设计辅助工具开发
- 教育或创意工具应用
- 对话模型相关学术研究
禁止用途
滥用、恶意使用与超范围使用
OpenChatKit 社区将 Pythia-Chat-Base-7B-v0.16 作为开源聊天机器人构建工具提供。
社区不承担因模型滥用、恶意使用或超范围使用导致的后果。
使用者需确保模型应用的合规性与伦理性。
超范围使用
本模型专为聊天场景设计,在以下领域可能表现不佳:
滥用与恶意使用
禁止将模型用于以下行为:
- 生成虚假新闻/误导信息/宣传内容
- 煽动仇恨言论/歧视/暴力
- 未经授权的个人/组织仿冒
- 网络霸凌/骚扰
- 诽谤性内容
- 垃圾信息/诈骗
- 泄露机密/敏感信息
- 违反模型使用条款
- 制作传播恶意软件的自动化程序
局限性
需注意以下限制:
- 对复杂/模糊/超纲问题可能给出不准确答案
- 欢迎各界贡献数据与算法,共同提升模型鲁棒性
训练详情
训练数据
详见 togethercomputer/OpenDataHub
训练参数
- 硬件: 8 × A100 GPU
- 优化器: 8bit-AdamW
- 梯度累积: 4 步
- 批次大小: 524288 tokens (4×4×16×2048)
- 学习率: 100 步预热至 1e-5 后保持恒定
社区
加入 Together Discord 参与讨论