اگر امروز مدلهای هوش مصنوعی خود را مستقیماً به پایگاهدادههای قدیمی شرکت متصل کردهاید، احتمالاً در حال آموزش سیستم برای شناسایی «باگهای دیتابیس» هستید، نه الگوهای تجاری. قانون اول در این حوزه ساده است: «ورودی زباله، خروجی زباله» (Garbage in, garbage out). یک مدل تنها میتواند از آنچه به آن میدهید یاد بگیرد. در دنیای سازمانی، دادههای ارائهشده تقریباً همیشه معیوب هستند، به این معنی که کیفیت یک مدل دقیقاً به اندازه کیفیت اطلاعاتی است که مصرف میکند. تغذیه یک شبکه عصبی با لاگهای خام و پاکنشده، هوش مصنوعی را آموزش نمیدهد؛ بلکه سیستم را آموزش میدهد تا نقصهای خاص دیتابیسهای قدیمی شما را شناسایی کند.
به نقل از آموزشهای کاربردی منتشر شده در پلتفرم dev.to در ۷ اکتبر ۲۰۲۶، مرحله «شستوشو و خرد کردن» دادهها، حیاتیترین بخش خط لوله (Pipeline) هوش مصنوعی است. این فرآیند شبیه آمادهسازی سبزیجات قبل از آشپزی است؛ هیچ دستور پخت عالیای نمیتواند غذایی را که با مواد اولیه کثیف یا نیمهگندیده درست شده، نجات دهد. همانطور که در تحلیل قبلی ما دربارهی هوش مصنوعی سایه (Shadow AI) و خطرات نشت دادههای سازمانی اشاره کردیم، اکنون تمرکز از امنیت به کیفیت جابهجا شده است. در این راستا، بهینهسازی فرآیندهای آمادهسازی دادهها میتواند مشابه رویکردهای جدید در حل بحران برچسبگذاری دادهها در AI صنعتی باشد که برای کاهش وابستگی به دادههای دستی طراحی شدهاند.
زمینه: هرجومرج در دادههای سازمانی
دادههای دنیای واقعی در سازمانها بهندرت در یک نقطه تولید میشوند. این دادهها معمولاً از ترکیب سیستمهای متضاد و پراکنده به دست میآیند. برای مثال، یک سازمان ممکن است بخواهد یک پایگاهداده قدیمی منابع انسانی (HR) را با یک سیستم ERP ابری مدرن ترکیب کند و همزمان، جریانهایی از حسگرهای سختافزاری و لاگهای دستگاهها را نیز استخراج نماید.
هر سیستم عادتها، فرمتها، واحدها و حالتهای شکست (Failure modes) خاص خود را دارد. وقتی این سیستمها با هم برخورد میکنند، مجموعهای آشفته ایجاد میشود که یا باعث کرش کردن اکثر الگوریتمها میشود یا بدتر از آن، پیشبینیهایی تولید میکند که با اطمینان بالا اما کاملاً غلط هستند. فرقی نمیکند در حال تحلیل خروجی کنسول سختافزارهای شبکه با کارایی بالا باشید — مانند عیبیابی دادههای EEPROM ترانسیور در یک سوئیچ Mellanox SN2100 — یا در حال تجمیع حجم معاملات روزانه برای REITها و InVITهای هند باشید؛ دادههای خام همیشه پر از خطا، شکاف و ناهنجاری هستند.
پیشپردازش دادهها مانند یک خط مونتاژ عمل میکند. دادههای خام از ایستگاههای خاصی عبور میکنند که مقادیر گمشده، دادههای پرت، ردیفهای تکراری و واحدهای ناسازگار را مدیریت میکنند تا در نهایت دادهها در فرمت عددی و پاکی ظاهر شوند که الگوریتمها به آن نیاز دارند. این دقت در پیشپردازش، پیشنیاز دستیابی به بهرهوریهایی است که در دستوردههای پیشآموزش Magic برای کاهش هزینههای محاسباتی مشاهده شده است.
حل چالش مقادیر گمشده
ناقص بودن مجموعهدادهها رایجترین مانع در محیطهای عملیاتی است. برای مثال، اگر در جدولی از بازده سود سهام برای KRT REIT یا PGINVIT، دادههای چندین روز گم شده باشد، اکثر الگوریتمها یا با خطا متوقف میشوند یا بهطور بیصدا ردیفها را حذف میکنند که این امر منجر به سوگیری (Bias) در نتایج میشود.
مهندسان برای حل این مشکل سه استراتژی اصلی دارند:
- حذف (Deletion): این روش شامل حذف کامل ردیفی است که دارای مقدار گمشده است (به صورت listwise یا pairwise). این کار تنها زمانی منطقی است که مجموعهداده بسیار بزرگ باشد و دادههای گمشده بهصورت تصادفی حذف شده باشند؛ در غیر این صورت، شما اطلاعات ارزشمندی را دور میریزید و مدل را دچار سوگیری میکنید.
- جایگزینی آماری (Imputation): پر کردن شکافها با تخمینهای آماری مانند میانگین، میانه یا مد. برای مثال، اگر حسگر دمای یک رک سرور برای یک دقیقه آفلاین شود، جایگزینی مقدار null با میانه ۵ دقیقه اطراف، اجازه میدهد مدل به کار خود ادامه دهد. در اینجا، میانه معمولاً ایمنتر از میانگین است، بهویژه زمانی که مقادیر دارای توزیع نامتقارن (Skewed) باشند. برای دادههای دستهای (Categorical)، مانند نام یک شهر، از «مد» (رایجترین مقدار) استفاده میشود.
- جایگزینی پیشرفته: استفاده از یک مدل دیگر، مانند رگرسیون خطی یا الگوریتم نزدیکترین همسایه (Nearest Neighbors)، برای پیشبینی مقدار گمشده بر اساس سایر ستونهای موجود.
گاهی اوقات، نبودِ داده خودش یک سیگنال است. برای مثال، حسگری که همیشه درست قبل از یک نقص سختافزاری از کار میافتد، یک الگوی حیاتی را ارائه میدهد. در این حالت، افزودن یک ستون باینری ساده — مثلاً «آیا مقدار گم شده بود: بله/خیر» — به مدل اجازه میدهد از این فقدان به عنوان یک ویژگی پیشبینیکننده (Predictive feature) استفاده کند.
مهار دادههای پرت و ناهنجاریها
دادههای پرت (Outliers) نقاطی هستند که بسیار دور از الگوی نرمال قرار دارند و میتوانند تصور مدل از «عادی بودن» را بهشدت تغییر دهند. برای شناسایی آنها، مهندسان از مرزهای آماری برای علامتگذاری موارد مشکوک استفاده میکنند:
- Z-score: این شاخص محاسبه میکند که یک مقدار چند انحراف معیار با میانگین فاصله دارد. بهطور کلی، Z-score بالای ۳ غیرعادی تلقی میشود.
- قاعده IQR (دامنه بینچارکی): این روش مقادیری را علامتگذاری میکند که بیش از ۱.۵ برابر IQR فراتر از نیمه میانی دادهها قرار دارند.
البته هر داده پرت، یک خطا نیست. یک جهش شدید در تأخیر (Latency) سوئیچ Mellanox SN2100 ممکن است نشاندهنده یک رویداد واقعی، مانند حمله DDoS باشد و شما میخواهید مدل شما آن را ببیند. اگر جهش یک رویداد واقعی است، باید حفظ و علامتگذاری شود. اما اگر یک خطای داده است، مهندسان از روش وینسوریزاسیون (Winsorization) استفاده میکنند تا مقادیر افراطی را در یک صدک (Percentile) انتخابی محدود کنند. این کار اثر آنها بر وزنهای مدل را بدون حذف کامل رکورد کاهش میدهد.
حذف تکرار و استانداردسازی
ادغام سیستمهای مختلف اغلب منجر به ایجاد ردیفهای تکراری و تضاد در فرمتها میشود. چون مدلها از مشاهدات یاد میگیرند، هر ردیف باید منحصربهفرد باشد.
حذف تکرار (Deduplication): اگر لاگ کرش یک سرور ۵۰ بار تکرار شده باشد، یک شبکه عصبی (Neural Network) — که شبیه نقشه مترویی است و سیگنال را از ورودی به جواب میرساند — به آن خطای خاص وزن بیش از حد میدهد و به اشتباه نتیجه میگیرد که این خطا بسیار رایجتر از مقدار واقعی است. حذف تکرار تضمین میکند که خطا یک بار شمرده شود و تصویر واقعی نمایش داده شود.
یکسانسازی واحدها و فرمتها: هر ستون باید دقیقاً یک معنا داشته باشد. اگر یک سیستم پهنای باند شبکه را با MB/s و دیگری با Gbps گزارش میکند، آنها باید ابتدا به یک واحد واحد تبدیل شوند. همین موضوع برای فرمتهای تاریخ، مناطق زمانی، ارزها و حتی املای متون صادق است. تبدیل همه چیز به یک واحد، مانع از آن میشود که مدل تفاوتهایی را ببیند که در واقعیت وجود ندارند.
مسئله مقیاسبندی (Scaling)
مقیاسبندی ویژگیها (Feature Scaling) مانع از آن میشود که اعداد بزرگ بر مدل غلبه کنند. وقتی یک ویژگی در محدوده صدها هزار (مانند درآمد سالانه) و ویژگی دیگر بین ۰ تا ۱۰۰ (مانند سن) باشد، اعداد بزرگ میتوانند وزنهای ریاضی مدل را تصاحب کنند و ویژگیهای کوچکتر را نادیده بگیرند.
مهندسان با قرار دادن ویژگیها در یک محدوده قابل مقایسه، این مشکل را حل میکنند. دو روش اصلی برای این کار وجود دارد:
- مقیاسبندی Min-max: تغییر مقیاس دادهها به یک محدوده ثابت (معمولاً بین ۰ تا ۱).
- استانداردسازی (Standardization): تفریق میانگین و تقسیم بر انحراف معیار.
پیادهسازی با پایتون
با استفاده از کتابخانه pandas، این مراحل را میتوان خودکار کرد. در مثال زیر، پنج اصلاح کلیدی روی دادههای سرور اعمال شده است:
import numpy as np
import pandas as pd
df = pd.DataFrame({
"server": ["a", "a", "b", "c", "d", "e"],
"temp_c": [41.0, 41.0, None, 43.0, 44.1, 95.0], # یک شکاف، یک جهش مشکوک
"speed": [1.0, 1.0, 125.0, 0.8, 1.2, 1.1],
"unit": ["Gbps", "Gbps", "MB/s", "Gbps", "Gbps", "Gbps"],
})
df = df.drop_duplicates() # ۱. حذف ردیف تکراری
df["gbps"] = np.where(df["unit"] == "MB/s", df["speed"] * 8 / 1000, df["speed"]) # ۲. یکسانسازی واحد
df["temp_c"] = df["temp_c"].fillna(df["temp_c"].median()) # ۳. پر کردن شکاف با میانه
q1, q3 = df["temp_c"].quantile([0.25, 0.75]) # ۴. محدود کردن دادههای پرت با قاعده IQR
df["temp_c"] = df["temp_c"].clip(q1 - 1.5 * (q3 - q1), q3 + 1.5 * (q3 - q1))
df["temp_scaled"] = (df["temp_c"] - df["temp_c"].min()) / (df["temp_c"].max() - df["temp_c"].min()) # ۵. مقیاسبندی ۰ تا ۱
print(df[["server", "temp_c", "gbps", "temp_scaled"]].round(2).to_string(index=False))
اجرای این کد منجر به مقادیر پاکسازی شدهای میشود: ردیف تکراری حذف شده، دمای گمشده با میانه (۴۳.۵۵) پر شده، دمای مشکوک ۹۵ درجه به ۴۵.۷۵ محدود شده و سرعت در واحد Gbps یکسان شده است.
خطر نشت دادهها (Data Leakage)
یک تله ظریف اما مرگبار در پیشپردازش وجود دارد: محاسبه قوانین پاکسازی (مانند میانه، میانگین یا محدوده مقیاسبندی) روی کل مجموعه داده، پیش از آنکه دادهها به مجموعههای آموزش (Training) و آزمون (Test) تفکیک شوند.
این اتفاق نشت داده (Data Leakage) نام دارد. این کار اجازه میدهد اطلاعات مجموعه آزمون به فرآیند آموزش نفوذ کند و باعث شود مدل بسیار دقیقتر از آنچه در واقعیت هست به نظر برسد. تنها ترتیب امن این است: ابتدا دادهها را تفکیک کنید، قوانین پاکسازی را فقط از روی مجموعه آموزش یاد بگیرید و سپس همان قوانین یکسان را روی مجموعه آزمون اعمال کنید.
برای هر متخصصی، کیفیت یک سیستم هوش مصنوعی مدتها پیش از انتخاب مدل، تعیین میشود. تلاش مهندسی صرف شده برای پاکسازی دادههاست که یک ابزار آماده برای تولید (Production-ready) را از یک کنجکاوی آزمایشگاهی جدا میکند.
گام بعدی شما
- بررسی توزیع دادههای خود با نمودارهای Boxplot برای شناسایی سریع دادههای پرت.
- پیادهسازی خط لوله (Pipeline) تفکیک دادهها پیش از هرگونه محاسبه آماری برای جلوگیری از نشت داده.
- جایگزینی میانگین با میانه در ستونهایی که دارای توزیع نامتقارن هستند.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو