云服务器内容精选

  • 调优典型问题 科学计算大模型调优典型问题见表1。 表1 科学计算大模型调优典型问题 问题 可能原因 解决方法 预训练或微调作业失败,提示训练集数据不足。 训练集选取时间区段是否不足。 训练集选择的时间区段需要至少超过模型分辨率对应时长。 预训练或微调作业失败,提示验证集数据不足。 验证集选取时间区段是否不足。 验证集选择的时间区段需要满足表2对应关系,请相应地延长验证集的时间区段时长。 数据集中盐度(S)变量在下载过程中,如图1、图2,存在数据块缺失与数据块偏移的问题,将导致训练过程中盐度损失异常,波动大且不收敛,如图3。 模型训练前,未对数据进行加工。 模型训练前,需要对数据进行加工,防止某些特征存在极端异常值或大面积错误数据,导致模型训练不稳定。可能会引发如下问题: 模型对异常值过度敏感,导致拟合异常值而非整体数据分布。 训练过程中损失波动较大,甚至出现梯度爆炸。 模型在测试集上表现不佳,泛化能力差。 通过统计学方法如计算四分位距、Z-score、样本分布等排查异常值。 通过可视化方法, 数据可视化 或者使用箱线图进行异常值的排查。 结合数据自身特征,进行异常数据的筛选。 对于异常值,视情况进行删除、替换、保留等操作,兼顾模型的收敛与鲁棒性。 删除异常值后,盐度(S)损失收敛正常,如图4。 表2 验证集选择的时间区段 时间分辨率 推理步数 验证集选择的时间区段(需要至少在以下时间点内,且有连续数据,才能得到1条测试数据。) 1h 24 24h内每1h的数据(例:0点,1点,2点…次日0点)。 3h 12 36h内每3h的数据(例:0点,3点, 6点…次日9点,次日12点)。 6h 8 48h内每6h的数据(例:0点,6点, 12点…次日18点,次日24点)。 24h 7 7天每24h的数据(例:0点,次日0点…7天后0点)。 图1 盐度数据偏移与缺失样例-1 图2 盐度数据偏移与缺失样例-2 图3 盐度(S)异常的训练损失 图4 删除异常值后的训练损失 父主题: 盘古科学计算大模型调优实践
  • 训练参数优化 科学计算大模型的训练参数调优可以考虑学习率参数,学习率(Learning Rate)是模型训练中最重要的超参数之一,它直接影响模型的收敛速度和最终性能: 学习率过高,会导致损失在训练初期快速下降,但随后波动较大,甚至出现NaN(梯度爆炸)的问题。 学习率过低,会导致损失下降非常缓慢,训练过程耗时较长,模型可能陷入局部最优等问题。 科学计算大模型的学习率调优策略如下: 学习率太小时,损失曲线几乎是一条水平线,下降非常缓慢,此时可以增大学习率,使用学习率预热(Warm-up)的方法,在训练初期逐步增加学习率,避免初始阶段学习率过小。 学习率太大时,损失曲线剧烈震荡,甚至出现梯度爆炸的问题,可以使用学习率衰减(Decay)策略,在训练过程中逐步减小学习率,避免后期学习率过大。建议动态调整学习率,使用自适应优化器,如Adam、AdamW、 RMS prop等,这些优化器可以自动调整学习率。 如果您没有专业的调优经验,可以优先使用ModelArts Studio平台的默认值,再结合损失曲线动态调整。 父主题: 盘古科学计算大模型调优实践
  • 数据预处理优化 模型训练前,需要对数据进行加工,防止某些特征存在极端异常值或大面积错误数据,导致模型训练不稳定。可能会引发如下问题: 模型对异常值过度敏感,导致拟合异常值而非整体数据分布。 训练过程中损失波动较大,甚至出现梯度爆炸。 模型在测试集上表现不佳,泛化能力差。 优化调整策略如下: 通过统计学方法如计算四分位距、Z-score、样本分布等排查异常值。 通过可视化方法,数据可视化或者使用箱线图进行异常值的排查。 结合数据自身特征,进行异常数据的筛选。 对于异常值,视情况进行删除、替换、保留等操作,兼顾模型的收敛与鲁棒性。 优化举例: 某数据集中,盐度(S)变量在下载过程中存在数据块缺失与数据块偏移的问题,如图1、图2,导致在训练过程中盐度损失异常,波动大且不收敛,如图3。在删除异常数据后,如图4,盐度正常收敛。因此在训练过程中存在损失波动较大的情况,可以考虑数据异常的情况。 图1 盐度数据偏移与缺失样例-1 图2 盐度数据偏移与缺失样例-2 图3 盐度(S)异常的训练损失 图4 删除异常值后的训练损失 父主题: 盘古科学计算大模型调优实践
  • 调优典型问题 为什么微调后的模型,回答总是在重复某一句或某几句话? 当您将微调的模型部署以后,输入一个与目标任务同属的问题,模型生成了复读机式的结果,即回答中反复出现某一句话或某几句话。这种情况可能是由于以下几个原因导致的,建议您依次排查: 推理参数设置:请检查推理参数中的“话题重复度控制”或“温度”或“核采样”等参数的设置,适当增大其中一个参数的值,可以提升模型回答的多样性。 数据质量:请检查训练数据中是否存在文本重复的异常数据,可以通过规则进行加工。 训练参数设置:若数据质量存在问题,且因训练参数设置的不合理而导致过拟合,该现象会更加明显。请检查训练参数中的“训练轮次”或“学习率”等参数的设置,适当降低这些参数的值,降低过拟合的风险。 为什么微调后的模型,回答中会出现乱码? 当您将微调的模型部署以后,输入一个与目标任务同属的问题,模型生成的结果中出现了其他语言、异常符号、乱码等字符。这种情况可能是由于以下几个原因导致的,建议您依次排查: 数据质量:请检查训练数据中是否存在包含异常字符的数据,可以通过规则进行加工。 训练参数设置:若数据质量存在问题,且因训练参数设置的不合理而导致过拟合,该现象会更加明显。请检查训练参数中的“训练轮次”或“学习率”等参数的设置,适当降低这些参数的值,降低过拟合的风险。 推理参数设置:请检查推理参数中的“温度”或“核采样”等参数的设置,适当减小其中一个参数的值,可以提升模型回答的确定性,避免生成异常内容。 为什么微调后的模型,回答会异常中断? 当您将微调的模型部署以后,输入一个与目标任务同属的问题,模型生成的结果不完整,出现了异常截断。这种情况可能是由于以下几个原因导致的,建议您依次排查: 推理参数设置:请检查推理参数中的“最大Token限制”参数的设置,适当增加该参数的值,可以增大模型回答生成的长度,避免生成异常截断。请注意,该参数值存在上限,请结合目标任务的实际需要以及模型支持的长度限制来调整。 模型规格:不同规格的模型支持的长度不同,若目标任务本身需要生成的长度已经超过模型上限,建议您替换可支持更长长度的模型。 数据质量:请检查训练数据中是否存在包含异常截断的数据,可以通过规则进行加工。 为什么微调后的模型,只能回答在训练样本中学过的问题? 当您将微调的模型部署以后,输入一个已经出现在训练样本中的问题,模型生成的结果很好,一旦输入了一个从未出现过的数据(目标任务相同),回答却完全错误。这种情况可能是由于以下几个原因导致的,建议您依次排查: 训练参数设置:您可以通过绘制Loss曲线查询来确认模型的训练过程是否出现了问题,这种情况大概率是由于训练参数设置的不合理而导致了过拟合。请检查训练参数中的“训练轮次”或“学习率”等参数的设置,适当降低这些参数的值,降低过拟合的风险。 数据质量:请检查训练数据的质量,若训练样本出现了大量重复数据,或者数据多样性很差,则会加剧该现象。 为什么微调后的模型,输入与训练样本相似的问题,回答与训练样本完全不同? 当您将微调的模型部署以后,输入一个已经出现在训练样本中,或虽未出现但和训练样本差异很小的问题,回答完全错误。这种情况可能是由于以下几个原因导致的,建议您依次排查: 训练参数设置:您可以通过绘制Loss曲线查询来确认模型的训练过程是否出现了问题,这种情况大概率是由于训练参数设置的不合理而导致了欠拟合,模型没有学到任何知识。请检查训练参数中的“训练轮次”或“学习率”等参数的设置,适当增大“训练轮次”的值,或根据实际情况调整“学习率”的值,帮助模型更好收敛。 数据质量:请检查训练数据的质量,若训练样本和目标任务不一致或者分布差异较大,则会加剧该现象。 为什么微调后的模型,评估结果很好,但实际场景表现却很差? 当您在微调过程中,发现模型评估的结果很好,一旦将微调的模型部署以后,输入一个与目标任务同属的问题,回答的结果却不理想。这种情况可能是由于以下几个原因导致的,建议您依次排查: 测试集质量:请检查测试集的目标任务和分布与实际场景是否一致,质量较差的测试集无法反映模型的真实结果。 数据质量:请检查训练数据的质量,若训练样本和目标任务不一致或者分布差异较大,则会加剧该现象。此外,若可预见实际场景会不断发生变化,建议您定期更新训练数据,对模型进行微调更新。 多轮问答场景,为什么微调后的效果不好? 当您的目标任务是多轮问答,并且使用了多轮问答数据进行微调,微调后却发现多轮回答的效果不理想。这种情况可能是由于以下几个原因导致的,建议您依次排查: 数据格式:多轮问答场景需要按照指定的数据格式来构造,以下给出了几条多轮问答的数据样例供您参考: 原始对话示例: A:你是谁? B:您好,我是盘古大模型。 A:你可以做什么? B:我可以做很多事情,比如,和您进行问答对话。 A:你可以讲个笑话吗? B:当然可以啦,以下是xxxx A:可以把这个笑话改成xxxx B:好的,以下是修改后的xxxx 拼接后的微调数据格式示例: [{"context": "你是谁?"},{"target": "您好,我是盘古大模型。"},{"context": "你可以做什么?"},{"target": "我可以做很多事情,比如,和您进行问答对话。"}, {"context": "你可以讲个笑话吗?"},{"target": "当然可以啦,以下是xxxx"}, {"context": "可以把这个笑话改成xxxx"},{"target": "好的,以下是修改后的xxxx"}] 多轮问答场景的输入是数组格式,至少由一组问答对构成。形式为[{"context":"context内容1","target":"target内容1"},{"context":"context内容2","target":"target内容2"}],其中context、target分别表示问题、答案。 数据质量:若数据格式没有问题,仍然发现模型效果不好,您可以根据具体问题针对性的提升您的数据质量。 例如,随着对话轮数的增加,模型出现了遗忘,可以检查构造的训练数据中轮数是否普遍较少,建议根据实际情况增加数据中的对话轮数。 数据量满足要求,为什么微调后的效果不好? 这种情况可能是由于以下原因导致的,建议您排查: 数据质量:请检查训练数据的质量,若训练样本和目标任务不一致或者分布差异较大、样本中存在异常数据、样本的多样性较差,都将影响模型训练的效果,建议提升您的数据质量。 数据量和质量均满足要求,为什么微调后的效果不好? 这种情况可能是由于以下原因导致的,建议您排查: 训练参数设置:您可以通过绘制Loss曲线查询来确认模型的训练过程是否出现了问题,这种情况大概率是由于训练参数设置的不合理而导致了欠拟合或过拟合。请检查训练参数中的“训练轮次”或“学习率”等参数的设置,根据实际情况调整训练参数,帮助模型更好学习。 数据量和质量均满足要求,Loss也正常收敛,为什么微调后的效果不好? 这种情况可能是由于以下几个原因导致的,建议您依次排查: PROMPT设置:请检查您使用的Prompt。一般情况下,对于同一个目标任务,建议在推理阶段使用和训练数据相同或相似的Prompt,才能发挥出模型的最佳效果。 模型规格:理论上模型的参数规模越大,模型能学到的知识就越多,能学会的知识就更难,若目标任务本身难度较大,建议您替换参数规模更大的模型。 父主题: 盘古NLP大模型调优实践
  • 优化推理超参数 推理参数(解码参数)是一组用于控制模型生成预测结果的参数,其可以用于控制模型生成结果的样式,比如长度、随机性、创造性、多样性、准确性、丰富度等等。 当前,平台支持的推理参数包括:温度、核采样以及话题重复度控制,表1提供了典型推理参数的建议值和说明,供您参考: 表1 典型推理参数的建议和说明 推理参数 范围 建议值 说明 温度(temperature) 0~1 0.3 温度主要用于控制模型输出的随机性和创造性。温度越高,输出的随机性和创造性越高;温度越低,输出结果越可以被预测,确定性相对也就越高。 您可根据真实的任务类型进行调整。一般来说,如果目标任务的需要生成更具创造性的内容,可以使用较高的温度,反之如果目标任务的需要生成更为确定的内容,可以使用较低的温度。 请注意,温度和核采样的作用相近,在实际使用中,为了更好观察是哪个参数对结果造成的影响,不建议同时调整这两个参数。 如果您没有专业的调优经验,可以优先使用建议,再结合推理的效果动态调整。 核采样(top_p) 0~1 1 核采样主要用于控制模型输出的多样性。核采样值越大,输出的多样性越高;核采样值越小,输出结果越可以被预测,确定性相对也就越高。 您可根据真实的任务类型进行调整。一般来说,如果目标任务的需要生成更具多样性的内容,可以使用较大的核采样,反之如果目标任务的需要生成更为确定的内容,可以使用较小的核采样。 请注意,温度和核采样的作用相近,在实际使用中,为了更好观察是哪个参数对结果造成的影响,因此不建议同时调整这两个参数。 如果您没有专业的调优经验,可以优先使用建议,再结合推理的效果动态调整。 话题重复度控制(presence_penalty) -2~2 0 话题重复度控制主要用于控制模型输出的话题重复程度。参数设置正值,模型倾向于生成新的、未出现过的内容;参数设置负值,倾向于生成更加固定和统一的内容。 如果您没有专业的调优经验,可以优先使用建议,再结合推理的效果动态调整。 为了更好地理解这几个参数的作用,下面列举了一些常见场景: 文本生成:对于文本生成场景(宣传文案生成、信稿文本生成、文学创作等),通常希望生成的文本具有多样性,建议在保证不过于随机的基础上,增大“温度”或“核采样”的值(二者选其一调整)。若发现生成的文本过于发散,可以降低“话题重复度控制”的值,保证内容统一;反之,若发现内容过于单一,甚至出现了复读机式的重复内容生成,则需要增加“话题重复度控制”的值。 知识问答:对于文本生成场景(开放问答、基于搜索内容回答等),从客观上来说,回答需要是确定且唯一的,建议降低“温度”或“核采样”的值(二者选其一调整)。若需要每次生成完全相同的回答,可以将“温度”置为0。 如表2,根据文案生成N个爆款标题场景中出现标题重复,可以适当调整“话题重复度控制”值。 表2 话题重复度控制(presence_penalty)优化案例 提示词 话题重复度控制(presence_penalty) 模型回答 你是一个短视频博主,现在有一篇视频文案内容如下“熊爪面包,松松软软贼好吃”请结合以上内容,生成15个爆款标题,标题要求尽量概括文案中关键信息,引发读者好奇心,要求每条标题在15字左右。 0.0 熊爪面包,谁能抵挡的住它的诱惑? 熊爪面包,吃一口就停不下来! 【必看】熊爪面包制作全过程揭秘! 【独家】熊爪面包制作秘籍大公开! 火爆网络的熊爪面包,你一定要尝试! 想吃又不想胖?试试这款熊爪面包吧! 【TOP5】熊爪面包,网红美食首选! 轻松制作熊爪面包,零基础也能学会! 最简单的熊爪面包做法,不容错过! 【限时抢购】火爆的熊爪面包优惠来袭! 你知道吗?熊爪面包竟然有这么多好处! 火爆网络的熊爪面包,你一定要尝试! 想吃又不想胖?试试这款熊爪面包吧! 熊爪面包,火爆销量的保持者! 【TOP5】熊爪面包,网红美食首选! 你是一个短视频博主,现在有一篇视频文案内容如下“熊爪面包,松松软软贼好吃”请结合以上内容,生成15个爆款标题,标题要求尽量概括文案中关键信息,引发读者好奇心,要求每条标题在15字左右。 0.5 熊爪面包,松软到爆炸! 你尝过贼好吃的熊爪面包吗? 熊爪面包:松松软软,入口即化! 【限时抢购】这款熊爪面包,为什么这么好吃? 熊爪面包,让你一吃就上瘾! 松软贼好吃的熊爪面包,你值得拥有! 熊爪面包,松软得不像话! 贼好吃的熊爪面包,你试过了吗? 熊爪面包:松软可口,回味无穷! 【必看】这款熊爪面包,松软得让人欲罢不能! 熊爪面包,松软到让你尖叫! 为什么大家都说熊爪面包贼好吃? 熊爪面包,松软的秘密在哪里? 让你欲罢不能的熊爪面包,了解一下! 熊爪面包,松软得让人无法抗拒! 参数的选择没有标准答案,您需要根据任务的实际情况进行调整,以上建议值仅供参考。 父主题: 盘古NLP大模型调优实践
  • 优化提示词 模型训练完成之后,优化提示词是一种可以继续优化模型效果的有效策略,一个好的提示词能极大地激发模型的潜能,使其在特定任务上表现出色。接下来,我们将深入探讨提示词优化的方法和技巧,帮助您更好地驾驭模型,实现高质量的任务完成。 优化提升词一般可以从以下几个方面开始: 选择合适的提示词模板 根据任务类型选择提示词模板:不同类型的任务可能需要不同类型的提示词。例如,对于文本生成任务,可以使用“根据以下关键词生成一段文章:xxx”的模板;而对于文本分类任务,可以使用“以下句子属于哪个类别:xxx”的模板。 尝试多种提示词模板:在实际应用中,可以尝试多种提示词模板,观察哪种模板能更好地引导模型生成符合预期的输出。若实际使用场景是可以通过提示词模板实现,建议实际使用的提示词模板与训练数据中的提示词模板保持一致。例如文本分类场景训练数据中的提示词模板为“以下句子属于哪个类别:xxx”,那么实际使用时也应该为“以下句子属于哪个类别:xxx”模板来引导模型输出。 调整提示词的措辞 确保提示词表述清晰:提示词应简洁明了,避免使用模糊或歧义的表述。这有助于模型更好地理解任务需求。 使用具体且相关的词汇:在提示词中尽量使用与任务相关的具体词汇,这有助于模型捕捉到关键信息,提高生成质量。 适当使用否定词:在某些任务中,使用否定词可以帮助模型更好地理解输入,从而生成更准确的输出。 结合上下文信息 利用上下文信息优化提示词:在生成提示词时,可以结合当前任务的上下文信息,使提示词更具针对性。 动态调整提示词:在任务执行过程中,可以根据模型的反馈和输出,动态调整提示词,以引导模型生成更符合预期的结果。 提示词优化实例 假设我们从事智能家居行业想要生成一篇关于“人工智能助手”的文章。优化前的提示词可能是:“请写一篇关于人工智能助手的文章。”优化后的提示词可以是:“请结合以下关键词,生成一篇关于人工智能助手在生活中的应用及其优势的文章:智能家居、智能安防、安全隐私。”,可以看出优化前大模型虽然介绍了人工智能助手但内容空洞,文章缺乏核心观点。通过优化提示词之后可以看出大模型围绕智能家居、智能安防、安全隐私展开介绍人工智能助手,生成内容更加具体。 表1给出了提示词的优化示例以及优化前后的效果对比,我们可以看到,优化提示词有助于提高模型在特定任务上的表现。在实际应用中,需要不断尝试和调整提示词,以实现最佳效果。 更多的提示词优化技巧可以参考提示词写作实践。 表1 提示词优化示例 场景 优化前提示词 优化前模型回答 优化后提示词 优化后模型回答 说明 文案生成 请写一篇关于人工智能助手的文章。 人工智能助手:未来生活的智慧伴侣 随着科技的飞速发展,人工智能(AI)已经从科幻小说走进了现实世界,并逐渐成为我们日常生活中不可或缺的一部分。在众多AI应用中,人工智能助手以其便捷性和智能化成为了人们工作和生活中的得力帮手。 一、什么是人工智能助手? 人工智能助手是一种利用自然语言处理技术、机器学习算法等先进技术构建的软件程序,能够理解并执行用户的语音或文本指令。它们可以回答问题、提供信息、完成任务,甚至预测用户需求,为用户提供个性化的服务体验。常见的应用场景包括智能手机、智能家居设备、车载系统等。 二、人工智能助手的功能特点 智能对话:通过先进的自然语言处理技术,人工智能助手能够理解和回应用户的语音或文本输入,实现流畅的人机交互。 个性化推荐:基于对用户行为习惯的学习,人工智能助手能提供高度定制化的内容和服务建议,如音乐推荐、新闻资讯等。 多任务处理能力:无论是设置提醒、查询天气、管理日程安排,还是控制智能家居设备,人工智能助手都能轻松应对。 三、人工智能助手的应用场景 - 移动办公:无论是在通勤路上还是出差途中,人工智能助手都能帮助用户管理邮件、安排会议、查找资料,提高工作效率。 - 健康监测:一些高级的人工智能助手还集成了健康监测功能,如记录步数、心率等生理指标,提醒用药时间,关注用户的身体状况。 请结合以下关键词,生成一篇关于人工智能助手在生活中的应用及其优势的文章:智能家居、智能安防、安全隐私。 人工智能助手在智能家居、智能安防及安全隐私中的应用与优势 随着科技的飞速发展,人工智能(AI)助手已经成为了我们日常生活中不可或缺的一部分。尤其是在智能家居领域,AI助手正以惊人的速度改变着我们的生活方式。本文将探讨AI助手在智能家居、智能安防以及安全隐私保护方面的应用及其独特优势。 智能家居的应用与优势 智能家居系统通过集成各种设备和传感器,使家庭环境更加智能化、便捷化。AI助手作为智能家居的大脑,能够学习用户的生活习惯,并据此自动调整室内温度、照明、音乐等设置,为用户提供个性化的生活体验。例如,根据用户的作息时间自动调节灯光亮度和颜色,或是在用户到家前预先开启空调至适宜温度。这种高度个性化的服务不仅提升了居住舒适度,也大大提高了能源利用效率。 智能安防的应用与优势 在智能安防方面,AI助手同样发挥着重要作用。借助先进的图像识别技术,AI助手可以实时监控家中情况,识别异常行为并及时通知用户。例如,当检测到有人闯入时,系统会立即发送警报信息给用户手机,并记录下入侵者的影像资料。此外,AI助手还能与智能门锁、门窗传感器等设备联动,提供全方位的家庭安全保障。 安全隐私的考量 然而,在享受AI助手带来便利的同时,我们也必须重视安全隐私问题。智能家居系统收集了大量关于用户生活习惯的数据,这些数据一旦泄露,可能会对用户的隐私造成严重威胁。因此,确保数据的安全存储和传输至关重要。现代的智能家居解决方案通常采用加密技术来保护用户数据,同时,AI助手的设计也应遵循最小化数据收集原则,仅收集实现功能所必需的信息,最大限度地保障用户隐私。 总之,随着技术的不断进步,AI助手在智能家居和智能安防领域的应用前景广阔。它不仅能极大地提升我们的生活质量,同时也为家庭安全提供了坚实的保障。当然,在追求技术创新的同时,我们也应当注重安全隐私的保护,让科技更好地服务于人类社会。 在提示词中突出重点,让大模型生成内容更加具体。 父主题: 盘古NLP大模型调优实践
  • 调整数据配比 数据配比的典型方法如下: 平衡数据类别:在多任务或多类别的训练中,确保数据类别的平衡,以避免模型对某些类别的偏倚。可以通过过采样、欠采样或生成合成样本来调整类别比例 例如:情感类别多分类任务,通过对“中立”情感进行过采样、对“消极”、“积极”情感进行欠采样调整比例。 表2 平衡数据前 情感类别 数据占比 消极 45.3% 积极 37.8% 中立 16.9% 表3 平衡数据后 情感类别 数据占比 消极 35.3% 积极 33.8% 中立 30.9% 领域适应性:根据模型的预期应用领域,调整训练数据的领域分布。例如,增加特定领域(如医学、法律)的数据比例,以提高模型在该领域的表现。 语言和地域分布 :对于多语言模型,调整不同语言和地域数据的比例,以确保模型在各语言上的性能一致。根据目标应用场景,动态调整训练数据的语言分布。例如,该模型常用于中文语言场景,则可以适当调大中文数据比例。
  • 模型调优方法介绍 在实际应用中,首次微调所得的模型往往无法取得最佳效果,为了让模型能更好地解决特定场景任务,通常需要根据微调所得模型的效果情况来进行几轮的模型微调优化迭代。 在大模型的微调效果调优过程中,训练数据优化、训练超参数优化、提示词优化以及推理参数优化是最重要的几个步骤。 训练数据的优化是提升模型效果的基础。通过数据加工、去噪以及数据增强等手段,可以提高训练数据的质量和多样性,从而增强模型针对于训练场景的效果和模型的泛化能力。 在准备好训练数据之后,可以通过调整训练超参数来提升模型收敛速度和最终性能,例如调整学习率、批量大小、学习率衰减比率等等。 在模型训练完之后还可以通过设计合适的提示词来提升模型在特定任务上的表现。提示词优化包括选择合适的提示词模板、调整提示词的措辞以及结合上下文信息等。精心设计的提示词能够更好地引导模型生成符合预期的输出,尤其在少样本学习场景下,提示词优化的效果尤为显著。 最后还可以通过调整推理参数来进一步提升模型效果,例如通过选择合适的温度系数来控制模型回复的准确性和多样性,调整话题重复度来控制模型输出的话题重复程度。 父主题: 盘古NLP大模型调优实践
  • 微调典型问题 科学计算大模型微调典型问题见表1。 表1 科学计算大模型微调典型问题 问题 可能原因 解决方法 预训练或微调作业失败,提示训练集数据不足。 训练集选取时间区段是否不足。 训练集选择的时间区段需要至少超过模型分辨率对应时长。 预训练或微调作业失败,提示验证集数据不足。 验证集选取时间区段是否不足。 验证集选择的时间区段需要满足表2对应关系,请相应地延长验证集的时间区段时长。 数据集中盐度(S)变量在下载过程中,如图1、图2,存在数据块缺失与数据块偏移的问题,将导致训练过程中盐度损失异常,波动大且不收敛,如图3。 模型训练前,未对数据进行加工。 模型训练前,需要对微调数据进行加工,防止某些特征存在极端异常值或大面积错误数据,导致模型训练不稳定。可能会引发如下问题: 模型对异常值过度敏感,导致拟合异常值而非整体数据分布。 训练过程中损失波动较大,甚至出现梯度爆炸。 模型在测试集上表现不佳,泛化能力差。 通过统计学方法如计算四分位距、Z-score、样本分布等排查异常值。 通过可视化方法,数据可视化或者使用箱线图进行异常值的排查。 结合数据自身特征,进行异常数据的筛选。 对于异常值,视情况进行删除、替换、保留等操作,兼顾模型的收敛与鲁棒性。 删除异常值后,盐度(S)损失收敛正常,如图4。 表2 验证集选择的时间区段 时间分辨率 推理步数 验证集选择的时间区段(验证集需要至少在以下时间点内,有连续数据 , 才能得到1条测试数据) 24h 7 7天每24h的数据(例:0点,次日0点…7天后0点) 图1 盐度数据偏移与缺失样例-1 图2 盐度数据偏移与缺失样例-2 图3 盐度(S)异常的训练损失 图4 删除异常值后的训练损失 父主题: 盘古科学计算大模型微调训练实践
  • 数据预处理 hycom海洋数据预处理的要求如下: 特征要求:需包含5个表面层特征(10m u风、10m v风、2米温度、海平面气压、海表面气压),15个深海层次("0m", "6m", "10m", "20m", "30m", "50m", "70m", "100m", "125m", "150m", "200m", "250m", "300m", "400m", "500m")的4个深海层特征(海盐、海洋流速u、海洋流速v、温度)。 全球海洋数据水平分辨率要求:0.25°。 区域海洋数据水平分辨率要求:1/12°。 全球海洋数据区域范围要求:全球范围,纬度90N~-90S,经度0W~360E。 时间要求:微调数据中时间维度需明确是UTC时间或北京时间。 缺失值处理:若微调数据有缺失值,需将缺失值处理成nan。
  • 获取源数据 科学计算大模型微调训练所需的数据为气象再分析数据。 气象再分析数据集是利用现代数值天气预报模型和数据同化系统,对过去的观测数据进行重新处理后得到的。这些数据集可以是全球范围的,也可以是特定区域的。再分析数据集的目的是通过整合历史观测数据和现代计算技术,提供一个完整、统一且高质量的气象数据记录,用于研究和分析气候及天气变化。再分析数据一般含多种气象特征,如温度、湿度和海平面气压等。其中,每个特征包含时间、经度、纬度等多个维度,通常采用NetCDF(.nc)、GRIB(.grib)和GRIB2(.grib2)等格式、以网格形式存储。本案例推荐的公开数据集如下: Hycom公开数据集: HYCOM再分析产品是美国海军研究实验室利用海军耦合海洋资料同化系统(Navy Coupled Ocean Data Assimilation, NCODA)将HYCOM模式和多源观测数据结合的产物,其公布的再分析产品时间跨度为1992—2012年,时间分辨率为1天,纬度范围是80.48°S ~80.48°N,空间水平分辨率为1/12°,垂直方向为不等距的40层。 Hycom数据集下载链接为:https://data.hycom.org/datasets/GLBv0.08/expt_53.X/data/,用户可直接根据文件名下载所需时间的nc文件数据,如图1。 图1 Hycom数据集下载界面 对区域海洋模型进行微调时,推荐使用大于3个月的hycom数据。
  • 微调场景介绍 盘古科学计算大模型的区域海洋要素模型,可以对未来一段时间海洋要素进行预测。可为海上防灾减灾,指导合理开发和保护渔业等方面有着重要作用。 目前,区域海洋要素模型支持微调、预训练两种操作: 预训练:可以在重新指定深海变量、海表变量、以及深海层深、时间分辨率、水平分辨率以及区域范围,适用于想自定义自己的区域模型的场景,需预先准备好区域高精度数据。 微调:在已有模型的基础上添加新数据,它适用于不改变模型结构参数和引入新要素的情况,添加最新数据的场景。 本实践将以平台预置的区域海洋要素基模型为例,介绍盘古科学计算大模型的微调训练过程,该模型的基本信息详见表1。 表1 区域海洋要素模型信息 基模型 可预报的深海层深(m) 可预报的深海变量 可预报的表面变量 时间分辨率 水平分辨率 区域范围 区域海洋要素基模型 0m, 6m, 10m, 20m, 30m, 50m, 70m, 100m, 125m, 150m, 200m, 250m, 300m, 400m, 500m 海温 海盐 海流经向速率 海流纬向速率 海表高度 24h 1/12° 特定区域 父主题: 盘古科学计算大模型微调训练实践
  • 效果评估与优化 在低代码构建多语言文本翻译工作流中,优化和评估的关键在于如何设计和调整prompt(提示词)。prompt是与大模型或其他节点(如翻译插件)交互的核心,它直接影响工作流响应的准确性和效果。因此,效果评估与优化应从以下几个方面进行详细分析: 评估工作流响应的准确性:从工作流响应准确性维度看,本实践可以评估意图识别节点响应意图的准确性。本实践的意图识别节点包含文本翻译意图和其他意图。 文本翻译意图:当用户请求翻译时,意图识别节点的关键任务是准确判断用户翻译的需求,执行翻译节点分支,并给出正确的翻译结果。 如图1,当用户输入翻译类问题时,“意图识别”节点对用户的意图分类为“文本翻译”,此时工作流将运行“提问器”节点分支,并依次运行后序节点,最终输出翻译后的内容。 图1 试运行工作流-1 其他意图:用户其他的请求(除翻译请求外)将执行大模型节点分支,并根据用户的提问进行回答。 如图2,当用户输入对话类问题时(如“你好”),“意图识别”节点对用户的意图分类为“其他”,此时工作流将运行“大模型”节点分支,输出“大模型”节点的回答。 图2 试运行工作流-2 多场景测试:对多种不同场景下的prompt进行测试,确保在各种情境下系统能够有效响应: 不同语言对的翻译:如图3,针对不同的语言对(如中文到法语、俄语到西班牙语),评估翻译效果是否稳定。 图3 多场景测试-不同语言对 复杂对话场景:如图4,当用户在对话中频繁切换意图时,测试意图识别节点的应答能力,确保其能够理解并适应多变的对话上下文。 图4 多场景测试-复杂对话场景 优化Prompt设计:从prompt设计维度来看,可以通过以下方式进行优化: 清晰的输入指令: 在翻译场景中,明确的输入指令将提升工作流的运行效果。例如:prompt可以设计为:请将以下中文句子翻译成英文:“我喜欢吃苹果”。通过这种明确的指令,更容易生成准确的翻译结果。 运用提示词技巧:可参考提示词写作实践进行Prompt写作。 父主题: 任务低代码构建多语言文本翻译工作流
  • 步骤2:单节点调试 完成工作流编排后,必要时可以针对工作流中的某个节点单独进行调试,以保证节点的成功运行。 在本案例中,需要对多语言文本翻译插件节点进行调试,步骤如下: 在工作流编排页面,单击插件节点的“”,进入插件节点的调试页面。 图15 单节点调试-1 在节点的“配置信息”输入请求参数的值以及Token值,单击“开始运行”。 其中,X-Auth-Token为文本翻译插件的鉴权参数,Token值由创建多语言文本翻译插件获取。 图16 单节点调试-2 单节点调试成功后,将在该节点显示“运行成功”字样及其运行时间。 图17 单节点调试成功示例
  • 工作流节点设计 选取工作流的几个重要节点,每个节点负责特定的任务。以下是各节点的功能和设计思路: 开始节点:作为工作流的入口,开始节点负责接收用户输入的文本。无论是普通对话文本,还是包含翻译请求的文本,都将从此节点开始。 意图识别节点:该节点对用户输入的文本进行分类和分析,识别出用户的意图。主要包括以下两种意图: 文本翻译意图:系统识别出用户希望进行文本翻译的请求。 其他意图:包括普通对话、问答、或其他功能请求。该分支最终会引导文本到大模型节点进行处理。 提问器节点:当意图识别为“文本翻译”意图时,工作流将进入提问器节点。该节点主要负责提问用户翻译需求(如翻译文本、目标语言等)。 文本翻译插件节点:在翻译意图分支中,文本翻译插件节点负责调用华为云文本翻译API,实现从源语言到目标语言的翻译过程。插件将翻译结果返回,传递给结束节点。 大模型节点:如果用户的意图属于“其他”意图分支(如普通对话),则文本将被引导到大模型节点。大模型节点基于预训练的盘古NLP大模型生成响应,从而实现自然语言理解和生成。完成后,结果传递给结束节点。 结束节点:工作流的终结节点,负责输出最终结果。无论是翻译结果还是大模型生成的回答,都会通过该节点输出给用户。