第 3 章 评估模型


如果要测量新模型的改进,您可以将其性能与基础模型与评估过程进行比较。您还可以直接与模型聊天,以定性地识别新模式是否了解您创建的知识。如果要提高模型的改进量结果,您可以在 RHEL AI CLI 中运行评估过程。

3.1. 评估您的新模型

您可以按照以下流程在 RHEL AI CLI 中运行评估过程。

先决条件

  • 已使用可引导容器镜像安装了 RHEL AI。
  • 您创建了具有知识或知识的自定义 qna.yaml 文件。
  • 您运行复合数据生成过程。
  • 您接受了使用 RHEL AI 培训流程的模型。
  • 您下载了 prometheus-8x7b-v2-0 judge 模型。
  • 在机器上具有 root 用户访问权限。

流程

  1. 导航到创建 qna.yaml 文件的工作 Git 分支。
  2. 现在,您可以针对不同的基准运行评估过程。每个命令都需要经过培训 的示例 模型评估的路径,您可以访问 ~/.local/share/instructlab/checkpoints 文件夹中的这些检查点。

    1. MMLU_BRANCH 基准 - 如果要测量您的知识贡献对模型的影响,请执行以下命令来运行 mmlu_branch 基准:

      $ ilab model evaluate --benchmark mmlu_branch
          --model ~/.local/share/instructlab/phased/phase2/checkpoints/hf_format/<checkpoint> \
          --tasks-dir ~/.local/share/instructlab/datasets/<generation-date>/<node-dataset> \
          --base-model ~/.cache/instructlab/models/granite-7b-starter
      Copy to Clipboard Toggle word wrap

      其中

      <checkpoint>
      指定在多阶段培训过程中生成的最佳分数检查点文件
      <node-dataset>

      指定在 SDG 中生成的 node_datasets 目录(在 ~/.local/share/instructlab/datasets/ 目录中),其时间戳与用于培训模型的.jsonl 文件相同。

      输出示例

      # KNOWLEDGE EVALUATION REPORT
      
      ## BASE MODEL (SCORE)
      /home/user/.cache/instructlab/models/instructlab/granite-7b-lab/ (0.74/1.0)
      
      ## MODEL (SCORE)
      /home/user/local/share/instructlab/phased/phases2/checkpoints/hf_format/samples_665(0.78/1.0)
      
      ### IMPROVEMENTS (0.0 to 1.0):
      1. tonsils: 0.74 -> 0.78 (+0.04)
      Copy to Clipboard Toggle word wrap

    2. MT_BENCH_BRANCH 基准 - 如果要衡量您的技能贡献对模型的影响,请执行以下命令来运行 mt_bench_branch 基准:

      $ ilab model evaluate \
          --benchmark mt_bench_branch \
          --model ~/.local/share/instructlab/phased/phase2/checkpoints/hf_format/<checkpoint> \
          --judge-model ~/.cache/instructlab/models/prometheus-8x7b-v2-0 \
          --branch <worker-branch> \
          --base-branch <worker-branch>
      Copy to Clipboard Toggle word wrap

      其中

      <checkpoint>
      指定在多阶段培训过程中生成的最佳分数检查点文件。
      <worker-branch>
      指定在 taxonomy 树中添加数据时使用的分支。
      <num-gpus>

      指定您要用于评估的 GPU 数。

      输出示例

      # SKILL EVALUATION REPORT
      
      ## BASE MODEL (SCORE)
      /home/user/.cache/instructlab/models/instructlab/granite-7b-lab (5.78/10.0)
      
      ## MODEL (SCORE)
      /home/user/local/share/instructlab/phased/phases2/checkpoints/hf_format/samples_665(6.00/10.0)
      
      ### IMPROVEMENTS (0.0 to 10.0):
      1. foundational_skills/reasoning/linguistics_reasoning/object_identification/qna.yaml: 4.0 -> 6.67 (+2.67)
      2. foundational_skills/reasoning/theory_of_mind/qna.yaml: 3.12 -> 4.0 (+0.88)
      3. foundational_skills/reasoning/linguistics_reasoning/logical_sequence_of_words/qna.yaml: 9.33 -> 10.0 (+0.67)
      4. foundational_skills/reasoning/logical_reasoning/tabular/qna.yaml: 5.67 -> 6.33 (+0.67)
      5. foundational_skills/reasoning/common_sense_reasoning/qna.yaml: 1.67 -> 2.33 (+0.67)
      6. foundational_skills/reasoning/logical_reasoning/causal/qna.yaml: 5.67 -> 6.0 (+0.33)
      7. foundational_skills/reasoning/logical_reasoning/general/qna.yaml: 6.6 -> 6.8 (+0.2)
      8. compositional_skills/writing/grounded/editing/content/qna.yaml: 6.8 -> 7.0 (+0.2)
      9. compositional_skills/general/synonyms/qna.yaml: 4.5 -> 4.67 (+0.17)
      
      ### REGRESSIONS (0.0 to 10.0):
      1. foundational_skills/reasoning/unconventional_reasoning/lower_score_wins/qna.yaml: 5.67 -> 4.0 (-1.67)
      2. foundational_skills/reasoning/mathematical_reasoning/qna.yaml: 7.33 -> 6.0 (-1.33)
      3. foundational_skills/reasoning/temporal_reasoning/qna.yaml: 5.67 -> 4.67 (-1.0)
      
      ### NO CHANGE (0.0 to 10.0):
      1. foundational_skills/reasoning/linguistics_reasoning/odd_one_out/qna.yaml (9.33)
      2. compositional_skills/grounded/linguistics/inclusion/qna.yaml (6.5)
      Copy to Clipboard Toggle word wrap

  3. 可选: 您可以使用 MMLU 和 MT_BENCH 基准手动评估每个检查点。您可以根据标准化的知识或技能来评估任何模型,允许您将自己的模型分数与其他 LLM 进行比较。

    1. MMLU - 如果您要根据标准化的知识库集查看新模型的评估分数,请运行以下命令来设置 mmlu 基准:

      $ ilab model evaluate --benchmark mmlu --model ~/.local/share/instructlab/phased/phase2/checkpoints/hf_format/samples_665 --skip-server
      Copy to Clipboard Toggle word wrap

      其中

      <checkpoint>

      指定在多阶段培训过程中生成的检查点文件之一。

      输出示例

      # KNOWLEDGE EVALUATION REPORT
      
      ## MODEL (SCORE)
      /home/user/.local/share/instructlab/phased/phase2/checkpoints/hf_format/samples_665
      
      ### SCORES (0.0 to 1.0):
      mmlu_abstract_algebra - 0.31
      mmlu_anatomy - 0.46
      mmlu_astronomy - 0.52
      mmlu_business_ethics - 0.55
      mmlu_clinical_knowledge - 0.57
      mmlu_college_biology - 0.56
      mmlu_college_chemistry - 0.38
      mmlu_college_computer_science - 0.46
      ...
      Copy to Clipboard Toggle word wrap

    2. MT_BENCH - 如果您要根据标准化的技术集看到新模型的评估分数,请运行以下命令来设置 mt_bench 基准:

      $ ilab model evaluate --benchmark mt_bench --model ~/.local/share/instructlab/phased/phases2/checkpoints/hf_format/samples_665
      Copy to Clipboard Toggle word wrap

      其中

      <checkpoint>

      指定在多阶段培训过程中生成的检查点文件之一。

      输出示例

      # SKILL EVALUATION REPORT
      
      ## MODEL (SCORE)
      /home/user/local/share/instructlab/phased/phases2/checkpoints/hf_format/samples_665(7.27/10.0)
      
      ### TURN ONE (0.0 to 10.0):
      7.48
      
      ### TURN TWO (0.0 to 10.0):
      7.05
      Copy to Clipboard Toggle word wrap

