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

预训练

Answer

以下是关于预训练的相关内容:

Atom 系列模型的预训练: Atom 系列模型包含 Atom-7B 和 Atom-13B,基于 Llama2 做了中文能力的持续优化。Atom 大模型在 Llama2 的基础上,采用大规模的中文数据进行持续预训练,数据来源广泛,包括百科、书籍、博客、新闻、公告、小说、金融数据、法律数据、医疗数据、代码数据、专业论文数据、中文自然语言处理竞赛数据集等。同时对庞大的数据进行了过滤、打分、去重,筛选出超过 1T token 的高质量中文数据,持续不断加入训练迭代中。为了提高中文文本处理的效率,针对 Llama2 模型的词表进行了深度优化,扩展词库至 65,000 个单词,提高了中文编码/解码速度约 350%,还扩大了中文字符集的覆盖范围,包括所有 emoji 符号。Atom 大模型默认支持 4K 上下文,利用位置插值 PI 和 Neural Tangent Kernel(NTK)方法,经过微调可以将上下文长度扩增到 32K。

GPT 助手的预训练: 预训练阶段是 GPT 训练中计算工作基本发生的地方,占用了训练计算时间和浮点运算的 99%。在这个阶段,需要收集大量的数据,如 Common Crawl、C4、GitHub、维基百科、图书、ArXiv、StackExchange 等,并按照一定比例采样形成训练集。在实际训练前,需要进行预处理步骤 Tokenization(分词/标记化),将原始文本翻译成整数序列。

OpenAI o1 的预训练: GPT 4 等 LLM 模型训练一般由“预训练”和“后训练”两个阶段组成。“预训练”通过 Next Token Prediction 从海量数据吸收语言、世界知识、逻辑推理、代码等基础能力,模型规模越大、训练数据量越多,则模型能力越强。

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

References

模型预训练

Atom系列模型包含Atom-7B和Atom-13B,基于Llama2做了中文能力的持续优化。Atom-7B和Atom-7B-Chat目前已完全开源,支持商用,可在Hugging Face仓库获取模型:https://huggingface.co/FlagAlpha[heading6]大规模的中文数据预训练[content]原子大模型Atom在Llama2的基础上,采用大规模的中文数据进行持续预训练,包含百科、书籍、博客、新闻、公告、小说、金融数据、法律数据、医疗数据、代码数据、专业论文数据、中文自然语言处理竞赛数据集等,详见📝数据来源。同时对庞大的数据进行了过滤、打分、去重,筛选出超过1T token的高质量中文数据,持续不断加入训练迭代中。[heading6]更高效的中文词表[content]为了提高中文文本处理的效率,我们针对Llama2模型的词表进行了深度优化。首先,我们基于数百G的中文文本,在该模型词表的基础上扩展词库至65,000个单词。经过测试,我们的改进使得中文编码/解码速度提高了约350%。此外,我们还扩大了中文字符集的覆盖范围,包括所有emoji符号😊。这使得生成带有表情符号的文章更加高效。[heading6]自适应上下文扩展[content]Atom大模型默认支持4K上下文,利用位置插值PI和Neural Tangent Kernel(NTK)方法,经过微调可以将上下文长度扩增到32K。

GPT 的现状(State of GPT)

所以我们将从预训练阶段开始。现在,这个阶段在图表中比较特殊,而且这个图表不是按比例绘制的,因为这个阶段是所有计算工作基本上都发生的地方。它占用了训练计算时间和浮点运算的99%。所以,这就是我们处理互联网规模数据集的地方,超级计算机中有成千上万的GPU,并且可能需要几个月的训练时间。其他三个阶段则是微调阶段,这些阶段更多的是使用一些GPU进行几个小时或几天的训练。那么,我们来看看如何通过预训练阶段得到一个基础模型。首先,我们要收集大量的数据。这里有一个我们称之为数据混合体的例子,它来自Meta公司发布的一篇论文,论文中发布了LLaMA的基础模型。现在,你可以大致看到这些集合中涉及的数据集种类。我们有Common Crawl,它只是一个网页爬虫,还有C4,也是一个Common Crawl,然后还有一些高质量的数据集,例如:GitHub、维基百科、图书、ArXiv、StackExchange等。这些都混在一起,然后按照一定的比例进行采样,这就形成了GPT神经网络的训练集。在我们实际对这些数据进行训练之前,我们需要进行一个预处理步骤,那就是Tokenization(分词/标记化)。这基本上就是将我们从互联网上抓取的原始文本翻译成整数序列,因为这是GPT操作的原生表示方式。现在,这是一种文本片段、token以及整数之间的无损转化,这个阶段有很多算法。通常,例如,你可以使用类似于字节对编码的东西,它迭代地合并小文本块,并将它们组成token。所以,我在这里展示一些这些token的示例块,然后这就是将实际输入transformer的原始整数序列。现在,我在这里展示了两个类似的例子,这些例子是关于控制这个阶段的超参数的。

张俊林:Reverse-o1: OpenAI o1原理逆向工程图解

GPT 4等LLM模型训练一般由“预训练”和“后训练”两个阶段组成(参考上图)。“预训练”通过Next Token Prediction来从海量数据吸收语言、世界知识、逻辑推理、代码等基础能力,模型规模越大、训练数据量越多,则模型能力越强,我们一般说的Scaling Law指的是这一阶段的模型扩展特性,也是LLM训练最消耗算力资源的地方。“后训练”则分为SFT、RM和PPO三个过程,统称为人工反馈的强化学习(RLHF),这一阶段的主要目的有两个,一个是让LLM能遵循指令来做各种任务,另一个是内容安全,不让LLM输出不礼貌的内容。而训练好的[模型推理](https://zhida.zhihu.com/search?content_id=248563321&content_type=Article&match_order=1&q=%E6%A8%A1%E5%9E%8B%E6%8E%A8%E7%90%86&zhida_source=entity)(Inference)过程则是对于用户的问题直接逐个生成Token来形成答案。

Others are asking
怎么做tts模型训练
以下是关于 TTS 模型训练的相关内容: 使用 GPTSoVITS 进行 TTS 模型训练: GPTSoVITS 是一个声音克隆和文本到语音转换的开源 Python RAG 框架。 只需 1 分钟语音即可训练一个自己的 TTS 模型。5 秒数据就能模仿您,1 分钟的声音数据就能训练出一个高质量的 TTS 模型,完美克隆您的声音。 主要特点: 零样本 TTS:输入 5 秒的声音样本即可体验即时的文本到语音转换。 少量样本训练:只需 1 分钟的训练数据即可微调模型,提高声音相似度和真实感。模仿出来的声音会更加接近原声,听起来更自然。 跨语言支持:支持与训练数据集不同语言的推理,目前支持英语、日语和中文。 易于使用的界面:集成了声音伴奏分离、自动训练集分割、中文语音识别和文本标签等工具,帮助初学者更容易地创建训练数据集和 GPT/SoVITS 模型。 适用于不同操作系统:项目可以在不同的操作系统上安装和运行,包括 Windows。 预训练模型:项目提供了一些已经训练好的模型,您可以直接下载使用。 GitHub: 视频教程: TTS 模型训练的音库制作和文本前端: 音频录制: 音频的录制对合成语音的表现较为重要,较差的语音甚至会导致端到端声学模型无法正常收敛。 用于训练的录音至少要保证录音环境和设备始终保持一致,无混响、背景噪音;原始录音不可截幅。 如果希望合成出来的语音干净,则要删除含口水音、呼吸音、杂音、模糊等,但对于目前的端到端合成模型,有时会学习到在合适的位置合成呼吸音、口水音,反而会增加语音自然度。 录音尽可能不要事先处理,语速的调节尚可,但调节音效等有时会造成奇怪的问题,甚至导致声学模型无法收敛。 音频的录制可以参考录音公司的标准,购买专业麦克风,并保持录音环境安静即可。 在音库录制过程中,可尽早提前尝试声学模型,比如音库录制 2 个小时语音后,就可尝试训练基线语音合成系统,以防止录音不符合最终的需求。 语料整理: 检查文本和录制的语音是否一一对应,录制的音频本身一句话是否能量渐弱,参与训练的语音前后静音段要保持一致,能量要进行规范化。 可使用预训练的语音活动检测(Voice Activity Detection,VAD)工具,或者直接根据语音起止的电平值确定前后静音段。 可以使用一些开源的工具,比如统一所有语音的整体能量,这将有助于声学模型的收敛。当然,在声学模型模型训练时,首先就要对所有语料计算均值方差,进行统一的规范化,但是这里最好实现统一能量水平,防止一句话前后能量不一致。 GPTSoVITS 实现 AIyoyo 声音克隆的步骤: 前置数据获取处理: 选择音频,开启切割。 有噪音时,进行降噪处理。 降噪处理完成,开启离线 ASR。 GPTSowitsTTS: 训练集格式化:开启一键三连,耐心等待即可。 微调训练:开启 SoVITS 训练和 GPT 训练。 推理:开始推理 刷新模型 选择微调后的模型 yoyo。 成功:出现新的 URL,说明您自己的声音微调完毕,然后可以进行使用。 声音复刻:开启声音复刻之旅,实现跨多语种语言的声音。 希望以上内容对您有所帮助。
2025-01-24
如何用最简单的方法,训练一个自有数据的大模型
训练自有数据的大模型可以通过以下步骤实现: 1. 了解大模型的概念:大模型是输入大量语料,让计算机获得类似人类的“思考”能力,能够进行文本生成、推理问答、对话、文档摘要等工作。可以用上学参加工作来类比大模型的训练、使用过程,包括找学校(需要大量 GPU 等计算资源)、确定教材(需要大量数据)、找老师(选择合适算法)、就业指导(进行微调)、搬砖(推导)。在 LLM 中,Token 被视为模型处理和生成的文本单位,会对输入进行分词并形成词汇表。 2. 基础训练步骤: 进入厚德云模型训练数据集,如 https://portal.houdeyun.cn/sd/dataset 。 创建数据集:在数据集一栏中,点击右上角创建数据集,输入数据集名称。可以上传包含图片+标签的 zip 文件,也可单独上传照片,但建议提前打包。Zip 文件里图片名称与标签文件应当匹配,上传后等待一段时间确认创建,返回上一个页面等待上传成功并可点击详情检查,能预览数据集的图片及对应的标签。 Lora 训练:点击 Flux,基础模型会默认是 FLUX 1.0D 版本。选择数据集,触发词可有可无,模型效果预览提示词随机抽取数据集里的标签填入。训练参数可调节重复次数与训练轮数,厚德云会自动计算训练步数,可默认 20 重复次数和 10 轮训练轮数,按需求选择是否加速,点击开始训练,会显示所需消耗的算力,等待训练完成,会显示每一轮的预览图,鼠标悬浮到想要的轮次模型,中间会有生图,点击可自动跳转到使用此 lora 生图的界面,点击下方下载按钮可自动下载到本地。 3. 部署和训练自己的 AI 开源模型的主要步骤: 选择合适的部署方式,如本地环境部署、云计算平台部署、分布式部署、模型压缩和量化、公共云服务商部署,根据自身资源、安全和性能需求选择。 准备训练所需的数据和计算资源,确保有足够的训练数据覆盖目标应用场景,并准备足够的计算资源,如 GPU 服务器或云计算资源。 选择合适的预训练模型作为基础,如开源的预训练模型 BERT、GPT 等,也可自行训练基础模型。 针对目标任务进行模型微调训练,根据具体应用场景对预训练模型进行微调训练,优化模型结构和训练过程以提高性能。 部署和调试模型,将训练好的模型部署到生产环境,对部署的模型进行在线调试和性能优化。 注意安全性和隐私保护,大模型涉及大量数据和隐私信息,需要重视安全性和合规性。 总的来说,训练自有数据的大模型需要综合考虑多方面因素,包括部署方式、数据准备、模型训练、部署调试以及安全性等。需要根据具体需求选择合适的方法,并注意优化各个环节以提高模型性能和应用效果。
2025-01-24
如何训练自己的ai
训练自己的 AI 可以从以下几个方面考虑: 1. 像在医疗保健领域一样,创建模型生态系统,让 AI 像优秀的从业者那样学习。顶尖人才的培养通常从多年的密集信息输入和正规教育开始,再通过学徒实践从出色的实践者那里学习,获取书本外的信息。对于 AI ,应通过堆叠模型训练,而非仅依靠大量数据和生成模型。例如先训练基础学科模型,再添加特定领域数据点。 2. 部署和训练自己的 AI 开源模型的主要步骤: 选择合适的部署方式,如本地环境部署、云计算平台部署、分布式部署、模型压缩和量化、公共云服务商部署等,根据自身资源、安全和性能需求选择。 准备训练所需的数据和计算资源,确保有足够的训练数据覆盖目标应用场景,并准备足够的计算资源,如 GPU 服务器或云计算资源。 选择合适的预训练模型作为基础,如开源的 BERT、GPT 等,也可自行训练基础模型。 针对目标任务进行模型微调训练,根据具体应用场景对预训练模型进行微调,优化模型结构和训练过程以提高性能。 部署和调试模型,将训练好的模型部署到生产环境,并进行在线调试和性能优化。 注意安全性和隐私保护,重视大模型涉及的大量数据和隐私信息的安全性和合规性。 3. 学习拆解复杂任务,先想清楚如何拆解: 一步步思考,包括自我反省,检查答案是否正确、是否符合法律/道德等。 运用组合拳,如 Tree of Thoughts、Algorithm of Thoughts、Graph of Thoughts 等。 学会使用工具,如搜索引擎(警惕“幻觉”)、RAG(提供资料库/让其上网搜)、写公式 Program of Thought 、上千个工具等,并自己学习使用工具。
2025-01-23
大模型训练方式
大模型的训练方式如下: 1. 通俗来讲,大模型是输入大量语料,让计算机获得类似人类的“思考”能力,能进行文本生成、推理问答、对话、文档摘要等工作。可以用“上学参加工作”来类比其训练和使用过程: 找学校:训练大模型需要大量计算,GPU更合适,只有购买得起大量GPU的才有资本训练。 确定教材:大模型需要大量数据,几千亿序列(Token)的输入基本是标配。 找老师:即选择合适算法讲述“书本”内容,让大模型更好理解Token之间的关系。 就业指导:为让大模型更好胜任某一行业,需要进行微调(fine tuning)指导。 搬砖:就业指导完成后,进行如翻译、问答等工作,在大模型里称之为推导(infer)。Token被视为模型处理和生成的文本单位,能代表单个字符、单词等,在将输入进行分词时,会形成词汇表。 2. 100基础训练大模型的步骤: 步骤一·创建数据集:进入厚德云模型训练数据集(https://portal.houdeyun.cn/sd/dataset),在数据集一栏中点击右上角创建数据集,输入数据集名称。zip文件可以是包含图片+标签txt,也可以只有图片没有打标文件,也可以一张一张单独上传照片,但建议提前把图片和标签打包成zip上传。Zip文件里图片名称与标签文件应当匹配,例如:图片名"1.png",对应的达标文件就叫"1.txt"。上传zip以后等待一段时间,确认创建数据集,返回到上一个页面,等待一段时间后上传成功,可以点击详情检查,可预览到数据集的图片以及对应的标签。 步骤二·Lora训练:点击Flux,基础模型会默认是FLUX 1.0D版本,选择数据集,点击右侧箭头,会跳出所有上传过的数据集。触发词可有可无,取决于数据集是否有触发词。模型效果预览提示词则随机抽取一个数据集中的标签填入即可。训练参数这里可以调节重复次数与训练轮数,厚德云会自动计算训练步数,如果不知道如何设置,可以默认20重复次数和10轮训练轮数,可以按需求选择是否加速,点击开始训练,会显示所需要消耗的算力,然后等待训练,会显示预览时间和进度条,训练完成的会显示出每一轮的预览图,鼠标悬浮到想要的轮次模型,中间会有个生图,点击会自动跳转到使用此lora生图的界面。点击下方的下载按钮则会自动下载到本地。 步骤三·Lora生图:点击预览模型中间的生图会自动跳转到相应页面。模型上的数字代表模型强度,可在0.61.0之间调节,也可以自己添加lora文件,点击后会显示训练过的所有lora的所有轮次。VAE不需要替换,正向提示词输入写的提示词,可以选择基于这个提示词一次性生成几张图,选择生成图片的尺寸,横板、竖版、正方形。采样器和调度器新手小白可以默认,迭代步数可以在2030之间调整,CFG可以在3.57.5之间调整,随机种子1代表随机生成图。所有设置都好了以后,点击开始生态,生成的图会显示在右侧。如果有哪次生成结果觉得很不错,想要微调或者高分辨率修复,可以点开那张图,往下滑,划到随机种子,复制下来,粘贴到随机种子这里,这样下次生成的图就会和这次的结果近似。如果确认了一张很合适的种子和参数,想要搞清放大,则点开高清修复,可以选择想放大的倍数,新手小白可以就默认这个算法,迭代步数建议在2030之间,重回幅度根据需求调整,正常在0.30.7之间调整。 3. 今日作业:按照比赛要求,收集六个主题中一个主题的素材并且训练出lora模型后提交lora模型与案例图像。提交链接:https://waytoagi.feishu.cn/share/base/form/shrcnpJAtTjID7cIcNsWB79XMEd
2025-01-23
FLUX模型训练
以下是关于 Flux 的 Lora 模型训练的详细步骤: 1. 模型准备: 下载所需模型,包括 t5xxl_fp16.safetensors、clip_l.safetensors、ae.safetensors、flux1dev.safetensors。 注意:不使用时模型存放位置不限,但要知晓路径;训练时建议使用 flux1dev.safetensors 和 t5xxl_fp16.safetensors 版本。 2. 下载脚本: 夸克网盘链接:https://pan.quark.cn/s/ddf85bb2ac59 百度网盘链接:https://pan.baidu.com/s/1pBHPYpQxgTCcbsKYgBi_MQ?pwd=pfsq 提取码:pfsq 3. 数据集准备: 建议使用自然语言,与之前 SDXL 的训练类似。 数据集存放位置:.Flux_train_20.4\\train\\qinglong\\train 。 若未准备数据集,此路径中有试验数据集可直接使用。 4. 运行训练:约 1 2 小时即可完成训练。 5. 验证和 lora 跑图:若有 comfyUI 基础,在原版工作流的模型后面,多加一个 LoraloaderModelOnly 的节点,自行选择 Lora 并调节参数。 6. 修改脚本路径和参数: 若显卡为 16G,右键 16G 的 train_flux_16GLora 文件;若显卡为 24G 或更高,右键 24G 的 train_flux_24GLora 文件。 用代码编辑器打开,理论上只需修改红色部分,包括底模路径、VAE 路径、数据集路径、clip 路径和 T5xxl 路径。注意路径格式,避免错误。蓝色部分为备注名称,可改可不改。建议经验丰富后再修改其他深入参数,并做好备份管理。
2025-01-20
Flux 的lora模型训练教程
以下是 Flux 的 Lora 模型训练教程: 1. 模型准备: 下载所需模型,如 t5xxl_fp16.safetensors、clip_l.safetensors、ae.safetensors、flux1dev.safetensors。 注意: 不使用时模型存放位置随意,只要知晓路径,后续会引用。 训练建议使用 flux1dev.safetensors 版本的模型和 t5xxl_fp16.safetensors 版本的编码器。 2. 下载训练脚本: 夸克网盘链接:https://pan.quark.cn/s/ddf85bb2ac59 百度网盘链接:https://pan.baidu.com/s/1pBHPYpQxgTCcbsKYgBi_MQ?pwd=pfsq 提取码:pfsq 3. 训练步骤: 进入厚德云模型训练数据集:https://portal.houdeyun.cn/sd/dataset 步骤一·创建数据集: 在数据集一栏中,点击右上角创建数据集。 输入数据集名称。 可以提前将图片和标签打包成 zip 上传,zip 文件里图片名称与标签文件应当匹配,如图片名"1.png",对应的达标文件就叫"1.txt"。也可以一张一张单独上传照片。 上传 zip 以后等待一段时间,确认创建数据集,返回到上一个页面,等待一段时间后上传成功,可点击详情检查,预览数据集的图片以及对应的标签。 步骤二·Lora 训练: 点击 Flux,基础模型会默认是 FLUX 1.0D 版本。 选择数据集,点击右侧箭头,会跳出所有上传过的数据集。 触发词可有可无,取决于数据集是否有触发词。 模型效果预览提示词则随机抽取一个数据集中的标签填入即可。 训练参数这里可以调节重复次数与训练轮数,厚德云会自动计算训练步数。如果不知道如何设置,可以默认 20 重复次数和 10 轮训练轮数。 可以按需求选择是否加速,点击开始训练,会显示所需要消耗的算力。 然后等待训练,会显示预览时间和进度条。训练完成的会显示出每一轮的预览图。鼠标悬浮到想要的轮次模型,中间会有个生图,点击会自动跳转到使用此 lora 生图的界面。点击下方的下载按钮则会自动下载到本地。 4. 低配置方案: 开源社区对低配置方案进行了优化,NF4 来自 controlnet 的作者,GGUF 则包含多个版本可以使用。 NF4 模型下载:https://huggingface.co/lllyasviel/flux1devbnbnf4/blob/main/flux1devbnbnf4.safetensors ,放置在 ComfyUI/models/checkpoint/中(不像其他 Flux 模型那样放置在 UNET 中),NF4 配套节点插件:git clone https://github.com/comfyanonymous/ComfyUI_bitsandbytes_NF4.git GGUF 模型下载:Flux GGUF 模型:https://huggingface.co/city96/FLUX.1devgguf/tree/main ,GGUF 配套节点插件:GGUF 节点包:https://github.com/city96/ComfyUIGGUF 。 值得一提的是在最新版本的 ComfyUI 中 GGUF 的节点插件可以在 Manager 管理器中搜到下载安装,NF4 的配套节点插件则搜不到。 注意使用精度优化的低配模型的话,工作流和原版是不一样的。此处没有专门列举。 自己改的话就是把上面官方的 fp8 的工作流,只需把底模的节点换成 NF4 的或者 GUFF 的即可。 相关生态发展很快,有 Lora、Controlnet、IPadpter 相关生态建设非常速度,以及字节最近发布的 Flux Hyper lora 是为了 8 步快速生图。
2025-01-19