LLM大模型评估排障指南 | 关于 LaTeX 公式解析

这是 大模型评估排障指南 系列文章的第二篇,敬请关注系列文章:

  • 关于推理
  • 关于 LATEX 公式解析
  • 关于可复现性

解析 LaTeX 很难。这个问题在评估输出为 LATEX 的模型时经常会遇到,例如 Hugging Face 的 数学评估基准

这个基准使用 LATEX 来表示数学领域的计算和符号。评估难点在于对模型输出与标准答案的解析和比较。
结果表明,解析 LATEX 没有标准方法。


摘自 sympy 文档

lm-evaluation 框架使用 sympy (一个用于符号数学的 Python 库) 来对 latex 进行解析和比较。
使用 sympy 解析真值 (用真值自身对比测试) 只能得到约 0.94 的准确率。
怎么会是这样呢?后来发现 sympy 无法解析某些 (标准的 LATEX) 表达式。

例如:

 
couldn't parse one of [0,1) 或 [0,1), I expected one of these: ']'
[0,1)
~~^
 
couldn't parse one of (-\iny,-5]\cup[5,\iny) or (-\iny,-5]\cup[5,\iny), I expected something else here
(-\iny,-5]\cup[5,\iny)
~~~~~~^
 
couldn't parse one of -\frac{1}{{}2x} or -\frac{1}{{}2x}, I don't understand this
-\frac{1}{{}2x}
~~~~~~~~~~~^

如何缓解这个问题?

重写 LATEX 语法解析模块 并在代码中添加必须功能;或者往代码里添加人工检查来提高模型得分。
在几乎陷入问题陷阱之后,我们认为在代码中添加字符串比较检查差不多就能缓解这个问题了。

Lm Eval 工具修复


LM 评估工具修复

结果

修复前后模型 Top 25 对比结果表格如下:

解析器修复前后模型在 MATH 基准测试结果对比
ModelScoreRank
OriginalFixed parserOriginalFixed parser
rombodawg/Rombos-LLM-V2.5-Qwen-72b47.5850.6811
MaziyarPanahi/calme-2.2-qwen2-72b41.1643.4322
arcee-ai/Arcee-Nova40.4842.9033
fblgit/TheBeagle-v2beta-32B-MGS39.4342.5244
rombodawg/Rombos-LLM-V2.5-Qwen-32b39.1241.9955
dnhkng/RYS-XLarge38.9741.2466
dfurman/CalmeRys-78B-Orpo-v0.137.9240.7187
MaziyarPanahi/calme-2.2-rys-78b37.9239.9589
MaziyarPanahi/calme-2.4-rys-78b37.6940.4198
MaziyarPanahi/calme-2.3-rys-78b36.5638.971010
MaziyarPanahi/calme-2.1-rys-78b36.4038.901111
Qwen/Qwen2.5-72B36.1038.671212
MaziyarPanahi/calme-2.1-qwen2-72b36.0338.071315
Qwen/Qwen2-Math-72B-Instruct35.9538.141414
dfurman/Qwen2-72B-Orpo-v0.135.4238.141513
abacusai/Smaug-Qwen2-72B-Instruct35.3537.461619
anthracite-org/magnum-v1-72b35.2737.691816
alpindale/magnum-72b-v135.2737.691816
Qwen/Qwen2-72B-Instruct35.1237.691918
dnhkng/RYS-XLarge-base34.6737.162020
Undi95/MG-FinalMix-72B33.6136.102221
abacusai/Dracarys-72B-Instruct33.6135.652222
Qwen/Qwen2.5-32B32.8535.502323
anthracite-org/magnum-v2-72b31.6534.062424
dnhkng/RYS-Huge-bnb-4bit31.5733.842525

 如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

基于此,我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近70次后,终于把整个AI大模型的学习门槛,降到了最低!

在这个版本当中:

第一您不需要具备任何算法和数学的基础
第二不要求准备高配置的电脑
第三不必懂Python等任何编程语言

您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型教程已经给大家整理并打包,现在将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

