基于EDG4LLM,使用InternLM3 API 高效生成微调数据丨玩转书生大模型
1月15日,上海人工智能实验室对书生大模型进行重要版本升级,书生·浦语3.0通过精炼数据框架,大幅提升了数据效率,并实现思维密度的跃升。仅使用4T训练数据的InternLM3-8B-Instruct,其综合性能超过了同量级开源模型,节约训练成本75%以上;同时,书生·浦语3.0首次在通用模型中实现了常规对话与深度思考能力融合,可应对更多真实使用场景。EDG4LLM是一款专为利用大语言模型生成微调数
本文来自社区投稿,作者书生大模型实战营第4期助教 Alannikos
当前,大模型的微调数据制作过程繁琐复杂,涉及数据收集、清洗、标注等多个环节,尤其是人工标注不仅成本高昂,而且效率较低,难以满足大规模、高质量的数据需求。为了解决这一问题,越来越多的方法开始利用大模型本身来生成数据,通过合成数据、自动标注、知识增强等方式,降低人工干预,提高数据生产效率,从而更快速、高效地优化模型性能。
本文将详细介绍如何基于 EDG4LLM,使用书生·浦语3.0(InternLM3)大模型,高效生成用于微调大语言模型的高质量数据集,为模型优化提供强有力的数据支持。
InternLM3介绍
1月15日,上海人工智能实验室对书生大模型进行重要版本升级,书生·浦语3.0通过精炼数据框架,大幅提升了数据效率,并实现思维密度的跃升。仅使用4T训练数据的InternLM3-8B-Instruct,其综合性能超过了同量级开源模型,节约训练成本75%以上;同时,书生·浦语3.0首次在通用模型中实现了常规对话与深度思考能力融合,可应对更多真实使用场景。
体验页面:https://chat.intern-ai.org.cn
GitHub 链接:https://github.com/InternLM/InternLM
HuggingFace 链接:https://huggingface.co/collections/internlm/internlm3-67875827c377690c01a9131d

EDG4LLM介绍
EDG4LLM 是一款专为利用大语言模型生成微调数据而设计的 Python 库,旨在帮助用户高效创建高质量的微调数据集。目前,该工具主要支持 文本数据生成,生成的数据类型包括但不限于:
- 问题数据(如开放式问题等)
- 答案数据(提供精准或多样化的回答)
- 对话数据(提供高质量问答对数据)

