PromptScope: 一个灵活高效的In-Context Training框架

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: PromptScope 是一个同时支持中英文的 In-Context Training 框架,专为大型语言模型(LLM)性能调优设计。

01.项目简介

PromptScope 是一个同时支持中英文的 In-Context Training 框架,专为大型语言模型(LLM)性能调优设计。In-Context Training 通过调整模型输入(Instruction/样例),优化模型在特定任务中的表现。相比于 In-Weight Training(如 SFT、DPO、RLHF),PromptScope 具有低成本和更高的灵活性。

- 适用场景包括

  • 缺乏可用于训练的 GPU 资源
  • 需要对闭源模型进行性能优化

- PromptScope 的主要特点

  • 全面的优化方法:支持基于样例的优化和基于指令的优化
  • 卓越的优化效果:基于TipsOptimizer的方法在中英文开源数据集上效果优于主流优化算法
  • 高度的灵活性:支持中英文并且提供主流优化算法实现

- 关于TipsOptimizer

  • TipsOptimizer是通过从训练集中根据正负样例,总结出一些Tips,添加到原始system prompt中,来帮助模型提升在指定任务上的表现,只需要提供“训练数据”和“评分函数”,就可以进行优化。以下是一个例子,对比展示优化前后的system prompt:

优化前

请判断下面的新闻属于以下哪个类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐

优化后

请判断下面的新闻属于以下哪个类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐- 当新闻内容主要涉及特定领域的科技进步或科学研究时,建议将其分类为“科技”,不建议简单地因为提及国家机构或政策就归类为“时政”。- 在判断新闻类别时,应重点关注文章的主要信息和核心主题,而不是被次要信息所干扰。- 对于跨领域的内容,需要仔细区分主次,确保将新闻准确归入最能反映其主要内容的类别。- 当新闻内容涉及金融产品(如基金)的整体市场表现及行业内部结构变化时,建议归类为“财经”,不建议仅因提及股市就将其分类为“股票”。...(红色部分为新增Tips)

