本地离线模型搭建指南-LLaMA-Factory训练框架及工具
搭建一个本地中文大语言模型(LLM)涉及多个关键步骤,从选择模型底座,到运行机器和框架,再到具体的架构实现和训练方式。以下是一个详细的指南,帮助你从零开始构建和运行一个中文大语言模型。
本地离线模型搭建指南将按照以下四个部分展开
- 中文大语言模型底座选择依据
- 本地运行显卡选择
- RAG架构实现
- LLaMA-Factory训练框架及工具
4 训练架构及工具
4.1 为什么要使用LLaMA-Factory进行训练
LLaMA-Factory是一个专为大模型训练设计的开源平台,具有以下几个优势:
- 快速学习和应用: 对于没有微调大模型经验的用户,通过学习LLaMA-Factory后,可以快速地训练出自己需要的模型。
- 理解微调技术: 对于技术人员,LLaMA-Factory提供了一个很好的学习平台,通过阅读源码,可以深入了解大模型的微调技术。
- 捷径: LLaMA-Factory为用户提供了一条走向大模型微调的捷径,使用户能够快速掌握相关概念和技术。
4.2 LLaMA-Factory训练所能解决的问题
- 大模型的实际应用: 企业想要利用大模型进行实际应用时,必须懂得微调的过程,而LLaMA-Factory提供了一个实用的平台来实现这一点。
- 个性化模型训练: 用户可以通过LLaMA-Factory快速训练出适合自己需求的模型,满足不同领域的具体要求。
- 技术理解和提升: 技术人员可以通过LLaMA-Factory的源码学习,进一步理解大模型的微调技术,并应用于实际项目中。
4.3 LLaMA-Factory的训练步骤和方法
4.3.1 模型训练阶段
- 预训练阶段(Pre-Training):
预训练是大模型训练的初始阶段,主要目的是通过大规模数据集训练基础模型。这一步是最消耗计算资源的,通常需要使用大量的计算集群。 - 监督微调阶段(Supervised Finetuning, SFT):
这个阶段的训练数据质量较高,通常由人工筛选或生成。经过这个阶段的模型已经具备上线的能力。 - 基于人类反馈的强化学习(RLHF):
- 奖励建模阶段(Reward Modeling): 在这个阶段,模型不仅输出预测的内容,还输出一个奖励值(评分值),用于后续的强化学习。
- 强化学习阶段(Reinforcement Learning): 通过奖励模型对多个输出进行评分,并基于评分进行加权,反向传播调整模型参数。
4.3.2 模型训练模式
根据具体需求,可以选择不同的训练模式:
- 模式一: 基于base模型 + 领域任务的SFT
- 模式二: 基于base模型 + 领域数据 continue pre-train + 领域任务SFT
- 模式三: 基于base模型 + 领域数据 continue pre-train + 通用任务SFT + 领域任务SFT
- 模式四: 基于base模型 + 领域数据 continue pre-train + 通用任务与领域任务混合SFT
- 模式五: 基于base模型 + 领域数据 continue pre-train(混入SFT数据 + 通用任务与领域任务混合SFT)
- 模式六: 基于chat模型 + 领域任务SFT
- 模式七: 基于chat模型 + 领域数据 continue pre-train + 领域任务SFT
4.3.3 是否需要继续预训练(continue pre-train)
- 数据集差异大: 如果领域任务的数据集与预训练的数据集差异较大,建议进行continue pre-train。
- 数据量较大: 如果领域任务的数据量较大(token在1B以上),并且只追求领域任务的效果,也建议进行continue pre-train。
4.3.4 选择chat模型还是base模型
- base模型: 如果希望模型的通用能力不下降,建议选择base模型进行多任务混合训练。
- chat模型: 如果只追求领域任务的效果,可以选择chat模型进行领域任务的SFT。
4.4 实践建议
- 资源充足: 如只考虑领域任务效果,建议选择模式二;如考虑模型综合能力,建议选择模式五。
- 资源有限: 建议选择模式六。
- 一般情况下: 不进行RLHF微调。
4.5 开发工具库
LLaMA-Factory使用了一些关键的开发工具库,包括Transformers和PEFT库,后者提供了多种高效的微调方法,如LoRA、AdaLoRA、P-tuning等。
通过以上步骤和方法,用户可以有效地使用LLaMA-Factory进行大模型的微调训练,满足不同领域和任务的需求。
4.6 本地LLaMA-Factory训练模型实践运行配置
| 底座 | 包含模型 | 模型参数大小 | 机器配置 | 显存大小 | 是否可运行 |
|---|---|---|---|---|---|
| ChatGLM | ChatGLM3-6B | 6B | CPU 16核心 32G内存 | 无 | 未测试 |
| ChatGLM | ChatGLM3-6B | 6B | 显卡4070Ti | 16G | 可以 |
| ChatGLM | ChatGLM4-9B | 9B | 显卡4070Ti | 16G | 未测试 |
| LLaMA | Chinese-LlaMA2 | 7B | 显卡3060Ti | 8G | 未测试 |
| Qwen | Qwen1.5 | 7B | 显卡4070Ti | 16G | 可以 |
更多详细信息,请访问
从LLaMA-Factory项目认识微调
LLaMA-Factory QuickStart
5 结论
搭建本地中文大语言模型是一个复杂而系统的工程,涉及模型选择、硬件配置、框架选择、架构实现、训练工具和方法等多个方面。通过合理选择和配置,可以在本地成功搭建并运行一个高性能的中文大语言模型。
更多详细信息,请访问
从LLaMA-Factory项目认识微调
LLaMA-Factory QuickStart
相关文章:
本地离线模型搭建指南-LLaMA-Factory训练框架及工具
搭建一个本地中文大语言模型(LLM)涉及多个关键步骤,从选择模型底座,到运行机器和框架,再到具体的架构实现和训练方式。以下是一个详细的指南,帮助你从零开始构建和运行一个中文大语言模型。 本地离线模型搭…...
数智化金融采购系统特点
数智化金融采购系统是郑州信源公司结合众多金融行业采购特点,采用流程优化再造的理念,为银行、保险、证券、交易所等金额机构打造的细分行业产品,助力金融行业采购合规管理、风险防范、成本管理和效率提升。 系统特点 1、全业务覆盖&#x…...
使用 SwiftUI 为 macOS 创建类似于 App Store Connect 的选择器
文章目录 前言创建选择器组件使用选择器组件总结前言 最近,我一直在为我的应用开发一个全新的界面,它可以让你查看 TestFlight 上所有可用的构建,并允许你将它们添加到测试群组中。 作为这项工作的一部分,我需要创建一个组件,允许用户从特定构建中添加和删除测试群组。我…...
Python26 Lambda表达式
1.什么是lambda表达式 lambda 是 Python 中的一个关键字,用于定义简单的匿名函数。与 def 关键字定义的标准函数不同,lambda 函数主要用于需要一个函数对象作为参数的简短操作。lambda 函数的设计哲学是简洁,因此它只能包含一条表达式&#…...
2024年数据、自动化与智能计算国际学术会议(ICDAIC 2024)
全称:2024年数据、自动化与智能计算国际学术会议(ICDAIC 2024) 会议网址:http://www.icdaic.com 会议地点: 厦门 投稿邮箱:icdaicsub-conf.com投稿标题:ArticleTEL。投稿时请在邮件正文备注:学生投稿&#…...
cuda 学习笔记4
一 基本函数 在GPU上开辟空间,无论定义的数据是float还是int ,还是****gpu_int,分配空间的函数都是下面固定的形式 (void**)& 1.函数定义,global void 是配套使用的,是在GPU上定义,也就是GPU上执行,CPU上调用的函数…...
ZSWatch 开源项目介绍
前言 因为时不时逛 GitHub 会发现一些比较不错的开源项目,突发奇想想做一个专题,专门记录开源项目,内容不限于组件、框架以及 DIY 作品,希望能坚持下去,与此同时,也会选取其中的开源项目做专题分析。希望这…...
Ansible-综合练习-生产案例
斌的招儿 网上教程大多都是官网模板化的教程和文档,这里小斌用自己实际生产环境使用的例子给大家做一个详解。涉及到一整套ansible的使用,对于roles的使用,也仅涉及到tasks和files目录,方便大家快速上手并规范化管理。 0.环境配置…...
lombok关于构造器的注解的坑【避坑】
文章目录 背景问题问题解决 背景 平时,我们不定义构造器时,会自动创建一个无参的构造器。 当我们提供了任意有参构造器后,将不再自动创建无参构造器。 问题 为了方便创建对象并同时赋值,使用了全参构造器的注解NoArgsConstruct…...
指针并不是用来存储数据的,而是用来存储数据在内存中地址(内存操作/函数指针/指针函数)
推荐:1、4、5号书籍 1. 基本概念 首先,让小明了解指针的基本概念: 指针的定义:指针是一个变量,它存储的是另一个变量的地址。指针的声明:例如,int *p表示一个指向整数的指针变量p。 2. 形象…...
iso21434认证的意义
ISO 21434认证对于汽车行业具有深远的意义,主要体现在以下几个方面: 确保汽车网络安全:ISO 21434认证旨在确保汽车在设计和制造过程中能够抵御潜在的网络威胁和攻击。通过遵循该标准,汽车制造商能够开发出具备可靠网络安全能力的…...
分页处理封装+分页查询题目列表
文章目录 1.sun-club-common封装分页1.com/sunxiansheng/subject/common/eneity/PageInfo.java2.com/sunxiansheng/subject/common/eneity/PageResult.java 2.sun-club-application-controller1.SubjectInfoDTO.java 继承PageInfo并新增字段2.SubjectController.java 3.sun-clu…...
每天一个项目管理概念之WBS
项目管理中的工作分解结构(Work Breakdown Structure,简称WBS)是规划和管理项目的核心工具之一,它通过将复杂的项目任务细分为更小、更易管理的部分来提高项目执行的效率与效果。WBS不仅有助于明确项目范围,还为时间管…...
linux安装mysql8并查看密码
1. **下载RPM包**: wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 2. **安装RPM包**: sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm 3. **更新YUM缓存**: sudo yum makecache 4. **安装…...
[渗透测试] 任意文件读取漏洞
任意文件读取漏洞 概述 漏洞成因 存在读取文件的功能(Web应用开放了文件读取功能)读取文件的路径客户端可控(完全控制或者影响文件路径)没有对文件路径进行校验或者校验不严格导致被绕过输出文件内容 漏洞危害 下载服务器中的…...
sudo: /etc/init.d/ssh: command not found
在 WSL 中尝试启动 SSH 服务时遇到 sudo: /etc/init.d/ssh: command not found 错误 安装 OpenSSH 服务器 更新软件包列表 sudo apt update安装 OpenSSH 服务器 sudo apt install openssh-server启动 SSH 服务 在 WSL 2 上,服务管理与传统 Linux 系统有所不同。你可以手动启动…...
秋招倒计时?到底需要准备到什么程度?
秋招倒计时?需要准备到什么程度? 秋招,面向全国的毕业生,招聘的激烈程度可想而知!按照往年时间,秋招通常从八月初开始,九月黄金期,十月中后期。距今刚好差不多60天,时间其…...
6.26.4.1 基于交叉视角变换的未配准医学图像多视角分析
1. 介绍 许多医学成像任务使用来自多个视图或模式的数据,但很难有效地将这些数据结合起来。虽然多模态图像通常可以在神经网络中作为多个输入通道进行配准和处理,但来自不同视图的图像可能难以正确配准(例如,[2])。因此,大多数多视…...
62.指针和二维数组(2)
一.指针和二维数组 1.如a是一个二维数组,则数组中的第i行可以看作是一个一维数组,这个一维数组的数组名是a[i]。 2.a[i]代表二维数组中第i行的首个元素的地址,即a[i][0]的地址。 二.进一步思考 二维数组可以看作是数组的数组,本…...
学生表的DDL和DML
DDL -- 创建学生表 CREATE TABLE students (student_id INT PRIMARY KEY AUTO_INCREMENT,studentname VARCHAR(50),age INT,gender VARCHAR(10) );-- 创建课程表 CREATE TABLE courses (course_id INT PRIMARY KEY AUTO_INCREMENT,course_name VARCHAR(50) );-- 创建教师表 CR…...
别再死记硬背公式了!用大白话和动图拆解Transformer的注意力机制
用生活场景拆解Transformer:注意力机制就像一场高效会议 想象你正在主持一场跨国团队会议,成员们用不同语言讨论项目进展。作为主持人,你需要快速捕捉每个人的发言重点,判断谁的意见最关键,并协调不同观点之间的关系—…...
你还在手动查证引文和逻辑漏洞?Perplexity书评辅助的实时溯源与反事实验证机制(仅限Pro+插件开放)
更多请点击: https://codechina.net 第一章:你还在手动查证引文和逻辑漏洞?Perplexity书评辅助的实时溯源与反事实验证机制(仅限Pro插件开放) Perplexity Pro 插件引入的实时溯源与反事实验证机制,彻底重构…...
VideoDownloadHelper:三分钟掌握浏览器视频下载技巧,告别观看限制
VideoDownloadHelper:三分钟掌握浏览器视频下载技巧,告别观看限制 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是…...
UML类图实战:从设计到代码的精准映射
1. 为什么需要从UML类图到代码的精准映射? 第一次接触UML类图时,我总觉得它像是一张"纸上谈兵"的设计稿。直到在实际项目中踩过几次坑才明白,类图与代码之间的精准映射能力,是区分普通程序员和架构师的关键技能之一。 …...
Embulk高级用法指南:如何实现高效并行处理与数据分片
Embulk高级用法指南:如何实现高效并行处理与数据分片 【免费下载链接】embulk Embulk: Pluggable Bulk Data Loader. 项目地址: https://gitcode.com/gh_mirrors/em/embulk Embulk是一个强大的可插拔批量数据加载器,专为高效处理大规模数据迁移而…...
别再复制粘贴了!手把手教你用C语言实现MODBUS CRC-16校验(附5种算法对比)
MODBUS CRC-16校验算法实战指南:从原理到最优实现选择 在工业自动化领域,MODBUS协议因其简单可靠而广泛应用,而CRC-16校验则是保障数据完整性的关键环节。许多开发者习惯直接复制网络上的校验代码,却常常遇到内存溢出、性能瓶颈或…...
SD-PPP终极秘籍:在Photoshop中直接召唤AI助手的实战宝典
SD-PPP终极秘籍:在Photoshop中直接召唤AI助手的实战宝典 【免费下载链接】sd-ppp A Photoshop AI plugin 项目地址: https://gitcode.com/gh_mirrors/sd/sd-ppp 你是否曾为了给设计作品添加AI特效,不得不在Photoshop和AI工具间来回切换、导出导入…...
【Perplexity专利搜索黄金法则】:20年资深IP专家首度公开3大反直觉检索技巧
更多请点击: https://intelliparadigm.com 第一章:Perplexity专利搜索黄金法则的底层逻辑 Perplexity 作为基于语言模型的智能搜索工具,其在专利检索场景中的卓越表现并非源于简单关键词匹配,而是植根于对专利文本结构化语义、法…...
告别轮询!手把手教你用S32K3的FlexCAN Enhanced FIFO+DMA实现高效CAN FD数据接收
告别轮询!手把手教你用S32K3的FlexCAN Enhanced FIFODMA实现高效CAN FD数据接收 在汽车电子和工业控制领域,CAN FD总线的高负载场景对MCU的实时性提出了严苛挑战。当波特率飙升至5Mbps、单帧数据扩展到64字节时,传统的中断接收模式会让CPU陷入…...
主流 RAG 架构与方法总结
一. 基础知识库RAG:Naive RAG / Standard RAG 1.1 架构流程 最基础,最常见的 RAG 架构。 文档上传 → 文档解析 → 文本切块 Chunking → Embedding 向量化 → 写入向量库 / 搜索索引 → 用户提问 → 向量检索 Top-K → 拼接上下文 → LLM 生成答案 …...
