
# 调优典型问题
1. **为什么微调后的模型，回答总是在重复某一句或某几句话？**
   当您将微调的模型部署以后，输入一个与目标任务同属的问题，模型生成了复读机式的结果，即回答中反复出现某一句话或某几句话。这种情况可能是由于以下几个原因导致的，建议您依次排查：
   - **推理参数设置：**请检查推理参数中的"话题重复度控制"或"温度"或"核采样"等参数的设置，适当增大其中一个参数的值，可以提升模型回答的多样性。
   
   - **数据质量：**请检查训练数据中是否存在文本重复的异常数据，可以通过规则进行清洗。
   
   - **训练参数设置：**若数据质量存在问题，且因训练参数设置的不合理而导致过拟合，该现象会更加明显。请检查训练参数中的"训练轮次"或"学习率"等参数的设置，适当降低这些参数的值，降低过拟合的风险。
    
2. **为什么微调后的模型，回答中会出现乱码？**
   当您将微调的模型部署以后，输入一个与目标任务同属的问题，模型生成的结果中出现了其他语言、异常符号、乱码等字符。这种情况可能是由于以下几个原因导致的，建议您依次排查：
   - **数据质量：**请检查训练数据中是否存在包含异常字符的数据，可以通过规则进行清洗。
   
   - **训练参数设置：**若数据质量存在问题，且因训练参数设置的不合理而导致过拟合，该现象会更加明显。请检查训练参数中的"训练轮次"或"学习率"等参数的设置，适当降低这些参数的值，降低过拟合的风险。
   
   - **推理参数设置：**请检查推理参数中的"温度"或"核采样"等参数的设置，适当减小其中一个参数的值，可以提升模型回答的确定性，避免生成异常内容。
    
3. **为什么微调后的模型，回答会异常中断？**
   当您将微调的模型部署以后，输入一个与目标任务同属的问题，模型生成的结果不完整，出现了异常截断。这种情况可能是由于以下几个原因导致的，建议您依次排查：
   - **推理参数设置：**请检查推理参数中的"最大Token限制"参数的设置，适当增加该参数的值，可以增大模型回答生成的长度，避免生成异常截断。请注意，该参数值存在上限，请结合目标任务的实际需要以及模型支持的长度限制来调整。
   
   - **模型规格：**不同规格的模型支持的长度不同，若目标任务本身需要生成的长度已经超过模型上限，建议您替换可支持更长长度的模型。
   
   - **数据质量：**请检查训练数据中是否存在包含异常截断的数据，可以通过规则进行清洗。
    
4. **为什么微调后的模型，只能回答在训练样本中学过的问题？**
   当您将微调的模型部署以后，输入一个已经出现在训练样本中的问题，模型生成的结果很好，一旦输入了一个从未出现过的数据（目标任务相同），回答却完全错误。这种情况可能是由于以下几个原因导致的，建议您依次排查：
   - **训练参数设置：**您可以通过绘制Loss曲线查询来确认模型的训练过程是否出现了问题，这种情况大概率是由于训练参数设置的不合理而导致了过拟合。请检查训练参数中的"训练轮次"或"学习率"等参数的设置，适当降低这些参数的值，降低过拟合的风险。
   
   - **数据质量：**请检查训练数据的质量，若训练样本出现了大量重复数据，或者数据多样性很差，则会加剧该现象。
    
5. **为什么微调后的模型，输入与训练样本相似的问题，回答与训练样本完全不同？**
   当您将微调的模型部署以后，输入一个已经出现在训练样本中，或虽未出现但和训练样本差异很小的问题，回答完全错误。这种情况可能是由于以下几个原因导致的，建议您依次排查：
   - **训练参数设置：**您可以通过绘制Loss曲线查询来确认模型的训练过程是否出现了问题，这种情况大概率是由于训练参数设置的不合理而导致了欠拟合，模型没有学到任何知识。请检查训练参数中的"训练轮次"或"学习率"等参数的设置，适当增大"训练轮次"的值，或根据实际情况调整"学习率"的值，帮助模型更好收敛。
   
   - **数据质量：**请检查训练数据的质量，若训练样本和目标任务不一致或者分布差异较大，则会加剧该现象。
    
