این دومین پست از یک سری دو قسمتی است که در آن من یک راهنمای عملی برای سازمان ها پیشنهاد می کنم تا بتوانید کیفیت مدل های خلاصه سازی متن را برای دامنه خود ارزیابی کنید.
برای مقدمه ای بر خلاصه سازی متن، یک نمای کلی از این آموزش و مراحل ایجاد یک خط پایه برای پروژه ما (که به عنوان بخش 1 نیز نامیده می شود)، به بخش مراجعه کنید. اولین پست.
این پست به سه بخش تقسیم شده است:
- بخش 2: ایجاد خلاصه با یک مدل صفر شات
- بخش 3: یک مدل خلاصه سازی را آموزش دهید
- بخش 4: مدل آموزش دیده را ارزیابی کنید
بخش 2: ایجاد خلاصه با یک مدل صفر شات
در این پست از مفهوم استفاده می کنیم یادگیری با شلیک صفر (ZSL)، به این معنی که ما از مدلی استفاده می کنیم که برای خلاصه کردن متن آموزش داده شده است اما هیچ نمونه ای از آن را ندیده است. مجموعه داده arXiv. این کمی شبیه تلاش برای کشیدن یک پرتره است در حالی که تمام کاری که در زندگی خود انجام داده اید نقاشی منظره است. شما می دانید چگونه نقاشی کنید، اما ممکن است با پیچیدگی های نقاشی پرتره آشنا نباشید.
برای این بخش از موارد زیر استفاده می کنیم دفتر یادداشت.
چرا یادگیری شات صفر؟
ZSL در سال های گذشته محبوب شده است زیرا به شما امکان می دهد از مدل های پیشرفته NLP بدون آموزش استفاده کنید. و عملکرد آنها گاهی کاملاً شگفت انگیز است: کارگروه بزرگ تحقیقات علوم اخیراً مدل T0pp (تلفظ "T Zero Plus Plus") خود را منتشر کرده است که به طور خاص برای تحقیق در مورد یادگیری چند کاره صفر شات آموزش داده شده است. اغلب می تواند از مدل هایی که شش برابر بزرگتر هستند بهتر عمل کند نیمکت بزرگ معیار، و می تواند بهتر از GPT-3 (16 برابر بزرگتر) در چندین معیار NLP دیگر.
یکی دیگر از مزایای ZSL این است که برای استفاده از آن فقط به دو خط کد نیاز است. با آزمودن آن، یک خط پایه دوم ایجاد میکنیم که پس از تنظیم دقیق مدل در مجموعه دادههایمان، از آن برای تعیین کمیت افزایش عملکرد مدل استفاده میکنیم.
یک خط لوله یادگیری صفر شات راه اندازی کنید
برای استفاده از مدل های ZSL می توانیم از Hugging Face استفاده کنیم Pipeline API. این API ما را قادر می سازد از یک مدل خلاصه سازی متن تنها با دو خط کد استفاده کنیم. از مراحل اصلی پردازش در مدل NLP مراقبت می کند:
- متن را در قالبی که مدل قابل درک باشد از قبل پردازش کنید.
- ورودی های از پیش پردازش شده را به مدل منتقل کنید.
- پیشبینیهای مدل را پسپردازش کنید، تا بتوانید آنها را معنا کنید.
از مدلهای خلاصهسازی استفاده میکند که از قبل در دسترس هستند هاب مدل صورت بغل کردن.
برای استفاده از آن کد زیر را اجرا کنید:
خودشه! کد یک مدل خلاصهسازی را دانلود میکند و خلاصههایی را به صورت محلی در دستگاه شما ایجاد میکند. اگر میپرسید از کدام مدل استفاده میکند، میتوانید آن را در قسمت جستجو جستجو کنید کد منبع یا از دستور زیر استفاده کنید:
وقتی این دستور را اجرا می کنیم، می بینیم که مدل پیش فرض برای خلاصه سازی متن فراخوانی می شود sshleifer/distilbart-cnn-12-6
:
ما می توانیم کارت مدل برای این مدل در وب سایت Hugging Face، جایی که ما همچنین می توانیم ببینیم که این مدل بر روی دو مجموعه داده آموزش داده شده است: مجموعه داده های CNN Dailymail و مجموعه داده خلاصه افراطی (XSum).. شایان ذکر است که این مدل با مجموعه داده های arXiv آشنا نیست و فقط برای خلاصه کردن متونی استفاده می شود که مشابه آنهایی که در آن آموزش داده شده است (بیشتر مقالات خبری). اعداد 12 و 6 در نام مدل به ترتیب به تعداد لایه های رمزگذار و لایه های رمزگشا اشاره دارد. توضیح اینکه اینها چه هستند خارج از محدوده این آموزش است، اما می توانید اطلاعات بیشتری در مورد آن در پست بخوانید. معرفی BART توسط سم شلیفر، که این مدل را ایجاد کرد.
ما از مدل پیشفرض در آینده استفاده میکنیم، اما من شما را تشویق میکنم که مدلهای مختلف از قبل آموزش دیده را امتحان کنید. تمام مدل هایی که برای خلاصه سازی مناسب هستند را می توان در این قسمت یافت وب سایت صورت بغل کردن. برای استفاده از یک مدل دیگر، می توانید نام مدل را هنگام فراخوانی Pipeline API مشخص کنید:
خلاصه سازی استخراجی در مقابل انتزاعی
ما هنوز در مورد دو رویکرد ممکن اما متفاوت برای خلاصه سازی متن صحبت نکرده ایم: استخراج در مقابل انتزاعی. خلاصه نویسی استخراجی استراتژی به هم پیوستن عصاره های گرفته شده از یک متن به یک خلاصه است، در حالی که خلاصه سازی انتزاعی شامل بازنویسی پیکره با استفاده از جملات بدیع است. بیشتر مدلهای خلاصهسازی مبتنی بر مدلهایی هستند که متن بدیع را تولید میکنند (مدلهای تولید زبان طبیعی هستند، برای مثال، GPT-3). این بدان معناست که مدلهای خلاصهسازی نیز متن جدیدی تولید میکنند، که آنها را به مدلهای خلاصهسازی انتزاعی تبدیل میکند.
ایجاد خلاصه های صفر شات
اکنون که می دانیم چگونه از آن استفاده کنیم، می خواهیم از آن در مجموعه داده آزمایشی خود استفاده کنیم - همان مجموعه داده ای که در آن استفاده کردیم بخش 1 برای ایجاد خط پایه می توانیم با حلقه زیر این کار را انجام دهیم:
ما با استفاده از min_length
و max_length
پارامترهایی برای کنترل خلاصه ای که مدل تولید می کند. در این مثال، ما تنظیم کردیم min_length
به 5 چون می خواهیم عنوان حداقل پنج کلمه باشد. و با تخمین خلاصه های مرجع (عناوین واقعی مقالات پژوهشی)، مشخص می کنیم که 20 می تواند یک مقدار معقول برای max_length
. اما باز هم، این فقط اولین تلاش است. وقتی پروژه در مرحله آزمایش است، این دو پارامتر را می توان و باید تغییر داد تا ببینیم آیا عملکرد مدل تغییر می کند یا خیر.
پارامترهای اضافی
اگر قبلاً با تولید متن آشنا هستید، ممکن است بدانید که پارامترهای بسیار بیشتری برای تأثیرگذاری بر متنی که یک مدل تولید میکند وجود دارد، مانند جستجوی پرتو، نمونهبرداری و دما. این پارامترها به شما کنترل بیشتری بر متنی که در حال تولید است می دهد، به عنوان مثال متن را روان تر و کمتر تکرار می کند. این تکنیکها در Pipeline API موجود نیستند—شما میتوانید در آن مشاهده کنید کد منبع که min_length
و max_length
تنها پارامترهایی هستند که در نظر گرفته می شوند. با این حال، پس از آموزش و استقرار مدل خود، به آن پارامترها دسترسی داریم. اطلاعات بیشتر در مورد آن در بخش 4 این پست.
ارزیابی مدل
بعد از اینکه خلاصههای صفر شات را تولید کردیم، میتوانیم دوباره از تابع ROUGE برای مقایسه خلاصههای نامزد با خلاصههای مرجع استفاده کنیم:
اجرای این محاسبه بر روی خلاصه هایی که با مدل ZSL ایجاد شده اند، نتایج زیر را به ما می دهد:
وقتی آنها را با خط پایه خود مقایسه میکنیم، میبینیم که این مدل ZSL در واقع عملکرد بدتری نسبت به اکتشاف ساده ما برای گرفتن جمله اول دارد. باز هم، این غیرمنتظره نیست: اگرچه این مدل می داند که چگونه مقالات خبری را خلاصه کند، اما هرگز نمونه ای از خلاصه کردن چکیده یک مقاله پژوهشی دانشگاهی را ندیده است.
مقایسه پایه
اکنون دو خط مبنا ایجاد کردهایم: یکی با استفاده از یک اکتشافی ساده و دیگری با یک مدل ZSL. با مقایسه نمرات ROUGE، می بینیم که اکتشافی ساده در حال حاضر بهتر از مدل یادگیری عمیق است.
در بخش بعدی، همین مدل یادگیری عمیق را در نظر می گیریم و سعی می کنیم عملکرد آن را بهبود ببخشیم. ما این کار را با آموزش آن بر روی مجموعه داده arXiv انجام می دهیم (به این مرحله نیز گفته می شود تنظیم دقیق). ما از این واقعیت استفاده می کنیم که قبلاً می داند چگونه متن را به طور کلی خلاصه کند. سپس نمونه های زیادی از مجموعه داده arXiv خود را به آن نشان می دهیم. مدلهای یادگیری عمیق در شناسایی الگوها در مجموعه دادهها پس از آموزش بر روی آن فوقالعاده خوب هستند، بنابراین انتظار داریم مدل در این کار خاص بهتر شود.
بخش 3: یک مدل خلاصه سازی را آموزش دهید
در این بخش، مدلی را که برای خلاصه های صفر شات در بخش 2 استفاده کردیم، آموزش می دهیم (sshleifer/distilbart-cnn-12-6
) در مجموعه داده ما. ایده این است که با نشان دادن مثالهای فراوان، به مدل آموزش داده شود که خلاصههای چکیده مقالات پژوهشی چگونه است. با گذشت زمان، مدل باید الگوهای موجود در این مجموعه داده را تشخیص دهد، که به آن امکان می دهد خلاصه های بهتری ایجاد کند.
شایان ذکر است که اگر دادههای برچسبگذاری شده، یعنی متون و خلاصههای مربوطه را دارید، باید از آنها برای آموزش یک مدل استفاده کنید. تنها با انجام این کار، مدل می تواند الگوهای مجموعه داده خاص شما را یاد بگیرد.
کد کامل آموزش مدل در ادامه مطلب می باشد دفتر یادداشت.
یک کار آموزشی راه اندازی کنید
از آنجایی که آموزش یک مدل یادگیری عمیق در لپ تاپ چند هفته طول می کشد، ما از آن استفاده می کنیم آمازون SageMaker در عوض مشاغل آموزشی برای جزئیات بیشتر مراجعه کنید آموزش یک مدل با آمازون SageMaker. در این پست، من به طور خلاصه مزیت استفاده از این مشاغل آموزشی را برجسته می کنم، علاوه بر این که آنها به ما اجازه می دهند از نمونه های محاسباتی GPU استفاده کنیم.
بیایید فرض کنیم مجموعهای از نمونههای GPU داریم که میتوانیم از آنها استفاده کنیم. در آن صورت، احتمالاً میخواهیم یک تصویر Docker برای اجرای آموزش ایجاد کنیم تا بتوانیم به راحتی محیط آموزشی را روی ماشینهای دیگر تکرار کنیم. سپس بسته های مورد نیاز را نصب می کنیم و چون می خواهیم از چندین نمونه استفاده کنیم، باید آموزش توزیع شده را نیز راه اندازی کنیم. وقتی آموزش کامل شد، میخواهیم سریعاً این رایانهها را خاموش کنیم زیرا هزینهبر هستند.
همه این مراحل هنگام استفاده از مشاغل آموزشی از ما انتزاع می شود. در واقع، ما میتوانیم یک مدل را به همان روشی که با مشخص کردن پارامترهای آموزشی و سپس فراخوانی یک متد توضیح داده شد، آموزش دهیم. SageMaker از بقیه موارد مراقبت می کند، از جمله متوقف کردن نمونه های GPU پس از اتمام آموزش، تا متحمل هیچ هزینه دیگری نشود.
علاوه بر این، Hugging Face و AWS در اوایل سال 2022 شراکتی را اعلام کردند که آموزش مدلهای Hugging Face را در SageMaker آسانتر میکند. این قابلیت از طریق توسعه Hugging Face در دسترس است ظروف یادگیری عمیق AWS (DLC ها). این ظروف شامل Hugging Face Transformers، Tokenizers و کتابخانه Datasets است که به ما امکان می دهد از این منابع برای کارهای آموزشی و استنتاج استفاده کنیم. برای لیستی از تصاویر DLC موجود، در دسترس را ببینید تصاویر ظروف آموزش عمیق صورت در آغوش گرفته. آنها نگهداری می شوند و به طور منظم با وصله های امنیتی به روز می شوند. ما میتوانیم نمونههای زیادی از نحوه آموزش مدلهای Hugging Face با این DLCها و آنها پیدا کنیم SDK پایتون در آغوش گرفتن صورت در زیر است GitHub repo.
ما از یکی از آن نمونه ها به عنوان الگو استفاده می کنیم زیرا تقریباً هر کاری را که برای هدف ما نیاز داریم انجام می دهد: آموزش یک مدل خلاصه سازی روی یک مجموعه داده خاص به صورت توزیع شده (با استفاده از بیش از یک نمونه GPU).
با این حال، یک چیز را باید در نظر بگیریم این است که این مثال از یک مجموعه داده مستقیماً از مرکز داده Hugging Face استفاده می کند. از آنجا که ما می خواهیم داده های سفارشی خود را ارائه دهیم، باید نوت بوک را کمی اصلاح کنیم.
داده ها را به کار آموزشی منتقل کنید
برای توضیح این واقعیت که ما مجموعه داده های خود را آورده ایم، باید از آن استفاده کنیم کانال. برای اطلاعات بیشتر مراجعه کنید چگونه Amazon SageMaker اطلاعات آموزشی را ارائه می دهد.
من شخصا این اصطلاح را کمی گیج کننده می دانم، بنابراین در ذهنم همیشه فکر می کنم نقشه برداری وقتی می شنوم کانال، زیرا به من کمک می کند تا آنچه را که اتفاق می افتد بهتر تجسم کنم. بگذارید توضیح بدهم: همانطور که قبلاً یاد گرفتیم، شغل آموزشی مجموعهای از موارد را تشکیل میدهد ابر محاسبه الاستیک آمازون (Amazon EC2) یک تصویر Docker را نمونه برداری کرده و روی آن کپی می کند. با این حال، مجموعه دادههای ما در آن ذخیره میشوند سرویس ذخیره سازی ساده آمازون (Amazon S3) و توسط آن تصویر داکر قابل دسترسی نیست. در عوض، کار آموزشی باید داده ها را از Amazon S3 در یک مسیر از پیش تعریف شده به صورت محلی در آن تصویر Docker کپی کند. روشی که این کار را انجام می دهد این است که ما به کار آموزشی می گوییم که داده ها در Amazon S3 کجا هستند و در کجای تصویر Docker باید داده ها کپی شوند تا کار آموزشی بتواند به آن دسترسی داشته باشد. ما نقشه محل آمازون S3 با مسیر محلی.
ما مسیر محلی را در قسمت hyperparameters کار آموزشی تنظیم می کنیم:
سپس هنگام فراخوانی متد fit() که آموزش را شروع می کند، به کار آموزشی می گوییم که داده ها در Amazon S3 در کجا قرار دارند:
توجه داشته باشید که نام پوشه بعد از /opt/ml/input/data
مطابق با نام کانال (datasets
). این کار آموزشی را قادر می سازد تا داده ها را از Amazon S3 در مسیر محلی کپی کند.
آموزش را شروع کنید
ما اکنون آماده شروع کار آموزشی هستیم. همانطور که قبلا ذکر شد، ما این کار را با تماس انجام می دهیم fit()
روش. کار آموزش حدود 40 دقیقه طول می کشد. می توانید پیشرفت را دنبال کنید و اطلاعات اضافی را در کنسول SageMaker مشاهده کنید.
وقتی کار آموزش کامل شد، زمان ارزیابی مدل تازه آموزش دیده ما فرا می رسد.
بخش 4: مدل آموزش دیده را ارزیابی کنید
ارزیابی مدل آموزش دیده ما بسیار شبیه به کاری است که در بخش 2 انجام دادیم، جایی که مدل ZSL را ارزیابی کردیم. ما مدل را فراخوانی می کنیم و خلاصه های نامزد را تولید می کنیم و با محاسبه امتیازات ROUGE آنها را با خلاصه های مرجع مقایسه می کنیم. اما اکنون، این مدل در آمازون S3 در فایلی به نام قرار دارد model.tar.gz
(برای یافتن مکان دقیق، می توانید کار آموزشی را در کنسول بررسی کنید). بنابراین چگونه به مدل برای تولید خلاصه دسترسی داشته باشیم؟
ما دو گزینه داریم: استقرار مدل در نقطه پایانی SageMaker یا دانلود آن به صورت محلی، مشابه آنچه در بخش 2 با مدل ZSL انجام دادیم. در این آموزش، I مدل را در یک نقطه پایانی SageMaker مستقر کنید زیرا راحتتر است و با انتخاب یک نمونه قدرتمندتر برای نقطه پایانی، میتوانیم زمان استنتاج را به میزان قابل توجهی کوتاه کنیم. مخزن GitHub شامل یک دفتر یادداشت که نحوه ارزیابی مدل را به صورت محلی نشان می دهد.
یک مدل مستقر کنید
معمولاً استقرار یک مدل آموزش دیده در SageMaker بسیار آسان است (نمونه زیر را دوباره ببینید GitHub از صورت در آغوش گرفته). پس از آموزش مدل می توانیم تماس بگیریم estimator.deploy()
و SageMaker بقیه کارها را برای ما در پس زمینه انجام می دهد. از آنجایی که در آموزش ما از یک نوت بوک به نوت بوک دیگر تغییر می کنیم، قبل از اینکه بتوانیم آن را اجرا کنیم، ابتدا باید محل کار آموزشی و مدل مرتبط را پیدا کنیم:
پس از بازیابی مکان مدل، میتوانیم آن را در یک نقطه پایانی SageMaker مستقر کنیم:
استقرار در SageMaker ساده است زیرا از آن استفاده می کند SageMaker Hugging Face Inference Toolkit، یک کتابخانه منبع باز برای ارائه مدل های Transformers در SageMaker. ما معمولاً حتی نیازی به ارائه یک اسکریپت استنتاج نداریم. جعبه ابزار از آن مراقبت می کند. با این حال، در این مورد، جعبه ابزار دوباره از Pipeline API استفاده می کند، و همانطور که در بخش 2 بحث کردیم، Pipeline API به ما اجازه نمی دهد از تکنیک های پیشرفته تولید متن مانند جستجوی پرتو و نمونه برداری استفاده کنیم. برای جلوگیری از این محدودیت، ما خود را ارائه می دهیم اسکریپت استنتاج سفارشی.
ارزیابی اول
برای اولین ارزیابی از مدل تازه آموزش دیده خود، از پارامترهای مشابه در بخش 2 با مدل صفر شات برای تولید خلاصه های نامزد استفاده می کنیم. این اجازه می دهد تا مقایسه سیب به سیب انجام شود:
ما خلاصه های تولید شده توسط مدل را با خلاصه های مرجع مقایسه می کنیم:
این دلگرم کننده است! اولین تلاش ما برای آموزش مدل، بدون هیچ گونه تنظیم فراپارامتری، نمرات ROUGE را به طور قابل توجهی بهبود بخشیده است.
ارزیابی دوم
اکنون زمان آن رسیده است که از تکنیک های پیشرفته تری مانند جستجوی پرتو و نمونه برداری برای بازی با مدل استفاده کنید. برای توضیح دقیق اینکه هر یک از این پارامترها چه کاری انجام می دهند، به ادامه مطلب مراجعه کنید نحوه تولید متن: با استفاده از روشهای رمزگشایی مختلف برای تولید زبان با Transformers. بیایید آن را با مجموعهای از مقادیر نیمه تصادفی برای برخی از این پارامترها امتحان کنیم:
هنگامی که مدل خود را با این پارامترها اجرا می کنیم، نمرات زیر را دریافت می کنیم:
آن طور که ما امیدوار بودیم کار نکرد - نمرات ROUGE در واقع اندکی کاهش یافته است. با این حال، اجازه ندهید این شما را از آزمایش مقادیر مختلف برای این پارامترها منصرف کند. در واقع، این نقطه ای است که ما با مرحله راه اندازی و انتقال به مرحله آزمایشی پروژه پایان می دهیم.
نتیجه گیری و مراحل بعدی
ما تنظیمات مرحله آزمایش را به پایان رسانده ایم. در این مجموعه دو قسمتی، دادههای خود را دانلود و آماده کردیم، با یک اکتشافی ساده یک خط مبنا ایجاد کردیم، با استفاده از یادگیری شات صفر خط پایه دیگری ایجاد کردیم و سپس مدل خود را آموزش دادیم و شاهد افزایش قابل توجهی در عملکرد بودیم. اکنون زمان آن است که با هر قسمتی که ایجاد کرده ایم بازی کنیم تا خلاصه های بهتری ایجاد کنیم. موارد زیر را در نظر بگیرید:
- داده ها را به درستی از قبل پردازش کنید - به عنوان مثال، کلمات توقف و علائم نگارشی را حذف کنید. این بخش را دست کم نگیرید—در بسیاری از پروژه های علم داده، پیش پردازش داده ها یکی از مهم ترین جنبه ها (اگر مهم ترین آن نباشد) است و دانشمندان داده معمولاً بیشتر وقت خود را صرف این کار می کنند.
- مدل های مختلف را امتحان کنید - در آموزش خود از مدل استاندارد برای خلاصه سازی استفاده کردیم (
sshleifer/distilbart-cnn-12-6
)، ولی بسیاری از مدل های دیگر در دسترس هستند که می توانید برای این کار از آنها استفاده کنید. یکی از این موارد ممکن است مناسبتر مورد استفاده شما باشد. - تنظیم هایپرپارامتر را انجام دهید – هنگام آموزش مدل، از مجموعه خاصی از فراپارامترها (نرخ یادگیری، تعداد دورهها و غیره) استفاده کردیم. این پارامترها در سنگ تنظیم نشده اند - کاملا برعکس. شما باید این پارامترها را تغییر دهید تا بفهمید چگونه بر عملکرد مدل شما تأثیر می گذارد.
- از پارامترهای مختلف برای تولید متن استفاده کنید - ما قبلاً یک دور ایجاد خلاصه با پارامترهای مختلف برای استفاده از جستجوی پرتو و نمونهبرداری انجام دادیم. مقادیر و پارامترهای مختلف را امتحان کنید. برای اطلاعات بیشتر مراجعه کنید نحوه تولید متن: با استفاده از روشهای رمزگشایی مختلف برای تولید زبان با Transformers.
امیدوارم تا آخر کار کرده باشید و این آموزش برای شما مفید بوده باشد.
درباره نویسنده
هایکو هاتز یک معمار ارشد راه حل برای AI و یادگیری ماشین است و جامعه پردازش زبان طبیعی (NLP) را در AWS رهبری می کند. قبل از این سمت، او رئیس بخش علوم داده برای خدمات مشتریان اتحادیه اروپا آمازون بود. Heiko به مشتریان ما کمک میکند تا در سفر هوش مصنوعی/ML خود در AWS موفق باشند و با سازمانهایی در بسیاری از صنایع، از جمله بیمه، خدمات مالی، رسانه و سرگرمی، مراقبتهای بهداشتی، خدمات شهری و تولید کار کرده است. هایکو در اوقات فراغت خود تا آنجا که ممکن است سفر می کند.
- "
- &
- 100
- 2022
- 7
- 84
- 9
- درباره ما
- چکیده
- دسترسی
- حساب
- اضافه
- اضافی
- پیشرفته
- مزیت - فایده - سود - منفعت
- AI
- معرفی
- قبلا
- هر چند
- آمازون
- اعلام کرد
- دیگر
- API
- دور و بر
- مقالات
- در دسترس
- AWS
- زمینه
- خط مقدم
- پرتو
- شدن
- بودن
- محک
- سود
- بیت
- صدا
- اهميت دادن
- تغییر دادن
- رمز
- انجمن
- محاسبه
- کامپیوتر
- مفهوم
- کنسول
- ظروف
- شامل
- کنترل
- مناسب
- هزینه
- میتوانست
- ایجاد
- ایجاد
- سفارشی
- خدمات مشتری
- مشتریان
- داده ها
- علم اطلاعات
- گسترش
- پروژه
- DID
- مختلف
- توزیع شده
- کارگر بارانداز
- نمی کند
- دامنه
- پایین
- دانلود
- به آسانی
- تشویق
- نقطه پایانی
- سرگرمی
- محیط
- EU
- همه چیز
- مثال
- انتظار
- عصاره ها
- چهره
- مالی
- خدمات مالی
- نام خانوادگی
- مناسب
- به دنبال
- پیروی
- قالب
- به جلو
- یافت
- تابع
- قابلیت
- بیشتر
- سوالات عمومی
- تولید می کنند
- نسل
- GitHub
- رفتن
- خوب
- GPU
- راهنمایی
- سر
- بهداشت و درمان
- کمک می کند
- نماد
- چگونه
- چگونه
- HTTPS
- اندیشه
- شناسایی
- تصویر
- مهم
- بهبود
- شامل
- از جمله
- افزایش
- لوازم
- نفوذ
- اطلاعات
- نصب
- بیمه
- پیچیدگی ها
- IT
- کار
- شغل ها
- کلید
- چشم انداز
- زبان
- لپ تاپ
- بزرگتر
- منجر می شود
- یاد گرفتن
- آموخته
- یادگیری
- کتابخانه
- فهرست
- محلی
- به صورت محلی
- محل
- طولانی
- دستگاه
- فراگیری ماشین
- ماشین آلات
- باعث می شود
- تولید
- رسانه ها
- ذهن
- ML
- مدل
- مدل
- بیش
- اکثر
- از جمله
- طبیعی
- اخبار
- دفتر یادداشت
- عدد
- تعداد
- گزینه
- سفارش
- سازمان های
- دیگر
- مقاله
- همکاری
- پچ های
- کارایی
- فاز
- بازی
- نقطه
- محبوب
- ممکن
- قوی
- پیش بینی
- پروژه
- پروژه ها
- پیشنهادات
- ارائه
- فراهم می کند
- هدف
- کیفیت
- به سرعت
- معقول
- شناختن
- ضروری
- تحقیق
- منابع
- REST
- نتایج
- دور
- دویدن
- در حال اجرا
- علم
- دانشمندان
- جستجو
- تیم امنیت لاتاری
- حس
- سلسله
- سرویس
- خدمات
- خدمت
- تنظیم
- قابل توجه
- مشابه
- ساده
- شش
- So
- مزایا
- به طور خاص
- خرج کردن
- شروع
- شروع می شود
- وضعیت هنر
- ذخیره سازی
- استراتژی
- موفق
- گزینه
- تکنیک
- آزمون
- از طریق
- زمان
- عنوان
- آموزش
- به طور معمول
- فهمیدن
- us
- استفاده کنید
- معمولا
- استفاده کنید
- ارزش
- سایت اینترنتی
- چی
- WHO
- ویکیپدیا
- در داخل
- بدون
- کلمات
- مهاجرت کاری
- کار کردن
- مشغول به کار
- با ارزش
- سال
- صفر