3.1.1. Domain-Knowledge 基准评估

重要

Domain-Knowledge 基准评估只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

RHEL AI、MMLU 和 MMLU_branch 中的当前知识评估基准评估,对其回答多选问题的能力评估模型。无法为模型提供正确或不正确的答案。

Domain-Knowledge 基准(DK-bench)评估提供了提供自定义评估问题的能力,并对模型的评分评分。

给出的每个响应都会根据 judge 模型的以下等级与参考答案和评级进行比较:

Expand
表 3.1. Domain-Knowledge 基准rubric
分数标准

1

响应完全不正确,不相关,或者不会以任何有意义的方式与参考一致。

2

响应部分与引用匹配,但包含主要错误、大量遗漏或不相关的信息。

3

响应与整个参考一致,但没有足够的详情、清晰或包含微不足的情况。

4

响应最准确,与参考一致,仅包含小问题或遗漏。

5

响应完全准确,与参考完全一致,并明确、全面且详细。

先决条件

  • 已使用可引导容器镜像安装了 RHEL AI。
  • 您接受了使用 RHEL AI 培训流程的模型。
  • 您下载了 prometheus-8x7b-v2-0 judge 模型。
  • 在机器上具有 root 用户访问权限。

流程

  1. 要使用自定义评估,您必须创建一个 jsonl 文件,其中包含您要要求模型回答和评估的每个问题。

    DK-bench jsonl 文件示例

    {"user_input":"What is the capital of Canada?","reference":"The capital of Canada is Ottawa."}
    Copy to Clipboard Toggle word wrap

    其中

    user_input
    包含模型的问题。
    reference
    包含问题的答案。
  2. 要使用自定义评估问题运行 DK-bench 基准,请运行以下命令:

    $ ilab model evaluate --benchmark dk_bench --input-questions <path-to-jsonl-file> --model <path-to-model>
    Copy to Clipboard Toggle word wrap

    其中

    <path-to-jsonl-file>
    指定包含您问题和答案的 jsonl 文件的路径。
    <path-to-model>

    指定您要评估的模型的路径。

    示例命令

    $ ilab model evaluate --benchmark dk_bench --input-questions /home/use/path/to/questions.jsonl --model ~/.cache/instructlab/models/instructlab/granite-7b-lab
    Copy to Clipboard Toggle word wrap

    domain-Knowledge 基准评估的输出示例

    # DK-BENCH REPORT
    
    ## MODEL: granite-7b-lab
    
    Question #1:     5/5
    Question #2:     5/5
    Question #3:     5/5
    Question #4:     5/5
    Question #5:     2/5
    Question #6:     3/5
    Question #7:     2/5
    Question #8:     3/5
    Question #9:     5/5
    Question #10:     5/5
    ----------------------------
    Average Score:   4.00/5
    Total Score:     40/50
    Copy to Clipboard Toggle word wrap

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部