Navigate to WaytoAGI Wiki →
Home/Question List/Question Detail

MoE模型训练为什么会比dense模型要更困难?

Answer

MoE 模型训练比 dense 模型更困难的原因主要包括以下几点:

  1. 内存需求:MoE 模型需要将所有专家加载到内存中,这导致其需要大量的 VRAM。
  2. 微调挑战:微调 MoE 模型存在困难,历史上在微调过程中较难泛化。
  3. 训练设置:将密集模型转换为 MoE 模型时,虽然训练超参数和训练设置相同,但 MoE 模型的特殊结构仍带来了训练上的复杂性。
  4. 计算效率与泛化平衡:MoE 模型在训练时更具计算效率,但在微调时难以实现良好的泛化效果。
Content generated by AI large model, please carefully verify (powered by aily)

References

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

最后,研究者介绍了预训练模型之上训练的监督微调(SFT)实验。他们遵循LLaVA-1.5和LLaVA-NeXT,从不同的数据集中收集了大约100万个SFT样本。鉴于直观上,更高的图像分辨率会带来更好的性能,研究者还采用了扩展到高分辨率的SFT方法。监督微调结果如下:表4展示了与SOTA比较的情况,「-Chat」表示监督微调后的MM1模型。首先,平均而言,MM1-3B-Chat和MM1-7B-Chat优于所有列出的相同规模的模型。MM1-3B-Chat和MM1-7B-Chat在VQAv2、TextVQA、ScienceQA、MMBench以及最近的基准测试(MMMU和MathVista)中表现尤为突出。其次,研究者探索了两种MoE模型:3B-MoE(64位专家)和6B-MoE(32位专家)。在几乎所有基准测试中,苹果的MoE模型都比密集模型取得了更好的性能。这显示了MoE进一步扩展的巨大潜力。第三,对于30B大小的模型,MM1-30B-Chat在TextVQA、SEED和MMMU上的表现优于Emu2-Chat37B和CogVLM-30B。与LLaVA-NeXT相比,MM1也取得了具有竞争力的全面性能。不过,LLaVA-NeXT不支持多图像推理,也不支持少样本提示,因为每幅图像都表示为2880个发送到LLM的token,而MM1的token总数只有720个。这就限制了某些涉及多图像的应用。

苹果大模型MM1杀入场:300亿参数、多模态、MoE架构,超半数作者是华人

研究者收集了之前的消融结果,确定MM1多模态预训练的最终配方:图像编码器:考虑到图像分辨率的重要性,研究者使用了分辨率为378x378px的ViT-H模型,并在DFN-5B上使用CLIP目标进行预训练;视觉语言连接器:由于视觉token的数量最为重要,研究者使用了一个有144个token的VL连接器。实际架构似乎不太重要,研究者选择了C-Abstractor;数据:为了保持零样本和少样本的性能,研究者使用了以下精心组合的数据:45%图像-文本交错文档、45%图像-文本对文档和10%纯文本文档。为了提高模型的性能,研究者将LLM的大小扩大到3B、7B和30B个参数。所有模型都是在序列长度为4096、每个序列最多16幅图像、分辨率为378×378的情况下,以512个序列的批量大小进行完全解冻预训练的。所有模型均使用AXLearn框架进行训练。他们在小规模、9M、85M、302M和1.2B下对学习率进行网格搜索,使用对数空间的线性回归来推断从较小模型到较大模型的变化(见图6),结果是在给定(非嵌入)参数数量N的情况下,预测出最佳峰值学习率η:通过专家混合(MoE)进行扩展。在实验中,研究者进一步探索了通过在语言模型的FFN层添加更多专家来扩展密集模型的方法。要将密集模型转换为MoE,只需将密集语言解码器替换为MoE语言解码器。为了训练MoE,研究者采用了与密集骨干4相同的训练超参数和相同的训练设置,包括训练数据和训练token。

AIGC Weekly #51

