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

分布式预训练模型并行

Answer

分布式预训练模型并行主要包括以下内容:

  • 张量并行(TP):当模型参数增大,除流水线并行外,还可用张量并行缓解,即以前的模型并行。以矩阵乘为例,对权重矩阵 B 有按列切分和按行切分两种方案。按列切分,A 不变,每一列独立计算后结果 concat 在一起;按行切分,A 对应列切分,两部分独立计算后结果 sum 在一起。
  • 大模型发展历程:2017 年发布的 Attention Is All You Need 论文开启了相关研究。之后有多种预训练模型,如 2018 年 Google 提出的 BERT,创新性地双向预训练并行获取上下文语义信息和使用掩码语言建模;2018 年 OpenAI 提出的 GPT,开创仅用自回归语言建模作为预训练目标;2021 年 Meta 提出的首个开源模型 LLAMA,为构建更大规模、更通用的语言模型提供方法与工具。
  • 分布式训练的其他方面:
    • 分布式通信原语包括点对点通信和集合通信,集合通信包含多种方式。
    • 3D 并行包括数据并行(DP)、流水线并行(PP)和模型并行(TP),各自有优势和问题。
    • ZeRO 针对数据并行显存占用大的问题提出优化,Alpa 借鉴 AI 编译器思路对 3D 并行建模并用自动化搜索方式得到并行策略。

如果想了解更多关于 transformer 在 NLP/多模态/AIGC 的算法知识、分布式训练知识,以及如何在 TVM 上做 PTQ 量化和部署,可以关注作者 aaronxic。

Content generated by AI large model, please carefully verify (powered by aily)

References

(7)LLM分布式训练面面观

当模型参数继续增大,除了用流水线并行之外,还可以用张量并行(Tensor Parallel)来缓解,就是以前常说的模型并行(Model Parallel)。这里拿最基础的矩阵乘举例。对于激活值矩阵A和权重矩阵B相乘,考虑对B做列切分或者行切分,会有两种方案方案1:按列切分。A不变,这样每一列独立计算,最后结果concat在一起方案2:按行切分。A对应列切分,这样两部分独立计算,最后结果sum在一起

大模型入门指南

这一切的起源是2017年发布的Attention Is All You Need([4])论文,之后基于大量语料的预训练模型百花齐放,比如:BERT(Bidirectional Encoder Representations from Transformers):Google在2018年提出,创新性的双向预训练并行获取上下文语义信息,以及掩码语言建模(MLM)让模型更好地推断语义信息。它开创了预训练语言表示范式,对自然语言处理产生了深远影响。参数规模:110M到340MGPT(Generative Pre-trained Transformer):OpenAI在2018年提出,开创了仅使用自回归语言建模作为预训练目标而无需额外监督信号。它展示了通过无监督大规模预训练获得的语言生成能力,对研究与应用都带来重大影响。参数规模:1750亿Large LAnguage Model Approach(LLAMA):Meta在2021年提出,首个开源模型。为构建更大规模、更通用的语言模型提供了系统化的方法与工具。参数规模:十亿到千亿

(7)LLM分布式训练面面观

最后小结一下,本文主要有4部分内容分布式通信原语包括了点对点通信和集合通信的方法。其中集合通信包括了一对多的Broadcast和Scatter,多对一的Reduce和Gather,多对多的AllReduce、AllGather、ReduceScatter和AllToAll3D并行包括了数据并行(DP)、流水线并行(PP)和模型并行(TP)DP的优势是计算和通信效率都很友好,但是权重的显存不友好,每张卡都有一份PP的问题是要求mini-batch里面batch size足够大才能掩盖住流水线带来的overhead。batch size如果过大,会增大激活显存的占用TP的优势是权重显存非常友好,没有冗余。但是计算和通信效率不友好,通信量要求很大,在超出了一个island的时候性能下降很快。ZeRO针对数据并行显存占用大的问题,借鉴了Parameter Server的思路,提出了ZeRO-1,ZeRO-2和ZeRO-3的优化。其中ZeRO-2让每张卡只维护一部分的梯度和优化器状态,显存占用减少到原来的$1/8$,通信带宽保持不变Alpa鉴了AI编译器的思路,对3D并行进行建模,用自动化搜索的方式得到了仅次于手工最优的并行策略PS:由于笔者小A并没有亲手撸过上述内容的所有细节,大部分是通过研究代码和精读优秀文章的方式bottom-up总结而来,本质上是个拾人牙慧的知识搬运工,所以终究是纸上谈兵。因此希望各方有实际经验的大佬猛锤,思维碰撞才生火花,真理越辩越明。如果想了解transformer在NLP/多模态/AIGC的算法知识,分布式训练的知识,以及如何在TVM上做PTQ量化和部署,可以关注我aaronxic哟~

