镜像社区
部署GPU实例
文档中心
常见问题(FAQ)
LLM
WebUI
SPO-自监督提示优化
基于大语言模型自监督能力的提示优化框架,SPO通过对比不同提示生成的输出质量,自主完成优化迭代。
0/小时
v1.0

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


SPO 是什么

SPO-method

SPO(Self-Supervised Prompt Optimization)是一种基于大语言模型自监督能力的提示优化框架。与传统依赖人工标注或基准答案的方法不同,SPO通过对比不同提示生成的输出质量,自主完成优化迭代。

如何运行 SPO

通过镜像一键部署和运行

1. 使用该镜像创建实例

首先,在镜像发布页可以查看到我制作完成并分享到平台的实例镜像,通过右侧的使用该镜像创建实例可以快速创建一个实例。

UCloud_use_mirror

2. 部署GPU实例

可按需选择配置后再立即部署

UCloud_mirror_ini

3. 启动实例

稍等片刻后,实例就会自动创建并启动,通过查看实例列表可查看实例的运行状态,并支持随时关闭或启用。

UCloud_contorl

实例同时提供了一个 JupyterLab 应用作为交互式开发环境,它提供了更现代化和灵活的用户界面,方便我们继续后续的步骤。

UCloud_JupyterLab

4. 运行 SPO WebUI 服务

启动实例后,你可以通过 JupyterLab 应用的终端输入以下命令来快速启动服务:

python -m streamlit run app.py

WebUI 服务默认通过 8501 端口进行访问,镜像已经配置了端口转发,你可以直接通过https://{公网IP}:8501/访问。

SPO-LLM-ini

5. 配置 LLM API

首次启动项目时,默认在模型设置中没有预置模型可以选择的,所以你需要先配置 LLM API 和相应的模型名称,这里我以配置阿里百练大模型为例。

配置完成后,点击连通性测试并添加模型并等待测试,测试成功后就会将模型保存到本地配置中,之后你会发现在下方的模型设置*中增加了相应的模型选项,你可以选择使用相同/不同的模型作为优化提示、评估提示和执行提示(测试优化后提示词)的模型。

SPO-LLM-Setting

6. 配置优化器

滑动到LLM 配置的最下方,你会发现一个优化器设置,这里的初始轮次和最大轮次,你可以按照需要配置它们的次数。

SPO-Optimize-times

7. 配置提示模版

来到模板配置页,这里提供了一个提示词的配置模板,是SPO框架的核心配置,这决定了你想优化的提示词以及优化的目标。

  • 提示词:输入你想要优化的提示词,主要用于优化模型优化提示词。
  • 要求:输入提示词优化的目标,或者是一段描述(描述对提示词输出结果的要求),主要用于评估模型评估提示词。
  • 问答示例[可选]:可以添加多个Q&A作为示例,可以更好地指导模型优化提示词向目标对齐。

SPO-Prmopt-Setting

8. 开始优化

完成模板配置后,你就可以进入优化日志页,点击开始优化执行SPO脚本开始优化提示词了!并且在这个过程中,你可以从页面看到优化的过程和模型输入输出的日志信息。Enjoy it!

SPO-log

9. 查看优化结果

我这里为了快速演示,设置最大轮次为3次。在等待结束优化之后,你可以跳转到优化结果页,你将会看到每一轮优化的提示、完成状态和详细的优化结果。

SPO-Results

点开对应轮次,你可以看到更加详细的优化结果,这里我先查看开轮次1的优化结果,发现第1轮的提示词是你输入的提示词,它将首当其冲作为提示词,输入到模型中进行优化和评估,为后续优化提示词的进程作准备。

SPO-Result-1

接着,我再查看开轮次3的优化结果,发现不同于第1轮的提示词,当优化进程达到第3轮时,提示词已经变得更加细致完整了,像这样更完善的提示词,能够在测试时更好地指导模型输出,提高目标结果的命中率。

SPO-Result-3

10. 测试优化后提示词

最后,我测试了轮次3的优化结果中的提示词,输入了一个问答示例中不存在的问题(避免拟合),它不仅输出了详细的推理过程,得到了正确的结果,而且非常好地完成我设定的任务目标,最后生成了我要求的输出结果。

优化后的提示词是具备通用性的,即使是在其他的模型或参数量更小的模型中,也能非常准确地指导模型输出预期的结果。

SPO-Prompt-Test

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

镜像信息
@Airmomo
已使用
32
镜像大小30GB
最近编辑2025-02-25
支持卡型
RTX40系30903080TiP4048G RTX40系2080
+6
框架版本
Miniconda-23.9.0
CUDA版本
11.8
应用
JupyterLab: 8888
版本
v1.0
2025-02-27
Miniconda:23.9.0 | CUDA:11.8 | 大小:30.00GB