当前位置: 首页 > news >正文

Ubuntu环境中LLaMA Factory 的部署与配置—构建大语言模型微调平台 - 实践

1. LLaMA-Factory

什么是LLaMA-Factory? LLaMA-Factory,全称Large Language Model Factory,即大型语言模型工厂。它支持 多种预训练模型和微调算法 ,提供了一套完整的工具和接口,使得用户能够轻松地对 预训练的模型进行定制化的训练和调整,以适应特定的应用场景,如智能客服、语音识别、机器翻译 等。

github: https://github.com/hiyouga/LLaMA-Factory

入门教程:https://zhuanlan.zhihu.com/p/695287607

在这里插入图片描述
特点

2. 安装LLaMA Factory

参考:https://llamafactory.readthedocs.io/zh-cn/latest/getting_started/installation.html

2.1 安装git

sudo apt install git

在这里插入图片描述

2.2 利用git 拉去 LLaMA Factory

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git

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

2.3 安装conda

  1. 安装Conda 所需依赖:

    sudo apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6

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

  2. 下载conda 安装包:

    wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh

    若报错:目录没有写入权限

    lbm@ubuntu:/opt$ wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
    --2025-11-10 16:55:17--  https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
    正在解析主机 repo.anaconda.com (repo.anaconda.com)... 104.16.32.241, 104.16.191.158, 2606:4700::6810:20f1, ...
    正在连接 repo.anaconda.com (repo.anaconda.com)|104.16.32.241|:443... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度: 1102495056 (1.0G) [application/octet-stream]
    Anaconda3-2024.10-1-Linux-x86_64.sh: 权限不够
    无法写入 ‘Anaconda3-2024.10-1-Linux-x86_64.sh’ (成功)

    使用 sudo 下载到 /opt

    # 使用 sudo 权限下载
    sudo wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh -P /opt

    在这里插入图片描述

    cd /opt
    # 安装conda,一路回车和yes
    sudo bash Anaconda3-2024.10-1-Linux-x86_64.sh

    注意: 终端出现Anaconda3 will now be installed into this location:可输入自定义路径进而支持自定义conda安装路径(直接回车会默认安装到HOME目录)。
    在这里插入图片描述

  3. conda配置环境,默认没有配置环境

    在这里插入图片描述

    查看conda安装位置

    在这里插入图片描述
    输入 nano ~/.bashrc

    bashrc 文件的最后一行加入:export PATH=/home/lbm/anaconda3/bin:$PATH
    (lbm是自己的用户名)。按Ctrl+x 保存并退出编辑

    在这里插入图片描述
    配置生效,用conda -V查看版本正常了

    source ~/.bashrc

    在这里插入图片描述

4 创建环境

  1. 创建 llama-factory 微调虚拟环境

    conda create -n llama-factory python=3.10

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    激活环境

    conda activate llama-factory
  2. 安装相关依赖

    pip install -e ".[torch,metrics]" --no-build-isolation -i https://mirrors.aliyun.com/pypi/simple

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

  3. 启动 LLama-Factory

    llamafactory-cli webui

    在这里插入图片描述
    (这里我用的是虚拟机 ubuntu22.04 安装 LLama-Factory ,可以在 win 系统下通过虚拟机 IP 地址访问 LLama-Factory 界面)

    在这里插入图片描述

5. Gradio 域名微调

如果 ubuntu 是服务器版本没有桌面的,你又想使用图形化微调,可以通过gradio 创建公开域名链接进行微调

0 表示第一张显卡:`CUDA_VISIBLE_DEVICES=0`
1 表示创建1个域名链接:`GRADIO_SHARE=1`

查看有多少张卡

nvidia-smi -L

在这里插入图片描述
启动命令:

CUDA_VISIBLE_DEVICES=0 GRADIO_SHARE=1 llamafactory-cli

