大模型训练数据清洗技巧
在大模型训练过程中,数据质量直接影响模型性能。本文分享几种实用的数据清洗方法。
1. 重复数据检测
使用Python进行基本的重复数据识别:
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
def find_duplicates(df, text_column, threshold=0.95):
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(df[text_column])
similarity_matrix = cosine_similarity(tfidf_matrix)
duplicates = []
for i in range(len(similarity_matrix)):
for j in range(i+1, len(similarity_matrix)):
if similarity_matrix[i][j] > threshold:
duplicates.append((i, j))
return duplicates
2. 噪声数据过滤
通过统计方法识别异常值:
import numpy as np
def remove_outliers(df, column, z_threshold=3):
z_scores = np.abs((df[column] - df[column].mean()) / df[column].std())
return df[z_scores < z_threshold]
3. 隐私信息检测
使用正则表达式识别敏感信息:
import re
sensitive_patterns = {
'phone': r'1[3-9]\d{9}',
'id_card': r'\d{17}[\dXx]',
'email': r'\w+@\w+\.\w+'
}
for pattern_name, pattern in sensitive_patterns.items():
df = df[~df['text'].str.contains(pattern, regex=True)]
建议在清洗前先备份数据,避免误删重要信息。

讨论