大模型手工部署指南

admin 2025年2月8日00:46:54评论21 views字数 3968阅读13分13秒阅读模式
大模型手工部署指南
大模型手工部署指南

上篇文章简单写了一下使用ollama本地部署deepseek,有很多非计算机相关专业的朋友也想折腾,并且遇到了不少问题,因此本篇写了通过其他方式进行模型的部署的指南,也能解决一部分问题。

文章写的仓促,加上本来就没有美工功底,没有排版,各位大佬凑合看下内容,如有不当之处请批评指正(手动狗头)

大模型手工部署指南
大模型手工部署指南

收到反馈较多的问题主要为:ollama的下载速度慢、使用过程中出现OOM error、ollama出现网络错误等。在写这篇文章时,上述问题都没有遇到,所以应该算是解决了。先科普一个平台https://huggingface.co

大模型手工部署指南
大模型手工部署指南
大模型手工部署指南
大模型手工部署指南
大模型手工部署指南

这是一个开源平台,专注于开发和分享自然语言处理(NLP)及相关领域的工具和模型,同时也覆盖了计算机视觉、语音处理等更多AI方向。以下是Hugging Face的主要功能和服务:

1.Transformers库 Hugging Face最著名的项目是Transformers库,这是一个开源的深度学习框架,支持数百种预训练的语言模型(如BERT、GPT-3、T5等)。这些模型可以用于自然语言处理任务,如: 文本分类情感分析机器翻译文本生成(如聊天机器人)语义搜索等几乎所有主流的深度学习框架都可以搭配使用,如PyTorch和TensorFlow。

2.模型共享平台Hugging Face提供了一个模型共享平台,任何人都可以在https://huggingface.co/models上:发布自己的AI模型。 下载他人提供的预训练模型。直接通过API调用这些模型进行推理。 目前平台上有几千种开源模型,支持多种语言、任务和应用场景。

3.Dataset库 Hugging Face还提供了一个庞大的数据集库,支持研究人员和开发者下载和使用各种任务的数据集,例如: 文本分类数据集机器翻译数据集对话系统数据集自然语言理解(NLU)相关的数据集 链接:https://huggingface.co/datasets

4.Hub服务 “Hub”是一个类似于GitHub的AI模型与数据存储和协作平台,支持团队开发和共享机器学习资源。包括: 模型托管:免费发布和托管AI模型。 版本控制:支持模型和数据集的版本管理。社区互动:通过评论或点赞与社区交流。

5.推理和API服务 Hugging Face提供了强大的API服务,允许用户直接调用模型进行推断。无需自己训练或部署模型,只需通过API即可运行: 自然语言生成文本情感分析问答系统等

6.Spaces:低代码应用开发 Hugging Face推出了Spaces,这是一个支持用户快速构建和分享机器学习应用的工具。基于Gradio或Streamlit,用户可以用低代码或无代码的方式创建交互式Web应用。

7.教程和社区Hugging Face也非常注重教育和社区活动,提供大量的教程、文档和案例研究,帮助开发者快速上手。此外,他们还经常举办研讨会、竞赛和其他社区活动。

再科普一个知识,GGUF,GGUF 格式的全名为(GPT-Generated Unified Format),提到 GGUF 就不得不提到它的前身 GGML(GPT-Generated Model Language)。GGML 是专门为了机器学习设计的张量库,最早可以追溯到 2022/10。其目的是为了有一个单文件共享的格式,并且易于在不同架构的 GPU 和 CPU 上进行推理。但在后续的开发中,遇到了灵活性不足、相容性及难以维护的问题。在传统的深度学习模型开发中,PyTorch常被用来构建模型,但在部署阶段常遇到依赖库过多和版本管理复杂的问题。因此,社区开发了更轻量的模型格式,如GGML、GGMF、GGJT等。经过持续迭代,最终诞生了更强大的GGUF格式。GGUF的优势:可扩展性:可以轻松为工具或模型添加新功能,同时保持与现有模型的兼容性。支持内存映射(mmap):通过mmap技术实现模型的快速加载与存储。简单易用:无需额外依赖库,少量代码即可完成加载,且支持多种编程语言。信息完整:模型文件自带所有必要信息,不需额外配置文件。支持量化:兼容4位、8位和F16量化格式,降低显存需求,节省GPU成本。由于现在已经发布了gguf版本的模型,因此不用自己去转换也可以,如果想节省时间的建议直接访问https://modelscope.cn/models/second-state/Qwen2.5-0.5B-Instruct-GGUF/summary下载gguf模型,如果和我一样想自己折腾一下,就按照后面步骤继续配置实现对一个模型hf版的下载,再进行本地化的部署。首先从HuggingFace下载模型,确保机器上已经安装了python(3.8+版本)并添加至环境变量

pip install huggingface_hub

编写以下python脚本,命名为dw.py

from huggingface_hub import snapshot_downloadmodel_id="Qwen/Qwen2.5-0.5B-Instruct"snapshot_download(repo_id=model_id, local_dir="qwen2.5_0.5b_instruct",                          local_dir_use_symlinks=False, revision="main")

运行后即开始了模型的下载,此处选用0.5b的通义千问大模型以提升速度,同理也可以使用别的大模型

大模型手工部署指南

接下来开始格式转换,从github获取一个工具llama.cpp

https://github.com/ggerganov/llama.cpp写文章的时候发现2小时前刚刚发布了最新版,就直接用最新的release

大模型手工部署指南

下载完源码后首先安装python依赖,由于很多库需要新版本的python特性,因此使用的python3.11环境进行配置

大模型手工部署指南

安装完成后先执行一下convert_hf_to_gguf.py看看有没有啥问题

大模型手工部署指南
没有问题就切换到上一级目录,主要问题应该就是python版本或者pip库的问题,一般换个版本就能解决,然后执行以下命令:
python llama.cpp-b4651convert_hf_to_gguf.py qwen2.5_0.5b_instruct --outtype f16 --verbose--outfile qwen2.5_0.5b_instruct_f16.gguf
大模型手工部署指南

这里--outtype是输出类型,代表含义:q2_k:特定张量(Tensor)采用较高的精度设置,而其他的则保持基础级别。q3_k_l、q3_k_m、q3_k_s:这些变体在不同张量上使用不同级别的精度,从而达到性能和效率的平衡。q4_0:这是最初的量化方案,使用 4 位精度。q4_1 和 q4_k_m、q4_k_s:这些提供了不同程度的准确性和推理速度,适合需要平衡资源使用的场景。q5_0、q5_1、q5_k_m、q5_k_s:这些版本在保证更高准确度的同时,会使用更多的资源并且推理速度较慢。q6_k 和 q8_0:这些提供了最高的精度,但是因为高资源消耗和慢速度,可能不适合所有用户。fp16 和 f32: 不量化,保留原始精度。然后就可以使用ollama进行运行了,但是运行前还需要进行一个模板配置,保存成ModelFile文件(记得替换具体的文件路径)

FROM [文件路径]qwen2.5_0.5b_instruct_f16.ggufset the temperature to0.7 [higher is more creative, lower is more coherent]PARAMETER temperature 0.7PARAMETER top_p 0.8PARAMETER repeat_penalty 1.05TEMPLATE """{{ if .System }}<|im_start|>system{{ .System }}<|im_end|>{{ end }}{{ if .Prompt }}<|im_start|>user{{ .Prompt }}<|im_end|>{{ end }}<|im_start|>assistant{{ .Response }}<|im_end|>"""set the system messageSYSTEM """You are a helpful assistant."""
给不理解上面配置的同学简单写一下解释,也可以根据下面的解释自行调整配置:
参数部分解析
temperature 0.7作用:控制生成随机性(0.1-1.5)当前值:适合需要适度创造性的场景(如创意写作)建议调整范围:
技术问答/代码生成 → 0.3-0.5
创意写作 → 0.7-1.0
事实性回复 → 0.1-0.3
top_p 0.8作用:控制候选词选择范围(0.5-1.0)当前值:平衡多样性与相关性建议调整:
需要精确回答时 → 0.5-0.7
需要更多样化表达时 → 0.85-0.95
repeat_penalty 1.05作用:抑制重复内容(建议1.0-1.2)当前值:轻微抑制可优化方向:
如果出现重复 → 提升至1.1-1.2
需要复用术语时 → 保持1.0-1.05使用命令创建自定义模型
ollama create qwen2.5_0.5b_instruct --file .ModelFile
大模型手工部署指南
大模型手工部署指南
ollama加载完成后,可以使用run命令运行
大模型手工部署指南
也可以在chatbox中进行提问,输出可视化更好的回答
大模型手工部署指南
后面可能还会写更多的大模型相关文章,包括大模型漏洞挖掘,以及大模型开发入门,深度学习等,敬请期待(为啥是可能,因为没时间就不写了)...
大模型手工部署指南

内网漫游

大模型手工部署指南

攻守切磋如对拳

大模型手工部署指南

扫码获取更多精彩

大模型手工部署指南
大模型手工部署指南

出招全靠脑回路

原文始发于微信公众号(魔影安全实验室):大模型手工部署指南

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月8日00:46:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   大模型手工部署指南https://cn-sec.com/archives/3707264.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息