当前位置:首页|资讯|ChatGPT|新版必应|OpenAI

【笔记】在本地搭建一个ChatGPT/NewBing可行吗?

作者:ThatY发布时间:2023-02-21

读前须知:

  1. 入门内容,但是你需要自己安装python, torch, jupyterlab, transformers 等... 网上教程有很多。

  2. 是的,可以本地部署,可以聊天,但是目前公开的模型(这篇将使用ChatYuan-large-v1)很小很蠢,但也值得试试。

开始之前:

- ChatGPT 作为一个LLM(大型语言模型)是如何“记忆”聊天内容以达到理解上下文的?

OpenAI 官方的回答

答案是,至少目前不行,约3000词(4000 tokens)限制的当前会话内容看起来是一股脑输入到模型中的。

- 超过3000词呢?

不明确,可能之前的内容会直接被忽略,也可能由模型自己概括。


准备工作:

    我之前有尝试过一些LLM如Bloom,但它们训练的主要目的就是接龙,可以以对话形式(如“A:xxxxx. B:”)输入来要求模型接龙,然而模型本身并不知道什么时候停止,就会出现一些很尴尬的情况,如模型完成它应有的输出后又顺路完成了用户的输入,甚至干脆一口气生成几轮会话等。

    加之一些模型对多语言环境并不友好,对中文支持能力很差,所以我们需要一个针对会话和中文内容调整训练过的模型。 正好最近发现 Hugging Face 上的 ClueAI/ChatYuan-large-v1 这个模型很有意思,所以决定试试看。



下载模型:

可以直接用模型下方提供的代码,这样子模型将会直接下载到你C盘用户\用户名\.cache(Windows 用户)文件夹下:

也可以直接 git clone https://huggingface.co/ClueAI/ChatYuan-large-v1 到你的目录里, 然后加载:

复制一些官方在模型下面提供的函数:


到这里已经可以使用answer()函数实现接龙功能了:

em....
英文接龙也可以
...

实现一个很简单的聊天功能:

效果:

按模型页下方示例的输入可以看出其对上下文有一定理解能力
Hey, what a colorful wasteland
No Russian! XD
确实是一个Python代码...
小学生作文对它还是有些难的?..
...

结论:

    作为一个2.91GB的模型,对于它的任务而言它的尺寸实际上称不上Large,也不是很聪明的样子,处于一个基本不可用的状态。但是过程很有趣,本地部署起来很流畅,单次推理的时间也很短,可以回答一些很简单的问题,有一定的上下文理解能力,但极其有限。

    不知道如果模型的体积增加一倍,再继续针对会话训练的话会是什么样子...


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1