
پروجیکٹ کا تعارف
Chinese Guba AI Detector چینی AI متن کی دو درجہ بندی کرنے والا ایک ٹول ہے۔ یہ پروجیکٹ hfl/chinese-roberta-wwm-ext پر مبنی ہے اور C-ReD کارپس کے ذریعے فائن ٹیون کیا گیا ہے۔ اسے پہلے گوبہ متن کی تحقیقی پیمائش کے لیے استعمال کیا گیا تھا۔ موجودہ ریپوزٹری میں تربیت، اندازہ، ٹیسٹ اسکرپٹس اور متعلقہ وضاحتی دستاویزات عوامی طور پر دستیاب ہیں۔
یہ ٹول ماڈل کو مقامی طور پر لوڈ کرتا ہے اور بیرونی API کو کال نہیں کرتا۔ خاص طور پر توجہ دیں: ریپوزٹری فی الحال تربیت کے بعد کے وزن اور ٹوکنائزر فائلیں فراہم نہیں کرتی، اس لیے صارف کو ماڈل قانونی طور پر حاصل کرکے مخصوص ڈائریکٹری میں رکھنا ہوگا۔
اہم پابندی: یہ C-ReD کا سرکاری ماڈل نہیں ہے۔ اس فائن ٹیوننگ میں گوبہ پوسٹس استعمال نہیں کی گئیں اور مالیاتی فورم کے شعبے میں انسانی لیبل شدہ ٹیسٹ بھی نہیں کیا گیا۔ ماڈل کا اسکور متن کے حقیقی مصنف کی شناخت ثابت نہیں کر سکتا، اور اسے فرد کی شناخت یا مواد پر کارروائی کی واحد بنیاد نہیں بنانا چاہیے۔
اہم خصوصیات
- UTF-8 CSV میں موجود چینی متن کو AI اور انسانی متن میں دو حصوں میں درجہ بند کرنا۔
- AI زمرے کا softmax اسکور اور حدِ نصاب پر مبنی درجہ بندی کا نتیجہ فراہم کرنا۔
- بطور ڈیفالٹ
帖子内容文本پڑھنا، جبکہ حسب ضرورت متن کے کالم اور اسٹاک کوڈ کے کالم کی معاونت بھی موجود ہے۔ 股吧代码کو چھ ہندسوں کے متن میں معیاری بنانا اور ابتدائی صفر برقرار رکھنا۔- ان پٹ فائل کے دیگر کالم برقرار رکھنا اور ان کے متنی مواد کو ازخود تبدیل نہ کرنا۔
- عارضی فائل اور ایٹامک متبادل کے ذریعے آؤٹ پٹ فائل کے خراب ہونے کا خطرہ کم کرنا۔
- یکسانیت کی جانچ، دوبارہ حساب اور واحد عمل کے ذریعے لکھنے کے تحفظ کی معاونت۔
- تربیت، یونٹ ٹیسٹ اور عوامی مواد کے آڈٹ اسکرپٹس فراہم کرنا۔
انسٹالیشن کا ماحول
1. Python اور PyTorch تیار کریں
پروجیکٹ کے ٹیسٹ کا ماحول Python 3.10 ہے۔ ایک علیحدہ ورچوئل ماحول استعمال کرنے کی تجویز ہے۔ CPU یا CUDA ڈیوائس کے مطابق پہلے PyTorch کی سرکاری ہدایات کے ذریعے اپنی ڈیوائس کے لیے موزوں PyTorch 2.5.1 انسٹال کریں۔
Windows PowerShell میں ریپوزٹری کی بنیادی ڈائریکٹری کھولیں، پھر ورچوئل ماحول بنائیں اور فعال کریں:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txtCPU پر اندازہ چل سکتا ہے، لیکن CUDA GPU عموماً زیادہ تیز ہوتا ہے۔ اگر ویڈیو میموری ناکافی ہو تو پہلے --batch-size کو ڈیفالٹ یا بڑی قدر سے کم کرکے 8 یا 4 کریں۔
2. مقامی ماڈل تیار کریں
قانونی طور پر حاصل کیا گیا تربیت یافتہ ماڈل models/detector میں رکھیں۔ اس ڈائریکٹری میں درج ذیل فائلیں ہونی چاہییں:
model.safetensorsconfig.jsontokenizer.jsontokenizer_config.jsonspecial_tokens_map.jsonvocab.txt
یہ وزن اور ٹوکنائزر فائلیں عوامی ریپوزٹری میں شامل نہیں ہیں۔ اگر ڈائریکٹری نامکمل ہو تو اندازہ اسکرپٹ ماڈل کو درست طور پر لوڈ نہیں کر سکے گا۔
پہلی جانچ چلائیں
1. ان پٹ CSV تیار کریں
ان پٹ فائل UTF-8 CSV ہونی چاہیے۔ متن کے کالم کا ڈیفالٹ نام 帖子内容文本 اور اسٹاک کوڈ کے کالم کا ڈیفالٹ نام 股吧代码 ہے۔ ریپوزٹری میں فراہم کردہ تمام مثالیں فرضی متن ہیں؛ ان میں حقیقی صارفین، حقیقی پوسٹس یا انسانی اور AI کے حقیقی لیبل شامل نہیں ہیں۔
2. بیچ اندازہ چلائیں
ماڈل تیار ہونے کے بعد ریپوزٹری کی بنیادی ڈائریکٹری میں یہ کمانڈ چلائیں:
python scripts/predict.py --model-dir models/detector --input examples/synthetic_posts.csv --output outputs/demo.csv --batch-size 32یہ کمانڈ models/detector سے مقامی ماڈل لوڈ کرے گی، مثال کی CSV پڑھے گی اور جانچ کے نتائج outputs/demo.csv میں لکھے گی۔ پورے جانچ کے عمل میں بیرونی API کو کال نہیں کیا جاتا۔
3. آؤٹ پٹ فیلڈز کو سمجھیں
آؤٹ پٹ فائل اصل کالم برقرار رکھے گی اور درج ذیل فیلڈز شامل کرے گی:
- 是否AI生成: اگر گول کیے بغیر ماڈل اسکور حدِ نصاب سے بڑا یا اس کے برابر ہو تو
1، ورنہ0؛ خالی متن خالی ہی رہے گا۔ - AI生成概率: AI زمرے کا softmax اسکور۔ یہ اسکور احتمال کے لیے کالیبریٹ نہیں کیا گیا، اس لیے اسے براہِ راست حقیقی احتمال نہیں سمجھا جا سکتا۔
- AI检测模型: عوامی ماڈل کا شناختی نام؛ مقامی ماڈل کا راستہ نہیں لکھا جائے گا۔
- AI检测阈值: ڈیفالٹ قدر
0.7ہے۔ یہ پروجیکٹ کی ترتیب ہے، مقالے سے متعین کردہ بہترین حدِ نصاب نہیں۔ - AI检测状态:
okکا مطلب جانچ مکمل ہو گئی ہے، جبکہempty_textکا مطلب ان پٹ متن خالی ہے۔
حسب ضرورت CSV کالم استعمال کریں
اگر متن کے کالم کا نام text اور اسٹاک کوڈ کے کالم کا نام id ہو تو انہیں واضح طور پر مقرر کیا جا سکتا ہے:
python scripts/predict.py --model-dir models/detector --input input.csv --output outputs/result.csv --text-column text --stock-column idاگر ان پٹ فائل میں اسٹاک کوڈ کا کالم موجود نہ ہو تو خالی اسٹرنگ دیں:
python scripts/predict.py --model-dir models/detector --input input.csv --output outputs/result.csv --text-column text --stock-column ""اگر اسٹاک کوڈ کا کالم موجود ہو تو پروگرام اسے چھ ہندسوں کے متن میں معیاری بنائے گا اور ابتدائی صفر برقرار رکھے گا۔ ان پٹ کے دیگر کالم متن کی اصل شکل میں برقرار رہیں گے۔
اوور رائٹ، توثیق اور متوازی کارروائی
مکمل نتیجہ دوبارہ بنائیں
اندازے کا نتیجہ پہلے عارضی فائل میں لکھا جاتا ہے، کامیابی کے بعد ہدف فائل سے ایٹامک طور پر بدلا جاتا ہے۔ اسی کمانڈ کو دوبارہ چلانے پر پروگرام صرف اسی صورت میں موجود نتیجے کو چھوڑے گا جب ان پٹ، ماڈل، پیرامیٹرز اور مکمل آؤٹ پٹ کی توثیقی قدریں سب مطابقت رکھتی ہوں۔
موجودہ نتیجے کو نظرانداز کرکے مکمل فائل دوبارہ بنانے کے لیے --overwrite شامل کریں:
python scripts/predict.py --model-dir models/detector --input examples/synthetic_posts.csv --output outputs/demo.csv --batch-size 32 --overwriteعمل میں رکاوٹ اور متوازی کام
رکاوٹ کے بعد پروگرام اس فائل کے آغاز سے دوبارہ حساب کرے گا، موجودہ قطاروں کی تعداد کی بنیاد پر اندھا دھند سلسلہ جاری نہیں رکھے گا۔ ایک ہی وقت میں ایک آؤٹ پٹ راستے پر صرف ایک عمل کو لکھنے کی اجازت ہے۔ متوازی کارروائی کے لیے ہر عمل کو مختلف ان پٹ اور آؤٹ پٹ فائل دیں۔
لمبائی کی حد اور نتائج کی تشریح
ڈیفالٹ طور پر ہر متن سے زیادہ سے زیادہ 256 ٹوکن بطور ان پٹ لیے جاتے ہیں، اور اضافی حصہ کاٹ دیا جاتا ہے۔ ٹوکن کی تعداد چینی حروف کی تعداد کے برابر نہیں ہوتی، اس لیے اس حد کو 256 چینی حروف نہ سمجھیں۔
اصل تحقیق میں بعض گوبہ پوسٹس کے مرکزی متن میں صرف تقریباً 203 حروف کے جمع کیے گئے اقتباسات شامل تھے، اس لیے جانچ کا موضوع اصل متن کا صرف ایک حصہ ہو سکتا ہے۔ نتائج کی تشریح کرتے وقت متن کے کٹنے، شعبہ جاتی فرق اور سیاق و سباق کے فقدان کو بھی مدنظر رکھیں۔
AI生成概率 ایک غیر کالیبریٹڈ softmax اسکور ہے، جبکہ ڈیفالٹ حدِ نصاب 0.7 صرف پروجیکٹ کی ترتیب ہے۔ حدِ نصاب تبدیل کرنے سے دو درجہ بندی کا نتیجہ بدل جائے گا، لیکن README میں کسی حدِ نصاب کو مقالے سے تصدیق شدہ بہترین قدر قرار نہیں دیا گیا۔
C-ReD ڈیٹا سے ماڈل کی تربیت
لائسنس کی شرط
تربیت سے پہلے C-ReD ڈیٹا کے قانونی استعمال کی اجازت خود جانچ کر حاصل کرنا ضروری ہے۔ اپ اسٹریم ریپوزٹری میں کوئی واضح لائسنس نہیں ملا؛ مقالے کا حوالہ دینا ڈیٹا کے استعمال یا دوبارہ تقسیم کی اجازت حاصل کرنے کے برابر نہیں ہے۔ یہ پروجیکٹ C-ReD ڈیٹا کی نقل نہیں رکھتا، اور ریپوزٹری کا MIT لائسنس C-ReD ڈیٹا یا اس سے اخذ کردہ وزن پر لاگو نہیں ہوتا۔
تربیتی انحصارات انسٹال کریں
python -m pip install -r requirements-train.txtتربیت شروع کریں
فرض کریں کہ قانونی طور پر حاصل کیا گیا ڈیٹا data/C-ReD میں رکھا گیا ہے، تو یہ کمانڈ چلائی جا سکتی ہے:
python scripts/train.py --data-root data/C-ReD --output-dir models/detector --epochs 3 --batch-size 8 --eval-batch-size 16 --no-fp16تربیتی پروگرام ان CSV فائلوں کو پڑھتا ہے جن کے نام میں CReD_ شامل ہو، اور ان کے text اور label کالم استعمال کرتا ہے۔ ماخذ ڈیٹا کے لیبل 0=AI اور 1=人工 ہیں، جبکہ تربیت کے وقت انہیں 0=人工 اور 1=AI میں تبدیل کیا جاتا ہے۔
تربیتی پروٹوکول اور تاریخی اشاریے MODEL_CARD.md میں درج ہیں۔ دوبارہ تربیت کے وقت مکمل بے ترتیبی بیج کے ساتھ ابتدا کی جائے گی، لیکن سابقہ تربیت میں ماڈل کی ابتدا سے پہلے عالمی بیج واضح طور پر مقرر نہیں کیا گیا تھا، اس لیے پرانے وزن کی ہر بٹ پر یکساں تکرار کی ضمانت نہیں دی جا سکتی۔
ٹیسٹ اور ریلیز آڈٹ
تمام یونٹ ٹیسٹ چلائیں:
python -m unittest discover -s tests -vیونٹ ٹیسٹ فرضی ڈیٹا اور نقلی پیش گوئی استعمال کرتے ہیں، اس لیے ماڈل ڈاؤن لوڈ کرنے کی ضرورت نہیں۔ حقیقی ماڈل کا اسموک ٹیسٹ صرف یہ بتا سکتا ہے کہ ماڈل لوڈ ہوکر اندازہ چلا سکتا ہے؛ یہ پیش گوئی کے درست ہونے کا ثبوت نہیں ہے۔
عوامی مواد کا آڈٹ چلائیں:
python scripts/audit_release.pyعوامی ریپوزٹری فائلوں کی اجازت شدہ فہرست اور حساس معلومات کے نمونوں کے ذریعے جانچ کرتی ہے۔ گوبہ کے اصل CSV، ناشر کی ID، عرف، IP، پوسٹ URL، مقالے کے پینل، تجارتی ڈیٹابیس، کیش، لاگز، Notebook آؤٹ پٹ، تربیت کے درمیانی چیک پوائنٹس اور تاریخی Git ریکارڈ ریپوزٹری میں شامل نہیں ہونے چاہییں۔ مخصوص ڈیٹا پوشی کی حد PRIVACY.md میں اور اشاعت کا طریقہ docs/PUBLISHING.md میں دیکھیں۔
اعلیٰ سطح کے استعمال کی تجاویز
- پہلے فرضی ڈیٹا سے عمل کی توثیق کریں: اپنے قانونی ڈیٹا پر کارروائی سے پہلے ماحول، کالم نام، ماڈل ڈائریکٹری اور آؤٹ پٹ راستے کی درستگی یقینی بنائیں۔
- ویڈیو میموری کم ہو تو بیچ چھوٹا کریں: پہلے
--batch-size 8یا--batch-size 4آزمائیں۔ - مشترکہ آؤٹ پٹ راستے سے گریز کریں: واحد عمل کی لکھنے کی پابندی سے بچنے کے لیے متوازی کاموں کو مختلف آؤٹ پٹ فائلیں دینی ہوں گی۔
- چلانے کے پیرامیٹر محفوظ کریں: ماڈل، ان پٹ، پیرامیٹرز اور آؤٹ پٹ کی توثیقی قدریں نتیجے کے دوبارہ استعمال پر اثر انداز ہوتی ہیں، اس لیے کسی بھی ایک چیز کو تبدیل کرنے کے بعد آؤٹ پٹ دوبارہ جانچیں۔
- طویل متن کی تشریح احتیاط سے کریں: 256 ٹوکن سے زیادہ مواد کاٹ دیا جائے گا، اس لیے ممکن ہے ماڈل نے آخری حصہ دیکھا ہی نہ ہو۔
- اسکور کو شناختی ثبوت نہ سمجھیں: softmax اسکور کالیبریٹڈ نہیں ہے، اور پروجیکٹ میں مالیاتی فورم کے شعبے میں انسانی لیبل شدہ توثیق موجود نہیں۔
- وزن جاری کرنے سے پہلے لائسنس کی تصدیق کریں: کوڈ اور دستاویزات MIT لائسنس کے تحت ہیں، بنیادی ماڈل Apache-2.0 کے تحت ہے، لیکن C-ReD ڈیٹا اور اس سے اخذ کردہ وزن کے لیے الگ سے اجازت کی تصدیق ضروری ہے۔
اختتامیہ
Chinese Guba AI Detector مقامی طور پر چلنے والا چینی AI متن کی درجہ بندی کا ایک مکمل عمل فراہم کرتا ہے، جس میں CSV اندازہ، ماڈل کی تربیت، یونٹ ٹیسٹ اور ریلیز آڈٹ شامل ہیں۔ عملی استعمال سے پہلے ماڈل یا تربیتی ڈیٹا قانونی طور پر حاصل کریں، اور آؤٹ پٹ کو تحقیقی ماڈل اسکور سمجھیں، متن کے مصنف کی شناخت کا قطعی ثبوت نہیں۔
