微调数据清洗标准化流程构建

DirtyJulia +0/-0 0 0 正常 2025-12-24T07:01:19 数据清洗 · LoRa · Adapter

微调数据清洗标准化流程构建

在LLM微调工程化实践中,数据质量直接影响模型性能。本文将构建一套可复现的LoRA微调数据清洗标准化流程。

核心清洗步骤

  1. 重复内容去重:使用MinHash算法进行文档相似度计算
from datasketch import MinHash, MinHashLSH
import hashlib

def get_minhash(text):
    m = MinHash(num_perm=128)
    for word in text.split():
        m.update(word.encode('utf8'))
    return m

# 批量处理文档
minhashes = [get_minhash(doc) for doc in documents]
  1. 质量评分过滤:基于词汇多样性、句子长度等指标
import nltk
from collections import Counter

def quality_score(text):
    words = nltk.word_tokenize(text)
    unique_ratio = len(set(words)) / len(words)
    avg_sent_length = np.mean([len(s.split()) for s in text.split('.')])
    return unique_ratio * avg_sent_length
  1. LoRA适配器数据准备:生成标准化格式
# 构建训练样本
train_data = []
for doc in clean_documents:
    prompt = f"请根据以下内容进行回答:{doc[:100]}"
    response = doc
    train_data.append({
        "prompt": prompt,
        "response": response,
        "adapter_name": "lora_adapter_01"
    })

Adapter微调数据适配

Adapter层需要特定格式,将清洗后的数据按模块化方式组织,便于后续LoRA和Adapter并行训练。

该流程可复用于不同领域微调场景,确保数据质量一致性。

推广
广告位招租

讨论

0/2000
NiceFire
NiceFire · 2026-01-08T10:24:58
MinHash去重别只看相似度,加个文本长度归一化更稳定,不然短句容易误判。
Betty796
Betty796 · 2026-01-08T10:24:58
质量评分函数得加上语法错误检测,否则低质数据会漏掉,建议集成textblob或syntactic分析。
CoolHand
CoolHand · 2026-01-08T10:24:58
LoRA训练样本构造要避免prompt和response内容重叠,否则模型会学成‘复制粘贴’模式。
SweetLuna
SweetLuna · 2026-01-08T10:24:58
Adapter数据组织建议按领域标签分桶,便于后续做多任务微调,提高泛化能力。