ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Llama 3.2 评测方法论全解析:llama-models 仓库中的评估设置、提示词与生成参数详解

Llama 3.2 评测方法论全解析:llama-models 仓库中的评估设置、提示词与生成参数详解 Llama 3.2 评测方法论全解析llama-models 仓库中的评估设置、提示词与生成参数详解【免费下载链接】llama-modelsUtilities intended for use with Llama models.项目地址: https://gitcode.com/GitHub_Trending/ll/llama-models导读本文以 models/llama3_2/eval_details.md 为骨架系统梳理 Meta 在评估 Llama 3.2 文本模型1B/3B与视觉模型11B/90B时所采用的全部评测设置——包括每个基准的 few-shot 配置、提示词形式、指标口径与最大生成长度并结合 models/sku_list.py、models/cli/describe.py 等仓库源码说明这些评测配置与模型注册、生成管线之间的对应关系。读完本文你将能完整理解 Llama 3.2 官方分数背后的评测协议并掌握在本地复现或对比评估时所需的全部关键参数。一、评估总则跨模型一致的协议与三条核心原则models/llama3_2/eval_details.md 开篇即声明了官方评估方法论的总体原则这是理解后续所有基准设置的基石设置一致性对于给定的 benchmark官方会在所有模型包括外部对比模型之间尽量采用一致的评估设置避免因提示词、采样或解析方式差异造成不可比。外部模型最优分数官方会尽力为外部模型争取最优分数包括处理模型特有的解析parsing与分词tokenization需求若外部模型在可比或更保守设置下的得分低于其自报分数则采用该外部模型的自报分数。这意味着结果表中的外部模型分数并不总是同一套设置跑出来的而是取其最优口径。数据公开官方将评估过程中使用公开基准产生的数据一并发布llama-32-evals 评估数据集合供社区核查与复现。这套原则贯穿全文所有基准。例如文本与视觉基准分别使用了生成式任务与选项似然比较两类截然不同的判分方式且针对不同任务设定了从 10 token 到 5120 token 不等的最大生成长度——这些细节都会直接影响分数高低也是复现评估时最容易出偏差的地方。二、通用知识与语言理解类基准2.1 MMLU从 NLL 判分到生成判分MMLU 是 Llama 3.2 评估中配置最复杂的基准之一预训练与后训练模型采用两套不同的协议预训练模型使用 5-shot 配置。评估时采用标准 MMLU 提示词将全部选项放入 prompt通过比较各选项字符的**负对数似然NLL**来判定答案而不是让模型直接生成文本。后训练模型同时报告 5-shot 与 0-shot 分数。此时改为让模型生成最佳选项字符其中 0-shot 使用思维链CoT提示词。最大生成长度5-shot 配置为10 tokens0-shot 配置为1024 tokensCoT 需要更长空间。指标口径除非特别说明报告macro average宏平均。文档同时记录了 micro average 数据点预训练 8B、70B、405B 模型 5-shot 分别为65.6、79.0、85.4后训练对应模型分别为69.44、84.0、87.71。需要说明的是这组 8B/70B/405B 数据点来自对更大尺寸模型的评估对应 Llama 3.1 系列对照而 Llama 3.2 文本模型家族本身为 1B/3B 规模关于 1B/3B 的实际分数可参见 models/llama3_2/MODEL_CARD.md 中的基准表格如 5-shot MMLU macro_avg/acc 上1B 为 49.3、3B 为 63.4含 SpinQuant、QLoRA 等量化变体对照。2.2 Multilingual MMLU七种非英语语言的逐项报告针对后训练模型使用5-shot配置以生成式任务运行最大生成长度为 10 tokens。分数按葡萄牙语、西班牙语、意大利语、德语、法语、印地语、泰语七种语言分别报告并取平均——这与 Llama 3.2 官方支持的八种语言英、德、法、意、葡、印地、西、泰保持一致。多语言维度的完整分数表位于 models/llama3_2/MODEL_CARD.md 的 Multilingual Benchmarks 一节。2.3 AGIEval English预训练模型的通用推理仅对预训练模型评估使用 AGIEval 官方默认的 few-shot 与提示词设置3-5 shots分数在英语子任务上取平均最大生成长度为 10 tokens。2.4 ARC-Challenge两套判分路径ARC-Challenge 取自 ARC benchmark 的 Arc-Challenge 子集预训练模型使用25-shot配置复用 MMLU 的评估方式——把全部选项写进 prompt对选项字符计算似然likelihood判分。后训练模型使用0-shot配置直接让模型生成选项字符。最大生成长度统一为100 tokens。2.5 GPQA零样本思维链精确匹配仅针对后训练模型使用0-shot CoT配置在 main set 上对候选选项报告exact match精确匹配分数最大生成长度为 2048 tokens。三、数学与推理类基准3.1 GSM8K与 Wei et al. (2022) 一致的 8-shot CoT预训练与后训练模型使用同一套 8-shot CoT 配置提示词与 Wei et al. (2022) 的 maj1 设置一致最大生成长度为 1024 tokens。这是少数预训练/后训练完全共用一套协议的基准。3.2 MATH从 4-shot 到 0-shot 符号判分MATH 是配置差异最大的基准之一预训练模型沿用 Lewkowycz et al. (2022) 的4-shot配置maj1最大生成长度为 512 tokens。后训练模型改为0-shot CoT配置并对判分做了工程化增强——先用sympy增强 exact match将模型输出规范化后再做符号级比较再使用equality template judge裁判模型解析复杂数学表达式以处理形式不同但数学上等价的答案。最大生成长度放宽到 5120 tokens。分数口径MATH 分数基于完整数据集MATH-HARDLvl 5分数为 8B、70B、405B 分别25.4、43.8、53.4。3.3 MGSM十一语言平均的多语言数学针对后训练模型使用0-shot CoT配置报告 exact matchmaj1最大生成长度为 2048 tokens。分数在 MGSM 基准的全部十一种语言上取平均——包括 Llama 模型官方不支持的语种因此该分数是跨语言泛化能力的保守度量。四、阅读理解、改写与摘要类基准这一类基准全部面向预训练模型TLDR9 与 Open-Rewrite 面向后训练模型且统一采用生成式任务并设定较短的生成长度基准模型阶段Shots指标最大生成长度说明SQuADv2预训练1-shotexact match32 tokens生成式任务QuAC预训练1-shotF132 tokens生成式任务DROP预训练3随机抽取F132 tokens每个验证样例从 train split 随机抽 3 个 few-shot 样例TLDR9后训练1-shotrougeL512 tokensReddit 帖子摘要test 集Open-Rewrite后训练0-shotmicro_avg rougeL512 tokens覆盖 elaborate、formality、others、paraphrase、shorten、wiki 六类改写几个值得注意的细节DROP 的 few-shot 样例是随机抽取的每个验证样例独立抽样而非固定模板这意味着每次运行的结果可能存在轻微波动SQuAD 使用 v2 版本含不可回答问题Open-Rewrite 的六类改写任务共享同一 0-shot 提示词协议最终分数为六类 micro_avg rougeL 的汇总。五、指令遵循与工具调用类基准5.1 IFEval三级指标取平均针对后训练模型使用论文2311.07911规定的默认设置。计算prompt level分数以及instruction level 的 strict 与 loose 准确率最终报告所有这些分数的平均值。IFEval 考察的是模型对格式化指令如以 JSON 输出恰好 3 段等的遵循度与生成式开放评测口径完全不同。5.2 BFCL v2固定提交点的 AST 摘要指标Berkeley Function Calling Leaderboard v2 的结果通过运行开源评估仓库 gorilla固定 commit70d6722得到报告AST Summary指标。固定 commit 的目的在于保证函数调用解析逻辑的可复现性——AST抽象语法树级比较对解析器版本高度敏感。5.3 Nexus开源 prompt 裁判评估使用 NexusRaven 的开源 prompt 与评估函数配合开源评估 notebookGPT4 裁判评估流程计算分数。与 BFCL 类似Nexus 也强调完全可复现的第三方评估管线。六、长上下文类基准6.1 InfiniteBench128k 截断的干净数据集官方在 InfiniteBench 上报告两个子任务EN.MC基于假书fake book的自由问答EN.QA基于同一本书的多选题。两个子任务的平均输入 token 数分别约为184.4k与192.6k远超常规上下文窗口。官方处理方式是使用自家的 tokenizer将数据集截断到 128k 输入 token从而得到一个干净数据集——保证正确答案不会在截断过程中被误删。后训练模型使用0-shot配置EN.QA 与 EN.MC 的最大生成长度均为 20 tokens。这一截断策略正是对 models/sku_list.py 中 Llama 3.2 系列 128k 上下文长度能力的直接检验。6.2 NIH/Multi-needle十档长度的召回测试针对后训练模型使用0-shot配置。上下文长度在2000 到 131072之间均匀分布10 个区间含端点——对 llama 模型而言非 llama 模型则为2000 到 128000。最大生成长度为 256 tokens。该基准衡量模型在超长上下文中检索多根针的召回能力。6.3 RULER超越检索的长上下文综合评估RULER 用于在检索类任务之外更全面地评估长上下文能力。官方在不同长度的上下文区间上合成数据集并在以下能力维度上比较各长度桶的均值retrieval检索single needle、multi needle、multi-value per multiple keysmulti-hop tracing多跳追踪variable trackingaggregation聚合common words、frequency extractionquestion-answering问答。RULER 的价值在于它揭示了检索到就能答对与真正理解并聚合信息之间的差距是纯 Needle-in-a-Haystack 测试的有效补充。七、视觉基准提示词与逐模型差异视觉类基准全部面向后训练视觉模型11B/90B统一使用0-shot配置但不同基准、甚至同一基准的不同模型尺寸使用不同的 system prompt这是视觉评估中最容易复现出错的部分。7.1 MMMUCoT 逐步推理配置0-shot CoTvalidation set2048 tokens。system prompt|image|Look at the image carefully and solve the following question step-by-step. {question} Options: {options} Indicate the correct answer at the end.7.2 MMMU-Pro standard十选项多选配置0-shot十个选项的多选题test set单 prompt 含多张图时拼接为一张图2048 tokens。system prompt|image|{question} Options: {options}7.3 MMMU-Pro vision从图中提取问题再作答配置0-shottest set2048 tokens。system prompt要求模型先明确陈述图中问题与全部选项再逐步分析、作答并强制以The best answer is X.X 为唯一选项字母收尾|image|Your job is to extract the question from the image the user attached, reason about it, and then answer the question. Follow these steps: 1. Always start by Clearly stating the question shown in the image, and also state all of the options. 2. Then, Carefully review the information beyond the question shown in the image and analyze it without making any assumptions. 3. Next, use your understanding of the image to answer the question you listed out in the first step. Use a step-by-step process 4. Finally, write the answer in the following format where X is exactly one of the option letters: The best answer is X. Always follow the steps above, printing out everything. Lets think step by step. Your response must be among the given options.7.4 AI2D11b 与 90b 使用不同提示词配置0-shottest set400 tokens。11b 的 system prompt要求逐步思考并以FINAL ANSWER形式只输出正确选项编号|image|Look at the scientific diagram carefully and answer the following question: {question} Think step by step and finally respond to the question with only the correct option number as FINAL ANSWER. Lets think step by step.90b 的 system prompt更简洁只要求输出正确选项数字|image|Look at the scientific diagram carefully and answer the following question: {question} Respond only with the correct option digit.7.5 ChartQA从简短 CoT 到六步流程配置0-shot CoTtest set512 tokens。11b 的 system prompt要求思考并给出逐步解答最终以FINAL ANSWER:收尾|image|You are provided a chart image and will be asked a question. You have to think through your answer and provide a step-by-step solution. Once you have the solution, write the final answer in at most a few words at the end with the phrase FINAL ANSWER:. The question is: {question}|cot_start|Lets think step by step.90b 的 system prompt展开为 Step 1–Step 6 的完整流程强调直接从图中读取数据、不做多余假设并同样以FINAL ANSWER:收尾完整六步文本较长核心是逐步骤定位图表中的对应数据点并简洁作答。7.6 DocVQA逐字读文与极简回答约束配置0-shottest set512 tokens。system prompt强制按图中原文逐字回答yes/no 只答 Yes 或 No数字只答数字多词答案只答单词、禁止成句|image| Read the text in the image carefully and answer the question with the text as seen exactly in the image. For yes/no questions, just respond Yes or No. If the answer is numeric, just respond with the number and nothing else. If the answer has multiple words, just respond with the words and absolutely nothing else. Never respond in a sentence or a phrase. Question: {question}7.7 VQAv2最短答案约束配置0-shottest set25 tokens。system prompt与 DocVQA 相同的极简回答约束并追加尽量少词|image| Look at the image carefully and answer this visual question. For yes/no questions, just respond Yes or No. If the answer is numeric, just respond with the number and nothing else. If the answer has multiple words, just respond with the words and absolutely nothing else. Never respond in a sentence or a phrase. Respond with as few words as possible. Question: {question}7.8 MathVistaLLM 判分器提取答案配置0-shottestmini set2048 tokens。判分方式按照 MathVista 论文Lu et al., 2024的建议使用LLM-based answer extractor从模型输出中提取答案以应对数学题答案形式多样的问题。system prompt|image|{question}7.9 视觉模型的结构性背景视觉评估之所以需要如此多的提示词工程与 Llama 3.2-Vision 的架构直接相关。根据 models/sku_list.py 中 11B/90B Vision 模型的注册参数vision_chunk_size、vision_max_num_chunks、vision_num_cross_attention_layers视觉模型并非早期融合结构而是通过一组交叉注意力层把图像编码器表示注入语言模型主干。|image|标记在 prompt 中的位置决定了图像只 attend 到其后的文本 token这正是上文各 system prompt 都把|image|放在最前面、且 MMMU-Pro 多图拼接策略存在的原因。完整视觉评估结果VQAv2、TextVQA、DocVQA、MMMU、ChartQA、InfographicsQA、AI2D 等可查看 models/llama3_2/MODEL_CARD_VISION.md。八、评估配置速查总表下表汇总 models/llama3_2/eval_details.md 中全部基准的关键配置方便复现时快速对照基准适用模型Shots提示词类型判分指标最大生成长度MMLU预训练5标准 MMLUNLL 判选项—MMLU后训练5 / 00-shot 用 CoT生成选项字符10 / 1024Multilingual MMLU后训练5生成式各语言分别报告10AGIEval English预训练默认 few-shot默认英语子任务平均10ARC-Challenge预训练25MMLU 式选项似然100ARC-Challenge后训练0生成式选项字符100GPQA后训练0CoTexact match2048GSM8K预训练后训练8CoTWei et al.maj11024MATH预训练4Lewkowycz et al.maj1512MATH后训练0CoT sympy judgefinal_em5120MGSM后训练0CoTmaj111 语言平均2048SQuAD v2预训练1生成式exact match32QuAC预训练1生成式F132DROP预训练3随机生成式F132TLDR9后训练1生成式rougeL512Open-Rewrite后训练0生成式micro_avg rougeL512IFEval后训练0默认Prompt/Instruction 平均默认BFCL v2后训练0固定 commit 评估AST Summary默认Nexus后训练0开源 promptGPT4 裁判默认InfiniteBench后训练0128k 截断EN.QA/EN.MC20NIH/Multi-needle后训练010 档长度recall256RULER后训练0合成数据集各能力桶均值默认MMMU后训练视觉0CoT选项 acc2048MMMU-Pro standard/vision后训练视觉0定制 prompt选项 acc2048AI2D后训练视觉011b/90b 不同 promptacc400ChartQA后训练视觉011b/90b 不同 CoTacc512DocVQA后训练视觉0极简回答约束ANLS512VQAv2后训练视觉0极简回答约束acc25MathVista后训练视觉0LLM 判分器acc2048九、评测协议与仓库源码的对应关系评估文档中的设置并非孤立的实验细节它们与 llama-models 仓库的模型注册与推理管线一一对应9.1 模型家族的注册与上下文能力models/sku_list.py 中的llama3_2_family()完整注册了 Llama 3.2 家族基础模型Llama3.2-1B、Llama3.2-3B、Llama3.2-11B-Vision、Llama3.2-90B-Vision、指令模型-Instruct以及 INT4 量化变体QLORA_INT4_EO8、SpinQuant_INT4_EO8。所有模型共用LLAMA3_VOCAB_SIZE 128256词表这正是 InfiniteBench 用自家 tokenizer截断到 128k 的原因——词表与上下文窗口能力均由同一套 tokenizer 体系决定。9.2 用 describe 命令核对评估对象仓库提供了llama-model describe子命令models/cli/describe.py可查看任意注册模型的上下文长度、权重格式与params.json架构参数llama-model describe -m Llama3.2-3B-Instruct输出包含 Hugging Face ID、描述、上下文长度以 K tokens 显示以及完整的arch_argsdim、n_layers、n_heads、n_kv_heads、rope_theta、use_scaled_rope等。在复现评估时先用该命令确认目标模型的上下文长度与架构是避免配置与模型不匹配的第一步。9.3 生成管线中的 max_seq_len 与生成长度评估文档反复强调的最大生成长度10~5120 tokens对应推理时的生成终止条件而上下文能力则由 models/llama3/generation.py 中Llama3.build()的max_seq_len参数控制默认调用链中由 CLI 脚本传入例如 models/llama3/scripts/chat_completion.py 的run_main默认max_seq_len512、temperature0.6、top_p0.9。注意评估采用的温度与采样策略会显著影响 CoT 类任务GSM8K、MATH、GPQA、MGSM的 maj1 分数复现时应显式设置采样参数。9.4 特殊 token 与提示词格式的落地评估文档中出现的|image|、CoT 提示词等最终由 models/llama3/tokenizer.py 定义的特殊 token 体系承载|begin_of_text|、|end_of_text|、|reserved_special_token_0|等基于 tiktoken BPE词汇表 128256。视觉模型的双流结构文本主干 交叉注意力视觉适配器也决定了|image|标记位置对评估结果的影响——这也是为何各视觉基准的 system prompt 都把图像标记严格置于开头。9.5 分数在哪里查看评估文档只给出方法论实际分数分布在两个模型卡中文本模型models/llama3_2/MODEL_CARD.md 的 Benchmarks - English Text含基础模型表与指令模型表后者覆盖 bf16、Vanilla PTQ、SpinQuant、QLoRA 四种权重变体与 Multilingual Benchmarks七种语言 × 四种变体。视觉模型models/llama3_2/MODEL_CARD_VISION.md 的 Benchmarks - Image Reasoning基础模型表与指令模型表覆盖 MMMU 系列、ChartQA、AI2D、DocVQA、VQAv2、MathVista 等。十、复现评估时的注意事项结合本文整理的协议与仓库源码在本地复现 Llama 3.2 官方评估时有几点必须注意区分预训练/后训练协议MMLU、ARC-Challenge、MATH 三类基准对预训练与后训练模型使用完全不同的判分方式NLL 似然 vs 生成判分不能混用。遵守生成长度上限短输出任务MMLU 10、SQuAD/QuAC/DROP 32、InfiniteBench 20若放宽长度模型可能输出多余文本导致解析失败长输出任务MATH 后训练 5120、GPQA/MGSM 2048若截断过短则可能丢失推理过程。按模型尺寸切换提示词AI2D 与 ChartQA 对 11b/90b 使用不同的 system prompt评估时必须以目标模型尺寸为准。固定第三方评估版本BFCL v2 固定 gorilla 仓库 commitNexus 固定评估 notebook 版本——工具链版本漂移会直接改变分数。长上下文必须正确截断InfiniteBench 需用 Llama 3.2 自家的 tokenizermodels/llama3_2/tokenizer.model将数据截断至 128k不能使用其他 tokenizer 的截断结果。理解外部模型分数的口径按评估总则外部对比模型的分数可能取自其自报分数而非完全相同的评估设置横向对比时需留意脚注说明。综上models/llama3_2/eval_details.md 是一份将评估公平性落实为具体工程参数的规范文档从 NLL 与生成两种判分范式的选择到逐基准、逐模型尺寸的提示词与生成长度配置再到第三方评估管线的版本锁定。理解这套协议是正确解读 models/llama3_2/MODEL_CARD.md 与 models/llama3_2/MODEL_CARD_VISION.md 中全部分数、乃至开展自有模型对比评估的前提。【免费下载链接】llama-modelsUtilities intended for use with Llama models.项目地址: https://gitcode.com/GitHub_Trending/ll/llama-models创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表