模型:
togethercomputer/Pythia-Chat-Base-7B
随意尝试我们的 OpenChatKit feedback app !
TLDR:Pythia-Chat-Base-7B-v0.16是OpenChatKit的一部分(代码可在 here 找到)。它是基于EleutherAI的Pythia 7B经过微调的7B参数语言模型,使用100%碳负载计算完成了超过4000万次指令。
Pythia-Chat-Base-7B-v0.16基于ElutherAI的Pythia-7B模型,并通过关注对话式互动的数据进行了微调。我们的微调集中在问答、分类、抽取和摘要等多个任务上。我们使用4300万条高质量对话指令对模型进行了微调。我们与LAION和Ontocord.ai合作,他们协助筛选构建了数据集。你可以在LAION的博客文章 here 中了解更多关于此过程及该数据集的详情。
除了上述微调,Pythia-Chat-Base-7B-v0.16还经过了少量反馈数据的进一步微调。这个过程使该模型能够更好地适应人类在对话中的偏好。
Pythia-Chat-Base-7B-v0.16的一个显著特点是,由于量化技术,它能够在一块12GB的GPU上进行推理。这有助于保持对话能力,同时使模型能够更广泛地适用于各种用户和硬件配置。
需要配备24GB内存的GPU。
from transformers import AutoTokenizer, AutoModelForCausalLM # init 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') # infer 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)
需要配备12GB内存的GPU。
from transformers import AutoTokenizer, AutoModelForCausalLM # init 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) # infer 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)
from transformers import AutoTokenizer, AutoModelForCausalLM # init 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) # infer 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)
OpenChatKit在许多任务上具有出色的性能。这包括:
此外,模型在少样本提示方面表现良好。对于分类和实体抽取,模型在少样本情况下表现得更好,如在大多数HELM任务中一样。如果您想尝试使用少样本提示与模型进行交互,请点击 Contact us 。
话虽如此,我们在一些领域仍有进一步的工作要做,并且需要您的帮助!其中一些方面包括:
我们非常期待与您合作,通过您的反馈意见、增加数据集和提高准确性来解决这些局限性。
该模型旨在用于研究目的。可能的研究领域和任务包括:
以下是不包括的用途的描述。
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
训练程序
请加入我们的 Together Discord 。