家用消费级显卡玩转大模子超简单,一看就懂,一学就会 ...

打印 上一主题 下一主题

主题 518|帖子 518|积分 1554

这篇文章主要介绍了如下内容:


  • 模子量化,包括转换为gguf格式
  • 如何通过Ollama摆设运行模子
通过这篇文章,你可以将一个很大的模子文件转换为一个相对很小的模子文件,并摆设运行起来,运行速度可以大大提升,消费级显卡也可以无压力运行。


为什么要模子量化?

从智能语音助手到图像辨认,大模子虽然在各个领域中展现了强大的本领,但是,这玩意必要大量的计算资源才气运行。为了降低模子的计算量和内存占用,模子量化应运而生。
模子量化通过模子中的参数表示从高精度(如 32 位浮点数)转换为低精度(如 8 位整数),从而大幅减少模子的巨细和计算量。这意味着我们可以在资源有限的装备上,如家用消费级显卡,顺遂运行大模子,而无需依赖昂贵的专业硬件。
模子量化有助于进步模子的运行速度。减少了参数的精度和计算量,使得模子在推理阶段能够更快地给出结果。对于一些对实时性要求较高的应用,如在线谈天呆板人、实时图像辨认等,模子量化带来的速度提升至关紧张。

再者,模子量化能够降低能耗。在大规模的模子摆设中,能耗是一个不可忽视的问题。量化后的模子在运行时消耗的电能更少,不但有利于节省成本,另有助于减少对环境的影响。

此外,模子量化还便于模子的摆设和传播。更小、更高效的量化模子更容易在差别的装备宁静台上举行摆设,促进了大模子技术的广泛应用和普及。

如何快速实现模子量化

llama.cpp

目前要实现模子量化,不得不说一个开源框架-  llama.cpp,我主要分析如何通过这个框架实现将模子权重文件转为一个gguf格式的文件,以便后续可以通过Ollama举行模子量化。

这个框架的功能:在各种硬件(本地和云端)上以最少的设置和开始进的性能实现 LLM 推理。
详细介绍可以参考  github 地址: GitHub - ggerganov/llama.cpp: LLM inference in C/C++
根据官网介绍,这个框架的功能还是比力强大的,不但可以对话模式运行模子、还可以作为网络服务器等,不外,我这里只介绍了如何转换为gguf格式的功能。
这里起首介绍下gguf格式:
GGUF(GPT-Generated Unified Format)是一种二进制格式,具有以下特点:
   

  • 单文件摆设:将模子的所有相关信息包含在一个文件中,便于分发和加载,无需额外的外部文件提供附加信息。
  • 可扩展性:可以向基于 GGML 的执行器添加新功能或向 GGUF 模子添加新信息,同时不会破坏与现有模子的兼容性。
  • mmap 兼容性:支持使用 mmap(内存映射)加载模子,从而实现快速加载和保存,进步了数据访问的服从。
  • 易于使用:不论使用何种编程语言,都可以通过少量代码轻松实现模子的加载和保存,而无需使用外部库。
  • 包含完整信息:加载模子所需的全部信息都被包含在模子文件内,用户无需再提供其他额外信息。
  1、要使用llama.cpp,起首我们去github地址去下载项目代码
   git clone --depth=1 https://github.com/ggerganov/llama.cpp.git
  2、下载完之后,进入 llama.cpp 目录,运行如下下令:
   python convert_hf_to_gguf.py   原始模子文件夹路径  --outfile  输出模子的路径
  注意:要自己替换两个路径为你自己的,好比:
   python convert_hf_to_gguf.py    /home/jack/Documents/modelcode/LLaMA-Factory/export    --outfile /home/jack/mnt/models/gguf/qwen2_15.gguf
  你会看到如下结果就表示乐成了

模子转换已经乐成,下面我将介绍如何通过Ollma将这个转换后的gguf格式的二进制模子 举行量化。
Ollama

1、起首是下载,进入官网:https://ollama.com/  ,点击Download 按钮,你会看到如下界面

根据自己的系统,拷贝下令到下令行执行即可,等候安装完毕。
2、安装完之后,创建一个文件名称为 Modelfile,在文件内输入:
   FROM  gguf模子文件地址
  注意:要将 gguf模子文件地址 改为你自己的地址。然后保存文件,下令行输入:
   ollama create -q Q4_K_M   自界说模子名称
  注意:自界说模子名称 要改为自己的,随便起一个名称就行。Q4_K_M 表示举行4 bit量化,也是比力常用的方式。这条下令的作用就是通过Modelfile 创建一个模子给Ollama管理。

3、查看模子,使用如下下令:
   ollama list 
  如果看到你自界说的模子名词就代表乐成, 下面 myqwen15 就是我自界说的模子名称。

4、检查、运行模子,使用如下下令
   ollama run 你用的模子名称
  然后你就可以和模子举行对话了,检查这个模子的效果如何。如果模子的效果欠好,可以参考我之前写的文章 《LLaMA-Factory 大模子微调超简单,从零开始开始玩转大模子微调》,通过 LLaMA-Factory 举行模子的微调。

总结:

本篇文章只是抛砖引玉,浅谈了大模子的转换、量化、运行等知识,更多细节知识,如果有兴趣,可以查看官方文档,本人也还在学习过程中,看到这里了,不妨点个关注,一起学习,一起交流呀~


关于我:
资深步伐员,曾在北京某AI公司从事智能对话问答平台研发,也曾在大厂历练过,对AI场景应用布满热情。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

八卦阵

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表