MoEs可以比密集模型更快地进行预训练,并且在相同数量参数情况下提供更快速度推断。它们需要大量VRAM,因为所有专家必须加载到内存中。微调MoEs存在挑战,但最近对MoE指令微调工作显示出了希望。MoEs由门控网络和专家组成,在变压器模型中替换每个FFN层。训练MoEs更具计算效率性,但它们在微调过程中历史上很难泛化。使用MoEs进行推断速度较快,因为只使用了部分参数,但由于需要加载所有参数而导致内存需求较高。该博文追溯了MoEs的历史、发展以及它们在自然语言处理和计算机视觉领域应用方面。它解释了稀疏性和负载平衡概念在MoEs中至关重要,这对于有效地进行训练和推理非常重要.文章还讨论了如何将MoE与变压器结合起来,特别是像GShard和Switch Transformers这样规模庞大的模型.完成有关利用router Z-loss稳定培养并学习专业知识等问题分析增加专业人员数量对预先培养和微调产生影响博客文章还涉及何时使用稀疏MOES与密集模式,并提供见解使MOES在预先培养和推理更有效列出MOES的开源项目和已发布模式包括Switch Transformers,NLLB MoE,OpenMoe and Mixtral 8x7B未来工作方向包括将稀疏MOES蒸馏成密集模式,模式合并技术和极端量子化技术该博客文章总结了值得探索的MOES领域,并提供进一步阅读主题资源列表。

