第 3 章 评估模型
如果要测量新模型的改进,您可以将其性能与基础模型与评估过程进行比较。您还可以直接与模型聊天,以定性地识别新模式是否了解您创建的知识。如果要提高模型的改进量结果,您可以在 RHEL AI CLI 中运行评估过程。
3.1. 评估您的新模型 复制链接链接已复制到粘贴板!
您可以按照以下流程在 RHEL AI CLI 中运行评估过程。
先决条件
- 已使用可引导容器镜像安装了 RHEL AI。
-
您创建了具有知识或知识的自定义
qna.yaml文件。 - 您运行复合数据生成过程。
- 您接受了使用 RHEL AI 培训流程的模型。
-
您下载了
prometheus-8x7b-v2-0judge 模型。 - 在机器上具有 root 用户访问权限。
流程
-
导航到创建
qna.yaml文件的工作 Git 分支。 现在,您可以针对不同的基准运行评估过程。每个命令都需要经过培训
的示例模型评估的路径,您可以访问~/.local/share/instructlab/checkpoints文件夹中的这些检查点。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$ 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-starterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
- <checkpoint>
- 指定在多阶段培训过程中生成的最佳分数检查点文件
- <node-dataset>
指定在 SDG 中生成的
node_datasets目录(在~/.local/share/instructlab/datasets/目录中),其时间戳与用于培训模型的.jsonl 文件相同。输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
MT_BENCH_BRANCH 基准 - 如果要衡量您的技能贡献对模型的影响,请执行以下命令来运行
mt_bench_branch基准:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
- <checkpoint>
- 指定在多阶段培训过程中生成的最佳分数检查点文件。
- <worker-branch>
- 指定在 taxonomy 树中添加数据时使用的分支。
- <num-gpus>
指定您要用于评估的 GPU 数。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
可选: 您可以使用 MMLU 和 MT_BENCH 基准手动评估每个检查点。您可以根据标准化的知识或技能来评估任何模型,允许您将自己的模型分数与其他 LLM 进行比较。
MMLU - 如果您要根据标准化的知识库集查看新模型的评估分数,请运行以下命令来设置
mmlu基准:ilab model evaluate --benchmark mmlu --model ~/.local/share/instructlab/phased/phase2/checkpoints/hf_format/samples_665 --skip-server
$ ilab model evaluate --benchmark mmlu --model ~/.local/share/instructlab/phased/phase2/checkpoints/hf_format/samples_665 --skip-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
- <checkpoint>
指定在多阶段培训过程中生成的检查点文件之一。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
MT_BENCH - 如果您要根据标准化的技术集看到新模型的评估分数,请运行以下命令来设置
mt_bench基准:ilab model evaluate --benchmark mt_bench --model ~/.local/share/instructlab/phased/phases2/checkpoints/hf_format/samples_665
$ ilab model evaluate --benchmark mt_bench --model ~/.local/share/instructlab/phased/phases2/checkpoints/hf_format/samples_665Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
- <checkpoint>
指定在多阶段培训过程中生成的检查点文件之一。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.1. Domain-Knowledge 基准评估 复制链接链接已复制到粘贴板!
Domain-Knowledge 基准评估只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
RHEL AI、MMLU 和 MMLU_branch 中的当前知识评估基准评估,对其回答多选问题的能力评估模型。无法为模型提供正确或不正确的答案。
Domain-Knowledge 基准(DK-bench)评估提供了提供自定义评估问题的能力,并对模型的评分评分。
给出的每个响应都会根据 judge 模型的以下等级与参考答案和评级进行比较:
| 分数 | 标准 |
|---|---|
| 1 | 响应完全不正确,不相关,或者不会以任何有意义的方式与参考一致。 |
| 2 | 响应部分与引用匹配,但包含主要错误、大量遗漏或不相关的信息。 |
| 3 | 响应与整个参考一致,但没有足够的详情、清晰或包含微不足的情况。 |
| 4 | 响应最准确,与参考一致,仅包含小问题或遗漏。 |
| 5 | 响应完全准确,与参考完全一致,并明确、全面且详细。 |
先决条件
- 已使用可引导容器镜像安装了 RHEL AI。
- 您接受了使用 RHEL AI 培训流程的模型。
- 您下载了 prometheus-8x7b-v2-0 judge 模型。
- 在机器上具有 root 用户访问权限。
流程
要使用自定义评估,您必须创建一个
jsonl文件,其中包含您要要求模型回答和评估的每个问题。DK-bench
jsonl文件示例{"user_input":"What is the capital of Canada?","reference":"The capital of Canada is Ottawa."}{"user_input":"What is the capital of Canada?","reference":"The capital of Canada is Ottawa."}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
- user_input
- 包含模型的问题。
- reference
- 包含问题的答案。
要使用自定义评估问题运行 DK-bench 基准,请运行以下命令:
ilab model evaluate --benchmark dk_bench --input-questions <path-to-jsonl-file> --model <path-to-model>
$ ilab model evaluate --benchmark dk_bench --input-questions <path-to-jsonl-file> --model <path-to-model>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
- <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
$ ilab model evaluate --benchmark dk_bench --input-questions /home/use/path/to/questions.jsonl --model ~/.cache/instructlab/models/instructlab/granite-7b-labCopy to Clipboard Copied! Toggle word wrap Toggle overflow domain-Knowledge 基准评估的输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow