中文转英文(中文ChatGPT平替——ChatGLM:全新对话模型内测,手把手调教开源单卡版本)
❤️觉得内容不错的话 ,欢迎点赞收藏加关注😊😊😊 ,后续会继续输入更多优质内容❤️
👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关 ,linux学习相关 ,读研读博相关......)👈
(封面图由ERNIE-ViLG AI 作画大模型生成)
中文ChatGPT平替——ChatGLM:全新对话模型内测 ,手把手调教开源单卡版本
ChatGLM是一个具备问答和对话功能的语言模型 ,目前处于内测阶段 ,已经开启邀请制 ,并且将逐步扩大内测范围 。此外 ,ChatGLM也已经开源了最新的中英双语对话模型ChatGLM-6B ,结合模型量化技术 ,用户可以在消费级显卡上进行本地部署 。ChatGLM-6B共经过约1T标识符的中英双语训练 ,辅以监督微调 、反馈自助 、人类反馈强化学习等技术,模型参数达到了62亿 。虽然规模不及千亿模型 ,但是ChatGLM-6B已经能够生成相当符合人类偏好的回答 ,大大降低了用户部署的门槛 。
GLM介绍
GLM是一个用自回归填空目标预训练的通用语言模型,可以在各种自然语言理解和生成任务上进行微调 。2022年11月 ,斯坦福大学大模型中心对全球30个主流大模型进行了全方位的评测 ,GLM-130B 是亚洲唯一入选的大模型 。在与 OpenAI 、谷歌大脑 、微软 、英伟达 、脸书的各大模型对比中 ,评测报告显示 GLM-130B 在准确性和恶意性指标上与 GPT-3 175B (davinci) 接近或持平 ,鲁棒性和校准误差在所有千亿规模的基座大模型(作为公平对比 ,只对比无指令提示微调模型)中表现不错(下图) 。
关于 GLM-130B 的学术文章已被国际深度学习会议 ICLR’23 接收 。自2022年8月开放以来 ,收到53个国家369个研究机构(截至2023年2月1日)的下载使用需求 ,包括谷歌 、微软 、脸书 、AI2 、华为 、阿里巴巴 、百度、腾讯 、头条 、小冰、小度 、小米以及斯坦福 、麻省理工 、伯克利 、卡耐基梅隆 、哈佛 、剑桥 、牛津 、北大 、浙大 、上交 、复旦 、中科大、国科大等国内外人工智能研究机构和高校 。
ChatGLM介绍
ChatGLM 参考了 ChatGPT 的设计思路 ,在千亿基座模型 GLM-130B1 中注入了代码预训练 ,通过有监督微调(Supervised Fine-Tuning)等技术实现人类意图对齐 。ChatGLM 当前版本模型的能力提升主要来源于独特的千亿基座模型 GLM-130B 。它是不同于 BERT 、GPT-3 以及 T5 的架构 ,是一个包含多目标函数的自回归预训练模型 。2022年8月 ,我们向研究界和工业界开放了拥有1300亿参数的中英双语稠密模型 GLM-130B1 ,该模型有一些独特的优势:
双语: 同时支持中文和英文。 高精度(英文): 在公开的英文自然语言榜单 LAMBADA 、MMLU 和 Big-bench-lite 上优于 GPT-3 175B(API: davinci,基座模型)、OPT-175B 和 BLOOM-176B 。 高精度(中文): 在7个零样本 CLUE 数据集和5个零样本 FewCLUE 数据集上明显优于 ERNIE TITAN 3.0 260B 和 YUAN 1.0-245B 。 快速推理: 首个实现 INT4 量化的千亿模型 ,支持用一台 4 卡 3090 或 8 卡 2080Ti 服务器进行快速且基本无损推理。 可复现性: 所有结果(超过 30 个任务)均可通过我们的开源代码和模型参数复现 。 跨平台: 支持在国产的海光 DCU 、华为昇腾 910 和申威处理器及美国的英伟达芯片上进行训练与推理 。ChatGLM-6B 特点
ChatGLM-6B 是一个具有62亿参数的中英双语语言模型 。通过使用与 ChatGLM(chatglm.cn)相同的技术 ,ChatGLM-6B 初具中文问答和对话功能,并支持在单张 2080Ti 上进行推理使用 。具体来说 ,ChatGLM-6B 有如下特点:
优势:
充分的中英双语预训练:ChatGLM-6B 在 1:1 比例的中英语料上训练了 1T 的 token 量 ,兼具双语能力 。 优化的模型架构和大小:吸取 GLM-130B 训练经验 ,修正了二维 RoPE 位置编码实现 ,使用传统 FFN 结构 。6B(62亿)的参数大小 ,也使得研究者和个人开发者自己微调和部署 ChatGLM-6B 成为可能 。 较低的部署门槛:FP16 半精度下 ,ChatGLM-6B 需要至少 13 GB 的显存进行推理 ,结合模型量化技术 ,这一需求可以进一步降低到 10GB(INT8)和 6GB(INT4) ,使得 ChatGLM-6B 可以部署在消费级显卡上 。 更长的序列长度:相比 GLM-10B(序列长度 1024) ,ChatGLM-6B 序列长度达 2048 ,支持更长对话和应用 。 人类意图对齐训练:使用了监督微调(Supervised Fine-Tuning) 、反馈自助(Feedback Bootstrap) 、人类反馈强化学习(RLHF)等方式 ,使模型初具理解人类指令意图的能力 。输出格式为 markdown,方便展示 。
劣势: 相对较弱的模型记忆和语言能力 。在面对许多事实性知识任务时 ,ChatGLM-6B 可能会生成不正确的信息 ,也不太擅长逻辑类问题(如数学 、编程)的解答。 可能会产生有害说明或有偏见的内容:ChatGLM-6B 只是一个初步与人类意图对齐的语言模型,可能会生成有害 、有偏见的内容 。 较弱的多轮对话能力:ChatGLM-6B 的上下文理解能力还不够充分 ,在面对长答案生成和多轮对话的场景时 ,可能会出现上下文丢失和理解错误的情况 。ChatGLM-6B本地部署(在Ubuntu18.04系统中测试通过)
(1) 首先安装git
Ubuntu环境下运行以下命令下载安装git git简介及常用命令介绍
apt-get install git(2) 然后clone官方开源的ChatGLM-6B源码
运行以下代码下载官方源码:
git clone https://github.com/THUDM/ChatGLM-6B.git然后进入ChatGLM-6B文件夹:
cd ChatGLM-6B(3)安装python环境
可以使用conda新建一个python环境用于运行代码:
# 新建chatglm环境 conda create -n chatglm python=3.8 # 激活chatglm环境 conda activate chatglm # 安装PyTorch环境(根据自己的cuda版本选择合适的torch版本) # 建议安装torch1.12版本 ,版本太低例如1.7.1版本我测试过会出错 pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113 # 安装gradio用于启动图形化web界面 pip install gradio # 安装运行依赖 pip install -r requirement.txt(4)对源文件进行一定的修改
在web_demo.py的最后一句demo.queue().launch(share=True) ,加两个server_name=“0.0.0.0 ”, server_port=1234参数 ,其中server_name如果是本地部署的话可以写127.0.0.1 ,端口可以自己定义 ,不要和自己电脑的一些端口冲突就行。
最后在浏览器输入http://server_name:server_port就可以开始调教了 。
参考文献
[1] ChatGLM:千亿基座的对话模型启动内测 ,单卡版模型已全面开源 https://mp.weixin.qq.com/s/N79Sdx3K1em1EJxQZ9lcpA
[2] ChatGLM:千亿基座的对话模型开启内测
⸺对应单卡版本开源 https://chatglm.cn/blog
[3] ChatGLM-6B https://github.com/THUDM/ChatGLM-6B❤️觉得内容不错的话 ,欢迎点赞收藏加关注😊😊😊 ,后续会继续输入更多优质内容❤️
👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关 ,linux学习相关 ,读研读博相关......)👈
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!