ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

AI训练师图解_6.3_模型训练实战_Embedding

AI训练师图解_6.3_模型训练实战_Embedding 6.3 模型训练实战Embedding文章目录6.3 模型训练实战Embedding6.3.1 认识模型Embedding模型训练概述6.3.2 优化参数对Stable Diffusion进行配置6.3.3 数据标注对图像进行预处理操作6.3.4 创建模型生成嵌入式Embedding模型6.3.5 训练模型用Embedding打包提示词Embedding中文名为嵌入它是自然语言处理中的一种常用模型能够将文本中的单词或其他文本单位映射到连续向量空间中的表示方法。简单来说Embedding 就是一种映射变换即将一个数字映射成一组向量。通过将文本数据转换为固定大小的向量Embedding模型使得计算机能够更好地理解和处理自然语言。例如Embedding模型可以通过学习文本和图像之间的共现关系让AI绘画工具在生成图像时考虑到文本的描述从而提高生成图像的准确性和相关性。本节将以热门AI绘画生成工具Stable Diffusion为例介绍训练AI绘画类Embedding模型的操作方法。6.3.1 认识模型Embedding模型训练概述Embedding即将高维数据映射到低维空间的过程在机器学习和自然语言处理中占据重要地位其实质是用实值向量表示数据这些向量能在连续数值空间中表示语义。要理解Embedding需要先了解自然语言处理中的词元、向量等基础概念。自然语言处理是对语言文字的分析处理神经网络是一种复杂函数处理对象是数字不能直接处理文字所以需要对语言文字进行“数字化”处理。将数据集处理成神经网络可理解的形式首先要进行词元化操作词元是样本集中最小的数据单元。词元化操作有很多种方式如将单词作为最小单元即每个最小单词为一个词元。为了将样本数据集数字化需要将词元映射成数字以便神经网络能够理解。以词元出现的次数为依据进行排序将一个个词元映射成一个个数字。另外大部分的AI训练师更愿意进行特征提取操作用更多更具体的信息描述词元这样模型会更好理解。综上所述Embedding是将一个数字映射成一组向量 为之后神经网络模型的运算打下基础。训练Embedding模型可以使语言模型以紧凑高效的方式对输入文本的上下文信息进行编码。这种技术允许模型利用上下文信息生成更连贯和更恰当的输出文本即使输入文本被分成多个片段也不会影响输出文本的准确性。Embedding模型训练的主要价值在于其语义表示可以进行向量运算且能在多个自然语言处理任务中共享和迁移。此外预训练Embedding并在小型数据集上进行微调有助于提高语言模型在各种自然语言处理应用程序中的准确性和运行效率。Embedding模型训练在大语言模型中的应用日益重要特别是解决长文本输入问题。通过创建基于文本的向量Embedding可以在数据库中存储这些向量然后使用检索技术找到与问题最相似的文档。将问题和检索得到的Embedding一起提供给大语言模型如ChatGPT可以让AI回答与长文本相关的问题。简单来说我们可以将Embedding视为一种预先训练的模型指导它在模型处理过程中提供操作指示。举个例子如果Embedding中包含了关于“花”的信息那么模型所生成的图像都将呈现出“花”的特征。然而在正常的操作中只要给定的提示词足够详尽嵌入式模型的作用就显得不那么重要了。有趣的是我们可以尝试“反向”运用它。例如将“画坏的手”的信息纳入Embedding中并结合使用反向提示词这样当模型进行处理时它就能够尽量避免生成Embedding中所提示的“画坏的手”这种图像。温馨提示常见的Embedding模型包括Word Embedding和Character Embedding字符嵌入。Word Embedding是将文本中的单词映射为向量而Character Embedding则是将文本中的字符映射为向量这些向量通常是通过使用神经网络或其他机器学习算法 从大规模的文本数据中学到的。在训练Embedding模型时通常使用无监督学习方法如通过预测上下文单词或字符来学习向量表示。模型训练完成后得到的Embedding向量可以用于各种NLP任务如通过计算词向量之间的相似度来衡量词汇之间的相似性或者将词向量作为输入特征用于处理分类或回归任务。6.3.2 优化参数对Stable Diffusion进行配置在利用Stable Diffusion进行AI绘画的过程中Embedding模型能够将输入的图像转化为向量表示这样有助于算法对其进行处理进而生成新的图像。在开始训练 Embedding模型前我们需要进行一些基本的配置具体操作方法如下。步骤01 进入Stable Diffusion Web UI的“设置”页面切换至“训练”选项卡 选中“如果可行训练时将VAE和CLIP模型从显存移动到内存可节省显存”复选框如图6-10所示。单击“保存设置”按钮使其生效。存”复选框温馨提示选中“如果可行训练时将VAE和CLIP模型从显存移动到内存可节省显存”复选框主要作用是节省显存资源以便用于其他模型的训练或运行。VAE即 Variational Autoencoder变分自编码器CLIP即Contrastive Language-Image Pre-training对比语言-图像预训练。步骤02 在Stable Diffusion根目录下新建一个train训练文件夹在其中创建 1个子文件夹子文件夹的名称建议设置为与嵌入式模型一样以便于与其他模型区分如图6-11所示。步骤03 打开刚创建的子文件夹在其中创建两个图像文件夹将名称分别设置为 input输入和output输出如图6-12所示。步骤04 打开input文件夹并将需要训练的图片放入该文件夹中如图6-13所示。注意图片最好预先裁剪为512px×512px的尺寸。6.3.3 数据标注对图像进行预处理操作Embedding模型像是一张便利贴它本身并没有存储很多信息而是将所需的元素信息提取出来进行标注。图像预处理可以提高数据标注的准确性和效率并将图像转化为机器学习算法可以理解和利用的形式。通过预处理操作可以提取图像的特征为模型提供更有代表性的输入信息从而提高模型的性能和准确性具体操作方法如下。温馨提示当训练一个Embedding模型时通过对原始数据进行水平翻转操作可以生成与原始数据相似但又有所不同的数据。这些水平翻转副本与原始数据一起作为训练数据可以丰富数据的表示形式使得模型能够学到更多不同的特征和模式。步骤01 在“训练”页面中切换至“图像预处理”选项卡在“源目录”文本框中输入input文件夹的路径在“目标目录”文本框中输入output文件夹的路径在页面下方同时选中“创建水平翻转副本”用于建立镜像副本和“使用BLIP生成标签自然语言”复选框单击“预处理”按钮如图6-14所示。温馨提示BLIPBootstrapping Language-Image Pre-training自助法语言-图像预训练 是一种用于自然语言处理和语言推理的模型它可以生成标签来描述文本中的信息。步骤02 执行操作后显示相应的预处理进度稍等片刻当页面右侧显示 Preprocessing finished 预处理完成的提示信息说明预处理已经成功了 如图6-15所示。步骤03 图像预处理完成后进入output文件夹即可看到处理结果包括图片和 caption包含提示词信息文档如图6-16所示。6.3.4 创建模型生成嵌入式Embedding模型嵌入式模型通常指的是将模型嵌入硬件设备或系统中以实现实时或离线应用。需要注意的是在模型的优化和集成过程中可能需要进行多次迭代和调试以获得最佳的运行性能和应用效果。下面介绍生成嵌入式Embedding模型的操作方法。步骤01 在“训练”页面中切换至“创建嵌入式模型”选项卡设置“名称”为 model1,“每个词元的向量数”为6如图6-17所示。温馨提示在Stable Diffusion中每个词元Token的向量数取决于预训练模型的架构和输入数据的特性。通常情况下预训练语言模型使用Transformer架构每个词元会被转换为固定长度的向量表示。在Transformer架构中每个词元会被分割成一个单词序列每个单词被表示为一个向量。这些向量通常具有不同的长度但经过填充操作后它们会被调整为相同的长度。对于输入数据如文本或图像每个输入也会被转换为一系列向量。这些向量可以是文本中的词元向量也可以是图像中的像素向量。另外对于图像输入通常会使用卷积神经网络或其他图像处理技术来提取特征向量。步骤02 单击“创建嵌入式模型”按钮页面右侧会显示嵌入式模型的保存路径 表示嵌入式模型创建成功如图6-18所示。6.3.5 训练模型用Embedding打包提示词在Stable Diffusion中训练模型的过程又被称为“炼丹”这是因为基于深度学习技术的模型训练过程与“炼丹”有相似之处。完成前面的操作后即可开始训练 Embedding模型将提示词进行打包形成一个训练数据集具体操作方法如下。步骤01 在“训练”页面中切换至“训练”选项卡在“嵌入式模型 Embedding”列表框中选择前面创建的嵌入式模型model1在“数据集目录”文本框中输入output文件夹的路径在“提示词模板”列表框中选择 subject_filewords.txt包含主题文件和单词的文本文件选项相关设置如图 6-19所示。步骤02 在页面下方继续设置“最大步数”为10000表示完成这么多步骤后训练将停止选中“进行预览时从文生图选项卡中读取参数提示词等”复选框用于读取文生图中的参数信息相关设置如图6-20所示。步骤03 设置完成后进入“文生图”页面选择一个合适的大模型并输入一些简单的提示词如图6-21所示。步骤04 返回“训练”页面单击底部的“训练嵌入式模型”按钮如图6-22所示即可开始训练模型时间会比较长10000步左右的训练通常需要耗时一个半小时左右。步骤05 训练完成后可以在扩展模型中切换至“嵌入式T.I. Embedding”选项卡在其中即可查看训练好的嵌入式模型如图6-23所示。用户在进行文生图或图生图操作时可以直接选择该模型进行绘图。温馨提示需要注意的是在模型的训练过程中每隔500步在训练进度下方会显示出训练的模型效果预览图如图6-24所示。如果用户觉得满意可以单击“中止”按钮来结束训练如果不满意可以让训练操作继续执行。通常需要到10000步左右才可能出现比较不错的出图效果有些配置低的计算机可能要到30000步才行。本章小结本章主要介绍了自然语言处理的基础知识、应用场景以及Embedding模型的训练方法。通过学习本章内容读者可以深入了解自然语言处理的技术原理和应用场景 并掌握Embedding模型的基本原理和训练方法为今后的学习和实践打下坚实的基础。课后习题鉴于本章知识的重要性为了帮助读者更好地掌握所学知识下面将通过课后习题帮助读者进行简单的知识回顾和补充。什么是自然语言处理使用Embedding模型优化AI生成的人物角色效果对比如图6-25所示。
返回列表