书生·浦语大模型全链路开源体系-第3关 提示词工程

书生·浦语大模型全链路开源体系-第3关

为了推动大模型在更多行业落地应用,让开发人员更高效地学习大模型的开发与应用,上海人工智能实验室重磅推出书生·浦语大模型实战营,为开发人员提供大模型学习和开发实践的平台。
本文是书生·浦语大模型全链路开源体系-开源开放体系课程的笔记。

相关资源

  • InternLM项目地址

https://github.com/InternLM/InternLM

  • InternLM2技术报告

https://arxiv.org/pdf/2403.17297.pdf

  • 书生·万卷 数据

https://opendatalab.org.cn/

  • 课程链接

https://space.bilibili.com/1293512903/channel/collectiondetail?sid=4017857

提示工程(Prompt Engineering)

什么是Prompt(提示词)

Prompt是一种用于指导以大语言模型为代表的生成式人工智能生成内容(文本、图像、视频等)的输入方式。它通常是一个简短的文本或问题,用于描述任务和要求。

Prompt可以包含一些特定的关键词或短语,用于引导模型生成符合特定主题或风格的内容。例如,如果我们要生成一篇关于“人工智能”的文章,我们可以使用“人工智能”作为Prompt,让模型生成一篇关于人工智能的介绍、应用、发展等方面的文章。

Prompt还可以包含一些特定的指令或要求,用于控制生成文本的语气、风格、长度等方面。例如,我们可以使用“请用幽默的语气描述人工智能的发展历程”作为Prompt,让模型生成一篇幽默风趣的文章。

总之,Prompt是一种灵活、多样化的输入方式,可以用于指导大语言模型生成各种类型的内容。

什么是提示工程

提示工程是一种通过设计和调整输入(Prompts)来改善模型性能或控制其输出结果的技术。

在模型回复的过程中,首先获取用户输入的文本,然后处理文本特征并根据输入文本特征预测之后的文本,原理为next token prediction,类似我们日常使用的输入法。

提示工程是模型性能优化的基石,有以下六大基本原则:

  • 指令要清晰
  • 提供参考内容
  • 复杂的任务拆分成子任务
  • 给 LLM“思考”时间(给出过程)
  • 使用外部工具
  • 系统性测试变化

在提示工程中,第一点给出清晰的指令是至关重要的。一个有效的指令通常包含以下要素:背景、任务、要求、限制条件、示例、输出格式和目标。通过提供这些详细信息,我们可以引导模型生成更符合我们期望的文本。

提示词工程案例

背景问题: 近期相关研究指出,在处理特定文本分析任务时,语言模型的表现有时会遇到挑战,例如在分析单词内部的具体字母数量时可能会出现错误。

比如:当我们问大模型“strawberry”中有几个字母“r”的时候,大模型可能会回答“strawberry”中有两个字母“r”,这是错误的。

  • 智谱的回答

  • Kimi的回答

  • 豆包的回答

  • 书生的回答

可以看到上面的回答,几乎是全军覆没。

为了让大模型能够准确的回答问题,这时我们就需要添加一些提示词,让大模型能够理解我们的意图。

比如,我们先尝试使用提示词:

我们统计单词中某个字母出现的次数的时候,应该从头到尾每个字母都进行比较,然后记录下我们关心的字母在单词中出现的位置,最后看看有多少个不同的位置,那么字母就出现了多少次,也就是包含几个字母。那么,请问:strawberry单词有几个字母r

此时,可能仍然无法得到准确的回答:

在 "strawberry" 这个单词中,字母 "r" 出现了两次。虽然 "r" 在单词中只出现在两个不同的位置,但根据你描述的统计方法,我们实际上是要计算字母 "r" 在整个单词中出现的位置。因此,"strawberry" 这个单词中包含两个字母 "r"。

那么,我们就需要更换提示词,直到得到期望的答案。比如:

我们统计单词中某个字母出现的次数的时候,应该从头到尾每个字母都进行比较,将其它字母都替换成空,最后剩下的字母有多少个,那么字母就出现了多少次,也就是包含几个字母。那么,请问:strawberry单词有几个字母r

此时,我们可能会得到准确的答案:

根据你描述的统计方法,即通过将其他字母替换成空,统计剩下的字母的数量来确定某个字母在单词中出现的次数,那么在 "strawberry" 这个单词中,字母 "r" 实际上出现了三次。这是因为当把 "s", "t", "a", "w", "b", "e", "r", "b", "r", "e", "r", "r", "e", "y" 中的其他字母替换成空后,剩下的字母 "r" 有三次出现。因此,"strawberry" 这个单词包含三个字母 "r"。

当然,如果我们得到的回答还是不准确,那么,我们还需要继续调整提示词,逐步完善,直到满意为止。

通过这个例子,我们可以清楚地看到,随着指令的逐步完善,AI生成的内容质量也随之提升。这种渐进式的提示词优化方法可以帮助我们更好地掌控AI输出,获得更符合需求的结果。

其他技巧我们这里不做过多介绍,如果大家感兴趣可以参考下面的资料:

### 书生·浦语大模型 书生·浦语是由上海人工智能实验室推出的大规模预训练语言模型,其设计目标是在多个自然语言处理任务上表现出卓越性能的同时保持高效性和易用性[^1]。该模型不仅支持多种应用场景下的开箱即用功能,还提供了灵活的微调能力以适应特定需求。 #### 模型使用方法 为了使用书生·浦语大模型,可以通过指定 `local_llm_path` 参数加载本地已有的模型文件或者通过提供 Hugging Face 平台上的模型名称来自动下载并加载远程模型。例如可以使用的模型名有 `"internlm/internlm2-chat-7b"` 或者 `"internlm/internlm2-chat-20b"` 等。此外,在实际部署前需确保设置合理的参数如 `local_llm_max_text_length` 来控制输入的最大长度以便优化运行效率和效果。 对于初次使用者来说,准备环境的第一步可能涉及创建目录结构以及复制预先获取到的模型仓库至相应位置的操作命令如下所示: ```bash mkdir -p /root/model/Shanghai_AI_Laboratory && \ cp -r /root/share/temp/model_repos/internlm-chat-7b /root/model/Shanghai_AI_Laboratory/ ``` 上述脚本片段展示了如何构建存储路径并将 internlm-chat-7b 版本的具体实现迁移过去的过程[^2]。 #### 微调与扩展支持 值得一提的是,除了基础的服务外,书生·浦语也兼容其他主流框架内的调整流程和技术方案,比如但不限于 InternLM, Llama, Qwen (通义千问), BaiChuan 及 ChatGLM 这些知名系列的产品线均被纳入考虑范围之内;并且能够很好地融入像 HuggingFace 和 ModelScope 那样的开放生态系统之中去寻找更多可能性[^3]。 另外值得注意的一点在于围绕着这些先进工具所建立起来的标准评估机制同样值得称赞——它由国内权威机构主导制定而成,并得到了国际巨头 Meta 的正式背书成为唯一推荐给用户的本土化考核标准之一,涵盖了上百套测试集合总计五十多万道试题用于全面衡量各项指标表现情况[^4]。 ### 提供的相资源链接 虽然这里无法直接给出具体的文档地址或安装包下载连接,但是可以根据前面提到的信息自行前往官方网站查询最新版本资料详情页面获取进一步指导说明材料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wux_labs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值