选择你喜欢的标签
我们会为你匹配适合你的网址导航

    确认 跳过

    跳过将删除所有初始化信息

    您的位置:0XUCN > 资讯 > 智能
    新闻分类

    C-Eval 一个全面的中文基础模型评估套件

    智能 PRO 作者:林思妤 2025-08-19 00:45

    C-Eval是适用于大语言模型的多层次多学科中文评估套件,由上海交通大学、清华大学和爱丁堡大学研究人员在2023年5月份联合推出,包含13948个多项选择题,涵盖52个不同的学科和四个难度级别,用在评测大模型中文理解能力。通过零样本(zero-shot)和少样本(few-shot)测试,C-Eval 能评估模型在未见过的任务上的适应性和泛化能力。

    C-Eval的主要功能

    • 多学科覆盖:C-Eval 包含 52 个不同学科的题目,涵盖 STEM、社会科学、人文科学等多个领域,全面评估语言模型的知识储备。

    • 多层次难度分级:设有四个难度级别,从基础到高级,细致评估模型在不同难度下的推理和泛化能力。

    • 量化评估与标准化测试:包含 13948 个多项选择题,通过标准化评分系统提供量化性能指标,支持不同模型的横向对比。

    如何使用C-Eval

    • 数据下载:
      •  Hugging Face 下载:
    <span class="token keyword">from</span> datasets <span class="token keyword">import</span> load_dataset
    dataset <span class="token operator">=</span> load_dataset<span class="token punctuation">(</span><span class="token string">"ceval/ceval-exam"</span><span class="token punctuation">,</span> name<span class="token operator">=</span><span class="token string">"computer_network"</span><span class="token punctuation">)</span>
      • 或者直接下载 ZIP 文件并解压:

    <span class="token function">wget</span> https://huggingface.co/datasets/ceval/ceval-exam/resolve/main/ceval-exam.zip
    <span class="token function">unzip</span> ceval-exam.zip

    • 选择评估模式

      • 零样本(Zero-shot):模型在没有任何示例的情况下直接回答问题。
      • 少样本(Few-shot):模型在少量示例(如 5 个)的提示下回答问题。
    • 准备模型:确保模型已经加载并准备好进行推理。如果是基于 Hugging Face 的模型,用以下代码加载:

    <span class="token keyword">from</span> transformers <span class="token keyword">import</span> AutoModelForCausalLM<span class="token punctuation">,</span> AutoTokenizer
    model_name <span class="token operator">=</span> <span class="token string">"your-model-name"</span>
    tokenizer <span class="token operator">=</span> AutoTokenizer<span class="token punctuation">.</span>from_pretrained<span class="token punctuation">(</span>model_name<span class="token punctuation">)</span>
    model <span class="token operator">=</span> AutoModelForCausalLM<span class="token punctuation">.</span>from_pretrained<span class="token punctuation">(</span>model_name<span class="token punctuation">)</span>

    • 构建提示(Prompt)

      • 零样本提示:

    以下是中国关于{科目}考试的单项选择题,请选出其中的正确答案。
    {测试题目}
    A. {选项A}
    B. {选项B}
    C. {选项C}
    D. {选项D}
    答案:


      • 少样本提示:

    以下是中国关于{科目}考试的单项选择题,请选出其中的正确答案。
    {题目1}
    A. {选项A}
    B. {选项B}
    C. {选项C}
    D. {选项D}
    答案:A
    [k-shot 示例]
    {测试题目}
    A. {选项A}
    B. {选项B}
    C. {选项C}
    D. {选项D}
    答案:

    • 生成回答:使用模型生成回答。提取生成文本中的答案选项(A、B、C、D),或者计算每个选项的概率并选择最高概率的答案。

    inputs <span class="token operator">=</span> tokenizer<span class="token punctuation">(</span>prompt<span class="token punctuation">,</span> return_tensors<span class="token operator">=</span><span class="token string">"pt"</span><span class="token punctuation">)</span>
    outputs <span class="token operator">=</span> model<span class="token punctuation">.</span>generate<span class="token punctuation">(</span><span class="token operator">**</span>inputs<span class="token punctuation">)</span>
    response <span class="token operator">=</span> tokenizer<span class="token punctuation">.</span>decode<span class="token punctuation">(</span>outputs<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> skip_special_tokens<span class="token operator">=</span><span class="token boolean">True</span><span class="token punctuation">)</span>
    answer <span class="token operator">=</span> extract_answer<span class="token punctuation">(</span>response<span class="token punctuation">)</span>  <span class="token comment"># 自定义函数,提取答案选项</span>

    •  评估模型

      • 对于验证集(val),直接计算准确率。
      • 对于测试集(test),需要将结果提交到 C-Eval 官方平台获取评分。

    <span class="token keyword">from</span> sklearn<span class="token punctuation">.</span>metrics <span class="token keyword">import</span> accuracy_score
    <span class="token comment"># 假设 `predictions` 是模型的预测结果,`labels` 是真实答案</span>
    accuracy <span class="token operator">=</span> accuracy_score<span class="token punctuation">(</span>labels<span class="token punctuation">,</span> predictions<span class="token punctuation">)</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"Validation Accuracy: </span><span class="token interpolation"><span class="token punctuation">{</span>accuracy<span class="token punctuation">:</span><span class="token format-spec">.2f</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span>

    • 提交结果:准备 JSON 文件,包含所有测试题目的预测结果:

    <span class="token punctuation">{</span>
    <span class="token property">"chinese_language_and_literature"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
    <span class="token property">"0"</span><span class="token operator">:</span> <span class="token string">"A"</span><span class="token punctuation">,</span>
    <span class="token property">"1"</span><span class="token operator">:</span> <span class="token string">"B"</span><span class="token punctuation">,</span>
    ...
    <span class="token punctuation">}</span><span class="token punctuation">,</span>
    ...
    <span class="token punctuation">}</span>


      • 登录 C-Eval 官方平台并提交结果以获取最终评分。

    C-Eval的应用场景

    • 语言模型性能评估:全面衡量语言模型的知识水平和推理能力,帮助开发者优化模型性能。

    • 学术研究与模型比较:为研究人员提供标准化的测试平台,分析和比较不同语言模型在各学科的表现,推动学术研究和技术进步。

    • 教育领域应用开发:助力开发智能辅导系统和教育评估工具,用模型生成练习题、自动评分,提升教育领域的智能化水平。

    • 行业应用优化:在金融、医疗、客服等行业,评估和优化语言模型的领域知识和应用能力,提升行业智能化解决方案的效果。

    • 社区合作与技术评测:作为开放平台,促进开发者社区的交流与合作,为模型竞赛和技术评测提供公平的基准测试工具。

    0XU.CN

    [超站]友情链接:

    四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
    关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/

    图库
    公众号 关注网络尖刀微信公众号
    随时掌握互联网精彩
    赞助链接