
教程人工智能大模型NLP微调【免费下载链接】smol-courseA course on aligning smol models.项目地址https://gitcode.com/gh_mirrors/smo/smol-course点击查看免费下载自动基准Automatic Benchmarks是评估语言模型能力的标准化工具也是本仓库 Evaluation 模块v1/4_evaluation/README.md中第一条评测路径。本篇指南将带你理解 MMLU、TruthfulQA、GSM8K 等主流基准各自的评估对象与固有局限掌握 LightEval 中{suite}|{task}|{num_few_shot}|{auto_reduce}的任务定义格式与完整评测管线写法并在此基础上构建一套标准基准打底 自定义领域评测兜底的多层评测策略最终能为你的 smol 模型产出一份可复现、可横向对比的评测结果。理解自动基准评测标准化带来的价值与边界自动基准通常由一组精心整理的带标签数据集和预定义评测指标构成目的是从基础语言理解到复杂推理等多个维度刻画模型能力。它们的核心优势在于标准化可横向对比不同模型在相同任务、相同指标下可以直接比较分数结果可复现固定 prompt 模板、固定 few-shot 示例数量与固定采样种子评测结论可以稳定复现。但也必须清醒认识到基准分数并不总是等价于真实世界的有效性。一个在学术基准上表现优异的模型可能依然无法胜任特定领域的业务应用——这正是本仓库在标准基准之外又开辟了 自定义领域评测 与完整领域评测项目 的原因。主流基准与其各自局限通用知识类基准MMLUMassive Multitask Language Understanding横跨从科学到人文学科的 57 个学科子任务覆盖面广、信息量大。但正因为广它未必能反映某个专业领域所需的深度专业能力——你在仓库的 评测 notebook 中可以看到实践中常从 MMLU 中抽取anatomy、professional_medicine、high_school_biology、high_school_chemistry等子任务拼出一个医疗领域评测集这正是对 MMLU 的一种领域化裁剪用法。TruthfulQA评测模型复述常见误解的倾向用于衡量事实性与诚实性。但它只能覆盖已知的误解类型无法捕获所有形式的错误信息。推理类基准BBHBig-Bench Hard聚焦逻辑思维与规划类复杂任务考察模型的分析能力。GSM8K小学数学应用题集专门测试数学问题求解能力。这两类基准能很好地暴露模型在多步推理上的短板但现实场景中的推理往往需要结合上下文、领域知识甚至工具调用这类细粒度推理很难被标准题集完整覆盖。语言理解类基准HELM提供一个整体性holistic的评测框架覆盖多种能力与场景。WinoGrande通过代词消歧任务测试常识推理。它们能给出语言处理能力的快照却不足以代表真实对话的复杂性也未必覆盖领域专属术语的用法。替代评测方法弥补标准基准的盲区针对标准基准的上述局限业界普遍发展出三类替代方法LLM-as-Judge以大模型评大模型用一个大模型评价另一个模型的输出。相比传统指标能给出更细腻的反馈但它自带模型偏见需要谨慎设计裁判 prompt 并做偏差校验。评测竞技场Evaluation Arenas例如 Anthropic 的 Constitutional AI Arena让模型在受控环境中互相交互与评估能暴露出传统基准中不易显现的相对强弱。自定义基准套件Custom Benchmark Suites组织内部按自身业务定制评测集可能包含领域知识测试或模拟真实部署场景的评测用例。这三类方法与标准基准并非互斥而是互补——仓库的领域评测项目正是自定义套件的完整落地示范项目 README。构建你自己的评测策略核心原则一句话LightEval 让跑标准基准变得很容易但你不应止步于此。标准基准提供基线自定义评测决定上线。建议按以下四步展开先用相关标准基准打底建立基线并支持与其他模型做公平对比。明确你的用例需求你的模型实际要完成哪些任务哪类错误最致命先回答这两个问题再设计评测。开发贴合真实用例的自定义数据集可以包括来自你业务领域的真实用户查询你实际遇到过的常见边界情况edge cases特别有挑战性的场景样例。实现多层评测策略自动化指标用于快速反馈人工评估用于捕捉细腻的语义差异领域专家评审用于专业应用场景受控环境下的 A/B 测试用于最终决策。用 LightEval 运行自动基准任务定义格式LightEval 中的每个任务都是一个特定格式的字符串{suite}|{task}|{num_few_shot}|{auto_reduce}字段含义取值说明suite基准套件名例如mmlu、truthfulqa、leaderboardtask套件内的具体任务例如abstract_algebraMMLU 的子学科num_few_shotprompt 中注入的示例数0表示 zero-shot 推理auto_reduceprompt 过长时是否自动削减 few-shot 示例0或1例如mmlu|abstract_algebra|0|0表示在 MMLU 的 abstract_algebra 子任务上以 zero-shot 方式评测。值得注意仓库配套 notebook 中实际使用的是另一种常见形态leaderboard|mmlu:anatomy|5|0——即 suite 为leaderboard、task 用mmlu:anatomy这种套件:子任务写法、few-shot 为 5。两种写法都遵循同一套四字段格式具体以你的 LightEval 版本所支持的任务注册表为准。一个完整的评测管线示例原文档给出了一个针对医学领域任务的完整示例automatic_benchmarks.mdfrom lighteval.tasks import Task, Pipeline from transformers import AutoModelForCausalLM # Define tasks to evaluate domain_tasks [ mmlu|anatomy|0|0, mmlu|high_school_biology|0|0, mmlu|high_school_chemistry|0|0, mmlu|professional_medicine|0|0 ] # Configure pipeline parameters pipeline_params { max_samples: 40, # Number of samples to evaluate batch_size: 1, # Batch size for inference num_workers: 4 # Number of worker processes } # Create evaluation tracker evaluation_tracker EvaluationTracker( output_path./results, save_generationsTrue ) # Load model and create pipeline model AutoModelForCausalLM.from_pretrained(your-model-name) pipeline Pipeline( tasksdomain_tasks, pipeline_parameterspipeline_params, evaluation_trackerevaluation_tracker, modelmodel ) # Run evaluation pipeline.evaluate() # Get and display results results pipeline.get_results() pipeline.show_results()各参数含义max_samples控制采样的样本数量评测子集大小batch_size控制推理批大小num_workers控制 worker 进程数。评测结果会以表格形式输出| Task |Version|Metric|Value | |Stderr| |----------------------------------------|------:|------|-----:|---|-----:| |all | |acc |0.3333|± |0.1169| |leaderboard:mmlu:_average:5 | |acc |0.3400|± |0.1121| |leaderboard:mmlu:anatomy:5 | 0|acc |0.4500|± |0.1141| |leaderboard:mmlu:high_school_biology:5 | 0|acc |0.1500|± |0.0819|此外你还可以把结果装入 pandas DataFrame按自己的需求做可视化和再加工。仓库配套 notebook 中的真实可用版本上面的示例更侧重教学示意如果直接照抄运行需要注意EvaluationTracker与Pipeline的实际导入路径。仓库配套的 评测 notebook 给出了经过实际运行的等价写法from datetime import timedelta from transformers import AutoModelForCausalLM from lighteval.logging.evaluation_tracker import EvaluationTracker from lighteval.models.model_config import create_model_config from lighteval.pipeline import EnvConfig, ParallelismManager, Pipeline, PipelineParameters env_config EnvConfig(tokenTOKEN, cache_dir~/tmp) evaluation_tracker EvaluationTracker( output_dir~/tmp, save_detailsFalse, push_to_hubFalse, push_to_tensorboardFalse, publicFalse, hub_results_orgFalse, ) pipeline_params PipelineParameters( launcher_typeParallelismManager.ACCELERATE, env_configenv_config, job_id1, override_batch_size1, num_fewshot_seeds0, max_samples10, use_chat_templateFalse, )对比可见notebook 用PipelineParameters对象承载批大小、max_samples、few-shot 种子数等配置并通过EnvConfig传入 Hugging Face token 与缓存目录EvaluationTracker则支持把结果push_to_hub或push_to_tensorboard示例中均关闭。评测时先AutoModelForCausalLM.from_pretrained(...)加载模型再构造Pipeline(tasks..., pipeline_parameters..., evaluation_tracker..., model...)调用pipeline.evaluate()后通过pipeline.get_results()取结果、pipeline.show_results()打印表格。notebook 还示范了最有价值的用法——用同一组领域任务横向对比两个小模型分别对Qwen/Qwen2.5-0.5B与HuggingFaceTB/SmolLM2-360M-Instruct运行同一份医疗领域任务列表leaderboard|mmlu:anatomy|5|0等再用 pandas 把两份results[results]的acc列拼在一起画横向柱状图。这套流程可以直接复用到为推理场景选模型、训练中定期评测 checkpoint、以及对外分享模型分数。进阶让自动基准与自定义评测协同自动基准只是完整评测策略的第一环。本仓库建议的下一步是进入 自定义领域评测指南学习如何用 LightEval 的LightevalTaskConfig注册自定义任务、用SampleLevelMetric/SampleLevelMetricGrouping实现自定义指标再对照完整的领域评测项目包含 generate_dataset.py、annotate_dataset.py、create_dataset.py、evaluation_task.py 四步脚本管线把标准基准 领域自定义评测的组合策略真正落地。标准基准负责回答我的模型处于什么水平自定义评测负责回答我的模型能不能上线——两者缺一不可。赞分享教程人工智能大模型NLP微调【免费下载链接】smol-courseA course on aligning smol models.项目地址https://gitcode.com/gh_mirrors/smo/smol-course点击查看免费下载相关推荐Jellyfin Desktop完整指南5分钟连好跨平台播放器把家里变成影院Jellyfin Desktop完整指南5分钟连好跨平台播放器把家里变成影院 Jellyfin Desktop是一个用Qt WebEngine和libmpv教程人工智能大模型NLP微调smol-course 自动基准评测完全指南用 LightEval 对小型语言模型做标准化评估smol course 自动基准评测完全指南用 LightEval 对小型语言模型做标准化评估 自动基准Automatic Benchmarks是评估语言教程人工智能大模型NLP微调smol-course 模型评估实战用 LightEval 搭建从标准基准到领域自定义的 LLM 评测体系smol course 模型评估实战用 LightEval 搭建从标准基准到领域自定义的 LLM 评测体系 本篇技术指南围绕 smol course 项目日语教程人工智能大模型NLP微调上一篇从Cook到PakHotPatcher完整工作流解析与最佳实践下一篇SillyTavern从单机对话到企业级LLM协作平台的技术架构演进创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考