使用LLaMA-Factory快速训练自己的专用大模型

一、为什么需要本地部署属于自己的大模型?

  1. 趋势:我们正处于AI人工智能时代,各行各业的公司和产品都在向AI靠拢。打造垂直领域的AI模型将成为每个公司未来的发展趋势。
  2. 数据安全:在无法掌握核心算法的情况下,许多公司选择使用大公司的成熟方案。然而,这涉及到数据安全的问题。训练垂直定制化的大模型需要大量数据,而数据是公司的核心资产和基石。没有公司愿意将这些关键数据上传到外部服务器,这是公司的命脉所在。
  3. 本地部署的重要性:因此,本地部署和训练自有或定制化的大模型显得尤为重要。这不仅是未来的发展趋势,也是程序员必须掌握的关键流程和解决方案。

二、如何拥有属于自己的本地大模型呢?

经过博主深入评估和多次测试,为您推荐以下解决方案:

  • 使用 Llama3:8b 作为模型
  • 通过 Ollama 部署
  • 利用 Llama.cpp 进行量化优化
  • 采用 Unsloth 进行模型训练和微调

三、为什么要选择这个方案?

1、Llama3:8b
  • 低算力需求和成本:Llama3:8b 对计算资源的需求较小,运营成本低。
  • 卓越的上下文记忆能力:模型能够有效记住上下文,满足业务需求。
  • 灵活的微调能力:适应不同的业务场景和需求。
  • 开源:社区支持强大,开发者资源丰富。
2、Ollama
  • 活跃的生态和开发者社区:提供丰富的资源和支持。
  • 高效的部署和运行:确保模型的稳定性和性能。
  • 灵活的 API 接口:满足业务对训练模型的多样化需求。
  • 开源且易于使用:降低了上手难度,适合快速开发和迭代。
3、Llama.cpp
  • 广泛支持 Llama3:8b 的量化工具:目前市面上对 Llama3:8b 支持最好的量化工具之一。
  • 丰富的教程资源:学习和使用成本低。
  • 开源:开发者可以自由使用和修改,社区贡献积极。
4、Unsloth
  • 多样化的数据集支持:能够处理不同类型的数据,适应性强。
  • 优异的性能:训练效果显著,能够提高模型的精度。
  • 本地训练支持:对数据隐私有更好的保护。
  • 开源:开发者可以自由访问和修改,提升了灵活性和可控性。

四、话不多说,让我们开始吧!

1、安装 Ubuntu 【NVIDIA GPU驱动安装】

为什么需要使用 GPU 去跑我们的大模型呢?

  • 训练时间:使用GPU可以显著缩短模型的训练时间。例如,一个复杂的深度学习模型在GPU上可能只需要几小时,而在CPU上可能需要几天甚至几周。
  • 模型推理:在推理阶段,尤其是需要处理大量实时数据时,GPU的高并行处理能力可以提供更快的响应时间和更高的吞吐量。

虽然CPU也可以用于运行大模型,但在处理深度学习任务时,GPU的并行计算能力、计算性能和专用硬件支持使其更为适合。GPU能够显著提升大模型的训练和推理效率,降低时间和功耗成本。

一、官方方案

参考文档:

CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA Developer

二、方案二(经实践,简单 好用)

1、安装 CUDA:

官网脚本: developer.nvidia.com/cuda-toolki…

# 脚本文件命令(根据上述网站)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt search cuda-toolkit
sudo apt-get -y install cuda

2、安装驱动: shell

# 系统会推荐安装驱动的版本区间
sudo ubuntu-drivers devices
​
# 安装合适版本驱动
sudo apt-get install -y cuda-drivers-550
​
# 验证
nvidia-smi
watch -n 5 nvidia-smi

image-20240516161721445.png

2、首先我们需要安装 Ollama

参考官方文档: GitHub - ollama/ollama: Get up and running with Llama 3, Mistral, Gemma, and other large language models.

方案 一:快速安装,只能安装最新版本,经检测 最新版有Bug。

curl -fsSL https://ollama.com/install.sh | sh

方案二:手动安装,自由灵活。

1、二进制文件下载。

sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama

历史版本下载:

Releases · ollama/ollama (github.com)

2、给文件添加执行权限

sudo chmod +x /usr/bin/ollama

3、创建 ollama 用户

sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama

4、创建配置文件

vi /etc/systemd/system/ollama.service

配置文件参考

[Unit]
Description=Ollama Service
After=network-online.target
​
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
​
# 监听端口
Environment="OLLAMA_HOST=0.0.0.0:11434"
# 模型下载位置 (需要给 ollama用户文件夹权限: sudo chown ollama:ollama ollama/)
Environment="OLLAMA_MODELS=/home/ek-p/ollama"
# 单模型并发数量
Environment="OLLAMA_NUM_PARALLEL=100"
# Gpu选择 (如有GPU,需要在硬件安装GPU去驱动,安装文档参考下文。)
Environment="CUDA_VISIBLE_DEVICES=0,1"
# 多模型并发数量
Environment="OLLAMA_MAX_LOADED_MODELS=3"
​
[Install]
WantedBy=default.target

5、启动 Ollama

sudo systemctl daemon-reload
sudo systemctl enable ollama

6、查看日志

journalctl -u ollama -r

7、问题:文件夹权限不够

May 16 16:24:25 ek-s systemd[1]: ollama.service: Failed with result 'exit-code'.
May 16 16:24:25 ek-s systemd[1]: ollama.service: Main process exited, code=exited, status=1/FAILURE
May 16 16:24:25 ek-s ollama[10780]: Error: mkdir /home/ekw-p: permission denied

sudo chown ollama:ollama ollama/ 

8、运行成功

继续查看日志

May 16 16:39:47 ek-s ollama[4183]: time=2024-05-16T16:39:47.384+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2"
May 16 16:39:47 ek-s ollama[4183]: time=2024-05-16T16:39:47.383+08:00 level=INFO source=gpu.go:127 msg="detected GPUs" count=1 library=/usr/lib/x86_64-li>
May 16 16:39:47 ek-s ollama[4183]: time=2024-05-16T16:39:47.125+08:00 level=INFO source=gpu.go:122 msg="Detecting GPUs"
May 16 16:39:47 ek-s ollama[4183]: time=2024-05-16T16:39:47.125+08:00 level=INFO source=payload.go:44 msg="Dynamic LLM libraries [cpu cpu_avx cpu_avx2 cu>
May 16 16:39:44 ek-s ollama[4183]: time=2024-05-16T16:39:44.222+08:00 level=INFO source=payload.go:30 msg="extracting embedded files" dir=/tmp/ollama1963>
May 16 16:39:44 ek-s ollama[4183]: time=2024-05-16T16:39:44.221+08:00 level=INFO source=routes.go:1034 msg="Listening on [::]:11434 (version 0.1.34)"
May 16 16:39:44 ek-s ollama[4183]: time=2024-05-16T16:39:44.220+08:00 level=INFO source=images.go:904 msg="total unused blobs removed: 0"
May 16 16:39:44 ek-s ollama[4183]: time=2024-05-16T16:39:44.220+08:00 level=INFO source=images.go:897 msg="total blobs: 0"

3、 接着我们需要使用 Ollama 运行我们的 大模型 Llama3:8b

1、使用 ollama 查看模型列表

ollama list

2、下载大模型

ollama Model 库:library (ollama.com)

经检测目前比较适用的大模型为:llama3:8b

ollama pull llama3:8b

3、运行大模型

ollama run llama3:8b

image-20240516175118296.png

4、测试我们的大模型

image-20240516175532722.png 成功。

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

<think>好的,我现在需要帮用户解决如何从LLaMA-Factory进行模型量化并导出的问题。首先,我得回想一下用户提供的引用内容,看看里面有没有相关的信息。 引用[1]提到LLaMA-Factory支持多种量化方法,比如GPTQ、AQLM、AWQ等,这些都属于后训练量化方法。还提到量化导出,所以关键步骤可能在这里。引用[3]和[4]也提到了模型导出和格式转换,特别是GGUF格式,可能需要用到llama.cpp工具。 接下来,用户需要的是具体的教程和方法,所以应该分步骤说明。首先应该确定用户是否已经安装了LLaMA-Factory,可能需要先配置环境。然后,选择量化方法,比如GPTQ,因为引用里提到了这是常用的。接着,使用提供的脚本或命令进行量化,可能需要指定模型路径、数据集等参数。之后,导出模型,可能需要用export_model.py脚本,并转换格式,比如GGUF,方便后续使用。 需要注意的是,不同的量化方法可能有不同的参数设置,用户需要根据自己的需求调整。例如,GPTQ需要指定比特数和组大小,AWQ可能需要校准数据。另外,导出后的模型加载和测试也是重要的一环,确保量化后的模型能正常工作。 用户可能遇到的问题包括环境配置错误、参数设置不当,或者导出格式不兼容,所以需要提醒他们注意这些方面。同时,引用[2]提到用户是初学者,可能在拉取模型时有疑问,所以需要明确说明模型路径的处理,确保用户理解如何正确输入路径。 最后,生成相关问题时要围绕量化方法、参数影响、性能比较、格式转换和常见错误处理,这些都是用户可能进一步想了解的。需要确保回答结构清晰,步骤详细,并且参考了提供的引用内容,以保持准确性和可靠性。</think>以下是基于LLaMA-Factory进行模型量化并导出的详细教程: ### 一、量化准备阶段 1. **环境配置** 确保已安装最新版LLaMA-Factory框架,推荐使用Python 3.8+环境,安装依赖: ```bash git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory && pip install -r requirements.txt ``` 2. **模型准备** 在`models`目录下存放预训练模型文件(如llama-7b),需包含完整的模型权重和配置文件[^2] ### 二、量化操作步骤 1. **选择量化方法** 支持GPTQ/AWQ/QLoRA等后训练量化方法。以GPTQ为例: ```bash python src/train_bash.py --quantization_bit 4 --quantization_method gptq \ --model_name_or_path ./models/llama-7b --dataset alpaca_en ``` 其中`quantization_bit`指定量化比特数(常用4/8bit),`dataset`用于校准量化参数[^1] 2. **关键参数说明** ```markdown --quantization_group_size 128 # 量化分组大小 --double_quantization # 启用双重量化 --quantization_zero_point # 使用零点量化 ``` ### 三、模型导出流程 1. **导出量化模型** 使用专用导出脚本: ```bash python src/export_model.py --model_name_or_path ./models/llama-7b \ --quantization_bit 4 --export_dir ./quant_models ``` 导出后的模型包含`*.safetensors`权重文件和量化配置文件[^3] 2. **格式转换(可选)** 如需转换为GGUF格式: ```bash python scripts/convert_to_gguf.py --input_dir ./quant_models \ --output_format gguf --output_dir ./gguf_models ``` 支持与llama.cpp等推理框架兼容[^4] ### 四、验证与使用 1. **加载量化模型** ```python from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained( "./quant_models", device_map="auto", load_in_4bit=True ) ``` 2. **性能验证** 使用`scripts/benchmark.py`测试推理速度与显存占用,量化后显存消耗应降低40-70%
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值