Others are asking
如果喂给模型的数据样本量太少怎么办?
当喂给模型的数据样本量太少时,可以考虑以下方法: 1. 利用零样本提示:如今经过大量数据训练并调整指令的 LLM 能够执行零样本任务。指令调整已被证明可以改善零样本学习,如 Wei 等人(2022)所指出。此外,RLHF(来自人类反馈的强化学习)已被采用以扩展指令调整,推动了像 ChatGPT 这样的模型。当零样本不起作用时,建议在提示中提供演示或示例,这就引出了少样本提示。 2. 采用少样本提示:在机器学习和人工智能领域中,少样本提示是指当只有很少数量的标记样本可用于训练模型时,通过巧妙设计任务描述、提供相关背景知识或利用预训练模型等方法,引导模型在有限样本条件下更好地理解和解决任务。少样本提示对格式有很好的限定和约束作用,但推理问题响应稳定性差。 细节的格式限定: 字数限制:限制 ChatGPT 输出的文本长度,以避免输出过长或不合适的回复。可以设置最大字符数或最大字数来控制输出长度。 形式限定:限定输出内容的形式,比如回复领导邮件、工作周报等形式。 细节限制:对文本的格式进行优化,如标题使用斜体、语料使用引用格式、供给读者使用的文字使用代码格式、数据对比使用表格展示、流程化步骤使用流程表格式等。 需要注意的是,这些方法虽然能在一定程度上缓解样本量少的问题,但对于推理、计算等问题,可能需要进一步使用其他方法。
2025-03-18
可以同时接多个大模型api的聊天应用
以下是一些可以同时接多个大模型 API 的聊天应用: 1. 熊猫大侠:基于 COW 框架的 ChatBot 实现步骤 能实现打造属于自己的 ChatBot(文本对话、文件总结、链接访问、联网搜索、图片识别、AI 画图等)、常用开源插件的安装应用等功能。 支持多平台接入,如微信、企业微信、公众号、飞书、钉钉等。 可选择多模型,如 GPT3.5/GPT4.0/Claude/文心一言/讯飞星火/通义千问/Gemini/GLM4/LinkAI 等。 支持多消息类型,包括文本、语音和图片,以及基于自有知识库进行定制的企业智能客服功能。 有多种部署方法,如本地运行、服务器运行、Docker 的方式。 风险与注意事项:微信端因非常规使用有封号危险,不建议主力微信号接入;操作需依法合规,对大模型生成的内容注意甄别,禁止用于非法目的,处理敏感或个人隐私数据时注意脱敏。 相关教程:张梦飞同学写的更适合小白的使用教程 2. DIN:全程白嫖拥有一个 AI 大模型的微信助手 搭建步骤: 搭建,用于汇聚整合多种大模型接口,并可白嫖大模型接口。 搭建,这是个知识库问答系统,可将知识文件放入,并接入大模型作为分析知识库的大脑来回答问题。若不想接入微信,其自身有问答界面。 搭建接入微信,配置 FastGpt 将知识库问答系统接入微信,建议先用小号以防封禁风险。 拓展功能:搭建完后想拓展 Cow 的功能,可参考 Yaki.eth 同学的教程,里面的 cow 插件能进行文件总结、MJ 绘画。 3. LLM 开源中文大语言模型及数据集集合中的外部挂件应用 wenda: 地址: 简介:一个 LLM 调用平台。为小模型外挂知识库查找和设计自动执行动作,实现不亚于大模型的生成能力。 JittorLLMs: 地址: 简介:计图大模型推理库:笔记本没有显卡也能跑大模型,具有成本低,支持广,可移植,速度快等优势。 WebCPM 地址: 简介:一个支持可交互网页搜索的中文大模型。 GPT Academic: 地址: 简介:为 GPT/GLM 提供图形交互界面,特别优化论文阅读润色体验,支持并行问询多种 LLM 模型,兼容复旦 MOSS, llama, rwkv, 盘古等。 ChatALL: 地址: 简介:ChatALL(中文名:齐叨)可以把一条指令同时发给多个 AI,可以帮助用户发现最好的回答。
2025-03-17
什么样的数据集适合测试大语言模型?
以下是一些适合测试大语言模型的数据集: Guanaco:地址为,是一个使用 SelfInstruct 的主要包含中日英德的多语言指令微调数据集。 chatgptcorpus:地址为,开源了由 ChatGPT3.5 生成的 300 万自问自答数据,包括多个领域,可用于训练大模型。 SmileConv:地址为,数据集通过 ChatGPT 改写真实的心理互助 QA 为多轮的心理健康支持多轮对话,含有 56k 个多轮对话,其对话主题、词汇和篇章语义更加丰富多样,更符合长程多轮对话的应用场景。 用于评估大语言模型的框架和基准有: GAOKAOBench:地址为,是以中国高考题目为数据集,测评大模型语言理解能力、逻辑推理能力的测评框架,收集了 2010 2022 年全国高考卷的题目,包括 1781 道客观题和 1030 道主观题。 AGIEval:地址为,是由微软发布的新型基准测试,选取 20 种面向普通人类考生的官方、公开、高标准往常和资格考试,包括普通大学入学考试(中国高考和美国 SAT 考试)、法学入学考试、数学竞赛、律师资格考试、国家公务员考试等。 Xiezhi:地址为,是由复旦大学发布的一个综合的、多学科的、能够自动更新的领域知识评估 Benchmark,包含 13 个学科门类,24 万道学科题目,516 个具体学科,249587 道题目。 此外,在多语言能力评测方面,还使用了以下数据集: MMMLU:来自 Okapi 的多语言常识理解数据集,在阿、德、西、法、意、荷、俄、乌、越、中这几个子集进行测试。 MGSM:包含德、英、西、法、日、俄、泰、中和孟在内的数学评测。针对人工评测,使用内部评估集比较了 Qwen272BInstruct 与 GPT3.5、GPT4 和 Claude3Opus,该评测集包括 10 种语言:ar(阿拉伯语)、es(西班牙语)、fr(法语)、ko(韩语)、th(泰语)、vi(越南语)、pt(葡萄牙语)、id(印度尼西亚语)、ja(日语)和 ru(俄语)。
2025-03-17
什么样的数据集适合训练大语言模型?
以下是一些适合训练大语言模型的数据集: 1. Guanaco:这是一个使用 SelfInstruct 的主要包含中日英德的多语言指令微调数据集,地址为:。 2. chatgptcorpus:开源了由 ChatGPT3.5 生成的 300 万自问自答数据,包括多个领域,可用于训练大模型,地址为:。 3. SmileConv:数据集通过 ChatGPT 改写真实的心理互助 QA 为多轮的心理健康支持多轮对话,含有 56k 个多轮对话,其对话主题、词汇和篇章语义更加丰富多样,更加符合在长程多轮对话的应用场景,地址为:。 虽然许多早期的大型语言模型主要使用英语语言数据进行训练,但该领域正在迅速发展。越来越多的新模型在多语言数据集上进行训练,并且越来越关注开发专门针对世界语言的模型。然而,在确保不同语言的公平代表性和性能方面仍然存在挑战,特别是那些可用数据和计算资源较少的语言。 大模型的预训练数据通常非常大,往往来自于互联网上,包括论文、代码以及可进行爬取的公开网页等等,一般来说,现在最先进的大模型一般都是用 TB 级别的数据进行预训练。
2025-03-17
本地部署大模型
以下是关于本地部署大模型的相关内容: SDXL 大模型的本地部署: 1. SDXL 的大模型分为两个部分: 第一部分,base+refiner 是必须下载的,base 是基础模型,用于文生图操作;refiner 是精炼模型,用于细化生成的模型以获得更丰富的细节。 第二部分,还有一个配套的 VAE 模型,用于调节图片的画面效果和色彩。 2. 下载模型:这三个模型可通过关注公众号【白马与少年】,回复【SDXL】获取云盘下载链接。 3. 版本升级:在秋叶启动器中将 webUI 的版本升级到 1.5 以上。 4. 放置模型:将 base 和 refiner 放在“……\\sdwebuiakiv4.2\\models\\Stablediffusion”路径下;vae 放在“……\\sdwebuiakiv4.2\\models\\VAE”路径下。 5. 启动使用:启动 webUI 后即可在模型中看到 SDXL 的模型,正常使用时先在文生图中使用 base 模型,填写提示词和常规参数进行生成。 从 LLM 大语言模型、知识库到微信机器人的全本地部署教程: 1. 下载并安装 Ollama: 点击进入 https://ollama.com/download ,根据电脑系统下载。 双击打开,点击“Install”。 安装完成后,将下方地址复制进浏览器中验证安装:http://127.0.0.1:11434/ 。 2. 下载 qwen2:0.5b 模型(0.5b 方便测试,设备充足可下载更大模型): Windows 电脑:点击 win+R,输入 cmd 点击回车。 Mac 电脑:按下 Command(⌘)+Space 键打开 Spotlight 搜索,输入“Terminal”或“终端”选择“终端”应用程序。 复制命令行,粘贴回车,等待自动下载完成。 ComfyUI ollama 本地大模型部署: 1. 先下载 ollama 安装,安装完成后可在电脑桌面右下角或隐藏图标里找到。 2. 下载对应的模型,选择模型并复制对应的命令。 3. 打开命令行界面,输入对应的模型获取命令,等待下载完成。 下载的模型会保存到 D:\\ollama\\blobs 。 4. docker 安装:安装会下载一些文件,安装后更改目录,不要放在 C 盘。 5. Open webui 安装:输入相关命令,安装成功后回到 docker,点击会自动打开网页,第一次使用需注册账号,选择下载好的模型即可开始使用。 6. 错误解决:端口占用问题,运行下面两条命令可以解决。 7. 相关链接: comfyuiollama:https://github.com/stavsap/comfyuiollama?tab=readmeovfile Ollama:https://ollama.com/ docker:https://www.docker.com/ Open webui:https://openwebui.com/
2025-03-17
消除大模型幻觉的方法
以下是关于消除大模型幻觉的方法的相关内容: 大模型出现幻觉的原因及部分解决办法: 1. 原因: 样本存在错误(Imitative Falsehoods),即学习的“教材”中有错误。 2. 解决办法: 上采样(Up Sampling)。 大模型存在的问题: 1. 输出结果具有不可预测性。 2. 静态的训练数据导致知识存在截止日期,无法即时掌握最新信息。 知识的局限性:模型自身的知识源于训练数据,对于实时性、非公开或离线的数据无法获取。 幻觉问题:基于数学概率的文字预测导致会在没有答案的情况下提供虚假信息等。 数据安全性:企业担心数据泄露,不愿将私域数据上传第三方平台训练。 Prompt 可以减少幻觉的原因: Prompt 相当于给大模型提供了一个模板,包括对模型的要求、输入和输出的限制,使大模型在限制下得到概率最大的答案,从而提升返回的准确性。 RAG 是解决大模型问题的有效方案: RAG 可以让大模型从权威的、预先确定的知识来源中检索、组织相关信息,更好地控制大模型生成的文本输出,并且用户可以深入了解 LLM 如何生成最终的结果。RAG 可与微调结合使用,两者并不冲突。但 RAG 不适合教模型理解广泛领域或学习新语言、格式或样式。
2025-03-17
MoE
MoE(Mixture of Experts)架构是一种深度学习模型结构,由多个专家网络组成,每个专家网络负责处理特定的任务或数据集。其核心思想是将一个大的、复杂的任务拆分成多个小的、简单的任务,并让不同的专家网络负责处理不同的任务。这样做的好处是可以提高模型的灵活性和可扩展性,同时减少模型的参数量和计算量,从而提高模型的效率和泛化能力。 MoE 架构的实现通常需要以下步骤: 1. 定义专家网络:首先定义多个专家网络,每个专家网络负责处理特定的任务或数据集,这些专家网络可以是不同的深度学习模型,如卷积神经网络(CNN)、循环神经网络(RNN)等。 2. 训练专家网络:使用有标签的训练数据对每个专家网络进行训练,以获得每个专家网络的权重和参数。 3. 分配数据:在训练过程中,将输入数据分配给不同的专家网络进行处理。分配数据的方法可以是随机分配、基于任务的分配、基于数据的分配等。 4. 汇总结果:将每个专家网络的输出结果进行加权求和,得到最终的输出结果。 5. 训练模型:使用有标签的训练数据对整个 MoE 架构进行训练,以获得最终的模型权重和参数。 MoE 架构在自然语言处理、计算机视觉、语音识别等领域都有广泛的应用。
2025-02-26
moe是什么
MoE(Mixture of Experts)架构是一种深度学习模型结构,由多个专家网络组成,每个专家网络负责处理特定的任务或数据集。其核心思想是将一个大而复杂的任务拆分成多个小而简单的任务,并让不同的专家网络负责处理不同的任务。 在 MoE 架构中,输入数据会被分配给不同的专家网络进行处理,每个专家网络会返回一个输出结果,最终的输出结果是所有专家网络输出结果的加权和。这样做的好处是可以提高模型的灵活性和可扩展性,同时减少模型的参数量和计算量,从而提高模型的效率和泛化能力。 MoE 架构的实现通常需要以下几个步骤: 1. 定义专家网络:首先需要定义多个专家网络,每个专家网络负责处理特定的任务或数据集。这些专家网络可以是不同的深度学习模型,如卷积神经网络(CNN)、循环神经网络(RNN)等。 2. 训练专家网络:使用有标签的训练数据对每个专家网络进行训练,以获得每个专家网络的权重和参数。 3. 分配数据:在训练过程中,需要将输入数据分配给不同的专家网络进行处理。分配数据的方法可以是随机分配、基于任务的分配、基于数据的分配等。 4. 汇总结果:将每个专家网络的输出结果进行加权求和,得到最终的输出结果。 5. 训练模型:使用有标签的训练数据对整个 MoE 架构进行训练,以获得最终的模型权重和参数。 MoE 架构在自然语言处理、计算机视觉、语音识别等领域都有广泛的应用。例如,苹果的大模型 MM1 就采用了 MoE 架构,其参数最高可达 300 亿,由密集模型和混合专家(MoE)变体组成,在预训练指标中实现了 SOTA,在一系列已有多模态基准上监督微调后也能保持有竞争力的性能。在 MM1 中,为了提高模型的性能,研究者将 LLM 的大小扩大,并通过在语言模型的 FFN 层添加更多专家来扩展密集模型。
2025-01-12
MoE
MoE(Mixture of Experts)架构是一种深度学习模型结构,由多个专家网络组成,每个专家网络负责处理特定的任务或数据集。其核心思想是将一个大的、复杂的任务拆分成多个小的、简单的任务,并让不同的专家网络负责处理不同的任务。这样做的好处是可以提高模型的灵活性和可扩展性,同时减少模型的参数量和计算量,从而提高模型的效率和泛化能力。 MoE 架构的实现通常需要以下几个步骤: 1. 定义专家网络:首先需要定义多个专家网络,每个专家网络负责处理特定的任务或数据集。这些专家网络可以是不同的深度学习模型,如卷积神经网络(CNN)、循环神经网络(RNN)等。 2. 训练专家网络:使用有标签的训练数据对每个专家网络进行训练,以获得每个专家网络的权重和参数。 3. 分配数据:在训练过程中,需要将输入数据分配给不同的专家网络进行处理。分配数据的方法可以是随机分配、基于任务的分配、基于数据的分配等。 4. 汇总结果:将每个专家网络的输出结果进行加权求和,得到最终的输出结果。 5. 训练模型:使用有标签的训练数据对整个 MoE 架构进行训练,以获得最终的模型权重和参数。 MoE 架构在自然语言处理、计算机视觉、语音识别等领域都有广泛的应用。 此外,苹果大模型 MM1 也采用了 MoE 架构,研究者在小规模、9M、85M、302M 和 1.2B 下对学习率进行网格搜索,通过专家混合(MoE)进行扩展。要将密集模型转换为 MoE,只需将密集语言解码器替换为 MoE 语言解码器。为了训练 MoE,采用了与密集骨干相同的训练超参数和相同的训练设置,包括训练数据和训练 token。
2025-01-01
混合专家模型(MoE
混合专家模型(MoE)是一种深度学习模型结构,由多个专家网络组成,每个专家网络负责处理特定的任务或数据集。其核心思想是将一个大而复杂的任务拆分成多个小而简单的任务,让不同的专家网络负责处理不同的任务,这样能提高模型的灵活性、可扩展性,减少模型的参数量和计算量,从而提升模型的效率和泛化能力。 MoE 架构的实现通常包含以下步骤: 1. 定义专家网络:先定义多个专家网络,每个负责特定任务或数据集,这些网络可以是不同的深度学习模型,如卷积神经网络(CNN)、循环神经网络(RNN)等。 2. 训练专家网络:使用有标签的训练数据训练每个专家网络,获取其权重和参数。 3. 分配数据:在训练中,将输入数据分配给不同专家网络处理,分配方法可以是随机分配、基于任务的分配、基于数据的分配等。 4. 汇总结果:对每个专家网络的输出结果进行加权求和,得到最终输出。 5. 训练模型:使用有标签的训练数据对整个 MoE 架构进行训练,获得最终的模型权重和参数。 MoE 架构在自然语言处理、计算机视觉、语音识别等领域应用广泛。 在苹果大模型 MM1 中也应用了 MoE 架构。研究者使用三种不同类型的预训练数据,构建了参数最高可达 300 亿的多模态模型系列 MM1,它由密集模型和混合专家(MoE)变体组成,在预训练指标中实现 SOTA,在一系列已有多模态基准上监督微调后也能保持有竞争力的性能。在 MM1 的最终模型和训练方法中,通过专家混合(MoE)进行扩展,将密集语言解码器替换为 MoE 语言解码器,并采用与密集骨干相同的训练超参数和设置进行训练。
2025-01-01
我想学习MOE设计分子软件,你能帮助我吗
MoE(Mixture of Experts)架构是一种深度学习模型结构,由多个专家网络组成,每个专家网络负责处理特定的任务或数据集。其核心思想是将一个大的、复杂的任务拆分成多个小的、简单的任务,并让不同的专家网络负责处理不同的任务。 MoE 架构的实现通常需要以下几个步骤: 1. 定义专家网络:首先需要定义多个专家网络,每个专家网络可以是不同的深度学习模型,如卷积神经网络(CNN)、循环神经网络(RNN)等。 2. 训练专家网络:使用有标签的训练数据对每个专家网络进行训练,以获得每个专家网络的权重和参数。 3. 分配数据:在训练过程中,需要将输入数据分配给不同的专家网络进行处理。分配数据的方法可以是随机分配、基于任务的分配、基于数据的分配等。 4. 汇总结果:将每个专家网络的输出结果进行加权求和,得到最终的输出结果。 5. 训练模型:使用有标签的训练数据对整个 MoE 架构进行训练,以获得最终的模型权重和参数。 MoE 架构在自然语言处理、计算机视觉、语音识别等领域都有广泛的应用。它可以提高模型的灵活性和可扩展性,同时也可以减少模型的参数量和计算量,从而提高模型的效率和泛化能力。
2024-08-30
关于MOE的文章
1. 《混合专家解释》 2. 《什么是 MoE 架构,如何实现?》 3. 《苹果大模型 MM1 杀入场:300 亿参数、多模态、MoE 架构,超半数作者是华人》 4. 《AIGC Weekly 50》 5. 《AIGC Weekly 51》
2024-04-18
flux lora训练
以下是关于 Flux 的 Lora 模型训练的详细步骤: 模型准备: 1. 下载所需模型,包括 t5xxl_fp16.safetensors、clip_l.safetensors、ae.safetensors、flux1dev.safetensors。 注意:不使用时存放位置随意,只要知晓路径即可。训练时建议使用 flux1dev.safetensors 版本的模型和 t5xxl_fp16.safetensors 版本的编码器。 下载脚本: 1. 网盘链接: 夸克网盘链接:https://pan.quark.cn/s/ddf85bb2ac59 百度网盘链接:https://pan.baidu.com/s/1pBHPYpQxgTCcbsKYgBi_MQ?pwd=pfsq 提取码:pfsq 安装虚拟环境: 1. 下载完脚本并解压。 2. 在文件中找到 installcnqinglong.ps1 文件,右键选择“使用 PowerShell 运行”。 3. 新手在此点击“Y”,然后等待 1 2 小时的下载过程,完成后提示是否下载 hunyuan 模型,选择 n 不用下载。 数据集准备: 1. 进入厚德云 模型训练 数据集:https://portal.houdeyun.cn/sd/dataset 2. 创建数据集: 在数据集一栏中,点击右上角创建数据集。 输入数据集名称。 可以上传包含图片 + 标签 txt 的 zip 文件,也可以上传只有图片的文件(之后可在 c 站使用自动打标功能),或者一张一张单独上传照片。 Zip 文件里图片名称与标签文件应当匹配,例如:图片名“1.png”,对应的达标文件就叫“1.txt”。 上传 zip 以后等待一段时间,确认创建数据集,返回到上一个页面,等待一段时间后上传成功,可点击详情检查,预览数据集的图片以及对应的标签。 Lora 训练: 1. 点击 Flux,基础模型会默认是 FLUX 1.0D 版本。 2. 选择数据集,点击右侧箭头,选择上传过的数据集。 3. 触发词可有可无,取决于数据集是否有触发词。 4. 模型效果预览提示词则随机抽取一个数据集中的标签填入。 5. 训练参数可调节重复次数与训练轮数,厚德云会自动计算训练步数。若不知如何设置,可默认 20 重复次数和 10 轮训练轮数。 6. 按需求选择是否加速,点击开始训练,会显示所需要消耗的算力。 7. 等待训练,会显示预览时间和进度条。训练完成会显示每一轮的预览图。 8. 鼠标悬浮到想要的轮次模型,中间会有个生图,点击会自动跳转到使用此 lora 生图的界面。点击下方的下载按钮则会自动下载到本地。 数据集存放位置:.Flux_train_20.4\\train\\qinglong\\train 运行训练:约 1 2 小时即可训练完成。 验证和 lora 跑图:有 ComfyUI 基础的话,直接在原版工作流的模型后面,多加一个 LoraloaderModelOnly 的节点就可以,自行选择 Lora 和调节参数。
2025-03-15
在ai图像训练打标时,怎么让部分标签权重更大
在 AI 图像训练打标时,让部分标签权重更大的方法如下: 1. 在 Stable Diffusion 中,手动补充的特殊 tag 放在第一位,因为 tags 标签有顺序,最开始的 tag 权重最大,越靠后的 tag 权重越小。 2. 在 BooruDatasetTagManager 中采用方法二: 删除部分特征标签,如 All tags 中不该出现的错误识别的自动标签,Image tags 中作为特定角色的自带特征的标签,并将特征与 LoRA 做绑定。 完成所有优化删除后,点击左上角菜单 File>Save all changes 保存当前的设置。 此外,在 Stable Diffusion 训练数据集制作中还需注意: 1. 调用 Waifu Diffusion v1.4 模型需要安装特定版本(2.10.0)的 Tensorflow 库,在命令行输入相应命令完成版本检查与安装适配。 2. 进入到 SDTrain/finetune/路径下,运行相应代码获得 tag 自动标注,其中主要参数包括: batch_size:每次传入 Waifu Diffusion v1.4 模型进行前向处理的数据数量。 model_dir:加载的本地 Waifu Diffusion v1.4 模型路径。 remove_underscore:开启后将输出 tag 关键词中的下划线替换为空格。 general_threshold:设置常规 tag 关键词的筛选置信度。 character_threshold:设置特定人物特征 tag 关键词的筛选置信度。 caption_extension:设置 tag 关键词标签的扩展名。 max_data_loader_n_workers:设置大于等于 2,加速数据处理。
2025-03-15
你好,我想训练一个自己的专属模型,比如说基于网页里面的问卷调查,我有答题的逻辑,网页的问卷调查项目每天都有非常多的不同的地方,但是又有相通的地方,我想让AI在我的逻辑之上能自我迭代自动答题,我该怎么办
如果您想基于网页问卷调查训练一个能在您的逻辑之上自我迭代自动答题的专属模型,有以下两种常见的技术方案: 1. 训练专有大模型: 优点:效果最好。 缺点:成本高,训练和维护需要大量计算资源和专业知识;更新模型知识难度大,需要重新训练或微调,过程复杂耗时。 2. 利用 RAG(检索增强生成)技术: 例如选择 Baichuan27BChat 模型作为底模,配置模型本地路径和提示模板。在 Train 页面里选择 sft 训练方式,加载定义好的数据集,根据数据集大小和收敛情况设置学习率和训练轮次。使用 FlashAttention2 可减少显存需求、加速训练速度;显存小的朋友可减少 batch size 并开启量化训练,内置的 QLora 训练方式好用。但需要用到 xformers 的依赖。根据聊天记录规模大小,训练时间少则几小时,多则几天。 此外,还有学生训练专属植物分类 AI 模型的案例供您参考。在北京市新英才学校的跨学科选修课“生化 E 家”中,老师和学生共同收集校园内不同树叶的照片,在 OpenInnoLab里找到图像分类训练工具,建立植物分类模型,加入大量数据集进行训练,再用图像化编程将其套在程序里,形成简单的识别工具。在这个过程中,老师通过生活体验与学生讨论图像分类原理,学生从体验到实践操作,在不进行大量代码编程的情况下能够训练 AI 模型,并了解模型训练准确度与数据的关系。
2025-03-14
分布式预训练里的流水线并行
分布式预训练中的流水线并行是一种在模型参数量太大一张卡不能完全放下时采用的切分方法。具体而言,沿着模型的拓扑序将其切分成 p 段,每段为一个 stage。将大小为 N 的 minibatch 进一步切分为 m 个大小为 M 的 microbatch(N = m·M),这些 microbatch 依次进入上述 p 个 stage。 在流水线并行切分后,每个 stage 的耗时会发生变化。假设 1 指出:算力为 1 的节点,处理完整模型的 1 个 microbatch,前向和反向耗时分别是 t_f 和 t_b。基于此有推论 1:算力为 1/p 的节点,处理完整模型的 1 个 microbatch,前向和反向耗时分别是 p·t_f 和 p·t_b;推论 2:算力为 1 的节点,处理 1/p 模型的 1 个 microbatch,前向和反向耗时分别是 t_f/p 和 t_b/p;推论 3:算力为 1/p 的节点,处理 1/p 模型的 1 个 microbatch,前向和反向耗时分别是 t_f 和 t_b。 从耗时情况来看,理论上界是显存无限大,不需要 pipeline 并行,一把梭直接对 minibatch 的样本做前向和反向,耗时正比于样本数量,b_best 耗时为 t_best = m·,可见耗时是理论上界的 p 倍,存在大量计算资源闲置空载,硬件利率用很低。 最后小结,3D 并行包括数据并行。DP 计算和通信效率友好,但权重显存不友好;PP 要求 minibatch 里 batch size 足够大以掩盖流水线带来的 overhead,batch size 过大则会增大激活显存占用;TP 权重显存友好,但计算和通信效率不友好,通信量要求大。ZeRO 针对数据并行显存占用大的问题提出优化,Alpa 借鉴 AI 编译器思路对 3D 并行建模并用自动化搜索方式得到并行策略。
2025-03-14
怎么快速生产训练语料
以下是快速生产训练语料的一些方法: 1. 在 LORA 模型训练中: 首先在脚本的 LoraTraining 目录下新建训练文件夹命名为 train。 如果需要训练多个概念,就在(input_角色名称)下面再新建一个文件夹,命名写(训练次数_角色名称_泳装)进行文件夹区分。 在脚本根目录下面建立一个训练文件夹(train),在(train)文件夹内建立一个概念文件夹和一个正则化文件夹(reg,不需要正则化可不建立),在概念文件夹内建立训练素材文件夹(训练素材文件夹前面的需要加“_”你想训练的次数)之后将训练素材放置进去即可。 正则化素材方面,正则化在深度学习中指的是给模型加一些规则和约束,限制要优化的参数有效防止过拟合。假设在训练集里面放入了一个泳装角色的训练素材,那么为了防止过拟合的问题,在正则化文件夹内放入一些同样是泳装的图片素材。正则化素材注意不要过多,不然机器会过多的学习到里面的素材导致跟训练目标角色不一致。 2. 对于神经网络大模型: 大模型生成文字的过程,是根据输入的文字,预测下一个字。通过一次又一次反复的调用同一个神经网络模型,一个一个字的往后续写,直到输出结束符号为止。 大模型的输出并不是一个字,而是所有字都输出一个概率。可以选择最高概率的或者第二高的汉字作为输出结果,也可以从前几名当中随机挑选。 可以将任何网络上的文本直接当作训练素材来训练神经网络模型。把任意一段文字的前几个字作为输入,而下一个字作为答案用做训练素材,从而方便地得到大量的训练素材。 3. 在雅思口语备考中: 如果时间充裕,建议把每个 topic 的问题喂给 GPT,让它一道道问您,您回答,然后转成文本查看发音问题。 让 GPT 对您的内容执行 correct 或者 another native answer 两个指令。前者可以基于您的内容做修正,后者是在自己完全没思路时让它给出答案。 对语料进行分类归纳,如按照教育、工作、购物、科技、消费分成几大类,再弄吃、环保、交通、历史等专题,挑最不熟悉、现场水不出来的准备。考前 1 小时,再顺一遍语料,多看两眼关键表达。
2025-03-14