在这里插入图片描述
gradio报错:

  • 创建目录:mkdir -p /home/lbm/.cache/huggingface/gradio/frpc
  • 进入目录:cd /home/lbm/.cache/huggingface/gradio/frpc
  • 我用 win 浏览器下载,然后手动上传到frpc文件下:https://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_amd64,因为:wget https://github.com/gradio-app/gradio/raw/main/gradio/frpc_linux_amd64-O frpc_linux_amd64_v0.3,下载有问题!!
    在这里插入图片描述
    如上图,上传进 frpc文件里,然后重命名: mv frpc_linux_amd64 frpc_linux_amd64_v0.3
    在这里插入图片描述
    添加权限: chmod +x frpc_linux_amd64_v0.3
    在这里插入图片描述
    启动 :CUDA_VISIBLE_DEVICES=0 GRADIO_SHARE=1 llamafactory-cli webui
    在这里插入图片描述
    这样就生成了一条公开域名,你也可以分享给其他人用:https:// b551a47a2dd5.gradio.live/,这里就部署结束了!!后面就是上传数据集做训练了

训练效果展示:

在这里插入图片描述

总而言之,在 Ubuntu 上成功部署 LLaMA Factory,标志着您已经拥有了一个强大且灵活的大语言模型微调平台。它不仅集成了当前主流的微调技术,还提供了直观的操作界面,让研究和开发工作事半功倍。“行百里者半九十”。环境的搭建只是第一步,真正的价值将在您后续的微调实验和创新应用中得以体现。请不要让工具止步于安装,立即开始您的第一次模型微调,在真实的项目中感受生成式 AI 的魅力与力量吧!

http://www.rkmt.cn/news/89235.html

相关文章:

  • WSL安装方法
  • 【题解】P11453 [USACO24DEC] Deforestation S
  • 【dl】【WSL2】如何获得“Winux”?Windows 上的 Linux 子系统 —— 比虚拟机更好的选择
  • CSS3动画:2D/3D转换全解析
  • P2014 [CTSC1997] 选课
  • 彻底讲清 MySQL InnoDB 锁机制:从 Record 到 Next-Key 的全景理解
  • MCU的启动流程你了解么?
  • I2C通信最全面的讲解:从协议到硬件设计
  • 【题解】Luogu P10752 [COI 2024] Sirologija
  • Python字符串:别只用来打印!这5个高级用法让代码效率翻倍
  • 【题解】Atcoder ABC432 C
  • 赶due党救急!论文降重2小时搞定,不熬夜
  • 计算机论文模板推荐:8大平台+AI修改工具
  • 期待回家,顺便写点年度总结
  • E No address added out of total 1 resolved地址绑定失败: No address added out of total 1 resolved errors:
  • JavaScript 异常原因(Error Cause):实现分布式系统错误链追踪的序列化与反序列化
  • JavaScript 记录(Records)与 元组(Tuples):实现堆内存中不可变复合数据结构的内存布局
  • 线程并发编程,同步与互斥机制
  • Python列表与元组:搞懂这3个核心差异,再也不纠结用哪个
  • MQ消息队列相关知识与对比
  • 完整教程:PPT导出为图片的格式选择:JPG与PNG的区别
  • 代码随想录算法训练营第三十二天 | 完全背包、518. 零钱兑换 II、377. 组合总和 Ⅳ、卡码网57. 爬楼梯
  • 基于深度学习的文物图像修复系统
  • JavaScript 引擎中的分支预测器(Branch Predictor)友好性:如何写出减少 CPU 误判的代码
  • Day 37 - 早停策略与模型权重的保存
  • 【SOVD】软件定义汽车时代的诊断新范式
  • 最全词典整合收录:打造专业英语学习利器
  • C盘哪些文件可以删除?
  • 18、深入了解 Linux 文件系统:导航与分区指南
  • PLM系统更专业化:更适配汽车电子芯片半导体研发的高标准管理选择——全星研发项目管理APQP软件系统应用解析