OpenAI与ChatGPT的“长期记忆”实现方式

OpenAI是目前人工智能领域的领军企业之一,它的ChatGPT模型在自然语言处理和对话生成方面取得了很大的成就。而ChatGPT在实现“长期记忆”方面,OpenAI采用了一种让“记忆”与“技艺”相分离的理解角度。

具体来说,大模型的训练结果类似于演化形成的DNA,而记忆则由一个独立的存储模块负责。面对具体场景时,ChatGPT会检索调取相关记忆,将其纳入输入作出反应。

这种方式将技艺和记忆分离开来,有一些实际的好处。比如,模型可以更容易地适应新的场景,因为记忆是独立的,而技艺可以根据场景和需要不断调整和更新。

与此相对应的是短期记忆。在使用ChatGPT进行多回合聊天时,每发送一段新的话语,实际通过API发给OpenAI服务器的,还含有前面的全部对话内容。这种方式类似于人类的短期记忆,需要不断地调用前期对话内容才能进行深入交流。但是需要注意的是,ChatGPT能记住多少上下文,并不是记忆体有多大,而是这个模型能支持单次输入多少内容。

目前最新的GPT-4有一个32K版本,32K就是此模型单次可输入的最大容量。这种容量设计有一些实际的问题,比如API在多个回合后的实际prompt长度可能是输入内容的数倍。而且,由于对话记录靠前端保存,API并没有引入任何防篡改机制,这也意味着靠前端的对话记录可能被恶意篡改。

为了避免这种情况的发生,我们可以尝试将聊天的内容限制在一个主题或者领域内。同时,为了避免过多使用API,也可以尝试将角色调教的prompt保存为system role的prompt,这也是一个不错的解决方案。

总之,在使用ChatGPT进行对话生成时,我们需要注意一些相关的问题,比如记忆和技艺的分离,容量问题以及API的安全问题。同时,我们可以尝试利用一些实际的技巧和解决方案来更好地使用ChatGPT,并获得更好的交互体验。