怎样做网站标题的图标网站做充值和提现

bicheng/2026/1/19 9:26:29/文章来源:
怎样做网站标题的图标,网站做充值和提现,wordpress半透明主题,深圳影视传媒公司有哪些本篇文章聊聊网上聊的比较少的具体量化操作#xff0c;非常见整型位数的量化#xff0c;来自让各种开源模型能够在 CPU 环境、CPU GPU 环境混合推理的技术方案#xff1a;llama.cpp 。 写在前面 接下来#xff0c;有计划分享一些关于各种开源模型的实践内容。为了能…本篇文章聊聊网上聊的比较少的具体量化操作非常见整型位数的量化来自让各种开源模型能够在 CPU 环境、CPU GPU 环境混合推理的技术方案llama.cpp 。 写在前面 接下来有计划分享一些关于各种开源模型的实践内容。为了能让更多的同学能够玩起来降低入门的硬件门槛还是很有必要的。模型量化技术就是这样一个“神奇、有效”的方案。 看过前两篇文章《零一万物模型折腾笔记官方 Yi-34B 模型基础使用》、《本地运行“李开复”的零一万物 34B 大模型》的同学知道类似 34B 的模型如果想不怎么量化直接跑起来大概需要 7685GB 的显存。如果我们进行效果损失比较小的 8 位量化那么也需要 46GB 左右如果是 4 位量化模型那么也需要 21GB 左右的显存。 虽然模型能跑了但是有可能模型效果“打了骨折”。 是的模型的量化其实就是这样的一个把类似我们相机拍摄照片RAW转换成“PNG”再转换成“JPG”最后甚至转换成“GIF”的过程。我们追求的是尽量省钱在我们的设备上保持最好效果的将模型跑起来。尽量整个接近 “PNG” 的 “JPG”而不是一定要折腾个 “GIF” 。 尤其是一般情况下许多同学会使用八位INT8或者 四位INT4位量化但是我们很容易会遇到两个尴尬的情况 有的模型量化成四位INT4效果变的不是很好但是量化成八位INT8效果还行。可是八位INT8尺寸又太大运行不太方便希望模型尺寸能够小一些。有的模型量化成四位INT4模型还是太大硬件跑不起来或者跑起来太费力希望模型变的更小巧一些。 在今年早些时候的几篇文章和对外分享里我曾经多次提到了几种不同的模型量化方案包括 Transformers、GGML 等感兴趣的同学可以自行翻阅就不多赘述了。 本篇文章我们主要来聊聊非常见整型位数的模型量化方案。用自己制作的量化程序将原本在本地用游戏显卡跑不起来的 YI 34B 模型跑起来。 准备材料 关于模型量化需要准备两个素材一个是模型另外一个是量化使用的计算设备。 模型程序文件 任意参数量的模型可以是 7B、13B、14B、20B、33B、34B、68B、70B …的模型也可以是更小参数量的小尺寸的模型。 我这里使用的是零一万物开源的 YI-34B 的社区 finetune 微调训练的版本通常情况下社区可能有热门模型的量化版本经常看到一些同学说“等个量化版本”。 但其实自己动手丰衣足食。况且即使是从社区下载量化版本模型体积也很大需要来来回回测试模型是否合适重复下载也非常消耗时间和宽带成本远不如自己量化来的方便。 关于模型程序下载方法很多。如果你想要从 HuggingFace 相对快速下载模型可以参考这篇文章中的 “模型程序下载” 来解决问题。 量化使用的硬件 而量化模型使用的硬件需要 CPU 计算能力相对强一些的机器如果你有 GPU那么将会极大的提升模型量化速度如果没有也没有关系。 至于量化后的产物则是各种设备通用的你可以在 Windows 量化后给 Linux 或者 macOS 设备使用。你也可以使用有 CPU 和 GPU 的设备量化后给只有 CPU 的设备使用。 唯一有一些差异的只有运行这个通用模型格式程序的启动程序是需要和你当前的运行环境和操作系统有些关联的比如需要构建或者安装时需要一些初始化。 相比较模型程序这个真的就是小意思啦。 模型的 GGUF GGML Universal File格式量化准备 GGUF 是 GGML 的全新替代型被称为 GGML 通用文件格式。 GGUF 支持的模型量化格式非常多刨除“几种跨开源生态模型转换的场景外”主要依赖两个程序convert.py 和 quantize 程序。前者以 Python 脚本的形态存在于 llama.cpp 项目的目录中后者需要我们进行项目的构建。 下载 llama.cpp 的代码然后就能够进行构建操作啦 # 下载代码 git clone https://github.com/ggerganov/llama.cpp.git # 切换工作目录到项目文件夹内 cd llama.cpp # 构建项目可执行文件有显卡 make -j LLAMA_CUBLAS1 # 构建项目执行文件 (没有显卡) make -j等待程序构建完毕所有的准备工作就都完成啦。 预转换Convert.py 转换脚本 这个脚本能够将非 GGML 格式的文件转换为 GGML以 GGUF 后缀进行保存。程序默认支持转换下面几类格式的模型*.pth、*.pt、*.bin、*.safetensors。 是我们进行后续非常见整型模型量化的基础操作步骤。 如果我们只追求使用 8 位量化的可以使用 CPU 和 GPU 混合推理的模型那么我们可以参考这篇文章中的“尝试对模型进行几种不同的量化操作”的方法中的命令行参数将模型转换为 GGML 的 q8_0 模型。 但如果我们希望制作更多其他的不同的类型的模型比如 2 位量化 6 位量化那么我非常建议大家使用 convert.py 脚本制作和转换一个 f16 类型的 GGML 模型。 虽然程序的命令行参数看起来很麻烦但是我们需要使用到的转换命令其实非常简单使用 Python 调用程序命令中携带“模型路径”和“输出的模型类型”即可 python ./convert.py 【模型的路径】 --outtype f16我这里以 YI-34B 的社区 finetune 模型 brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties 为例子调整为我自己的模型存放路径 python ./convert.py ../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties/ --outtype f16执行命令后机器将会火力全开的进行程序编译输出大量日志 Loading model file ../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties/model-00001-of-00008.safetensors Loading model file ../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties/model-00001-of-00008.safetensors Loading model file ../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties/model-00002-of-00008.safetensors ...params Params(n_vocab64000, n_embd7168, n_layer60, n_ctx200000, n_ff20480, n_head56, n_head_kv8, f_norm_eps1e-05, rope_scaling_typeNone, f_rope_freq_base5000000.0, f_rope_scaleNone, n_orig_ctxNone, rope_finetunedNone, ftypeGGMLFileType.MostlyF16: 1, path_modelPosixPath(../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties)) Loading vocab file ../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties/tokenizer.model, type spm Permuting layer 0 Permuting layer 1 Permuting layer 2 ...model.embed_tokens.weight - token_embd.weight | BF16 | [64000, 7168] model.layers.0.input_layernorm.weight - blk.0.attn_norm.weight | BF16 | [7168] ...Writing ../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties/ggml-model-f16.gguf, format 1 gguf: This GGUF file is for Little Endian only gguf: Setting special token type bos to 1 gguf: Setting special token type eos to 2 gguf: Setting special token type unk to 0 gguf: Setting special token type pad to 0 [ 1/543] Writing tensor token_embd.weight | size 64000 x 7168 | type F16 | T 1 [ 2/543] Writing tensor blk.0.attn_norm.weight | size 7168 | type F32 | T 2 [ 3/543] Writing tensor blk.0.ffn_down.weight | size 7168 x 20480 | type F16 | T 2 ...Wrote ../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties/ggml-model-f16.gguf当一切都结束后我们能够看到类似上面日志的最后一行提示告诉我们转换好的模型名字和存放到机器的什么位置了。默认会存放于你指定要转换模型的目录并以 .gguf 后缀保存文件。 最终转换quantize 量化程序 当我们使用上面的方法将模型转换为了相对高精度的模型文件后我们就可以进行下一步量化了。 执行 ./quantize --help除了程序的执行命令格式参考外我们还能够看到量化程序支持的所有类型 Allowed quantization types:2 or Q4_0 : 3.56G, 0.2166 ppl LLaMA-v1-7B3 or Q4_1 : 3.90G, 0.1585 ppl LLaMA-v1-7B8 or Q5_0 : 4.33G, 0.0683 ppl LLaMA-v1-7B9 or Q5_1 : 4.70G, 0.0349 ppl LLaMA-v1-7B10 or Q2_K : 2.63G, 0.6717 ppl LLaMA-v1-7B12 or Q3_K : alias for Q3_K_M11 or Q3_K_S : 2.75G, 0.5551 ppl LLaMA-v1-7B12 or Q3_K_M : 3.07G, 0.2496 ppl LLaMA-v1-7B13 or Q3_K_L : 3.35G, 0.1764 ppl LLaMA-v1-7B15 or Q4_K : alias for Q4_K_M14 or Q4_K_S : 3.59G, 0.0992 ppl LLaMA-v1-7B15 or Q4_K_M : 3.80G, 0.0532 ppl LLaMA-v1-7B17 or Q5_K : alias for Q5_K_M16 or Q5_K_S : 4.33G, 0.0400 ppl LLaMA-v1-7B17 or Q5_K_M : 4.45G, 0.0122 ppl LLaMA-v1-7B18 or Q6_K : 5.15G, -0.0008 ppl LLaMA-v1-7B7 or Q8_0 : 6.70G, 0.0004 ppl LLaMA-v1-7B1 or F16 : 13.00G 7B0 or F32 : 26.00G 7BCOPY : only copy tensors, no quantizing这里我建议始终使用 Q4_K、Q5_K 这类代指名称来进行模型转换并且在进行转换之前偶尔执行 ./quantize --help 看看有没有新的、更适合你的量化方案。名称中的 Q数字 中的数字就是对应的量化的位数啦。 一般来说位数越高需要的内存和显存就越多运行起来越慢但是效果和精度就越接近原始版本。反之我们虽然得到了省资源的版本但是效果会有明显的降低。不过如果你模型跑不起来效果是零这种情况下能够量化跑起来的模型总归是比没有强某种程度来说也是不得已而为之。 帮助信息中展示的如何使用命令行的演示信息同样是内容比较多比较复杂的。但是同样的我们实际只需要非常简单的使用方法记住下面的调用方式就足够了 ./quantize 【模型地址】【模型类型名称】如果我们将命令中的“变量”进行替换改成本文中我使用的模型和我选择的量化方案命令行如下 ./quantize ../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties/ggml-model-f16.gguf Q5_K_M命令执行过程中我们将看到滚动的日志 ggml_init_cublas: GGML_CUDA_FORCE_MMQ: no ggml_init_cublas: CUDA_USE_TENSOR_CORES: yes ggml_init_cublas: found 1 CUDA devices:Device 0: NVIDIA GeForce RTX 4090, compute capability 8.9 main: build 1622 (8a7b2fa) main: built with cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 for x86_64-linux-gnu main: quantizing ../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties/ggml-model-f16.gguf to ../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties/ggml-model-Q5_K_M.gguf as Q5_K_M llama_model_loader: loaded meta data with 20 key-value pairs and 543 tensors from ../brucethemoose/CapyTessBorosYi-34B-200K-DARE-Ties/ggml-model-f16.gguf (version GGUF V3 (latest)) llama_model_loader: - tensor 0: token_embd.weight f16 [ 7168, 64000, 1, 1 ] llama_model_loader: - tensor 1: blk.0.attn_norm.weight f32 [ 7168, 1, 1, 1 ] ... llama_model_loader: - tensor 542: output_norm.weight f32 [ 7168, 1, 1, 1 ] llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output. llama_model_loader: - kv 0: general.architecture str llama llama_model_loader: - kv 1: general.name str brucethemoose llama_model_loader: - kv 2: llama.context_length u32 200000 llama_model_loader: - kv 3: llama.embedding_length u32 7168 ... [ 541/ 543] blk.59.ffn_down.weight - [20480, 7168, 1, 1], type f16, quantizing to q6_K .. size 280.00 MiB - 114.84 MiB | hist: [ 542/ 543] blk.59.ffn_norm.weight - [ 7168, 1, 1, 1], type f32, size 0.027 MB [ 543/ 543] output_norm.weight - [ 7168, 1, 1, 1], type f32, size 0.027 MB llama_model_quantize_internal: model size 65593.31 MB llama_model_quantize_internal: quant size 23193.68 MBmain: quantize time 99803.07 ms main: total time 99803.07 ms转换完毕我们前往模型的目录查看文件大小能够看到非常明显的尺寸缩减 # du -hs * 23G ggml-model-Q5_K_M.gguf 65G ggml-model-f16.gguf至于模型的使用就太简单啦。 我们可以使用 llama.cpp 项目中的 main 和 server 来运行模型前者会在命令行中启动一个交互式的终端后者则会启动一个简洁的 Web UI我们在浏览器中就可以轻松的调节模型的调用参数。 在前两篇相关的文章中有提到过这里我们再聊一次顺便聊聊不同的参数的选择和调整策略。 我一般的“起手式”是这样 ./server --ctx-size 2048 --host 0.0.0.0 --n-gpu-layers 50 --model ../playground/01-ai/Yi-34B/ggml-model-q8_0.gguf上面的命令中分别包含了 “--ctx-size” 指定模型会话窗口大小所能容纳和使用的 Token 数量这里如果想省点显存和内存就设置小一些能够满足你的任务需要就好。如果资源比较多可以开到模型的上限比如最近的默认模型都是 4k 的就设置 40968K 就设置 8192200K 就设置个 200000以此类推。“--host” 默认其实可以不添加但是如果你在局域网或者你的服务运行在容器里那么你需要分享或者在容器外访问设置 --host 0.0.0.0 就很有必要啦。“--n-gpu-layers” 这个参数需要配合显卡一起使用如果你有显卡但是显卡装不下模型或者装下模型后快满了可以考虑适当调整下数值根据自己的需求将合适的模型层数扔到显卡里稍微给显卡留点富余量。扔到显卡里的模型层数越多推理速度越快。“--model” 这个参数没有什么特别的指定我们下载或者转换好的 GGML 模型文件就好。 好啦当这个命令执行后我们就能够快乐的和模型一起玩耍啦。 是不是很有趣后面有机会我们聊聊上面这个交互体验是如何实现的。 最后 这篇内容就先写到这里接下来的相关文章我们来聊聊社区里不同优化方向和模型的模型们。 希望大家玩模型都能玩的开心。感谢所有为开源模型辛苦工作的模型创作者团队和所有为开源社区摇旗呐喊将好的东西分享给更多的人的朋友们。 –EOF 本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议欢迎转载、或重新修改使用但需要注明来源。 署名 4.0 国际 (CC BY 4.0) 本文作者: 苏洋 创建时间: 2023年12月12日 统计字数: 8528字 阅读时间: 18分钟阅读 本文链接: https://soulteary.com/2023/12/12/cpu-hybrid-inference-unusual-large-language-model-quantization-2-3-5-6-bit-quantization.html

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

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