Others are asking
分布式预训练数据并行
分布式预训练中的数据并行是使用广泛且加速性能良好的并行方法。各个数据切片能完全解耦,只需在每个 minibatch 结束时进行梯度的 allreduce。数据并行分为中心化方式(如 pytorch 里的 DataParallel)和无中心化方式(如 pytorch 里的 DistributedDataParallel)。这两种方式最大的区别在于 gradient 和 reduce 计算过程。DataParallel 需在 forward 之后把所有输出 gather 到 0 号卡上,计算完 loss 之后再 scatter 到各个设备上,然后做 backward 独立计算 gradient,最后搜集 gradient 到 0 号卡,forward 和 backward 间需插入一次通信。DistributedDataParallel 则是每张卡独立做 forward 和 backward,然后对各卡的 gradient 做 allreduce,forward 和 backward 间无需通信。此外,ZeRO 的出发点是优化数据并行中的显存占用,因为在数据并行中,每个 device 上都有完整的权重、梯度和优化器状态信息,较为冗余。
2025-03-12
分布式预训练
分布式预训练是指在训练模型时采用的一种方法。 在训练 GPT 时,模型以完全随机的权重开始,随着训练时间的推移,通过从分布中抽样并持续反馈,逐渐学会关于单词、空格和逗号等的知识,预测也越来越一致。观察训练时,可通过损失函数随时间的变化来评估。经过预训练,模型在语言建模中学会强大的通用表示,能有效对任意下游任务进行微调。 此外,还有一些关于初始化权重的灵活方法,如利用非监督式训练方式逐个训练神经层。例如,以受限玻尔兹曼机器(RBM)开始,通过对比发散进行训练,生成隐藏值并模拟训练另一个 RBM,重复此过程形成多层,如有分类需求可添加隐藏单元并微调权重,这种非监督式与监督式的组合也称为半监督式学习。 深度信念网络(DBNs)在标准化 MNIST 字符识别数据库中有出色表现,超越普通神经网络。Yoshua Bengio 等提出深层网络冗余式逐层训练,认为深度机器学习方法在复杂问题上比浅显方法更有效。关于非监督式预训练,利用自动代码取代 RBM 也是一种看法,其关键在于有足够多的显示层,能学习优良的高层数据显示,与传统手动设计特征提取步骤不同。Hinton 与 Bengio 的工作证明了深层神经网络能被训练好的假设是正确的。
2025-03-12
deepseek 分布式如何部署
DeepSeek 的分布式部署情况如下: 腾讯云(自建服务器):提供全版本,采用多机分布式部署,节点数量为 2 个,单节点配置为 HCCPNV6 机型,可在线体验(需开通 T1 平台服务)。 腾讯云(调用 API):提供 DeepSeekR1 和 DeepSeekV3 版本,API 调用 DeepSeek 系列模型限时免费。即日至北京时间 2025 年 2 月 25 日 23:59:59,所有腾讯云用户均可享受 DeepSeekV3、DeepSeekR1 模型限时免费服务,单账号限制接口并发上限为 5。在此之后,模型价格将恢复至原价。 京东云:提供“deepseekr1:1.5b”、“deepseekr1:7b”、“deepseekr1:32b”版本,价格为 1.89 元/小时起,采用服务器部署的方式。 Gitee AI:提供全版本,R1 价格 0.1 元/次,基于沐曦曦云 GPU 及曦源一号国产替代算力集群,有在线体验。 此外,还可以通过以下步骤实现 DeepSeek 联网版的部署: 1. 拥有扣子专业版账号,如果是普通账号,请自行升级或注册专业号后使用。 2. 开通 DeepSeek R1 大模型,访问地址:https://console.volcengine.com/cozepro/overview?scenario=coze 。打开火山方舟,找到开通管理,找到 DeepSeek R1 模型,点击开通服务。添加在线推理模型,添加后在扣子开发平台才能使用。 3. 创建智能体,点击创建,先完成一个智能体的创建。
2025-02-20
deepseek 分布式部署
以下是关于 DeepSeek 分布式部署的相关信息: 云计算厂商提供的 DeepSeek 版本及特点: 腾讯云(自建服务器):全版本,多机分布式部署,节点数量 2 个,单节点配置为 HCCPNV6 机型,可在线体验(需开通 T1 平台服务)。 腾讯云(调用 API):DeepSeekR1、DeepSeekV3,API 调用 DeepSeek 系列模型限时免费,即日起至 2025 年 2 月 25 日 23:59:59,所有腾讯云用户均可享受限时免费服务,单账号限制接口并发上限为 5,之后模型价格将恢复原价。 京东云:“deepseekr1:1.5b、“deepseekr1:7b”、“deepseekr1:32b”,价格 1.89/小时起,服务器部署方式。 gitee ai:全版本,R1 价格 0.1 元/次,基于沐曦曦云 GPU 及曦源一号国产替代算力集群,有在线体验。 价格方面: 腾讯云(调用 API):即日起至 20250208 24:00 享受折扣价,20250209 00:00 恢复原价。输入:¥2¥1/M Tokens,输出:¥8¥2/M Tokens。当前有优惠活动,包括邀请好友赚 2000 万 Tokens,注册即送 2000 万 Tokens。 阿里云(人工智能平台 PAI):以 R1 为例,所需计算资源价格 316.25/小时,模型部署成在线服务,在人工智能平台 PAI 下的模型部署下的模型在线服务 EAS。 阿里云(阿里云百炼):全版本,免费额度:10000000/10000000,通过 API 调用。 华为昇腾社区:全版本,部署 DeepSeekR1 模型用 BF16 权重进行推理至少需要 4 台 Atlas 800I A2(864G)服务器,用 W8A8 量化权重进行推理则至少需要 2 台 Atlas 800I A2,服务器调用 Docker 下载部署权重资源,非 API 调用模式。
2025-02-20
java程序员怎么转型大模型算法工程师
以下是为 Java 程序员转型大模型算法工程师提供的一些建议: 1. 学习相关理论知识:了解大模型的基本原理,包括模型架构、预训练及微调、部署及推理等。 2. 掌握技术工具:熟悉 LLM 相关技术,如 Transformer、Prompt Tuning、RLHF、Langchain、Agent、MOE、RAG 等。 3. 提升编程能力:熟悉算法和数据结构,具备扎实的编程基础,尤其是 Python 开发。 4. 积累项目经验: 可以参考大圣的全网最适合小白的 Llama3 部署和微调教程,该教程手把手教您下载并部署 Llama3 模型,使用甄嬛数据集微调模型,并了解微调的意义和概念。但需注意,此教程不会讲解微调的技术性原理及文中用到的 Python 代码。 关注招聘信息,例如序智科技和中国移动设计院的招聘需求,了解大模型算法工程师的职责和要求,针对性地提升自己的能力。 5. 增强相关技能: 对至少 2 个框架具备源码级别的理解和优化能力,包括但不限于 Langchain、XAgent、ChatDev、DsPy、AutoGPT、BabyAGI、MetaGPT。 熟悉 GPT Function Calling 原理,熟练掌握 Prompt Engineering。 对预训练/微调(尤其是微调)熟练,熟练掌握 huggingface/deepspeed(或其他框架)。 对多模态大模型有一定了解,精通低代码平台会是加分项。 您可以根据自身情况,有针对性地进行学习和实践,逐步实现从 Java 程序员向大模型算法工程师的转型。
2025-03-12
列举出不同的 embedding模型
以下是不同的 embedding 模型: 1. 词嵌入: Word2Vec:包括 CBOW(Continuous BagofWords)和 SkipGram 模型,由 Google 提出,用于学习单词之间的语义关系。 GloVe(Global Vectors for Word Representation):由斯坦福大学开发,旨在结合全局统计信息和局部上下文窗口的优势来生成单词嵌入。 FastText:由 Facebook AI 团队推出,不仅考虑单个单词,还考虑内部字符 ngram,对于罕见词汇有更好的表现。 ELMo(Embeddings from Language Models):利用双向 LSTM 对整个句子进行建模,产生上下文敏感的单词嵌入。 2. 情景化的词嵌入: BERT(Bidirectional Encoder Representations from Transformers):由 Google 推出,利用 Transformer 架构的预训练模型,能够根据上下文提供动态的单词嵌入。 GPT(Generative Pretraining Transformer)及其后续版本 GPT2/3/4:由 OpenAI 开发,也是基于 Transformer 的自回归模型,同样能产出上下文相关的嵌入。 XLNet、RoBERTa 等都是 BERT 之后改进或扩展的预训练模型。 3. 句子和文档嵌入: Doc2Vec:扩展了 Word2Vec,能够为整个文档生成统一的向量表示。 Average Word Embeddings:将一段文本中所有单词的嵌入取平均作为整体的文本表示。 Transformers Sentence Embeddings:如 BERT 的标记对应的向量,或者专门针对句子级别的模型如 SentenceBERT。 4. 实体/概念嵌入: Knowledge Graph Embeddings:如 TransE、DistMult、ComplEx 等,用于将知识图谱中的实体和关系嵌入到低维向量空间中。 5. 其他类型: 图像 Embeddings:使用卷积神经网络(CNN)进行图像特征提取,得到的特征向量即为图像嵌入。 音频 Embeddings:在语音识别和声纹识别中,将声音信号转化为有意义的向量表示。 用户/物品 Embeddings:在推荐系统中,将用户行为或物品属性映射到低维空间以进行协同过滤或基于内容的推荐。 图 Embeddings:是用于学习图结构的表示学习方法,将图中的节点和边映射到低维向量空间中。通过学习图嵌入,可以将复杂的图结构转化为向量表示,以捕捉节点之间的结构和关联关系。这些方法可以通过 DeepWalk、Node2Vec、GraphSAGE 等算法来实现。图嵌入在图分析、社交网络分析、推荐系统等领域中广泛应用,用于发现社区结构、节点相似性、信息传播等图属性。 此外,以 OpenAI 为例,第一代嵌入模型(不推荐)包括: 所有第一代模型(以001 结尾的模型)都使用 GPT3 分词器,最大输入为 2046 个分词。 第一代嵌入由五个不同的模型系列生成,这些模型系列针对三个不同的任务进行了调整:文本搜索、文本相似性和代码搜索。 相似性嵌入:textsimilaritybabbage001、textsimilaritycurie001、textsimilaritydavinci001。 文本搜索嵌入:textsearchadaquery001、textsearchbabbagedoc001、textsearchbabbagequery001、textsearchcuriedoc001、textsearchcuriequery001、textsearchdavincidoc001、textsearchdavinciquery001。 代码搜索嵌入:codesearchadatext001、codesearchbabbagecode001、codesearchbabbagetext001。 对于001 文本嵌入(不是002,也不是代码嵌入),建议将输入中的换行符替换为单个空格,因为当存在换行符时可能会有更糟糕的结果。
2025-03-12
你说什么模型
以下是关于模型的相关信息: 我调用的是抖音集团的云雀大模型。 OpenAI API 由具有不同功能和价位的多种模型提供支持,包括 GPT4、GPT3.5、DALL·E、Whisper、Embeddings、Codex、Moderation、GPT3 等,您还可以通过微调针对特定用例对原始基本模型进行有限的定制。 在 Cursor 中,使用光标聊天、Ctrl/⌘K 和终端 Ctrl/⌘K 可以轻松在不同模型之间切换。在 AI 输入框下方有下拉列表,允许选择要使用的模型,默认准备好的模型有 GPT4o、GPT4、Claude 3.5 Sonnet 以及 Cursor 的自定义模型 cursorsmall,cursorsmall 不如 GPT4 智能但速度更快且用户可无限制访问,还可以在 Cursor Settings>Models>Model Names 下添加其他模型。
2025-03-12
请帮我推荐优化大模型+知识库的提示词技巧,重点是解决将知识库配置给大模型做RAG后,召回率不高或者不遵循指令。
以下是关于优化大模型+知识库的提示词技巧,以解决将知识库配置给大模型做 RAG 后召回率不高或者不遵循指令的问题: 首先,了解 LLM 应用性能优化的推荐路径: 1. 从 prompt 工程开始把 LLM 应用快速跑起来。 2. 若遇到表现性能不足等问题,如结构化提示词占用上下文过长,可尝试精简提示词长度;若指令遵循度不足,则加强指令约束。 3. 若提示工程无法满足要求,分析问题,若缺失知识,先简单做知识库 RAG。 4. RAG 之后若想让模型表现更收敛更稳定,尝试微调模型。 5. 微调模型后,若模型表现变好,使用更多高级 RAG 技术,构造输入输出样本,进一步用于微调模型,构建正向迭代循环。 需要注意的是,该路径有个隐藏前提:该 LLM 应用依赖外部知识,需要 RAG。若不需要外部知识,则不需要使用 RAG,可以直接进入 prompt 工程与微调的正向迭代循环。 对于 RAG 流程中的检索有用信息部分,有以下改进策略: 1. 优化索引: 按照子部分索引:将文本块再拆分为较小的文本(例如单句),然后对这些小块进行多次索引。适用于有多个主题、有冲突信息的复杂长文本信息,确保与查询相关的上下文。 按照文本框可以回答的问题索引:让 LLM 生成与拆分的文本块相关的假设性问题,并将这些问题用于索引,适用于用户没有提出非常明确的问题,减少模糊性。 按照文本块的摘要进行索引:适用于文本框中有多余信息或者与用户查询无关细节的情况。 2. 重排 rerank:搜到相似信息后,选择策略,大部分场景下选择最相似的即可。 在从知识库中检索出内容后利用大模型进行总结时,有两点需要注意: 1. 优化 Prompt,但此处不展开,可参考相关文章。 2. 选择合适的大模型,考虑上下文长度、聪明度和生成速度。若回答场景是很长的文档,可能更关注上下文长度;大多数情况下,大模型越聪明,生成速度可能越慢。
2025-03-12
大模型企业落地方案有哪些
大模型企业落地方案主要包括以下几个方面: 1. 提高内容可信: 做具备通用能力的大模型,通过商业交付应用、反馈和评测来解决内容可信问题。 不断优化数据以解决实际应用问题,如自我学习能力等。 走向垂直化,结合场景用一个模型和框架提高内容精准度。 2. 解决算力成本高、训练重复和资源紧缺的问题: 以 GPT3 模型为例,现有千卡集群训练一个月,单次训练周期一个月,总成本超过 1200 万美金,且全行业训练卡持续涨价。 目前仍无人能用商业化的国产芯片做大模型训练。 3. 降低大模型价格或使用垂直领域模型落地。 4. 以百度智能云为例: 在 IaaS 层,百舸 AI 异构计算平台解决算力问题,提供从集群创建到模型训练、推理的完整算力管理方案,提升算力管理能力和模型训练效率,确保高达 99.5%的有效训练时间,为大模型应用落地提供强大算力支撑。 在 Paas 层,千帆大模型平台解决大模型的调用、开发和应用开发问题,支持调用文心大模型全系列模型,提供全面工具链,支持定制化模型开发,通过 AppBuilder 提供企业级 Agent 和企业级 RAG 开发能力,还能将企业应用数据反馈到模型中形成良性循环,持续优化模型性能。 在 SaaS 层,提供丰富的常用应用供客户选择,如数字人平台曦灵、智能客服应用客悦等。 此外,大模型在实际应用中存在一些问题,如知识的局限性、幻觉问题和数据安全性问题,而 RAG 是解决上述问题的一套有效方案,它可以让大模型从权威的、预先确定的知识来源中检索、组织相关信息,更好地控制大模型生成的文本输出,并且用户可以深入了解 LLM 如何生成最终的结果。RAG 可以和微调结合使用,两者并不冲突。
2025-03-12
有哪些辅助输出3d模型资源的ai工具推荐一下
以下是一些辅助输出 3D 模型资源的 AI 工具推荐: 1. @CSM_ai:可以将文本、图像或草图转换为 3D 素材。体验地址:https://cube.csm.ai 。 2. Move AI 推出的 Move API:能从 2D 视频生成 3D 运动数据,支持多种 3D 文件格式导出,为 AR 应用、游戏开发等提供高质量 3D 运动数据。网址:https://move.ai/api 。 3. ComfyUI 3D Pack:可快速将图片转换为 3D 模型,支持多角度查看,使用 3D 高斯扩散技术提升模型质量,支持多种格式导出,集成先进 3D 处理算法。网址:https://github.com/MrForExample/ComfyUI3DPack/tree/main 。 4. Medivis 的 SurgicalAR 手术应用:将 2D 医疗图像转化为 3D 互动视觉,提高手术精度,支持 3D 模型的放大、缩小、旋转,精确手术计划。网址:https://t.co/3tUvxB0L4I 。 5. Media2Face:3D 面部动画创造工具,根据声音生成同步的 3D 面部动画,允许个性化调整,如情感表达,应用于对话场景、情感歌唱等多种场合。网址:https://sites.google.com/view/media2face 、https://arxiv.org/abs/2401.15687 、https://x.com/xiaohuggg/status/1752871200303480928?s=20 。 6. SIGNeRF:在 3D 场景中快速生成和编辑对象,新增或替换场景中的物体,新生成场景与原场景无缝融合。网址:https://signerf.jdihlmann.com 、https://x.com/xiaohuggg/status/1744950363667759474?s=20 。 7. Luma AI 发布的 Genie 1.0 版本:文本到 3D 模型转换工具,生成详细逼真的 3D 模型,支持多种 3D 文件格式,获得 4300 万美元 B 轮融资。网址:https://lumalabs.ai/genie?view=create 、https://x.com/xiaohuggg/status/1744892707926122515?s=20 。 8. BakedAvatar 动态 3D 头像:从视频创建逼真 3D 头部模型,实时渲染和多视角查看,兼容多种设备,交互性编辑。网址:https://buaavrcg.github.io/BakedAvatar/ 、https://x.com/xiaohuggg/status/1744591059169272058?s=20 。 此外,在 CAD 领域,也存在一些 AI 工具和插件可以辅助或自动生成 CAD 图,例如: 1. CADtools 12:Adobe Illustrator 插件,为 AI 添加 92 个绘图和编辑工具,包括图形绘制、编辑、标注、尺寸标注、转换、创建和实用工具。 2. Autodesk Fusion 360:集成了 AI 功能的云端 3D CAD/CAM 软件,能创建复杂的几何形状和优化设计。 3. nTopology:基于 AI 的设计软件,可创建复杂的 CAD 模型,包括拓扑优化、几何复杂度和轻量化设计等。 4. ParaMatters CogniCAD:基于 AI 的 CAD 软件,可根据用户输入的设计目标和约束条件自动生成 3D 模型,适用于拓扑优化、结构设计和材料分布等领域。 5. 一些主流 CAD 软件,如 Autodesk 系列、SolidWorks 等,提供了基于 AI 的生成设计工具,能根据用户输入的设计目标和约束条件自动产生多种设计方案。 但使用这些工具通常需要一定的 CAD 知识和技能,对于 CAD 初学者,建议先学习基本的 3D 建模技巧,然后尝试使用这些 AI 工具来提高设计效率。
2025-03-11
AI大模型训练是什么意思
AI 大模型训练是一个复杂的过程,主要包括以下方面: 1. 数据转换:当请求输入到模型时,会从自然语言形式转化为机器可理解的格式,通常是向量。 2. 数学计算确定参数:类似于通过已知的几组(x,y)值计算方程式 y=f(x)=ax+b 中的参数 a 和 b,大语言模型通过计算确定可能多达 1750 亿个的参数。 3. 一般训练步骤: 无监督学习:分析大量文本数据,学习语言基本结构和常识,具备文本补齐能力,将人类知识向量化以获得基础语言模型。 清洗出好的数据。 指令微调:训练模型理解并执行具体指令,如翻译文本,以回答问题,此阶段数据输入量相对减少。 对齐过程:引入人类评价标准和处理特定格式要求,优化模型输出以符合人类期望,包括处理文化、道德等细节。 4. 生成式预训练:是机器学习领域由来已久的概念,如 GPT 模型基于 Transformer 模型,在大型未标记文本数据集上进行预训练,并能生成类似人类自然语言的文本。 5. 大模型特点: 强大在于庞大的参数数量,这些参数在学习过程中不断调整,帮助模型深入理解和生成数据。 训练依赖大量数据,包括文本、图像、音频等,通过对数据的学习掌握丰富知识和技能。 总之,大模型训练是一个涉及多步骤、大量数据和复杂计算的过程,旨在使模型具备强大的语言处理和生成能力。
2025-03-11
文档转训练集
将文档转训练集通常可以按照以下步骤进行: 1. 手动收集数据集:公司通常会雇用人员,为其提供标签说明,要求人们提出问题并写下答案。 2. 注重质量:预训练阶段的文本可能来自互联网,数量大但质量较低。在第二阶段,应更看重质量而非数量,例如采用 100,000 个高质量的对话文档。 3. 形成 SOP:初期可以先手动形成标准操作流程(SOP),然后逐步实现自动化,此过程初期可能需要大量人力。
2025-03-10
如何训练自己的模型
训练自己的模型可以参考以下步骤: 1. 选择合适的底模,如 Baichuan27BChat 模型,配置模型本地路径和提示模板。 在 Train 页面里选择 sft 训练方式,加载定义好的数据集,如 wechat 和 self_cognition。 注意学习率和训练轮次的设置,要根据数据集大小和收敛情况来调整。 使用 FlashAttention2 可减少显存需求,加速训练速度。 显存小的情况下,可以减少 batch size 并开启量化训练,内置的 QLora 训练方式很实用。 需要用到 xformers 的依赖。 显存占用约 20G,训练时间根据聊天记录规模大小而定,少则几小时,多则几天。 2. 对于 AI 绘画模型的训练,如 Stable Diffusion: 设置 sample_sampler,可选择多种 sampler,默认是“ddim”。 设置 save_model_as,可选择多种格式,目前 SD WebUI 兼容"ckpt"和"safetensors"格式模型。 完成训练参数配置后,运行训练脚本进行全参微调训练。 选择合适的底模型,如 WeThinkIn_SD_二次元模型。 利用 accelerate 库封装训练脚本,可根据需求切换训练环境参数。 3. 创建图像描述模型: 模型由编码器和解码器组成,编码器将输入图像转换为特征向量,解码器根据特征生成描述文本,二者组合形成完整模型。 自定义损失函数,如使用稀疏分类交叉熵并屏蔽填充部分。 编译模型后开始训练,可使用单个 GPU 训练,每个 epoch 约 15 至 20 分钟,可根据需求增加训练次数。 训练完成后进行推理与生成字幕,重构解码器结构,编写自定义推理循环以生成完整句子。
2025-03-10
如何去训练ai,让ai可以更精准的回答问题分析趋势
要训练 AI 使其更精准地回答问题和分析趋势,可以从以下几个方面入手: 检索原理: 1. 信息筛选与确认:系统会对检索器提供的信息进行评估,筛选出最相关和最可信的内容,同时验证信息的来源、时效性和相关性。 2. 消除冗余:识别并去除多个文档或数据源中的重复信息,避免在生成回答时出现重复或矛盾的内容。 3. 关系映射:分析不同信息片段之间的逻辑和事实关系,如因果、对比、顺序等,构建结构化的知识框架,使信息在语义上更连贯。 4. 上下文构建:将筛选和结构化的信息组织成连贯的上下文环境,包括对信息进行排序、归类和整合,形成统一的叙述或解答框架。 5. 语义融合:在必要时合并意义相近但表达不同的信息片段,减少语义重复并增强信息表达力。 6. 预备生成阶段:将整合好的上下文信息编码成适合生成器处理的格式,如转化为适合输入到生成模型的向量形式。 大模型生成回答: 最终全新的上下文被传递给大语言模型,大语言模型根据提供的信息回答问题。因为这个上下文包括了检索到的信息,所以相当于同时拿到了问题和参考答案,通过大语言模型的全文理解,生成准确和连贯的答案。 批判性思维与复杂问题解决: 批判性思维指分析、评估、推理并做出明智判断的能力,在 AI 时代尤为关键。培养批判性思维需要养成质疑习惯,通过辩论、逻辑训练、阅读反面意见等方式锻炼,注重逻辑推理和定量分析能力的培养。复杂问题解决与批判性思维密切相关,指在不确定情境下分析问题、设计解决方案的能力,往往需要综合运用多种思维技能,通过参与实际复杂项目、案例研究来提高经验,可利用 AI 作为资料提供者或头脑风暴助手,但关键在于人类自己的分析和决策过程。 纯强化学习: DeepSeek R1 引入纯强化学习,不依赖大量人类标注数据,而是让 AI 通过自我探索和试错来学习。在“冷启动”阶段,通过少量人工精选的思维链数据进行初步引导,建立符合人类阅读习惯的推理表达范式,随后主要依靠强化学习,在奖励系统的反馈下(包括准确率奖励和格式奖励),自主探索推理策略,不断提升回答的准确性,实现自我进化。纯强化学习有可能解锁新的人工智能水平,DeepSeek R1 更注重学习推理的底层策略,培养通用推理能力,实现跨领域的知识迁移运用和推理解答。
2025-03-07