早期邮政分拣系统面临的挑战,与如今使用大型语言模型 (LLM) 类似。 如同早期邮局因处理邮件数量不足而导致信件退回,不正确的输入格式也会导致 LLM 微调失败或效果不佳。OpenAI 使用 JSONL (JSON Lines) 格式作为微调数据的标准,确保数据结构化并易于处理。
JSONL 格式的优势
JSONL 格式采用逐行存储,每行一个 JSON 对象。这种格式简洁、易读,并与 OpenAI 的微调 API 兼容。其优势在于:
- 准确性: 确保模型正确处理数据,避免错误。
- 效率: 简化微调流程,提高效率。
- 可扩展性: 方便处理大型数据集。
JSONL 格式微调示例
以下是一个用于 OpenAI 模型微调的 JSONL 数据示例:
{ "message": [ {"role": "system", "content": "这是一个智能助手,用于将新闻文章分类为:商业、娱乐、体育、科技、政治"}, {"role": "user", "content": "澳航考虑将业务转移到海外"}, {"role": "assistant", "content": "商业"} ] }
登录后复制
每个记录包含三个关键部分:
- system: 系统提示。
- user: 样本数据(新闻文章)。
- assistant: 对应的类别标签。
代码示例:
import json import pandas as pd # ... (假设已加载数据集到 pandas DataFrame: df) ... system_prompt = "这是一个智能助手,用于将新闻文章分类为:商业、娱乐、体育、科技、政治" with open('train.jsonl', 'w') as f: for _, row in df.iterrows(): data = { "message": [ {"role": "system", "content": system_prompt}, {"role": "user", "content": row['text']}, {"role": "assistant", "content": row['label']} ] } json.dump(data, f) f.write(' ')
登录后复制
输出示例:
{"message": [{"role": "system", "content": "这是一个智能助手,用于将新闻文章分类为:商业、娱乐、体育、科技、政治"}, {"role": "user", "content": "澳航考虑将业务转移到海外"}, {"role": "assistant", "content": "商业"}]}
登录后复制
经验教训
早期邮政系统在邮件分拣方面遇到的问题,为我们提供了宝贵的经验。 如同邮局通过改进索引系统提高效率,我们也应重视数据格式在 LLM 微调中的重要性。 正确使用 JSONL 格式能够确保微调过程顺利进行,并获得准确可靠的结果。
以上就是了解 OpenAI JSONL 格式:组织记录的详细内容,更多请关注php中文网其它相关文章!