欢迎关注PromptScope,在Github上(https://github.com/modelscope/promptscope) 为我们star 🌟。

02.项目结构

03.效果对比

● 优化器:qwen-max

● 推理模型:qwen-plus

英文

中文

GSM8K

BBH(word_sorting)

BBH(object_counting)

THUNews

CMMLU(nutrition)

CMMLU(college_medical_statistics)

Raw

96.1%

57.0%

97.0%

85.0%

93.2%

73.6%

OPRO

96.3%

56.0%

97.0%

84.0%

90.4%

75.5%

PromptAgent

95.7%

60.0%

97.0%

80.8%

95.9%

71.7%

TipsOptimizer

96.1%

64.0%

98.0%

90.0%

95.9%

83.0%

04.运行方式

git clone https://github.com/modelscope/PromptScope
  • 步骤三:配置DashScope API-KEY
export DASHSCOPE_API_KEY="sk-xxxxx"
  • 步骤四:加载训练和测试数据
with open("../../data/college_medical_statistics/sample_train_data.jsonl", "r") as f:
    train_set = []
    for line in f:
        train_set.append(json.loads(line))
with open("../../data/college_medical_statistics/sample_test_data.jsonl", "r") as f:
    test_set = []
    for line in f:
        test_set.append(json.loads(line))
with open("../../data/college_medical_statistics/init_system_prompt.txt", "r") as f:
    init_system_prompt = f.read().strip()
  • 以下是训练/测试数据格式的组织形式:
[
  {
    "input": "输入(必填)",
    "output": "回复(必填)"
  }
]
  • 步骤五:构建评分函数
def is_good_case(prediction, ground_truth):
    # extract final answer
    prediction = prediction.split("<answer>")[-1].split("</answer>")[0].strip()
    ground_truth = ground_truth
    if ground_truth in prediction:
        return True, 1 # good case, 得分为1
    else:
        return False, 0 # bad case, 得分为1
  • 步骤六:开始运行
from prompt_scope.core.llms.dashscope_llm import DashscopeLLM
from prompt_scope.core.offline.tips_generation.static_tips_generation import StaticTipsGeneration
# 加载推理模型
infer_llm = DashscopeLLM(model="qwen-plus", temperature=0.0)
# 加载优化模型
optim_llm = DashscopeLLM(model="qwen-max", temperature=0.0)
# 运行代码
stg = StaticTipsGeneration(
    init_system_prompt=init_system_prompt,
    infer_llm=infer_llm,
    train_set=train_set,
    test_set=test_set,
    is_good_case_func=is_good_case,
    details_save_dir=f"{current_file_dir}/details_result",
    language="cn"
)
tips = stg.run()

05.后续计划

  • 更多模型支持(基于api/本地部署)
  • 支持多模态In-Context Training方式
  • 更多Optimizer方式,也欢迎大家共建

欢迎关注PromptScope,在Github上(https://github.com/modelscope/promptscope) 为我们star 🌟。

点击链接阅读原文,即可跳转模型代码

https://github.com/modelscope/promptscope

目录
相关文章
|
8月前
|
人工智能 JSON PyTorch
TPO:告别微调!这个AI框架让大模型实时进化:无需训练直接优化,输入问题越用越聪明,输出质量暴涨50%
TPO(Test-Time Prompt Optimization)框架,通过奖励模型和迭代反馈优化大语言模型输出,无需训练即可显著提升性能,支持动态对齐人类偏好,降低优化成本。
497 8
TPO:告别微调!这个AI框架让大模型实时进化:无需训练直接优化,输入问题越用越聪明,输出质量暴涨50%
|
Web App开发 域名解析 缓存
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。
162453 7
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
|
8月前
|
人工智能 文字识别 安全
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
583 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
|
8月前
|
人工智能 自然语言处理 并行计算
MeteoRA:多任务AI框架革新!动态切换+MoE架构,推理效率提升200%
MeteoRA 是南京大学推出的多任务嵌入框架,基于 LoRA 和 MoE 架构,支持动态任务切换与高效推理。
300 3
|
7月前
|
设计模式 人工智能 API
Cursor 上线最新 AI 模型 Claude 3.7 Max:200k上下文+200次工具调用!史上最强代码助手硬核上线
Claude 3.7 Max 是 Cursor 推出的最新 AI 模型,支持 200k 上下文窗口和 200 次工具调用,专为复杂代码任务设计,适合硬核开发者和大型项目。
626 6
Cursor 上线最新 AI 模型 Claude 3.7 Max:200k上下文+200次工具调用!史上最强代码助手硬核上线
|
8月前
|
机器学习/深度学习 人工智能 并行计算
Unsloth:学生党福音!开源神器让大模型训练提速10倍:单GPU跑Llama3,5小时变30分钟
Unsloth 是一款开源的大语言模型微调工具,支持 Llama-3、Mistral、Phi-4 等主流 LLM,通过优化计算步骤和手写 GPU 内核,显著提升训练速度并减少内存使用。
1042 3
Unsloth:学生党福音!开源神器让大模型训练提速10倍:单GPU跑Llama3,5小时变30分钟
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
结合DeepSeek-R1强化学习方法的视觉模型!VLM-R1:输入描述就能精确定位图像目标
VLM-R1 是基于强化学习技术的视觉语言模型,通过自然语言指令精确定位图像目标,支持复杂场景推理与高效训练。
521 0
|
8月前
|
机器学习/深度学习 存储 文字识别
阿里国际Ovis2系列模型开源:多模态大语言模型的新突破
Ovis是阿里巴巴国际化团队提出的新型多模态大模型架构,通过巧妙地将视觉和文本嵌入进行结构化对齐,为解决模态间嵌入策略差异这一局限性提供了方案。
485 2
阿里国际Ovis2系列模型开源:多模态大语言模型的新突破
|
8月前
|
安全 Unix 虚拟化
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)
247 11
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 2 月更新)
|
7月前
|
人工智能 自然语言处理 IDE
Trae 接入 Claude 3.7:AI 编程工具界的“卷王”,完全免费使用!
Trae 是一款完全免费的AI编程工具,现已接入 Claude 3.7 模型,提供代码生成、调试等强大功能,支持多模态输入和上下文理解,用户可享受24小时高速服务,无需担心付费限制。Trae 支持多平台,安装简便,适合开发者快速上手。
2769 1
Trae 接入 Claude 3.7:AI 编程工具界的“卷王”,完全免费使用!

热门文章

最新文章