五、AI产品经理大模型教程

在这里插入图片描述

LLM大模型学习路线 

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

 

<think>首先,用户的问题是:“我想使用大模型技术辅助撰写需求文档 请问如何利用大模型(如LLM)辅助撰写软件需求文档 实践指南”。这是一个关于如何利用大型语言模型(LLM)来辅助撰写软件需求文档的实践指南。 我需要根据系统级指令来构建回答: - 所有行内数学表达式必须使用 `$...$` 格式。 - 独立公式必须使用 `$$...$$` 格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾自然地添加引用标识。 - 回答结构清晰,帮助用户逐步解决问题。 - 参考站内引用:引用[1]和引用[2]是关于LLM入门学习路线和API使用的。 引用内容: - [^1]: 大语言模型基础,包括数学、Python、神经网络。 - [^2]: LLM APIs、开源LLMs、提示工程等。 用户的问题是关于撰写需求文档的实践指南,所以我需要聚焦于如何应用LLM来辅助这个过程。 结构化回答: 1. **引言**:简要介绍LLM在需求文档撰写中的作用。 2. **步骤指南**:逐步解释如何利用LLM辅助撰写需求文档。 3. **实践技巧**:包括提示工程、结构化输出等。 4. **工具和资源**:推荐一些工具或API。 5. **生成相关问题**:在最后添加相关问题。 确保引用自然:在回答中,如果提到引用内容,在段落末尾添加引用标识。 例如: - 提到LLM基础时,引用[^1]。 - 提到提示工程或API时,引用[^2]。 现在,构建内容: - **步骤1:理解需求文档**:需求文档包括功能需求、非功能需求等。LLM可以帮助生成、整理和优化内容。 - **步骤2:选择LLM工具**:使用API如GPT-4,或开源模型如Hugging Face的模型。引用[^2]提到API和开源选项。 - **步骤3:提示工程**:设计有效的提示来引导LLM生成高质量内容。例如,使用零次提示或思维链。引用[^2]。 - **步骤4:结构化输出**:确保LLM输出符合需求文档格式,如使用JSON或模板。引用[^2]提到结构化输出库。 - **步骤5:迭代和优化**:基于反馈调整提示和模型参数。 - **步骤6:整合和验证**:将LLM输出整合到文档中,并进行人工验证。 添加数学表达式(如果相关): - 需求文档可能涉及一些数学概念,如估算工作量(例如,使用公式估算时间:$time = \frac{work}{rate}$),但这不是必须。只在必要时添加。 生成相关问题: - 在最后,添加3-5个相关问题。 完整回答结构: 1. 开头:直接回答用户问题。 2. 主体:分步骤解释实践指南。 3. 结尾:总结并生成相关问题。 确保语言中文。</think>### 利用大型语言模型(LLM)辅助撰写软件需求文档的实践指南 大型语言模型(LLM)如GPT-4或开源模型(如Llama)能显著提升需求文档撰写的效率和质量。通过自动化生成内容、整理思路和优化结构,LLM可以减轻人工负担,同时确保文档的完整性和一致性。以下是基于实际经验的逐步实践指南,结合LLM技术的基础和应用方法。参考内容来自LLM学习路线和工程化实践[^1][^2]。 #### 步骤1: 准备基础知识和工具 在开始前,确保您具备LLM的基本理解: - **LLM基础**:熟悉Python编程和神经网络原理,这有助于自定义提示和解析输出[^1]。例如,需求文档中的工作量估算可能涉及简单数学公式,如工作量 $W = \sum_{i=1}^{n} t_i$(其中 $t_i$ 是任务时间)。 - **选择LLM工具**:推荐使用API(如OpenAI GPT-4)或开源模型(如Hugging Face的Llama),它们易于集成且支持提示工程。API适合快速原型开发,而本地运行开源模型能保护数据隐私[^2]。 - 示例工具:Hugging Face Spaces 或 LM Studio 用于本地测试;API服务如Anthropic或OpenRouter用于云部署。 #### 步骤2: 设计有效的提示(Prompt Engineering) 提示工程是核心,它能引导LLM生成结构化、高质量的需求内容。参考提示工程技术[^2],采用以下方法: - **零次提示(Zero-shot Prompting)**:直接提供任务描述,让LLM基于通用知识生成内容。例如: - 提示:"生成一个用户登录功能的软件需求描述,包括功能需求和非功能需求。" - LLM输出:可能包括"用户应能输入用户名和密码"等功能需求,以及"响应时间小于2秒"等性能需求。 - **少数提示(Few-shot Prompting)**:提供少量示例来指导LLM。例如: - 提示:"参考以下需求示例:示例1: '系统应支持并发用户数1000人。' 示例2: '错误率低于0.1%。' 现在生成文件上传功能的需求。" - **思维链(Chain-of-Thought)**:分步引导LLM推理,确保逻辑严谨。例如: - 提示:"第一步:定义文件上传功能的核心需求。第二步:列出安全性需求。第三步:生成完整描述。" - **技巧**:在提示中指定格式,如"输出为Markdown列表",这能减少后期编辑工作。提示工程在大型模型上效果更佳,但也可适配较小模型[^2]。 #### 步骤3: 生成和结构化需求内容 使用LLM生成需求文档的各个部分,并确保输出结构化: - **功能需求生成**:针对具体模块,如用户认证或数据报告,LLM能自动生成详细描述。 - 示例提示:"为电商系统的购物车功能生成5条功能需求,每条以'系统应...'开头。" - **非功能需求优化**:LLM可帮助定义性能、安全等需求。例如,生成可扩展性需求:"系统应支持用户量从1000扩展到10000,响应时间保持在 $t \leq 500\text{ms}$。" - **结构化输出**:使用库如LMQL或Guidance约束输出格式,确保符合需求模板(如JSON或用户故事格式)[^2]。例如: - 提示:"输出需求为JSON格式:{ '功能': [需求1, 需求2], '非功能': { '性能': 需求 } }" - **迭代生成**:运行LLM多次,每次基于反馈优化提示。例如,首次输出可能不完整,添加提示如"补充错误处理需求"。 #### 步骤4: 整合、验证和优化 将LLM输出整合到文档中,并进行人工验证: - **整合工具**:在Python脚本中调用LLM API(示例代码见下),或使用可视化工具如LangChain构建工作流。 ```python # Python示例:使用OpenAI API生成需求 import openai openai.api_key = 'your-api-key' def generate_requirement(prompt): response = openai.ChatCompletion.create( model="gpt-4", messages=[{"role": "user", "content": prompt}] ) return response.choices[0].message['content'] # 示例调用 prompt = "生成用户管理模块的3个安全需求,输出为Markdown列表。" requirements = generate_requirement(prompt) print(requirements) ``` - **验证方法**:人工审查LLM输出,检查一致性、准确性和可测试性。结合需求工程方法,如原型测试或用户评审。 - **优化技巧**:如果输出质量不高,调整提示或模型参数(如温度参数降低随机性)。开源模型可在本地微调以适应特定领域[^2]。 #### 步骤5: 部署和维护 将LLM集成到需求管理工具中,实现自动化: - **工程化实践**:使用API将LLM嵌入到Confluence或Jira等工具,自动化文档更新。参考LLM工程化部分[^1]。 - **最佳实践**:定期更新提示库以反映新需求;监控模型性能,确保输出符合标准(如ISO/IEC 25010)。 通过以上步骤,LLM能将需求文档撰写时间减少30-50%,同时提升文档质量。关键是平衡自动化与人工干预,避免过度依赖模型导致错误传播[^2]。 ### 相关问题 1. 如何评估LLM生成的需求文档质量? 2. 在需求文档撰写中,如何处理LLM的幻觉(hallucination)问题? 3. 有哪些开源的LLM模型特别适合技术文档生成? 4. 如何将LLM集成到现有的软件开发生命周期(SDLC)工具链中?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值