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

Windows下安装 LLama-Factory 保姆级教程

本机配置

  • 品牌:联想拯救者Y9000x-2022
  • CPU:12th Gen Intel® Core™ i7-12700H 2.30 GHz
  • RAM:24.0 GB (23.8 GB 可用)
  • GPU: NVIDIA GeForce RTX 3060 Laptop GPU 6G
  • CUDA版本:12.3 (可以在PowerShell下输入 nvidia-smi 命令查看自己的CUDA版本)

LLama-Factory

介绍

  1. LLaMA Factory 是一个旨在简化大型语言模型训练和微调流程的平台。它支持多种预训练模型,如LLaMA、LLaVA、Mistral等,以及多种训练算法,包括增量预训练、多模态指令监督微调、奖励模型训练等。此外,LLaMA Factory 还支持不同的运算精度和优化算法,以及分布式训练,使得在单机多卡或多机多卡环境下进行训练成为可能。

  2. LLaMA Factory 提供了丰富的特性,包括但不限于:

    • 模型种类:支持多种大型语言模型。
    • 训练算法:支持多种微调技术。
    • 运算精度:支持不同精度的微调,包括全参数微调和LoRA微调。
    • 优化算法:提供了多种优化算法,如GaLore、BAdam等。
    • 加速算子:支持FlashAttention和Unsloth等加速算子。
    • 推理引擎:支持Transformers和vLLM。
    • 实验面板:支持LlamaBoard、TensorBoard等多种实验面板。
  3. LLaMA Factory 还提供了基于gradio的网页版工作台,使得初学者可以快速上手操作,开发出自己的第一个模型。此外,它还支持华为NPU适配,允许在NPU上进行模型训练和推理。

  4. 对于分布式训练,LLaMA Factory 支持DDP、DeepSpeed和FSDP三种分布式引擎,可以根据任务需求与设备选择使用。DDP通过实现模型并行和数据并行来加速训练,而DeepSpeed和FSDP则提供了更高级的优化技术。

  5. LLaMA Factory 还提供了评估工具,可以在模型训练完成后评估模型效果,自动计算BLEU和ROUGE分数,并保存评估结果。

安装步骤

  1. git下载:git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
  2. 本机新建虚拟环境,并激活进入deeplearning虚拟环境中。
conda create -n deeplearning python=3.11 -yconda activate deeplearning

在这里插入图片描述
3. cd 到项目中根据项目README.md,安装项目依赖的库:pip install -e ".[torch,metrics]";等待安装结束;
4. 根据README.md说明,在Windows环境下,还需要安装预编译的 bitsandbytes 库,支持 CUDA 11.1 到 12.2, 请根据自己的 CUDA 版本情况选择适合的发布版本。

pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl
  1. 到此,基本根据README.md中说明,已经安装好必备的库,启动项目时候需要啥再进一步安装,具体可以参考README.md中来搭建本地大模型开发训练环境。

启动项目

  1. LLaMA Board 可视化微调(由 Gradio 驱动):llamafactory-cli webui,(也可以执行命令:python src/webui.py)顺利的话会在浏览器弹出如下界面,表示启动成功。
    在这里插入图片描述

在这里插入图片描述
3. 注意一下,需要把梯子卸了,要不执行启动项目命令,无法访问,可能在有梯子的条件下需要配置一些东西,没仔细研究。
在这里插入图片描述

界面说明

  1. 设置语言,可以选择中文
    在这里插入图片描述

  2. 选择模型名称,主流的开源的模型都有。
    在这里插入图片描述

  3. 模型地址:
    在这里插入图片描述

  4. 微调配置:
    在这里插入图片描述

相关文章:

  • 学习C++的第七天!
  • C# 里,常用的数据类型转换说明,以及简单示例
  • 猫头虎带你解决:error Error: certificate has expired
  • 7.lambda表达式
  • g++的一些常用标识
  • 基于飞腾平台的OpenCV的编译与安装
  • linux网络编程9
  • 数据结构2——单链表
  • 【C++】类型转换
  • 人工智能开发实时语音识别系统应用
  • USB2.0主机设备检测过程以及信号分析
  • 【算法业务】互联网风控业务中的拒绝推断场景算法应用分享(涉及半监督算法、异常检测、变分自编码、样本权重自适应调整、迁移学习等)
  • 2024年项目经理不能错过的开源项目管理系统大盘点:全面指南
  • 使用 Docker 部署 RStudio 的终极教程
  • 智算中心动环监控:构建高效、安全的数字基础设施@卓振思众
  • JavaScript 如何正确处理 Unicode 编码问题!
  • CentOS6 编译安装 redis-3.2.3
  • Java面向对象及其三大特征
  • Java应用性能调优
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • React+TypeScript入门
  • scrapy学习之路4(itemloder的使用)
  • swift基础之_对象 实例方法 对象方法。
  • vue.js框架原理浅析
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 第十八天-企业应用架构模式-基本模式
  • 对象管理器(defineProperty)学习笔记
  • 高性能JavaScript阅读简记(三)
  • 前嗅ForeSpider中数据浏览界面介绍
  • 入门级的git使用指北
  • 实战|智能家居行业移动应用性能分析
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 我感觉这是史上最牛的防sql注入方法类
  • 一个JAVA程序员成长之路分享
  • 怎样选择前端框架
  • nb
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #Linux(权限管理)
  • #window11设置系统变量#
  • $nextTick的使用场景介绍
  • (11)iptables-仅开放指定ip访问指定端口
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (备忘)Java Map 遍历
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (学习日记)2024.01.19
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (源码分析)springsecurity认证授权
  • (转)nsfocus-绿盟科技笔试题目
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript