大模型实践笔记(1)——GLM-6B实践

目录

在Ubuntu上的配置Git Large File Storage

安装Git LFS:

设置Git LFS:

使用Git LFS:

安装GLM-6B 

环境依赖

 ChatGLM2-6B介绍

配置GLM

下载代码

 构建环境

安装依赖 

本地部署 

网页UI 


很多模型在hugging face上面,我们一般采用远程的文件指针形式

在Ubuntu上的配置Git Large File Storage

  1. 安装Git LFS

    • 在大多数Linux发行版上,您可以使用包管理器来安装Git LFS。例如,在基于Debian的系统上(如Ubuntu),您可以使用以下命令:
      sudo apt-get update sudo apt-get install git-lfs
    • 对于其他操作系统或者如果您希望使用不同的安装方法,可以访问Git LFS的官方网站获取更详细的安装指南:Git LFS 官方网站。
  2. 设置Git LFS

    • 安装完成后,您需要设置Git LFS。在您的仓库目录中运行以下命令来初始化Git LFS:
      git lfs install
    • 这个命令会设置必要的Git钩子(hooks),以便Git LFS可以管理大文件。
  3. 使用Git LFS

    • 您可以开始使用Git LFS来追踪大文件了。例如,如果您想追踪所有的 .bin 文件,您可以使用以下命令:
      git lfs track "*.bin"
    • 然后,您可以像平常一样使用 git addgit commit 命令提交您的更改。
    • 当您克隆一个使用Git LFS的仓库时,您可能需要使用 git lfs pull 命令来拉取存储在LFS中的大文件。

安装GLM-6B 

在主要评估LLM模型中文能力的 C-Eval 榜单中,截至6月25日 ChatGLM2 模型以 71.1 的分数位居 Rank 0 ,ChatGLM2-6B 模型以 51.7 的分数位居 Rank 6,是榜单上排名最高的开源模型。

环境依赖

  • CUDA 11.7

  • Python 3.10

  • pytorch 1.13.1+cu117

 ChatGLM2-6B介绍

ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,ChatGLM2-6B 引入了如下新特性:

  • 更强大的性能:基于 ChatGLM 初代模型的开发经验,我们全面升级了 ChatGLM2-6B 的基座模型。ChatGLM2-6B 使用了 GLM 的混合目标函数,经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,评测结果显示,相比于初代模型,ChatGLM2-6B 在 MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等数据集上的性能取得了大幅度的提升,在同尺寸开源模型中具有较强的竞争力。

  • 更长的上下文:基于 FlashAttention 技术,我们将基座模型的上下文长度(Context Length)由 ChatGLM-6B 的 2K 扩展到了 32K,并在对话阶段使用 8K 的上下文长度训练,允许更多轮次的对话。但当前版本的 ChatGLM2-6B 对单轮超长文档的理解能力有限,我们会在后续迭代升级中着重进行优化。

  • 更高效的推理:基于 Multi-Query Attention 技术,ChatGLM2-6B 有更高效的推理速度和更低的显存占用:在官方的模型实现下,推理速度相比初代提升了 42%,INT4 量化下,6G 显存支持的对话长度由 1K 提升到了 8K。

  • 更开放的协议:ChatGLM2-6B 权重对学术研究完全开放,在获得官方的书面许可后,亦允许商业使用。如果您发现我们的开源模型对您的业务有用,我们欢迎您对下一代模型 ChatGLM3 研发的捐赠。

配置GLM

下载代码

 $ git clone https://github.com/THUDM/ChatGLM2-6B

 构建环境

$ conda create -n GLM python=3.10       # 创建新环境
$ conda activate GLM                    # 激活环境

安装依赖 

 $ cd ChatGLM2-6B$ pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

本地部署 

$ git lfs install
$ git clone https://huggingface.co/THUDM/chatglm2-6b

模型的实现仍然处在变动中。如果希望固定使用的模型实现以保证兼容性,可以在 from_pretrained 的调用中增加 revision="v1.0" 参数。v1.0 是当前最新的版本号,完整的版本列表参见 Change Log。

Cli测试

修改cli_demo.py

$ python cli_demo.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/663661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

知识库系统为什么优秀企业都必备?这篇文章告诉你

在今天的商业世界中,知识就是力量。企业里的每一个小小的灵感、想法、经验,都可能是推动业务增长的源泉。那么,如何系统地管理和使用这些宝贵的知识资源呢?答案就是——知识库系统。 那么,什么是知识库系统呢&#xf…

六、Nacos源码系列:Nacos健康检查

目录 一、简介 二、健康检查流程 2.1、健康检查 2.2、客户端释放连接事件 2.3、客户端断开连接事件 2.4、小结 2.5、总结图 三、服务剔除 一、简介 Nacos作为注册中心不止提供了服务注册和服务发现的功能,还提供了服务可用性检测的功能,在Nacos…

【面试深度解析】快手后端一面:G1、IOC、AOP、并发、JVM生产问题定位、可重复读、ThreadLocal

欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送! 在我后台回复 「资料」 可领取编程高频电子书! 在我后台回复「面试」可领取硬核面试笔记! 文章导读地址…

代码随想录算法训练营第38天 | 动态规划理论基础 509.斐波那契数 70.爬楼梯 746.使用最小花费爬楼梯

