نویسنده (ها): پارت ساکسنا
در ابتدا منتشر شده در به سمت هوش مصنوعیبشر
1. تکامل مدل های NLP
پردازش زبان طبیعی (NLP) نحوه درک و تولید ماشین ها را تغییر داده است. از پردازش متن ساده گرفته تا مدل های زبان قدرتمند قادر به تولید متن پیچیده ، سفر NLP قابل توجه بوده است. در هسته این تکامل دو نوع مدل ، تعبیه استاتیک و مدل های متنی وجود دارد.
در این وبلاگ در مورد چگونگی عملکرد مدل های NLP ، نحوه تنظیم دقیق آنها صحبت می کنم و اینکه چرا برخی از مدل ها به تکنیک های پیشرفته برای تنظیم دقیق نیاز دارند. بیایید با چگونگی شروع کنیم مدل های بزرگ زبان (LLMS) کار کرده و سپس به سمت درک تعبیه ها ، تکنیک های تنظیم دقیق با Gensim برای مدل های استاتیک و انتقال به مدل های مبتنی بر ترانسفورماتور مانند Llama و Mistral حرکت کرده و حرکت کنید.
2. چه مدلهای بزرگ زبان (LLMS) کار می کنند
مدل های بزرگ زبان (LLM) ستون فقرات NLP مدرن هستند. در هسته اصلی آنها ، LLM ها سیستم های پیشرفته خودکار هستند. آنها متن ورودی را می گیرند و بر اساس الگوهای آموخته شده از متن گسترده متن ، پیش بینی های متن را تولید می کنند.
از LLM به عنوان یک پیش بینی کننده متن فوق العاده هوشمند فکر کنید. این امر در مورد میلیون ها سند آموزش دیده است ، و مهارت اصلی آن درک زمینه و پیش بینی آنچه در آینده خواهد بود.
چگونه LLM ها پیش بینی می کنند
- LLM ها متن را به واحدهای کوچکتر به نام نشانه ها تقسیم می کنند.
- آنها سپس از دانش خود در مورد روابط کلمه و متن برای پیش بینی نشانه بعدی استفاده می کنند.
- هرچه متن متن طولانی تر باشد ، پیش بینی دقیق تر است.
مثال:
اگر متن “بورس سهام” را به LLM بدهید ، بسته به متن این ممکن است “افزایش” یا “سقوط” را پیش بینی کند داده های آموزشبشر
3. درک تعبیه – ستون فقرات NLP
تعبیه ها سس مخفی NLP هستند. در هسته اصلی آنها ، تعبیه ها بازنمایی عددی متن هستند و این امکان را برای ماشین آلات فراهم می کند که بتوانند با زبان کار کنند.
تعبیه ها چیست؟
- تعبیه ها بردار (آرایه های اعداد) هستند که نشان دهنده کلمات ، عبارات یا حتی اسناد کامل است.
- این بردارها معنای کلمات را بر اساس روابط خود با کلمات دیگر ضبط می کنند.
- کلمات مشابه دارای بردارهای مشابه هستند ، به این معنی که در فضای بردار به یکدیگر نزدیک هستند.
تجسم تعبیه ها:
یک فضای سه بعدی را تصور کنید که کلماتی مانند “پادشاه” و “ملکه” به هم نزدیک هستند ، در حالی که “اپل” بسیار دور است زیرا معنای متفاوتی دارد.
انواع تعبیه ها:
- تعبیه استاتیک: بردار یک کلمه ثابت است. (مدل های مثال: Word2Vec ، دستکش)
- تعبیه های متنی: بردار یک کلمه بر اساس متن تغییر می کند. (مدل های مثال: برت ، لاما)
4. تعبیه های استاتیک با Word2Vec و دستکش
Word2VEC و دستکش دو تکنیک محبوب برای تولید تعبیه استاتیک هستند. آنها به عنوان “استاتیک” شناخته می شوند زیرا هر کلمه بدون در نظر گرفتن زمینه ، دارای یک بردار ثابت است.
تاریخچه مختصری از تعبیه های استاتیک
- مفهوم تعبیه های استاتیک با معرفی Word2VEC توسط محققان Google در سال 2013 محبوبیت پیدا کرد.
- Word2VEC NLP را متحول کرد زیرا این امکان را فراهم می آورد که کلمات به عنوان بردار نشان داده شوند و معانی آنها را در یک فضای چند بعدی ضبط کنند.
- پس از Word2VEC ، دستکش (بردارهای جهانی) توسط محققان استنفورد در سال 2014 معرفی شد و با تمرکز بر ضبط کلمه های همزمان در سطح جهان.
Word2Vec: پیش بینی کلمات با استفاده از متن
- Word2VEC یک روش مبتنی بر شبکه عصبی برای تولید بردارهای کلمه ای است.
- این دو نوع اصلی دارد:
- کیسه مداوم کلمات (cbow): با توجه به زمینه اطراف خود ، کلمه ای را پیش بینی می کند.
- مثال: برای متن “من در حال خواندن ___ هستم” ، مدل “کتاب” را پیش بینی می کند.
- SKIP-GRAM: با توجه به یک کلمه ، زمینه اطراف را پیش بینی می کند.
- مثال: برای کلمه “قهوه” ، این مدل کلمات متن مانند “نوشیدنی” ، “صبح” ، “داغ” را پیش بینی می کند.
- Word2VEC با یادگیری از میلیون ها اسناد متنی ، ایجاد بازنمایی بردار که روابط معنایی بین کلمات را به خود جلب می کند ، کار می کند.
دستکش: بردارهای جهانی برای بازنمایی کلمه
- دستکش (بردارهای جهانی) یک مدل مبتنی بر شمارش است که توسط دانشگاه استنفورد ساخته شده است.
- برخلاف Word2VEC ، که بر پیش بینی کلمات متمرکز است ، دستکش با تجزیه و تحلیل چند بار کلمات در یک متن گسترده متن ، بردارهای کلمه ای را ایجاد می کند.
- ایده اصلی این است که معنی یک کلمه را می توان از شرکتی که در آن نگه دارید گرفته شود (همزمان آن با کلمات دیگر).
- به عنوان مثال ، بردار “پادشاه” نزدیک به “ملکه” است ، اما همچنین با “مرد” ، “زن” و “حق امتیاز” رابطه دارد.
چرا تعبیه شده استاتیک استاتیک خوانده می شود
- بردارهای کلمه ای که توسط Word2VEC یا دستکش تولید می شوند بر اساس متن جمله تغییر نمی کنند.
- به عنوان مثال ، کلمه “اپل” همیشه دارای همان وکتور است ، خواه در زمینه “میوه” یا “فناوری” استفاده شود.
5. معرفی Gensim و چرا از آن استفاده می کنید؟
Gensim یک کتابخانه با منبع باز است که به طور خاص برای مدل سازی موضوع ، نمایه سازی اسناد و پردازش زبان طبیعی طراحی شده است. این یک اجرای سریع و کارآمد از الگوریتم های مختلف NLP ، از جمله Word2VEC ، Doc2VEC و FastText را فراهم می کند.
نحوه استفاده از جنتیم برای تنظیم دقیق
- Gensim به شما امکان می دهد مدلهای از پیش آموزش را بارگیری کرده و آموزش آنها را با داده های متن جدید ادامه دهید.
- این فرایند به عنوان تنظیم دقیق شناخته می شود و به ویژه هنگامی که می خواهید یک مدل کلی را با یک دامنه خاص (مانند امور مالی ، مراقبت های بهداشتی یا متن قانونی) سازگار کنید ، مفید است.
چرا تنظیم دقیق مهم است
تصور کنید که شما یک مدل Word2VEC دارید که در مقالات عمومی خبری آموزش دیده است. اما اکنون ، شما می خواهید از آن برای تجزیه و تحلیل اسناد مالی استفاده کنید. تنظیم دقیق به شما امکان می دهد تا مدل موجود را برای درک اصطلاحات مالی و روابط بدون شروع از ابتدا تطبیق دهید.
مثال استفاده از مورد:
- مدل اولیه: یک مدل WORD2VEC که بر روی متن کلی آموزش داده شده است (مقالات خبری).
- مدل تنظیم شده خوب: همان مدل ، که بیشتر در مقالات خبری مالی آموزش داده می شود.
- نتیجه: این مدل اکنون شرایط مالی را بهتر می فهمد ، مانند “بازار گاو نر” ، “صندوق پرچین” و “خرید اهرم”.
قطعه کد برای آموزش Word2Vec با Gensim
from gensim.models import Word2Vec# Sample corpus
sentences = [
['hello', 'world'],
['machine', 'learning', 'is', 'amazing'],
['word', 'embedding', 'with', 'gensim']
]
# Training a Word2Vec model
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, sg=1)
# Getting the vector for a word
print(model.wv['hello'])
# Finding similar words
print(model.wv.most_similar('hello'))
در حالی که آموزش یک مدل Word2VEC از ابتدا مفید است ، تنظیم دقیق یک مدل موجود می تواند در زمان صرفه جویی کند و عملکرد آن را برای کارهای خاص افزایش دهد. در اینجا تفاوتهای اساسی بین آموزش در مقابل تنظیم دقیق وجود دارد:
- آموزش یک مدل از ابتدا: این به معنای شروع با یک مدل خالی و آموزش آن همه چیز از زمین به بالا با استفاده از یک متن بزرگ است. وقت گیر و محاسباتی گران است.
- تنظیم دقیق یک مدل موجود: این به معنای گرفتن یک مدل از قبل آموزش دیده و آموزش بیشتر آن بر روی داده های خاص دامنه است. این سریعتر ، کارآمدتر است و ضمن کسب تخصص دامنه ، دانش عمومی را حفظ می کند.
قطعه کد برای تنظیم دقیق یک مدل Word2Vec با Gensim
from gensim.models import Word2Vec# Load an existing pre-trained Word2Vec model
model = Word2Vec.load("your_pretrained_model.model")
# Define your domain-specific text corpus (example: financial terms)
new_sentences = [
['financial', 'market', 'stocks'],
['bank', 'loan', 'interest'],
['mortgage', 'default', 'risk']
]
# Update the model's vocabulary with new words (domain-specific)
model.build_vocab(new_sentences, update=True)
# Fine-tune the model using the new sentences
model.train(
new_sentences, # New domain-specific text data
total_examples=len(new_sentences), # Number of sentences for training
epochs=5 # Number of training epochs (adjust as needed)
)
# Save the fine-tuned model for future use
model.save("fine_tuned_word2vec_gensim.model")
# Testing the fine-tuned model
print("Vector for 'financial':", model.wv['financial'])
print("Most similar words to 'financial':", model.wv.most_similar('financial'))
6 ظهور مدلهای متنی: ترانسفورماتورها و LLMS
ترانسفورماتورها فناوری دستیابی به موفقیت هستند که به LLM های مدرن قدرت می دهد. آنها در مقاله پیشگامانه “توجه همه شما نیاز دارید” معرفی شدند (واسوانی و همکاران ، 2017). بر خلاف مدل های تعبیه شده استاتیک مانند Word2VEC ، که برای هر کلمه یک بردار واحد ایجاد می کند ، ترانسفورماتورها تعبیه های متنی ایجاد می کنندبا به این معنی که بازنمایی بردار یک کلمه بسته به جمله ای که در آن ظاهر می شود می تواند تغییر کند.
ترانسفورماتورها چگونه کار می کنند:
- آنها از مکانیسمی به نام “توجه خود استفاده می کنند“، که به مدل اجازه می دهد تا روی قسمت های مختلف متن ورودی تمرکز کند تا روابط کلمه را درک کند.
- بازنمایی بردار هر کلمه بر اساس متن آن در جمله تنظیم می شود.
- ترانسفورماتورها را می توان به مدل های عظیم تبدیل کرد و منجر به LLM هایی مانند BERT ، GPT ، LLAMA و MISTRAL شد.
چه مشکلی را حل می کنند؟
- مدلهای سنتی مانند Word2VEC محدودیت عمده ای دارند: آنها تعبیه های استاتیک ایجاد می کنند. کلمه “اپل” دارای همان وکتور است که به معنای میوه یا شرکت باشد.
- ترانسفورماتورها با ایجاد بازنمایی های آگاه از متن ، این مسئله را حل می کنند و آنها را برای درک معنای متن در سناریوهای مختلف بسیار بهتر می کنند.
- آنها طیف گسترده ای از کارهای NLP را از جمله تولید متن ، قدرت می دهند تجزیه و تحلیل احساسات، پاسخ به سوال ، و موارد دیگر.
مدل های محبوب ترانسفورماتور:
- برت (بازنمایی رمزگذار دو طرفه از ترانسفورماتورها): برای درک متن بهینه شده است (وظایف NLP مانند طبقه بندی).
- GPT (ترانسفورماتور از پیش آموزش دیده): بهینه سازی شده برای تولید متن (chatbots ، ایجاد محتوا).
- Llama و Mistral: مدل های ترانسفورماتور پیشرفته و مقیاس پذیر برای آموزش کارآمد و درک قدرتمند زبان طراحی شده است.
7. مقایسه تکنیک های تنظیم دقیق برای مدل های استاتیک و مدل های مبتنی بر ترانسفورماتور
امیدوارم که این امر درک روشنی از تعبیه های استاتیک و مدل های مبتنی بر هوش مصنوعی داشته باشد. در یک وبلاگ آینده ، من قصد دارم عمیق تر به Transformers شیرجه بزنم ، یک موضوع فنی عمیق به تنهایی!
منتشر شده از طریق به سمت هوش مصنوعی
منبع: https://towardsai.net/p/l/static-embeddings-to-contextual-ai-fine-tuning-nlp-models-explained