大模型训练数据清洗技巧分享
在大模型训练过程中,数据质量直接影响模型性能。以下是一些实用的数据清洗技巧。
1. 重复数据检测与处理
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
def detect_duplicates(df, text_column):
# 使用TF-IDF向量计算相似度
vectorizer = TfidfVectorizer(max_features=1000, stop_words='english')
tfidf_matrix = vectorizer.fit_transform(df[text_column])
# 计算余弦相似度矩阵
from sklearn.metrics.pairwise import cosine_similarity
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] > 0.95:
duplicates.append((i, j))
return duplicates
2. 异常值检测
import numpy as np
from scipy import stats
def remove_outliers(df, column):
# 使用Z-score方法
z_scores = np.abs(stats.zscore(df[column]))
return df[z_scores < 3]
3. 文本质量清洗
import re
def clean_text(text):
# 移除特殊字符和多余空格
text = re.sub(r'[^a-zA-Z0-9\s]', '', text)
text = re.sub(r'\s+', ' ', text).strip()
return text.lower()
这些方法可有效提升数据质量,为模型训练奠定基础。

讨论