🚀 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 社区,一起交流和探讨!