作者|刘燕, 核子可乐
3 月 10 日,Together 发布了开源(Apache-2.0 许可)基础模型项目 OpenChatKit。OpenChatKit 的聊天模型支持推理、多轮讨论、知识和生成答案,该模型拥有 200 亿个参数并接受了 4300 万条指令的训练。这被认为是 ChatGPT 的开源平替。
资料显示,Together 正在创建第一个专门为处理大型基础模型而设计的分布式云。该公司提供了一个结合数据、模型和计算的直观平台,以帮助 AI 研究人员、开发人员和企业更好地利用和推进 AI。Together 团队认为,大型开放模型应该像开源一样易于使用。
OpenChatKit 提供强大的开源基础,能够为各类应用创建专用及通用型聊天机器人。Together 团队与 LAION 与 Ontocord 合作创建了训练数据集。
Together 团队认为开源基础模型将带来更好的包容性、透明性、稳健性和技术能力。Together 在 Apache 2.0 许可下发布了 OpenChatKit 0.15,源代码、模型权重和训练数据集可以全面访问。
优秀的聊天机器人必须能够执行自然语言指令、在对话中保持上下文,同时做出适度回应。OpenChatKit 提供一个基础机器人,并可根据此基础派生出专用的聊天机器人构建块。
据介绍,套件中共包含四大关键组件:
Hugging Face 上的 OpenChatKit 反馈应用,允许社区成员测试聊天机器人的表现并提交反馈。
指令微调的大语言模型
构成 OpenChatKit 基础的是 GPT-NeoXT-Chat-Base-20B 大语言模型,这套模型基于 EleutherAI 的 GPT-NeoX,并利用涉及对话交互的数据进行了微调。我们将调整重点放在了多轮对话、问答、分类、提取和摘要等几个核心任务上。我们已经使用 4300 万条高质量指令集对模型进行了微调,并与 LAION 和 Ontocord 合作创建了供模型训练使用的 OIG-43M 数据集。
GPT-NeoXT-Chat-Base-20B 能够开箱即用,为广泛的自然语言任务集提供了强大基础。总结来讲,它在 HELM 基准测试中的得分高于其基础模型 GPT-NeoX,在问答、提取和分类等任务上的表现尤其突出。
在 HELM 上评估 GPT-NeoXT-Chat-Base-20B 并与 GPT-NeoX 进行比较。†表示测试所使用的数据,在我们的微调语料库中也有收录。
模型优势
OpenChatKit 能够以开箱即用的方式出色处理多种任务,包括:
语境总结与答疑;
信息提取;
文本分类。
此外,该模型在 few-shot 少样本提示中表现良好。与大多数 HELM 任务一样,对于文本分类和信息提取工作,该模型能在提示较少的情况下表现良好。
模型劣势
Together 团队表示,目前团队还有一些尚未攻克的难关待克服,其中包括:
自定义 recipes
以微调模型
大语言模型在通用问答方面表现出了令人印象深刻的能力,而且在针对特定应用场景进行微调后,往往能够实现更高的准确率。例如,谷歌 PaLM 在医学回答方面的准确率已经在 50% 左右,而通过添加指令支持和医疗信息微调之后,派生出的 Med-PaLM 一举拿下 92.6% 的准确率。对于其他应用任务,也可以采用相同的微调方法。
OpenChatKit 提供多种工具,能够针对各类应用场景进行聊天机器人微调。目前 Together 团队正在与研究小组和企业合作,帮助他们根据自己的任务需求建立自定义模型:
如何微调
微调的具体步骤为:
可提供实时更新答案的
可扩展检索系统
OpenChatKit 还包含一个可扩展的检索系统。借助检索系统,聊天机器人能够合并定期更新或自定义内容,例如来自维基百科的知识、新闻提要或者体育赛事比分,将其纳入响应当中。
检索增强系统的工作流程示例。
通过检索系统,聊天机器人能够检索给定问题的相关信息,收集最新的资讯内容。这也为模型的答案提供了“上下文”。举例来说,检索系统能够支持维基百科索引,也可以在检索期间调用 Web 搜索 API 以获取示例代码。只要按照说明文档的指示操作,就能利用检索系统在推理过程中让聊天机器人接入任何数据集或 API,并将实时更新数据合并到响应当中。
如何在检索模式下使用聊天机器人
Together 直接提供一个将检索模型与聊天模型结合起来的一体化脚本,具体请参阅自述文件(#retrieval-augmented-models)中的完整信息。
在文档中的维基百科示例中,系统会针对特定用户查询执行以下步骤:
服务器根据用户查询,从维基百科索引中检索相关语句。
服务器将步骤 1 的输出添加到查询内,并使用聊天机器人模型生成响应结果。用户可以更改代码和提示以匹配自己的特定用例。
审核模型将在必要时
适度干预
OpenChatKit 的最后一个组件,是由 GPT-JT 微调而成的 60 亿参数审核模型。在聊天应用中,审核模型将和主聊天模型协同运行,负责检查用户话语中是否存在不当内容。基于审核模型的评估,聊天机器人可以将输入内容限制为审核主题。对于指向性更强的任务,审核模型还可检测哪些问题属于域外问题,并在与主题无关时将其覆盖。
在推理过程中,Together 团队进行了小样本分类并将用户问题划分为五类。只有当问题属于允许的分类时,聊天机器人才会给出响应:
审核是一项难度颇高且相当主观的任务,而且很大程度上由上下文决定。Together 提供的审核模型只作为基准,可以根据各种需求进行调整和定制。Together 希望社区能够继续改进这套基础审核模型,并开发出适合不同文化和组织背景的特定数据集。
Together 与 LAION 和 Ontocord 合作,共同为审核模型提供训练数据集,并针对一系列不当问题对 GPT-JT 做了微调。
参考链接:
暂无评论内容