EDG4LLM 核心优势:
✅ 易于使用:提供简洁直观的 API,用户无需复杂配置即可快速上手。 ✅ 轻量级:依赖项少,资源消耗低,高效且便于部署和使用。 ✅ 高度灵活:支持 多种数据格式 和 不同生成选项,可根据需求自定义微调数据。 ✅ 强力调试支持:提供 详细的日志输出,便于用户 追踪和优化 生成的数据质量。
通过 EDG4LLM,用户可以 大幅提升微调数据生成的效率,确保模型在特定任务中具备更精准、更优质的表现,同时降低人工标注的成本。
GitHub 链接:
https://github.com/alannikos/edg4llm
快速使用
安装库
pip install -U edg4llm
安装完成后,您可以使用以下命令查看 EDG4LLM 支持的模型:
usage: edg4llm-cli [-h] [--list-providers] [--list-models PROVIDER]
View the list of supported models.
options:
-h, --help show this help message and exit
--list-providers List all supported providers.
--list-models PROVIDER
View the list of models for a specific provider.
选项说明
-h, --help:显示帮助信息并退出。--list-providers:列出所有支持的模型提供商。--list-models PROVIDER:查看指定提供商支持的模型列表(需要提供 PROVIDER 名称)。
导入库
from edg4llm import DataGenerator
设置参数
api_key = "YOUR API_KEY"
base_url = "https://internlm-chat.intern-ai.org.cn/puyu/api/v1/chat/completions"
# 设置system_prompt(角色控制)
system_prompt = """你是一个精通中国古代诗词的大师"""
# 设置user_prompt(数据要求)
user_prompt = '''
目标: 1. 请生成过春节为场景的连续多轮对话记录
2. 提出的问题要多样化。
3. 要符合人类的说话习惯。
4. 严格遵循规则: 请以如下格式返回生成的数据, 只返回JSON格式,json模板:
[
{{
"input":"AAA","output":"BBB"
}}
]
其中input字段表示一个人的话语, output字段表示专家的话语
'''
num_samples = 1 # 只生成一个对话样本
使用 IntenLM API 初始化生成器
IntenLM API 链接:https://internlm.intern-ai.org.cn/api/document
edg = EDG4LLM(model_provider='internlm', model_name="internlm3-latest", base_url=base_url, api_key=api_key)
生成数据**(****以**对话数据为例)
data = edg.generate(
task_type="dialogue",
system_prompt=system_prompt,
user_prompt=user_prompt,
num_samples=num_samples
)
完整示例代码如下:
from edg4llm.core.interface import EDG4LLM
api_key = "YOUR API_KEY"
base_url = "https://internlm-chat.intern-ai.org.cn/puyu/api/v1/chat/completions"
# 1. 实例化对象
edg = EDG4LLM(model_provider='internlm', model_name="internlm3-latest", base_url=base_url, api_key=api_key)
# 2. 设置system_prompt(角色控制)
system_prompt = """你是一个精通中华传统文化的大师"""
# 3. 设置user_prompt(数据要求)
user_prompt = '''
目标: 1. 请生成过春节为场景的连续多轮对话记录
2. 提出的问题要多样化。
3. 要符合人类的说话习惯。
4. 严格遵循规则: 请以如下格式返回生成的数据, 只返回JSON格式,json模板:
[
{{
"input":"AAA","output":"BBB"
}}
]
其中input字段表示一个人的话语, output字段表示专家的话语
'''
num_samples = 1 # 只生成一个对话样本
# 4. 调用 generate 方法生成对话
data = edg.generate(
task_type="dialogue",
system_prompt=system_prompt,
user_prompt=user_prompt,
num_samples=num_samples
)
# 5. 查看数据
print(data)
生成的部分数据:
[
{
"conversation":
[
{
"input": "嘿,春节快到了,你打算怎么过?",
"output": "啊,春节啊,我打算和家人一起过,准备做一些传统的年夜饭,然后看看春晚,享受一下团圆的时光。",
"instruction": "你是一个精通中华传统文化的大师"
},
{
"input": "听起来真温馨,那你们会做哪些传统的年夜饭呢?",
"output": "我们通常会做鱼,象征着年年有余,还有饺子,因为它的形状像元宝,寓意着财富。当然,还有很多其他的菜,比如红烧肉、年糕等,都是家常菜,但每道菜都有它的寓意。"
},
{
"input": "说到饺子,我今年想尝试自己包饺子,有什么技巧吗?",
"output": "自己包饺子确实很有趣!首先,馅料要调味好,搅拌均匀;其次,饺子皮要擀得薄厚适中,太厚会影响口感;还有,包饺子的时候要注意捏紧边缘,防止煮的时候露馅。最后,煮饺子时要等水开了再下锅,这样煮出来的饺子才饱满。"
},
{
"input": "对了,春节期间还有什么传统活动吗?",
"output": "除了年夜饭,还有很多传统活动。比如贴春联、放鞭炮、拜年、给红包等。贴春联是为了驱邪迎祥,放鞭炮则是为了驱赶年兽,拜年是向亲朋好友表达祝福,给红包则是给晚辈或者朋友的新年祝福。"
},
...
{
"input": "听起来你们家的春节过得非常有意义!最后,你有什么新年愿望吗?",
"output": "我的新年愿望很简单,希望家人健康平安,工作顺利,也希望自己在新的一年里能实现一些个人目标,比如学习一项新技能,或者完成一个长期的计划。"
}
]
}
]
通过上述步骤,您可以轻松地利用 EDG4LLM 工具与 InternLM3 的强大能力,快速生成并保存用于微调大语言模型的高质量数据集,提高数据生产效率,从而更快速、高效地优化模型性能。
更多推荐




所有评论(0)