动态规划理论基础 动态规划适用于解决有重叠子问题的问题。所以动态规划中的每一个状态一定是由上一个状态推导来的,这一点区分于贪心,因为贪心每一步总是取局部最优。 解题步骤: 确定dp数组的含义确定递推表达式dp数组如何初始化确定遍历顺…

图像处理之《可逆重缩放网络及其扩展》论文精读

一、文章摘要 图像重缩放是一种常用的双向操作,它首先将高分辨率图像缩小以适应各种显示器或存储和带宽友好,然后将相应的低分辨率图像放大以恢复原始分辨率或放大图像中的细节。然而,非单射下采样映射丢弃了高频内容,导致逆恢复…

LVGL部件6

一.圆弧部件 1.知识概览 2.函数接口 1.lv_obj_clear_flag 在 LVGL(LittlevGL)中,lv_obj_clear_flag 函数用于清除对象的特定标志位。该函数的原型如下: void lv_obj_clear_flag(lv_obj_t * obj, lv_obj_flag_t flag);obj 是指…

[力扣 Hot100]Day20 旋转图像

题目描述 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 出处 思路 旋转时每四个位置为一组进行swap操作,找好对…

计算视图里的projection和aggregation节点区别

Projection 和 Aggregation到底有什么区别? 看名字就能看出来的。 那么在什么场景下用呢? 1. Projection就是投影,也就是说你本来的源里有什么,就直接给你拿出来。 除了这个,它使用的场景就是: 只映射需…

帮管客CRM 文件上传漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

TCP/IP详细介绍以及TCP/IP寻址

目录 ​编辑 1. TCP/IP 介绍 2. 计算机通信协议(Computer Communication Protocol) 3. 什么是 TCP/IP? 4. 在 TCP/IP 内部 5. TCP 使用固定的连接 6. IP 是无连接的 7. IP 路由器 8. TCP/IP 9. TCP/IP 寻址 10. IP地址 …

谷歌产品大更新:Bard可生成图像;文生音乐平台等5大免费功能

2月2日,谷歌在官网对生成式AI产品进行了大更新,包括类ChatGPT聊天助手Bard可以通过文本提示生成图像; 全新的文生音乐平台MusicFX;新的文生图像平台ImageFX;新的文本扩写平台TextFX;在谷歌地图中增加生成式…

MATLAB矩阵的操作(第二部分)

师从清风 矩阵的创建方法 在MATLAB中,矩阵的创建方法主要有三种,分别是:直接输入法、函数创建法和导入本地文件中的数据。 直接输入法 输入矩阵时要以中括号“[ ]”作为标识符号,矩阵的所有元素必须都在中括号内。 矩阵的同行元…

UnitySahder实现Phong/BlinnPhong模型

目录 Phong模型公式: BlinnPhong模型公式: 实现: Phong模型: BlinnPhong模型: Phong模型公式: 结果自发光+环境光漫反射高光反射 BlinnPhong模型公式: 对Phong模型的简单修改&…

Git―基本操作

Git ⛅认识 Git⛅安装 GitCentos(7.6)Ubuntu ⛅Git―基本操作创建本地仓库🍂配置本地仓库🍂工作区, 暂存区, 版本库🍂版本库工作区 添加文件🍂查看文件🍂修改文件🍂版本回退🍂☃️案例 撤销修改…

k8s中cert-manager管理https证书

前言 目前https是刚需,但证书又很贵,虽然阿里云有免费的,但没有泛域名证书,每有一个子域名就要申请一个证书,有效期1年,1年一到全都的更换,太麻烦了。经过搜索,发现了自动更新证书神器cert-manager;当然cert-manager是基于k8s的。 安装采用Helm方式 Chart地址: ht…

THREE.JS动态场景开发实战【赛博朋克】

在本教程中,我们将探索如何创建类似 Three.js 的赛博朋克场景,灵感来自 Pipe 网站上的背景动画。 我们将指导你完成使用 Three.js 编码动态场景的过程,包括后处理效果和动态光照,所有这些都不需要任何着色器专业知识。 我用这个场…

西瓜书学习笔记——k近邻学习(公式推导+举例应用)

文章目录 算法介绍实验分析 算法介绍 K最近邻(K-Nearest Neighbors,KNN)是一种常用的监督学习算法,用于分类和回归任务。该算法基于一个简单的思想:如果一个样本在特征空间中的 k k k个最近邻居中的大多数属于某个类别…

vue+element 换肤功能

1.首先建深色和浅色两个主题样式变量样式表,样式表名和按钮中传入的值一样,本例中起名为default.scss和dark.scss 2.在data中定义主题变量名 zTheme:‘defalut’,默认引用defalut.scss, 在点击按钮时切换引用的样式表,达到换肤效果…

结合实例谈谈SPSS多元线性回归分析结果解读与报告撰写

为研究某地区房地产市场的价格与相关影响因素之间的关系,现从该地区采集了 20 份样本,数据如下表,请给出销售价格与相关影响因素之间的函数表达式,并从统计学角度分析这些因素之间的关系,最后预测 X 小区的平均销售价格…

【洛谷学习自留】p1055 ISBN 号码

解题思路: 1.首先考虑怎么分解字符串的问题,把字符串内的数字拿出来,这里我使用了String的toCharArray方法,将字符串内的所有字符拿出来,然后针对性的把所有数字轮流用于计算,因为数组内的数字是以字符的形…