6. **为什么微调后的模型，评估结果很好，但实际场景表现却很差？**
   当您在微调过程中，发现模型评估的结果很好，一旦将微调的模型部署以后，输入一个与目标任务同属的问题，回答的结果却不理想。这种情况可能是由于以下几个原因导致的，建议您依次排查：
   - **测试集质量：**请检查测试集的目标任务和分布与实际场景是否一致，质量较差的测试集无法反映模型的真实结果。
   
   - **数据质量：**请检查训练数据的质量，若训练样本和目标任务不一致或者分布差异较大，则会加剧该现象。此外，若可预见实际场景会不断发生变化，建议您定期更新训练数据，对模型进行微调更新。
    
7. **多轮问答场景，为什么微调后的效果不好？**
   当您的目标任务是多轮问答，并且使用了多轮问答数据进行微调，微调后却发现多轮回答的效果不理想。这种情况可能是由于以下几个原因导致的，建议您依次排查：
   - **数据格式：** 多轮问答场景需要按照指定的数据格式来构造，以下给出了几条多轮问答的数据样例供您参考：
     - 原始对话示例：
       ```
       A：你是谁？
       B：您好，我是盘古大模型。
       A：你可以做什么？
       B：我可以做很多事情，比如，和您进行问答对话。
       A：你可以讲个笑话吗？
       B：当然可以啦，以下是xxxx
       A：可以把这个笑话改成xxxx
       B：好的，以下是修改后的xxxx
       ```
       
     
     - 拼接后的微调数据格式示例：
       ```
       [{"context": "你是谁？"},{"target": "您好，我是盘古大模型。"},{"context": "你可以做什么？"},{"target": "我可以做很多事情，比如，和您进行问答对话。"}, {"context": "你可以讲个笑话吗？"},{"target": "当然可以啦，以下是xxxx"}, {"context": "可以把这个笑话改成xxxx"},{"target": "好的，以下是修改后的xxxx"}]
       ```
       
      
   
   
   ![](https://support.huaweicloud.com/bestpractice-pangulm/public_sys-resources/note_3.0-zh-cn.png)
   多轮问答场景的输入是数组格式，至少由一组问答对构成。形式为\[{"context":"context内容1","target":"target内容1"},{"context":"context内容2","target":"target内容2"}\]，其中context、target分别表示问题、答案。
   - **数据质量：** 若数据格式没有问题，仍然发现模型效果不好，您可以根据具体问题针对性地提升您的数据质量。
     例如，随着对话轮数的增加，模型出现了遗忘，可以检查构造的训练数据中轮数是否普遍较少，建议根据实际情况增加数据中的对话轮数。
     
    
8. **数据量满足要求，为什么微调后的效果不好？**
   这种情况可能是由于以下原因导致的，建议您排查：
   - **数据质量：**请检查训练数据的质量，若训练样本和目标任务不一致或者分布差异较大、样本中存在异常数据、样本的多样性较差，都将影响模型训练的效果，建议提升您的数据质量。
    
9. **数据量和质量均满足要求，为什么微调后的效果不好？**
   这种情况可能是由于以下原因导致的，建议您排查：
   - **训练参数设置：**您可以通过绘制Loss曲线查询来确认模型的训练过程是否出现了问题，这种情况大概率是由于训练参数设置的不合理而导致了欠拟合或过拟合。请检查训练参数中的"训练轮次"或"学习率"等参数的设置，根据实际情况调整训练参数，帮助模型更好学习。
    
10. **数据量和质量均满足要求，Loss也正常收敛，为什么微调后的效果不好？**
    这种情况可能是由于以下几个原因导致的，建议您依次排查：
    - **PROMPT** **设置：**请检查您使用的Prompt。一般情况下，对于同一个目标任务，建议在推理阶段使用和训练数据相同或相似的Prompt，才能发挥出模型的最佳效果。
    
    - **模型规格：**理论上模型的参数规模越大，模型能学到的知识就越多，能学会的知识就更难，若目标任务本身难度较大，建议您替换参数规模更大的模型。
     
 