相关文章

企业门户网站制作周期琼海网站制作

🌳List类型常见命令 LPUSH / RPUSH [KEY] [element] …… 向列表左侧或者右侧插入一个或多个元素 LPOP / RPOP [key] 删除左边或者右边第一个元素 LRANGE [key] start end 返回索引start到end的元素(索引从0开始) BLPOP / BRPOP [key] [等…

开封市网站建设网站建设 互成网络

五、动态规划 基本概念 阶段(Stage):将所给问题的过程,按时间或空间特征分解成若干相互联系的阶段,以便按次序去求解每阶段的解,常用字母 k k k 表示。 状态(State):…

一下成都网站建设公司太原网页设计招聘

第68套&#xff1a; 给定程序中&#xff0c;函数fun的功能是:求ss所指字符串数组中长度最长的字符串所 在的行下标,作为函数值返回&#xff0c;并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串&#xff0c;且串长<N。 请在程序的下划线处填入正确的内容并…

做机械设备网站app开发流程表

题干&#xff1a; 夏天来了~~好开心啊,呵呵,好多好多水果~~ Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样Joe就可以很容易掌握所有水果的销售情况了. Input 第一行正整数N(0<N<10)表示有N组测试数…

网站建设与维护教案视频教做家常菜的网站

Mesh&#xff1a;是一种三维模型的表示形式&#xff0c;它由一系列顶点、三角形&#xff08;或其他多边形&#xff09;和相关属性组成。Mesh用于表示物体的外观和形状&#xff0c;它是可见物体的基本组成部分。通过操作Mesh&#xff0c;开发者可以实现各种视觉效果、物理模拟和…

公司官方网站一般什么公司做泰安人才招聘信息网

阿里云服务器配置如何选择&#xff1f;用于高性能计算或大游戏并发&#xff0c;可选择企业级第七代云服务器计算型g7、ECS计算型c7、内存型r7独享型云服务器&#xff0c;CPU采用第三代Intel Xeon可扩展处理器&#xff08;Ice Lake&#xff09;&#xff0c;基频2.7 GHz&#xff…

wordpress自定义网站做免费推广网站

注&#xff1a;服务器默认以root用户登录 NGINX 官方网站地址&#xff1a;https://nginx.org/en/NGINX 官方安装文档地址&#xff1a;https://nginx.org/en/docs/install.html服务器的终端中输入以下指令&#xff1a; # 安装 Nginx apt-get install nginx # 查看版本信息 ngi…

农业信息网站建设意义老闵行小学排名

发布确认原理 生产者将信道设置成 confirm 模式&#xff0c;一旦信道进入 confirm 模式&#xff0c;所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始)&#xff0c;一旦消息被投递到所有匹配的队列之后&#xff0c;broker 就会发送一个确认给生产者(包含消息的…

安徽智能网站建设制作桐乡住房和建设局网站

简要做一下总结&#xff1a; 为实现类似top的功能&#xff0c;我们在SQL Server中和MySQL中使用到的SQL语句是不同的。 1、在SQL Server中&#xff0c;我们使用 select top N * from tablename来查询tablename表中前N条记录。 根据所给变量的不同还有其他方法&…

购物网站设计理念有没有免费代理项目

下面我将介绍当需要用C语言开发能访问MySQL数据库的程序时成功配置的关键事项。 操作系统&#xff1a;Windows 7 x64 编程环境&#xff1a;Code::Blocks 10.05(32bit) 配置方式说明&#xff1a;用C语言开发访问MySQL数据库至少有3种配置方式。 方式1&#xff1a;使用MySQL C…

外包做网站的要求怎么写网站cms系统 开源框架

本文实例讲述了Python正则替换字符串函数re.sub用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a; python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替换成自己想要的字符串的方法re.sub 函数进行以正则表达式为基础的替换工作…

网站建设流程和方法外贸线上推广

一道名为"敲门砖"的面试题: 用面向对象的方法写,点击列表内,子元素的子标签, 来删除子元素 敲门砖考点: 递归(删除标签, 需要找到列表的直属子标签, 需要通过递归层层往上找, parentNode)冒泡(只需为顶级父元素addEventListener绑定事件, 并通过e.target区分子标签, …

做文艺文创产品的网站建设网站公司

特别提醒&#xff1a;注意看本地端和服务器端 一、服务器终端运行 tensorboard --logdirlogs --port6008二、本地终端运行--以建立端口映射 ssh -L 6008:localhost:6008 -p 443 root服务器IP解释&#xff1a;将服务器的6008端口映射到本地的6008端口&#xff0c;-p 443 …

贵阳建站模板设计广告图片

一.人工智能概述 1.AI的基础学科包括&#xff1a;数学&#xff08;离散、模糊&#xff09;、思维科学&#xff08;认知心理、逻辑思维学、形象思维学&#xff09;和计算机&#xff08;硬件、软件&#xff09;等。 2.新一代人工智能呈现出“深度学习、跨界融合、人机协同、群智…

怎么验证网站备案密码是否正确儿童网站开发

连续变化检测和分类 (CCDC) 1 背景 1.1 土地变化监测 土地覆盖变化影响自然和人为环境,被全球气候观测系统视为基本气候变量。例如,荒漠化导致土地覆盖从植物生态系统转变为沙漠,森林砍伐导致森林转变为人类改变的土地用途,城市发展可以将自然环境转变为被建筑物和道路覆…

为什么做网站要用谷歌浏览器盐城市网站

Flink的恢复机制基于应用状态的一致检查点。在有状态的流应用中&#xff0c;一个一致性检查点是&#xff1a;在所有tasks处理了一个&#xff08;相同的&#xff09;输入后&#xff0c;当前时间点每个task的state副本。 在为application做一个一致性检查点时&#xff0c;一个基…

推介网站数字火币交易网站开发

最近在做一个iOS IM SDK&#xff0c;在内部试用的阶段&#xff0c;不断有兄弟部门或者合作伙伴过来问各种技术细节&#xff0c;所以统一写一篇文章记录&#xff0c;统一介绍下一个IM APP的方方面面&#xff0c;包括技术选型(包括通讯方式,网络连接方式,协议选择)和常见问题。 …

免费空间的个人网站wordpress 微信接口

当使用模板模板参数时&#xff0c;我们可以将一个模板作为另一个模板的参数&#xff0c;从而实现更大的灵活性和重用性。模板模板参数的主要优势之一是它允许我们编写适用于多种模板类型的通用代码。 下面是一些关于模板模板参数的更多信息 template <template <typenam…

aspcms是网站什么漏洞惠阳区城市建设规划局网站

01 信息学奥赛路线比赛 来源:https://www.noi.cn/ 首先,信息学奥赛是升学最有帮助的一个赛事了,从CSP-J/P开始到NOIP再到最后的NOI,对科技特长生、高考加分都有较大裨益,但相对难度也是最大的。 小学可以参加的是CSP-J比赛,但是和初中生一起考试,不占优势,胜在早入门…

漯河市城市建设投资公司网站wordpress登录空白

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《Sql Server》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对…