بیانیه حفظ حریم خصوصی: حریم خصوصی شما برای ما بسیار مهم است. شرکت ما قول می دهد که اطلاعات شخصی شما را برای هرگونه مجوزهای صریح خود برای هرگونه گسترش فاش نکند.
Select Language
English
امروز هفت راز عملی برای افزایش دقت مدل ترانسفورماتور را کشف کنید. این راهنمای مختصر به بررسی این موضوع میپردازد که چگونه آمادهسازی متفکرانه داده، معماری مدل مناسب، تنظیم دقیق استراتژیک، بهینهسازی مؤثر و ارزیابی قابل اعتماد میتواند به طور قابل توجهی عملکرد را بهبود بخشد. همچنین اهمیت مدیریت کیفیت داده ها، انتخاب فراپارامترهای مناسب، جلوگیری از برازش بیش از حد و استفاده از معیارهای معنی دار برای ارزیابی نتایج دنیای واقعی را برجسته می کند. چه در حال اصلاح یک مدل موجود یا ساختن یک سیستم NLP جدید باشید، این تکنیک های عملی نقشه راه روشنی برای دستیابی به راه حل های دقیق تر، قوی تر و کارآمدتر مبتنی بر ترانسفورماتور ارائه می دهند.
بسیاری از پروژههای Transformer به نقطهای میرسند که از دست دادن آموزش سالم به نظر میرسد، اما دقت اعتبارسنجی ثابت میماند. من این اتفاق را با طبقهبندیکنندههای متن، سیستمهای جستجو و مدلهای سند دیدهام. علت به ندرت یک پارامتر از دست رفته است. کیفیت داده ها، نشانه گذاری، طراحی توجه، ارزیابی و انتخاب های آموزشی اغلب بر یکدیگر تأثیر می گذارند. این هفت تمرین راهی روشن برای بهبود مدل ترانسفورماتور بدون تکیه بر حدس و گمان به من می دهد. ## 1. با برچسب های تمیزتر شروع کنید یک ترانسفورماتور می تواند الگوها را از برچسب های نادرست به همان راحتی که از برچسب های مفید یاد می گیرد یاد بگیرد. اگر مجموعه آموزشی حاوی قوانین ترکیبی، رکوردهای تکراری، یا دسته بندی های مبهم باشد، مدل ممکن است نتایج ناپایدار تولید کند. من با یک بررسی برچسب کوچک شروع می کنم: - یک نمونه تصادفی از هر کلاس بخوانید. - بررسی کنید که آیا قانون یکسان در همه برچسب ها استفاده می شود یا خیر. - حذف رکوردهای تکراری یا تقریباً تکراری. - نمونههای نامشخص را بهجای اینکه آنها را به کلاس وارد کنید علامتگذاری کنید. - نمونه هایی را که مدل با اطمینان کم پیش بینی می کند، مرور کنید. یک مثال عملی از طبقه بندی احساسات می آید. یک بررسی ممکن است حاوی تمجید و انتقاد باشد: > "دوربین واضح است، اما باتری ضعیف است." اگر وظیفه احساس کلی باشد، برچسب به یک قانون واضح نیاز دارد. اگر کار احساسات مبتنی بر جنبه باشد، همان جمله به برچسبهای جداگانه برای دوربین و باتری نیاز دارد. یک مدل نمی تواند سیاست برچسب گذاری را که مردم تعریف نکرده اند حل کند. من یک مجموعه داده کوچکتر با برچسب های ثابت را به یک مجموعه داده بزرگتر پر از تصمیمات مختلف ترجیح می دهم. ## 2. از یک توکنایزر متناسب با داده ها استفاده کنید. Tokenization کنترل می کند که مدل چه چیزی می تواند ببیند. یک توکنایزر ضعیف ممکن است کدهای محصول، اصطلاحات پزشکی، نام کاربری یا نام نرم افزار را به قطعات کوچک زیادی تقسیم کند. این طول توالی را افزایش می دهد و می تواند الگوهای مفید را پنهان کند. من سه ناحیه را بررسی میکنم: - کلمات رایج چقدر تقسیم میشوند - چقدر عبارات دامنه نادر تقسیم میشوند - هر چند وقت یکبار مدل به حداکثر طول توالی میرسد فرض کنید یک مجموعه داده پشتیبانی حاوی کدهای محصول مانند "RX-4500-Pro" باشد. اگر توکنایزر کد را به قطعات نامرتبط تقسیم کند، مدل ممکن است در تشخیص یک محصول از محصول دیگر دچار مشکل شود. افزودن اصطلاحات دامنه به واژگان می تواند کمک کننده باشد، مشروط بر اینکه اصطلاحات جدید اغلب به اندازه کافی برای توجیه تغییر ظاهر شوند. توکنایزر همچنین باید با متن استفاده شده در حین استقرار مطابقت داشته باشد. زمانی که کاربران اختصارات، ایموجیها، اشتباهات املایی یا گزارشهای سیستم کپی شده را ارسال میکنند، یک مدل آموزشدیده بر روی جملات تمیز ممکن است رفتار متفاوتی داشته باشد. من توکنایزر را قبل از تمرین با یک جدول کوچک از ورودی های رایج تست می کنم. این بررسی ساده میتواند یک مشکل را قبل از اینکه ساعتها محاسبه کند، آشکار کند. ## 3. طول دنباله را به عنوان یک انتخاب مدل در نظر بگیرید ورودی طولانی تر همیشه پیش بینی های بهتری ایجاد نمی کند. میتواند محتوای نامرتبط اضافه کند، استفاده از حافظه را افزایش دهد و بهینهسازی را سختتر کند. من یک سوال مستقیم می پرسم: کدام بخش از ورودی حاوی شواهد مورد نیاز برای کار است؟ برای طبقهبندی ایمیل، موضوع و قسمت اول پیام ممکن است سیگنالهای مفیدی داشته باشند. برای تجزیه و تحلیل اسناد حقوقی، یک بند کلیدی ممکن است نزدیک به پایان ظاهر شود. برای پشتیبانی مشتری، آخرین پیام کاربر ممکن است بیشتر از یک بلوک مکالمه قدیمی مهم باشد. گزینههای مفید عبارتند از: - کوتاه کردن متن در اطراف شواهد شناخته شده - تقسیم اسناد طولانی به بخشها - استفاده از پنجرههای همپوشانی - خلاصه کردن متنهای طولانی قبل از طبقهبندی - ترکیب پیشبینیهای سطح بخش. من توزیع طول در مجموعه داده را بررسی می کنم و آن را با نتایج اعتبارسنجی مقایسه می کنم. اگر بیشتر نمونهها کوتاه باشند، یک محدودیت بزرگ ممکن است بدون افزودن سیگنال، هزینه را افزایش دهد. ## 4. توجه به کار را تطبیق دهید توجه به خود به هر نشانه اجازه میدهد از اطلاعات سایر نشانهها استفاده کند. مدل همچنان به تنظیم توجه مناسب برای کار نیاز دارد. برای طبقه بندی، یک رمزگذار دو طرفه مانند BERT می تواند زمینه را در هر دو طرف یک کلمه بررسی کند. برای تولید متن، رمزگشا از توجه علّی استفاده می کند، بنابراین نشانه های آینده را در طول پیش بینی نمی خواند. یک مدل طراحی شده برای یک نقش ممکن است زمانی که مجبور به انجام نقش دیگری بدون تغییرات مناسب شود، عملکرد ضعیفی داشته باشد. ماسک توجه را نیز بررسی می کنم. نشانه های padding نباید روی نتیجه تأثیر بگذارند. در یک جفت جمله، اطلاعات جداکننده و بخش باید به طور مداوم مدیریت شوند. یک خطای کوچک پوشاندن میتواند گزارشهای آموزشی معقولی ایجاد کند و در عین حال به نتایج ارزیابی آسیب برساند. برای یک کار جفت جمله، نمونه هایی را آزمایش می کنم که ترتیب کلمات معنی را تغییر می دهد: > «تامین کننده درخواست را تأیید کرد». > "این درخواست تامین کننده را تایید کرد." یک مدل مفید باید به رابطه تغییر یافته واکنش نشان دهد، نه فقط به کلمات مشترک. الگوهای توجه توضیح کاملی از رفتار مدل نیستند، با این حال میتوانند کمک کنند که آیا ساختار ورودی طبق انتظار مدیریت میشود یا خیر. ## 5. تنظیم دقیق با یک برنامه آموزشی پایدار تنظیم دقیق اغلب زمانی بهتر عمل می کند که میزان یادگیری کم باشد و برنامه تمرینی کنترل شده باشد. نرخ یادگیری زیاد ممکن است بازنمایی های مفید از قبل آموزش دیده را خیلی سریع تغییر دهد. نرخ بسیار کمی ممکن است لایههای ویژه کار را تحت آموزش قرار ندهند. من معمولاً به جای جستجو در یک شبکه بزرگ، چند تنظیمات را مقایسه میکنم: - نرخ یادگیری - اندازه دسته - تعداد دورهها - مراحل گرم کردن - کاهش وزن - نرخ حذف - انباشتگی گرادیان بهترین تنظیم به اندازه مجموعه داده و سختی کار بستگی دارد. یک مجموعه داده کوچک ممکن است تنها پس از چند دوره بیش از حد مناسب باشد. یک مجموعه داده بزرگ ممکن است به آموزش بیشتری نیاز داشته باشد، اما منحنی اعتبار سنجی باید تصمیم را هدایت کند. من ردیابی می کنم: - از دست دادن تمرین - از دست دادن اعتبار - دقت - امتیاز F1 - فراخوانی هر کلاس - اطمینان پیش بینی دقت به تنهایی می تواند عملکرد ضعیف را در کلاس های کوچکتر پنهان کند. اگر یک مجموعه داده کلاهبرداری شامل 95٪ تراکنشهای عادی باشد، مدلی که برای هر رکورد «عادی» را پیشبینی میکند، میتواند دقت بالایی را در حالی که وظیفه واقعی را شکست میدهد نشان دهد. ماکرو F1 و فراخوانی کلاس اقلیت نمای مفیدتری ارائه می دهند. توقف زودهنگام می تواند زمانی که بهبود عملکرد اعتبارسنجی متوقف شود کمک کند. من پستهای بازرسی را بر اساس معیاری که با هدف محصول مطابقت دارد، ذخیره میکنم، نه تنها با کمترین ضرر تمرینی. ## 6. کاهش نشت و بررسی تقسیم دادهها نشت دادهها میتواند یک مدل را در طول آزمایش دقیق و پس از انتشار غیرقابل اعتماد جلوه دهد. زمانی اتفاق میافتد که اطلاعات مجموعه ارزیابی از طریق موارد تکراری، سوابق کاربر، رویدادهای آینده یا مراحل پیشپردازش به آموزش برسد. من از تقسیمهایی استفاده میکنم که نشان میدهد مدل چگونه دادههای جدید را دریافت میکند. برای یک طبقهبندی کننده پیام مشتری، تقسیم تصادفی ممکن است پیامهای یک مشتری را در هر دو مجموعه آموزشی و اعتبارسنجی قرار دهد. این مدل ممکن است به جای کار کلی، عادات نوشتن مشتری را یاد بگیرد. تقسیم در سطح کاربر تخمین صادقانه تری ارائه می دهد. برای دادههای مبتنی بر زمان، من روی رکوردهای قبلی تمرین میکنم و روی رکوردهای بعدی اعتبار میدهم. این برای پیشبینی تقاضا، طبقهبندی اخبار و نظارت بر سیستم مهم است، جایی که الگوها میتوانند تغییر کنند. من همچنین مراحل پیش پردازش را فقط در مجموعه آموزشی قرار می دهم. به روز رسانی واژگان، قوانین عادی سازی، انتخاب ویژگی، و آمار داده ها نباید از اعتبارسنجی یا سوابق آزمایشی استفاده کنند. یک ممیزی مفید می پرسد: - آیا متون تکراری در تقسیم بندی ها وجود دارد؟ - آیا رکوردهای یک کاربر در چندین تقسیم ظاهر می شوند؟ - آیا مهر زمانی برچسب را نشان می دهد؟ - آیا مجموعه تست برای انتخاب هایپرپارامترها استفاده شد؟ - آیا نمونه های مصنوعی مبتنی بر داده های ارزیابی هستند؟ یک امتیاز پایین تر اما قابل اعتماد مفیدتر از نمره بالایی است که توسط نشت ایجاد می شود. ## 7. موارد دشوار را تست کنید، نه فقط موارد متوسط. دقت اعتبارسنجی متوسط نشان نمیدهد که مدل در کجا شکست میخورد. من گروههای آزمایشی هدفمندی ایجاد میکنم که موقعیتهایی را که کاربران احتمالاً ارسال میکنند را نشان میدهند. برای یک مدل متنی، این گروهها ممکن است شامل موارد زیر باشند: - پیامهای کوتاه - پیامهای طولانی - اشتباهات تایپی - زبانهای مختلط - نفی - طعنه - نامهای کمیاب - اصطلاحات محصول جدید - چندین هدف در یک پیام - ورودی خالی یا تقریباً خالی. یک ماتریس سردرگمی می تواند نشان دهد که دو برچسب اغلب با هم مخلوط می شوند. نمونههای پشت آن الگو معمولاً اقدام بعدی را پیشنهاد میکنند: بهبود برچسبها، اضافه کردن نمونههای آموزشی، اصلاح طبقهبندی، یا تنظیم قالب ورودی. نمرات اعتماد به نفس نیز نیاز به مراقبت دارند. یک مدل می تواند بسیار مطمئن باشد و همچنان در متن ناآشنا اشتباه کند. من اطمینان را با صحت واقعی یک مجموعه اعتبارسنجی مقایسه میکنم و زمانی که برنامه از آستانه استفاده میکند، روشهای کالیبراسیون را در نظر میگیرم. به عنوان مثال، یک سیستم پشتیبانی ممکن است پیام ها را به طور خودکار تنها زمانی که اطمینان بالا باشد، هدایت کند. موارد نزدیک به آستانه می توانند به بازبین انسانی مراجعه کنند. این طراحی اغلب بهتر از وادار کردن هر پیشبینی به یک مسیر خودکار عمل میکند. ## یک گردش کار عملی که استفاده می کنم وقتی دقت کمتر از هدف باشد، از تغییر همزمان پنج متغیر اجتناب می کنم. که توضیح نتیجه را سخت می کند. فرآیند من به این صورت است: 1. متریک هدف و هزینه هر خطا را تعریف کنید. 2. برچسب های حسابرسی، موارد تکراری و تراز کلاس. 3. توکنیزاسیون و طول توالی را مرور کنید. 4. یک تقسیم داده تمیز و هماهنگ با وظایف ایجاد کنید. 5. یک خط پایه کوچک با تنظیمات ثابت اجرا کنید. 6. یکی از عوامل اصلی را در یک زمان تغییر دهید. 7. نتایج را بر اساس کلاس و گروه مورد مشکل مقایسه کنید. 8. تغییر را تنها زمانی حفظ کنید که متریک هدف را بدون ایجاد الگوی شکست جدید بهبود بخشد. یک خط پایه ممکن است یک رمزگذار از پیش آموزش دیده با یک سر طبقه بندی ساده باشد. به من یک نقطه مرجع می دهد. اگر یک تغییر پیچیده نمی تواند آن مرجع را در یک مجموعه اعتبارسنجی تمیز شکست دهد، من آن را صرفاً به این دلیل حفظ نمی کنم که فرآیند آموزش پیشرفته تر به نظر می رسد. دقت ترانسفورماتور معمولاً از طریق زنجیره ای از تصمیمات کوچک و قابل آزمایش بهبود می یابد. برچسب های بهتر از توجه بهتر پشتیبانی می کنند. هندلینگ ورودی بهتر از تنظیم دقیق با ثبات تر پشتیبانی می کند. تقسیم ارزیابی منصفانه نشان میدهد که آیا دستاوردها احتمالاً خارج از دادههای آموزشی ادامه خواهند داشت یا خیر. وقتی به جای اعداد جدا شده تابلوی امتیازات بر شواهد تمرکز میکنم، اندازهگیری بهبود مدل آسانتر و حفظ آن آسانتر میشود.
بسیاری از سیستمهای هوش مصنوعی زمانی که یک جمله حاوی چندین معانی، کلمات دور یا اطلاعاتی است که در یک سند طولانی پخش میشوند، دچار مشکل میشوند. یک مدل ممکن است هر کلمه را به درستی تشخیص دهد اما رابطه بین آنها را از دست بدهد. این شکاف می تواند منجر به ترجمه های ضعیف، پاسخ های اشتباه و خلاصه های نامشخص شود. ترانسفورماتورها با بررسی چگونگی ارتباط کلمات با یکدیگر به کاهش این مشکل کمک می کنند. وقتی از یک سیستم هوش مصنوعی میخواهم یک بند قرارداد را توضیح دهد، یک پاراگراف را ترجمه کند یا به سؤالی در مورد یک گزارش پاسخ دهد، مدل هر کلمه را به عنوان یک مورد مجزا در نظر نمیگیرد. کلمات را با هم مقایسه می کند و به قسمت هایی که معنا را شکل می دهد توجه بیشتری می کند. ### توجه به مدل کمک می کند تا زمینه را بخواند ویژگی اصلی یک ترانسفورماتور توجه نامیده می شود. این جمله را در نظر بگیرید: "ماریا کتاب را به آنا داد زیرا خواندن آن را تمام کرده بود." کلمه "او" ممکن است به ماریا یا آنا اشاره داشته باشد. یک مدل زبان باید قبل از انتخاب یک تفسیر، کلمات اطراف را مطالعه کند. توجه به مدل اجازه می دهد تا "او" را با کلمات دیگر در جمله مقایسه کند و تخمین بزند که کدام ارتباط محتمل تر است. این فرآیند در بسیاری از بخشهای متن انجام میشود. یک کلمه نزدیک به انتهای یک پاراگراف را می توان به یک کلمه نزدیک به آغاز پیوند داد. مدلهای زبان قدیمی اغلب متن را به ترتیب ثابتی پردازش میکردند که ردیابی روابط از راه دور را سختتر میکرد. ترانسفورماتورها می توانند بسیاری از روابط را به طور همزمان بررسی کنند. این به مدل اطلاعات بیشتری می دهد قبل از اینکه کلمه بعدی را پیش بینی کند یا پاسخی تولید کند. ### لایههای توجه متعدد سیگنالهای مختلفی را جذب میکنند. یک ترانسفورماتور به یک الگوی توجه متکی نیست. از چندین سر توجه استفاده میکند و هر سر میتواند روی نوع متفاوتی از اتصال تمرکز کند. یک سر ممکن است دستور زبان را دنبال کند. دیگری ممکن است روی نام ها، تاریخ ها یا مکان ها تمرکز کند. یک سر جداگانه ممکن است یک سوال را با قسمتی که حاوی پاسخ آن است مرتبط کند. وقتی یک ابزار هوش مصنوعی را با پیام پشتیبانی مشتری آزمایش میکنم، این الگوها میتوانند به سیستم کمک کنند: - مشکل اصلی مشتری - محصول یا خدمات درگیر - اقدام درخواستی - لحن پیام - جزئیات مورد نیاز برای یک پاسخ مفید. مدل این سیگنالها را در لایههای زیادی ترکیب میکند. هر لایه نمایش داخلی متن را تغییر میدهد و به سیستم کمک میکند نمای غنیتری از ورودی بسازد. دقت از یک قانون به دست نمی آید. این از بسیاری از روابط کوچک ناشی می شود که با هم پردازش می شوند. ### ترانسفورماتورها زمینه طولانی تری را مدیریت می کنند یک سوال کوتاه ممکن است به اطلاعاتی از یک سند طولانی نیاز داشته باشد. یک نماینده پشتیبانی ممکن است نیاز داشته باشد شرایط گارانتی را چندین صفحه دورتر از شکایت مشتری پیدا کند. یک محقق ممکن است سوالی بپرسد که بستگی به جزئیات پراکنده در چندین بخش گزارش دارد. ترانسفورماتورها در این موارد مفید هستند زیرا می توانند مقدار بیشتری از متن را در حین پردازش مقایسه کنند. مدل ممکن است نام محصول را در یک پاراگراف با تاریخ، شرایط یا استثنا در پاراگراف دیگر مرتبط کند. این بدان معنا نیست که سیستم هر سند طولانی را به درستی درک می کند. ورودی های طولانی همچنان می توانند جزئیات از دست رفته، پاسخ های مکرر یا اتصالات ساخته شده را ایجاد کنند. کیفیت نتیجه به مدل، داده های آموزشی، درخواست و نحوه ارائه سند بستگی دارد. ### آموزش الگوهایی را به مدل میدهد تا از Transformers از مجموعههای بزرگ متن، کد، تصاویر، صدا یا دادههای دیگر یاد بگیرند. در طول آموزش، مدل محتوای گمشده یا دنبالشده را پیشبینی میکند و در صورت اشتباه بودن پیشبینی، تنظیمات داخلی خود را تنظیم میکند. یک مدل زبان ممکن است جملاتی مانند: «بسته دیر رسید زیرا کامیون تحویل…» میآموزد که کلماتی مانند «ترافیک»، «آب و هوا» یا «مسیر» ممکن است دنبال این جمله باشند. پس از پردازش مثالهای فراوان، مدل الگوهای آماری درباره زبان و معنا میسازد. BERT یک نمونه شناخته شده است. این برای خواندن کلمات در رابطه با کلمات اطراف آنها طراحی شده بود که به کارهایی مانند درک جستجو و طبقه بندی متن کمک می کرد. مدل های GPT از طرح های ترانسفورماتور برای تولید متن گام به گام استفاده می کنند. سیستم های ترجمه همچنین از مدل های ترانسفورماتور برای مقایسه کلمات در دو زبان استفاده می کنند. این سیستم ها هر پاسخی را به عنوان یک لیست ساده ذخیره نمی کنند. آنها الگوهایی را یاد می گیرند که به آنها کمک می کند خروجی های مناسب برای ورودی های جدید را تخمین بزنند. ### ورودی بهتر میتواند نتیجهای را بهبود بخشد که من دریافتهام که مردم اغلب مدل هوش مصنوعی را سرزنش میکنند، وقتی مشکل واقعی ورودی نامشخص است. یک ترانسفورماتور می تواند زمینه را پردازش کند، اما همچنان به زمینه مفید نیاز دارد. یک گردش کار عملی به این صورت است: 1. کار را به زبان مستقیم بیان کنید. 2. متن یا داده منبع را ارائه دهید. 3. قالب مورد نظر را توضیح دهید. 4. محدودیت هایی مانند تعداد کلمات یا مخاطب را اضافه کنید. 5. از مدل بخواهید حقایق شناخته شده را از نقاط نامشخص جدا کند. 6. پاسخ را با منبع اصلی بررسی کنید. به عنوان مثال، "خلاصه این گزارش" گزینه های زیادی را باز می گذارد. یک درخواست واضحتر ممکن است بگوید: «گزارش را در پنج نقطه خلاصه کنید. یافتههای اصلی، دو شکل پشتیبان، یک محدودیت، و نام بخشهایی که اطلاعات در آن ظاهر میشوند را شامل شود.» درخواست دوم به مدل هدف واضح تری می دهد. ترانسفورماتور می تواند توجه خود را بر روی جزئیاتی که برای کار مهم هستند متمرکز کند. ### دقت هنوز نیاز به بررسی انسانی دارد. یک مدل میتواند پاسخی روان با تاریخ نادرست، ادعای پشتیبانینشده یا استثنای مفقود تولید کند. شرکتی که از هوش مصنوعی برای خدمات مشتری استفاده می کند ممکن است به سیستم اجازه دهد پیام های دریافتی را طبقه بندی کند، در حالی که یک فرد پاسخ هایی را که شامل بازپرداخت، دسترسی به حساب یا سوابق حساس است، بررسی می کند. یک ابزار اطلاعات پزشکی ممکن است به سازماندهی تحقیقات کمک کند، اما یک متخصص واجد شرایط هنوز باید نتیجه را ارزیابی کند. من خروجی ترانسفورماتور را به عنوان یک پیش نویس کار می کنم، نه به عنوان اثبات. قبل از استفاده از محتوا، نام ها، اعداد، نقل قول ها، منابع و دستورالعمل ها را بررسی می کنم. ترانسفورماتورها دقت هوش مصنوعی را با دادن روش قویتری به مدلها برای اتصال کلمات، تصاویر و سایر اطلاعات بهبود میبخشند. توجه به شناسایی روابط مفید کمک می کند. چندین لایه الگوهای مختلف را شناسایی می کند. آموزش در مقیاس بزرگ به مدل زبان و سیگنال های وظیفه می دهد تا با آن کار کند. بهترین نتایج از کار سه بخش به دست می آید: یک مدل توانا، ورودی واضح و بررسی دقیق. این فناوری میتواند پاسخهای هوش مصنوعی را مرتبطتر و منسجمتر کند، اما قضاوت انسان بخشی از این فرآیند است.
بسیاری از تیم ها سعی می کنند با تغییر الگوریتم ها یا افزودن لایه های بیشتر دقت مدل را بهبود بخشند. این رویکرد می تواند مشکل واقعی را از دست بدهد. برچسبهای ضعیف، دادههای ضعیف، نشت دادهها و عدم تطابق بین دادههای آموزشی و رفتار کاربر اغلب تأثیر بیشتری دارند. من با داده ها و روش استفاده از مدل شروع می کنم. این هفت مرحله به من یک مسیر عملی برای بهبود دقت بدون تبدیل پروژه به تمرین حدس زدن می دهد. ### 1. هدف را به وضوح تعریف کنید یک مدل نمی تواند یک الگوی مفید را از یک هدف مبهم یاد بگیرد. فرض کنید من در حال ساختن سیستمی هستم که تحویل دیرهنگام را تشخیص می دهد. این برچسب می تواند به این معنی باشد: - بسته پس از تاریخ موعود رسیده است - بسته با بیش از دو روز تاخیر رسیده است - مشتری شکایتی ارسال کرده است - وضعیت تحویل پس از زمان مورد انتظار به روز شده است. هر تعریف مجموعه داده متفاوتی ایجاد می کند و نتیجه متفاوتی ایجاد می کند. قبل از آموزش مدل، قانون هدف را در یک جمله می نویسم. من همچنین بررسی می کنم که آیا این قانون با هدف تجاری مطابقت دارد یا خیر. یک تیم خدمات مشتری ممکن است به شکایات توجه کند، در حالی که یک تیم تدارکات ممکن است به تاریخ های تحویل اهمیت دهد. یک هدف واضح به مدل وظیفه روشنی می دهد. ### 2. کیفیت برچسب های خود را بررسی کنید یک مدل فقط می تواند از نمونه هایی که دریافت می کند یاد بگیرد. اگر بسیاری از نمونه ها دارای برچسب اشتباه باشند، ممکن است دقت پایین بماند حتی زمانی که الگوریتم به خوبی انتخاب شده باشد. من معمولا یک نمونه تصادفی از رکوردها را با دست بررسی می کنم. برای مدل طبقهبندی ایمیل، ممکن است پیامهایی را که بهعنوان «هرزنامه» و «نه هرزنامه» علامتگذاری شدهاند، بررسی کنم. اگر چندین ایمیل تبلیغاتی به عنوان پیامهای عادی برچسبگذاری شوند، دادههای آموزشی نیاز به توجه دارند. بررسیهای مفید عبارتند از: - شمارش برچسبهای گمشده - جستجوی برچسبهای متضاد - مقایسه برچسبها از بازبینان مختلف - مرور نمونههای نزدیک به مرز تصمیم - حذف سوابق با معنای نامشخص یک بررسی کوچک میتواند الگوهایی را نشان دهد که نمودار نشان نمیدهد. در یک مورد مشترک پشتیبانی مشتری، پیامهای مربوط به بازپرداخت و لغو اغلب در یک دسته قرار میگرفتند. مدل به سادگی خطاهای تصادفی ایجاد نمی کرد. یادگیری از مقوله هایی بود که مردم به روشی متناقض تعریف کرده بودند. ### 3. حذف نشت داده نشت داده زمانی اتفاق میافتد که مدل اطلاعاتی را دریافت کند که هنگام پیشبینی در دسترس نباشد. امتیاز آزمون ممکن است قوی به نظر برسد، در حالی که عملکرد پس از استقرار کاهش می یابد. تصور کنید که آیا درخواست وام تایید می شود یا خیر. فیلدی که وضعیت تایید نهایی را نشان می دهد نباید در بین ویژگی های ورودی ظاهر شود. همین مسئله می تواند به روش های نه چندان واضح رخ دهد. یک بلیط پشتیبانی ممکن است حاوی "تاریخ بسته" باشد یا یک پرونده پزشکی ممکن است شامل نتیجه ای باشد که پس از زمان پیش بینی اضافه شده است. من این سوال را برای هر ویژگی میپرسم: > آیا این مقدار دقیقاً در لحظهای که مدل پیشبینی میکند وجود خواهد داشت؟ اگر پاسخ منفی است، ویژگی را حذف می کنم یا خط لوله داده را دوباره طراحی می کنم. مشکلات مبتنی بر زمان نیاز به مراقبت بیشتری دارند. یک تقسیم تصادفی آزمون قطار ممکن است رکوردهای آینده را در مجموعه آموزشی و رکوردهای قدیمی تر را در مجموعه آزمایشی قرار دهد. تقسیم بر اساس زمان اغلب تخمین صادقانه تری برای پیش بینی تقاضا، کشف تقلب و پیش بینی ریزش مشتری ارائه می دهد. ### 4. معیار ارزیابی را با کار مطابقت دهید دقت زمانی مفید است که کلاس ها متعادل باشند و هزینه هر اشتباه مشابه باشد. بسیاری از کارهای عملی آن شرایط را ندارند. اگر فقط 1% از تراکنش ها جعلی باشد، مدلی که هر تراکنش را به عنوان امن برچسب گذاری می کند، می تواند به دقت 99% برسد و هیچ تقلبی پیدا نکند. در این مورد، من همچنین موارد زیر را بررسی میکنم: - دقت - فراخوان - امتیاز F1 - ناحیه زیر منحنی فراخوان دقیق - ماتریس سردرگمی یک سیستم غربالگری بیمارستان ممکن است به یادآوری قوی نیاز داشته باشد زیرا از دست دادن یک مورد احتمالی هزینه بالایی دارد. یک سیستم تعدیل بازبینی ممکن است برای کاهش حذفهای غیرضروری، وزن بیشتری بر دقت بگذارد. من بعد از بحث در مورد هزینه های مثبت کاذب و منفی کاذب با افرادی که از پیش بینی ها استفاده می کنند، متریک را انتخاب می کنم. بهترین معیار معیاری است که به تصمیم مرتبط است، نه متریکی که بیشترین عدد را تولید می کند. ### 5. بهبود ویژگی ها ویژگی های بهتر می تواند به یک مدل ساده کمک کند تا عملکرد خوبی داشته باشد. ویژگی های بیشتر همیشه کمکی نمی کند. برخی نویز اضافه می کنند، همان اطلاعات را تکرار می کنند، یا الگویی را توصیف می کنند که پس از استقرار وجود نخواهد داشت. برای مدل تقاضای خردهفروشی، ویژگیهای مفید ممکن است شامل موارد زیر باشد: - فروش قبلی بر اساس محصول - روز هفته - دورههای تعطیلات - دادههای آبوهوای محلی - در دسترس بودن موجودی - وضعیت تبلیغات یک مهر زمانی خام ممکن است کمتر از فیلدهای جداگانه برای ساعت، روز هفته و فصل مفید باشد. دادههای متنی ممکن است از تمیز کردن، گروههای کلمه معنیدار یا اصطلاحات خاص دامنه بهره ببرند. من ویژگی ها را در گروه های کوچک آزمایش می کنم و نتیجه را ثبت می کنم. این امر درک اینکه کدام تغییرات کمک می کند آسان تر می کند. همچنین از تبدیل شدن پروژه به فهرستی طولانی از حدس ها جلوگیری می کند. ایجاد ویژگی باید به زمان پیش بینی احترام بگذارد. اگر از فروش آتی برای پیش بینی تقاضای قبلی استفاده شود، امتیاز استفاده واقعی را نشان نخواهد داد. ### 6. مدل را با فرآیند اعتبارسنجی منصفانه تنظیم کنید تنظیمات مدل می تواند بر نتایج تأثیر بگذارد، اما تنظیم باید از یک فرآیند کنترل شده پیروی کند. من داده ها را به مجموعه های آموزشی، اعتبار سنجی و تست تقسیم می کنم. مجموعه آموزشی متناسب با مدل است. مجموعه اعتبارسنجی به مقایسه تنظیمات کمک می کند. مجموعه تست تا بررسی نهایی دست نخورده باقی می ماند. تنظیمات مفید ممکن است شامل موارد زیر باشد: - نرخ یادگیری - عمق درخت - تعداد درختان - قدرت منظم سازی - اندازه دسته - آستانه تصمیم گیری اعتبار متقاطع می تواند زمانی که مجموعه داده کوچک است کمک کند. برای دادههای وابسته به زمان، من از تقسیمبندیهایی استفاده میکنم که ترتیب رویدادها را حفظ میکنند تا سوابق گذشته و آینده را با هم ترکیب کنند. یک مثال عملی از طبقه بندی تصویر می آید. یک مدل ممکن است به جای یادگیری خود شی، پسزمینه تصاویر آموزشی را به خاطر بسپارد. با تغییر تنظیمات مدل این مشکل حل نمی شود. تصاویر متنوع تر، تقویت مناسب و تقسیم بهتر داده ها ممکن است تأثیر بیشتری داشته باشند. ### 7. نظارت بر عملکرد پس از استقرار یک مدل می تواند در طول آزمایش عملکرد خوبی داشته باشد و بعداً دقت را از دست بدهد. رفتار مشتری تغییر می کند، ویژگی های محصول تغییر می کند و سیستم های جمع آوری داده ها ممکن است به روز شوند. من ردیابی میکنم: - دقت پیشبینی - انواع خطا - مقادیر ورودی از دست رفته - توزیع ویژگیها - تعادل کلاس - اطمینان پیشبینی - تغییرات در رفتار کاربر فرض کنید یک مدل پشتیبانی روی پیامهای مربوط به یک برنامه دسکتاپ آموزش داده شده است. پس از انتشار موبایل، کاربران شروع به استفاده از اصطلاحات جدید و گزارش مشکلات مختلف می کنند. داده های آموزشی قدیمی ممکن است دیگر سوالات فعلی را نشان ندهند. من یک برنامه بازبینی تنظیم می کنم و شرطی را برای بازآموزی تعریف می کنم. یک تغییر ناگهانی در داده های ورودی ممکن است قبل از به روز رسانی مدل نیاز به بررسی داشته باشد. آموزش مجدد بدون بررسی علت می تواند همان مشکل را با داده های جدیدتر تکرار کند. ### یک گردش کار عملی هنگامی که نیاز به بهبود دقت مدل دارم، این ترتیب را دنبال میکنم: 1. هدف پیشبینی را تأیید میکنم. 2. برچسبها و مقادیر از دست رفته را بررسی میکنیم. 3. بررسی نشتی 4. انتخاب معیارهای ارزیابی 5. بهبود یا حذف ویژگیها 6. تنظیم مدل با تقسیم منصفانه 7. نظارت بر نتایج پس از انتشار. یک مدل کوچکتر با برچسب های تمیز و یک فرآیند ارزیابی منصفانه می تواند مفیدتر از یک مدل بزرگتر آموزش داده شده بر روی داده های نامشخص باشد. دقت نتیجه کل فرآیند است. وقتی خطاها ظاهر می شوند، من فقط به الگوریتم نگاه نمی کنم. من نمونه ها، برچسب ها، زمان بندی هر ویژگی و تصمیمی را که پیش بینی پشتیبانی می کند، بررسی می کنم.
بسیاری از پروژه های ترانسفورماتور به دلایل ساده شکست می خورند: کار خیلی مبهم است، ورودی ضعیف آماده شده است، یا خروجی مدل بدون بررسی پذیرفته می شود. من دیدهام که تیمها ساعتها وقت صرف تغییر مدل میکنند، زمانی که یک درخواست واضحتر، برچسبهای بهتر یا ورودی کوتاهتر مشکل اصلی را حل میکند. یک ترانسفورماتور می تواند متن، تصاویر، صدا و کد را کنترل کند. نتایج آن به نحوه تعریف کار، تهیه داده ها، انتخاب مدل و آزمایش خروجی بستگی دارد. این هفت تمرین نقطه شروع مطمئن تری به من می دهد. 1. یک کار واضح را تعریف کنید ** من با یک سوال خاص شروع می کنم: - آیا به طبقه بندی متن نیاز دارم؟ - آیا می خواهم خلاصه ای بسازم؟ - آیا مدل باید نام، تاریخ یا کد محصول را استخراج کند؟ - آیا سیستم نیاز به تولید پاسخ دارد؟ - آیا باید متن را از یک زبان به زبان دیگر ترجمه کند؟ اندازه گیری درخواست گسترده ای مانند "درک بازخورد مشتری" دشوار است. میتوانم آن را با تغییر آن به موارد زیر مفیدتر کنم: > «هر مرور را بهعنوان مثبت، خنثی یا منفی طبقهبندی کنید و دلیل اصلی را برگردانید». این تغییر بر مدل، داده های آموزشی، فرمت خروجی و روش ارزیابی تأثیر می گذارد. یک کار واضح همچنین به من کمک می کند از استفاده از یک مدل بزرگ تولیدی برای یک مسئله طبقه بندی ساده اجتناب کنم. **2. مدل را با کار مطابقت دهید ** مدل های مختلف ترانسفورماتور برای انواع مختلف کار ساخته شده اند. یک مدل رمزگذار مانند BERT می تواند برای طبقه بندی، جستجو و تطبیق متن به خوبی کار کند. یک مدل رمزگشا می تواند متن، کد یا پاسخ های ساختاریافته تولید کند. یک مدل رمزگذار-رمزگشا می تواند کارهایی مانند ترجمه و خلاصه سازی را پشتیبانی کند. من یک مدل را فقط به دلیل محبوبیت انتخاب نمی کنم. بررسی میکنم: - زبان ورودی - حداکثر طول ورودی - هدف آموزشی مدل - قالب پاسخ مورد نیاز - سختافزار موجود - مجوز و شرایط استفاده - سطح دقت مورد نیاز برای مثال، یک تیم پشتیبانی که فقط باید بلیطها را بهعنوان «صورتحساب»، «ورود به سیستم» یا «مشکل فنی» برچسبگذاری کند، ممکن است از مدل طبقهبندی کوچکتری استفاده کند. یک دستیار نوشتن ممکن است به یک مدل مولد نیاز داشته باشد. گزینه کوچکتر می تواند اجرا، آزمایش و نگهداری آسان تر باشد. **3. ورودی را تمیز و فرمت کنید یک ترانسفورماتور متن را به همان شکلی که من می بینم نمی بیند. نشانه ها، ماسک های توجه و سایر مقادیر عددی را دریافت می کند. مشکلات ورودی کوچک می تواند بر خروجی تأثیر بگذارد. قبل از ارسال متن به مدل، موارد زیر را بررسی میکنم: - فیلدهای خالی - فاصلههای تکراری - کاراکترهای شکسته - برچسبهای بلندگوی نامشخص - محتوای تکراری - دستورالعملهای پنهان در دادههای کاربر - متنی که از حد مدل فراتر میرود. فرض کنید من یک طبقهبندی بازبینی بسازم. این دو ورودی ممکن است معنای یکسانی داشته باشند: > "تحویل با تاخیر انجام شد، اما محصول به خوبی کار می کند." > "تحویل با تاخیر. محصول به خوبی کار می کند." زمانی که دادههای آموزشی حاوی سبکهای نوشتاری متناقض باشند، یک مدل ممکن است با آنها رفتار متفاوتی داشته باشد. من قالب را تا حد امکان پایدار نگه می دارم و زمینه مفید را حفظ می کنم. برای یک سیستم چت، هر نقش را به وضوح برچسب گذاری می کنم: سیستم متنی: با استفاده از راهنمای محصول ارائه شده پاسخ دهید. کاربر: چگونه آدرس تحویل خود را تغییر دهم؟ زمینه: [متن راهنمای محصول] ساختار شفاف به مدل سیگنال بهتری نسبت به یک بلوک طولانی از محتوای ترکیبی می دهد. 4. از اعلان ها و مثال های دقیق استفاده کنید یک اعلان باید به مدل بگوید که چه کاری انجام دهد، از چه کارهایی اجتناب کند و چگونه نتیجه را قالب بندی کند. من اغلب یک یا دو مثال را زمانی که کار دارای سبک خاصی است اضافه می کنم. یک دستورالعمل ضعیف ممکن است بگوید: > "این پیام را مرور کنید." یک نسخه واضح تر می تواند بگوید: > "پیام را به عنوان صورتحساب، دسترسی به حساب، تحویل یا موارد دیگر طبقه بندی کنید. یک برچسب و یک دلیل کوتاه را برگردانید. حقایقی را ایجاد نکنید که در پیام نیستند." مثال ها می توانند تنوع را کاهش دهند: پیام متنی: پس از تغییر رمز عبور نمی توانم وارد سیستم شوم. برچسب: دسترسی به حساب دلیل: کاربر یک مشکل ورود را گزارش می کند. `` بهترین اعلان همیشه طولانی ترین نیست. دستورالعمل های اضافی می توانند با وظیفه اصلی رقابت کنند. من هر خطی را که به مدل در تصمیم گیری، نوشتن یا قالب بندی پاسخ کمک نمی کند حذف می کنم. برای محتوای تولید شده، سطح مخاطب و مطالعه را تعریف می کنم. توضیح محصول برای کاربران جدید نباید شبیه یک مقاله تحقیقاتی باشد. یک یادداشت فنی برای مهندسان می تواند شامل عباراتی باشد که یک خواننده عمومی را گیج کند. **5. متن و طول ورودی را کنترل کنید** بافت طولانی می تواند به مدل کمک کند تا جزئیات را پیدا کند، اما متن بیشتر همیشه پاسخ بهتری را ارائه نمی دهد. متن های نامربوط ممکن است حواس مدل را منحرف کند یا اطلاعات مفید را فراتر از توجه موثر آن سوق دهد. من اسناد بزرگ را به بخش های کوچکتر تقسیم می کنم و بخش های مربوط به سؤال کاربر را بازیابی می کنم. هر بخش می تواند شامل یک عنوان کوتاه و مرجع منبع باشد. برای یک دستیار خطمشی شرکت، ممکن است این موارد را ذخیره کنم: ``بخش متن: پنجره بازپرداخت متن: مشتریان میتوانند ظرف 30 روز پس از خرید درخواست بازپرداخت کنند. منبع: سیاست بازپرداخت، صفحه 2 هنگامی که کاربر در مورد بازپرداخت سؤال می کند، سیستم می تواند بخش مربوطه را به جای دفترچه راهنمای کامل خط مشی ارسال کند. من همچنین طول پاسخ روشن را تعیین کردم. کنترل درخواستی مانند «این را در سه نقطه با استفاده از زبان انگلیسی ساده توضیح دهید» آسانتر از «پاسخ مفصل بدهید» است. وقتی ورودی طولانی است، آزمایش میکنم که آیا مدل همچنان از اطلاعات نزدیک به ابتدا، وسط و پایان استفاده میکند یا خیر. این بررسی ساده می تواند مشکلات زمینه را قبل از گزارش کاربران آشکار کند. 6. تست با مجموعه ارزشیابی کوچک و مفید من به چند مثال موفق اتکا نمی کنم. من یک مجموعه آزمایشی ایجاد می کنم که سوالاتی را که کاربران احتمالا می پرسند را منعکس می کند. برای مدل خدمات مشتری، این مجموعه ممکن است شامل موارد زیر باشد: - درخواستهای پاک کردن - پیامهای کوتاه - اشتباهات املایی - چندین مشکل در یک پیام - درخواستهایی با جزئیات از دست رفته - سوالات خارج از محدوده سیستم - اطلاعات حساسی که نباید در پاسخ ظاهر شوند. خروجی مدل را با یک پاسخ یا برچسب مورد تایید انسان مقایسه میکنم. برای طبقه بندی، می توانم دقت، دقت، یادآوری و سردرگمی بین برچسب ها را ردیابی کنم. برای نسل، من دقت واقعی، ارتباط، لحن و قالب را بررسی میکنم. یک مورد آزمایشی مفید به این صورت است: ورودی متن: کارت من برای یک سفارش دو بار شارژ شد. برچسب مورد انتظار: صورتحساب اقدام مورد انتظار: شماره سفارش و تاریخ پرداخت را بخواهید. من نسخه مدل، درخواست، قالب ورودی و تنظیمات را ضبط می کنم. وقتی نتیجه ای تغییر می کند، به جای حدس زدن می توانم علت را دنبال کنم. 7. پادمان ها را اضافه کنید و خروجی را مرور کنید یک ترانسفورماتور می تواند متن روانی تولید کند که حاوی خطا باشد. گرامر خوب دلیلی بر درستی پاسخ نیست. بررسیهایی را اضافه میکنم که با این کار مطابقت دارند: - نیاز به مجموعه ثابتی از برچسبها - تأیید اعتبار JSON قبل از استفاده - مسدود کردن ادعاهای پشتیبانی نشده - نمایش متن منبع برای پاسخهای واقعی - پوشاندن دادههای شخصی در صورت نیاز - ارسال موارد نامشخص برای یک فرد - نگهداری گزارشها بدون ذخیره دادههایی که لازم نیست. اگر راهنما حاوی پاسخ نیست، دستیار باید بگوید که اطلاعات کافی ندارد و یک کانال پشتیبانی را پیشنهاد کند. من همچنین ورودی های غیر معمول را آزمایش می کنم. کاربر ممکن است درخواستی را بچسباند که سعی دارد قوانین دستیار را تغییر دهد. سیستم باید داده ها را جدا از دستورالعمل ها نگه دارد و کنترل های دسترسی را خارج از مدل اعمال کند. یک الگوی عملی استفاده از آستانه های اطمینان برای طبقه بندی است. اگر مدل مطمئن باشد که یک بلیط مربوط به صورتحساب است، ممکن است اتوماسیون ادامه یابد. اگر نتیجه بین صورتحساب و دسترسی به حساب نامشخص باشد، یکی از کارکنان میتواند آن را بررسی کند. نتایج بهتر ترانسفورماتور معمولاً از یک فرآیند کامل حاصل می شود، نه از یک تنظیم یا یک انتخاب مدل. من وظیفه را تعریف میکنم، مدل مناسبی را انتخاب میکنم، ورودیهای تمیز را آماده میکنم، پاسخ را هدایت میکنم، زمینه را کنترل میکنم، موارد واقعی کاربر را آزمایش میکنم و خروجیهای نامشخص را بررسی میکنم. یک تمرین شروع مفید ساده است: بیست مثال معمولی از مورد استفاده مورد نظر بگیرید، نتایج مورد انتظار را بنویسید و همان دستور یا مدل را در برابر همه آنها اجرا کنید. شکاف ها راحت تر دیده می شوند. از آنجا، می توانم داده ها یا دستورالعمل ها را قبل از تغییر کل سیستم بهبود بخشم. برای هرگونه سوال در مورد محتوای این مقاله، لطفا با امی وو تماس بگیرید: amy.wu@ihuagroup.com/WhatsApp +8613612662976.
Vaswani, A et al (2017) Attention Is All You Need Devlin, J et al (2018) BERT پیش آموزش ترانسفورماتورهای دو جهته عمیق برای درک زبان Liu, Y et al (2019) RoBERTa A Robustly Optimized BERT Pretraining Approach (20Transfering, C) با یک تبدیل متن به متن یکپارچه گرگ، تی و همکاران (2020) ترانسفورمرهای پیشرفته پردازش زبان طبیعی Kaplan, J et al (2020) قوانین مقیاسبندی برای مدلهای زبان عصبی
September 20, 2026
ارسال به این منبع
September 20, 2026