در دنیای امروز، دسترسی به مدلهای هوش مصنوعی قدرتمند و ازپیشآموزشدیده دیگر محدود به شرکتهای بزرگ نیست. مدلهای Hugging Face این امکان را فراهم کردهاند که توسعهدهندگان، پژوهشگران و حتی علاقهمندان به هوش مصنوعی بتوانند به سادگی مدلهای آماده را انتخاب، آزمایش و در پروژههای واقعی خود به کار ببرند. از تحلیل متون و تولید محتوا گرفته تا پردازش تصاویر و صدا، این مدلها ابزارهای متنوعی برای حل مسائل پیچیده فراهم میکنند.
در این مقاله، ما مسیر استفاده از مدلهای Hugging Face را از مرحله انتخاب مدل مناسب تا شخصیسازی و بهینهسازی برای پروژههای واقعی بررسی میکنیم. هدف این است که خواننده با درک مفاهیم پایه، بتواند قدمهای عملی برای بهکارگیری این مدلها در پروژههای خود بردارد و با اکوسیستم Hugging Face بهطور موثر آشنا شود.
Hugging Face چیست و چه کاربردی دارد؟

Hugging Face یک پلتفرم متنباز برای هوش مصنوعی است که دسترسی به مدلهای ازپیشآموزشدیده (pre-trained models) را ساده میکند. هدف این پلتفرم، دموکراتیزه کردن استفاده از مدلهای قدرتمند هوش مصنوعی برای پژوهشگران، توسعهدهندگان و شرکتهاست تا بتوانند بدون نیاز به منابع محاسباتی عظیم، از فناوریهای نوین بهرهمند شوند.
این اکوسیستم شامل بخشهای مختلفی است:
- Model Hub: مجموعهای گسترده از مدلهای ازپیشآموزشدیده در حوزههای مختلف مانند NLP، پردازش تصویر، صوت و مدلهای مولتیمودال.
- Datasets: مخزن بزرگی از دادههای آماده برای آموزش و ارزیابی مدلها، که پژوهشگران را قادر میسازد بدون نیاز به جمعآوری داده، مدلهای خود را توسعه دهند.
- Spaces: محیطی برای ساخت و به اشتراکگذاری برنامهها و پروژههای مبتنی بر مدلهای Hugging Face، بدون نیاز به نصب محلی یا زیرساخت پیچیده.
با استفاده از این پلتفرم، کاربران میتوانند مدلها را مستقیما اجرا کنند، آنها را برای پروژههای خود شخصیسازی کنند و حتی مدلهای جدید بسازند یا به اشتراک بگذارند. به همین دلیل، Hugging Face به یک ابزار کلیدی برای کسانی تبدیل شده که میخواهند هوش مصنوعی را به سرعت و با حداقل پیچیدگی به پروژههای واقعی وارد کنند.
پیشنهاد مطالعه:
چرا بهجای ساخت مدل هوش مصنوعی از صفر بهتر است از مدلهای ازپیشآموزشدیده استفاده کنید؟
مدلهای Hugging Face چیستند؟
مدلهای Hugging Face مجموعهای از مدلهای ازپیشآموزشدیده (pre-trained models) هستند که برای انجام وظایف مختلف هوش مصنوعی آماده شدهاند. این مدلها به شما امکان میدهند بدون نیاز به آموزش کامل مدل از صفر، از تواناییهای پیشرفتهای مثل تحلیل متن، تولید محتوا، ترجمه، تشخیص احساسات، پردازش تصویر و صوت استفاده کنید.
مدلهای Hugging Face به طور کلی در چند دسته اصلی قرار میگیرند:
| دسته | نمونه مدلها | کاربرد اصلی | توضیح کوتاه |
| مدلهای زبانی (NLP) | BERT، GPT-2، RoBERTa | تحلیل متن، تولید محتوا، ترجمه، تشخیص احساسات | برای پردازش متن طراحی شدهاند و میتوانند متن را درک، تحلیل و تولید کنند. |
| مدلهای تصویری | CLIP، DINO | دستهبندی تصویر، جستجوی معنایی تصویر | توانایی تحلیل تصاویر و ارتباط دادن آنها با متن را دارند. |
| مدلهای صوتی | Whisper | تبدیل صوت به متن، تحلیل صوت | صدا را به متن تبدیل میکنند یا اطلاعات صوتی را تحلیل میکنند. |
| مدلهای مولتیمودال | BLIP، CLIP (مولتیمودال) | پردازش همزمان متن و تصویر | قادرند چند نوع داده را همزمان پردازش و ارتباط بین آنها را درک کنند. |
چرا مدلهای Hugging Face مفید هستند؟
ویژگیهای کلیدی مدلهای Hugging Face نشان میدهد چرا این مدلها برای پروژههای واقعی جذاب و مفید هستند.
- دسترسی آسان: مدلها مستقیما از Model Hub قابل دریافت و اجرا هستند، بدون نیاز به ایجاد زیرساخت پیچیده.
- صرفهجویی در زمان و منابع: با استفاده از مدلهای ازپیشآموزشدیده، دیگر نیازی نیست مدلهای بزرگ را از ابتدا آموزش دهید.
- انعطافپذیری و شخصیسازی: میتوانید مدلها را fine-tune کرده یا برای پروژههای خاص خود شخصیسازی کنید.
- جامعه فعال و منابع گسترده: Hugging Face جامعه بزرگی دارد که مدلها، دادهها، آموزشها و پروژههای آماده را به اشتراک میگذارد.
| 🧷 برای دسترسی به تمامی مدلهای Huggingface کافیست به سایت اصلی مراجعه کنید. |
شروع کار با Hugging Face
برای شروع استفاده از Hugging Face، ابتدا باید یک حساب کاربری ایجاد کرده و محیط کاری خود را آماده کنید. نگران نباشید، این روند ساده و جذاب است!
۱. ایجاد حساب کاربری Hugging Face
ثبتنام بهعنوان یک کاربر فردی در جامعه رایگان است. اگر به امکانات بیشتر نیاز دارید، میتوانید گزینههای Pro یا طرحهای سفارشی سازمانی را انتخاب کنید.
مراحل ثبتنام:
- به وبسایت Hugging Face بروید و روی «Sign Up» کلیک کنید.
- ایمیل و رمز عبور خود را وارد کنید، سپس پروفایل و چک امنیتی را کامل کنید.

پس از ثبتنام، به صفحه خوشامدگویی (Welcome) هدایت میشوید که اطلاعات و نکات مفیدی درباره استفاده از پلتفرم ارائه میدهد. بهعلاوه، یک مخزن مبتنی بر Git برای ایجاد مدلها، دیتاستها و Spaces در اختیار شما قرار میگیرد که میتوانید بهصورت آنلاین یا از طریق CLI با آن کار کنید.

۲. آمادهسازی محیط کاری
قبل از استفاده برنامهنویسی از Hugging Face Hub، باید محیط خود را تنظیم کنید:
گام اول: نصب Python و Pip
مطمئن شوید Python 3.8 یا بالاتر نصب است و Pip برای مدیریت بستهها آماده است.
نصب کتابخانههای Hugging Face:
|
1 2 |
pip install transformers pip install tokenizers datasets |
گام دوم: این دستور کتابخانههای اصلی و وابستگیهای آنها را نصب میکند.
گام سوم: راهاندازی محیط توسعه
یک IDE یا ویرایشگر کد مثل Jupyter Notebook، PyCharm یا VS Code انتخاب کنید و یک محیط مجازی (virtual environment) برای پروژه خود بسازید.
پس از این مراحل، Hugging Face آماده استفاده است و میتوانید مدلها را آزمایش کنید.
۳. استفاده از مدلهای از پیش آموزشدیده
یکی از ویژگیهای برجسته Hugging Face دسترسی به هزاران مدل از پیش آموزشدیده است که وظایف متنوعی روی انواع دادهها انجام میدهند. چه داده شما متن، تصویر، صوت یا ترکیبی از آنها باشد، مدل مناسب پیدا خواهید کرد.
دو کتابخانه اصلی برای دسترسی به مدلها وجود دارد:
- Transformers: برای پردازش متن، شامل ترجمه، خلاصهسازی و تولید محتوا.
- Diffusers: برای پردازش تصویر، شامل تولید تصویر، ویرایش و کپشنگذاری.
مثال با Python و pipeline
کتابخانه Transformers امکان استفاده ساده از مدلها را فراهم میکند:
تحلیل احساسات:
|
1 2 3 4 5 6 7 8 9 10 |
from transformers import pipeline sentiment_analysis = pipeline( “sentiment-analysis”, model=“distilbert-base-uncased-finetuned-sst-2-english” ) input_text = [“It’s a great app, but card readers often fail.”] result = sentiment_analysis(input_text) print(result) |
خروجی نمونه:
|
1 |
[{‘label’: ‘NEGATIVE’, ‘score’: 0.9996}] |
تشخیص خودکار گفتار (ASR):
|
1 2 3 4 5 6 7 8 9 10 |
from transformers import pipeline transcriber = pipeline( task=“automatic-speech-recognition”, model=“openai/whisper-small” ) result = transcriber( “https://huggingface.co/datasets/Narsil/asr_dummy/resolve/main/mlk.flac” ) print(result) |
خروجی نمونه:
|
1 |
{‘text’: ‘ I have a dream that one day this nation will rise up and live out the true meaning of its creed.’} |
۴. پیدا کردن مدل مناسب

برای پیدا کردن مدل مناسب:
- میتوانید مدلها را بر اساس وظیفه، زبان، فریمورک و غیره فیلتر کنید.
- از کلیدواژهها استفاده کرده و بر اساس محبوبیت، دانلودها یا جدیدترین بهروزرسانیها مرتب کنید.
- هر مدل یک Model Card دارد که شامل اطلاعات مدل، مثالهای استفاده، روش آموزش و لینک فایلهاست.
- همچنین میتوانید مدلها را مستقیماً در صفحه Model Card آزمایش کنید و Spaces مربوطه را بررسی نمایید.
استفاده عملی از مدلهای Hugging Face: بدون کدنویسی و با Python
Hugging Face به دو روش اصلی امکان استفاده از مدلها را فراهم میکند: بدون نیاز به کدنویسی و با استفاده از Python. این انعطافپذیری باعث میشود هم کاربران تازهکار و هم توسعهدهندگان حرفهای بتوانند از مدلها در پروژههای واقعی بهره ببرند.
۱. استفاده بدون کدنویسی
با پلتفرم Hugging Face Spaces یا Hosted Inference API میتوانید مدلها را مستقیم اجرا کنید. کافی است مدل موردنظر را انتخاب کنید، دادههای خود را وارد کنید و خروجی را مشاهده نمایید. این روش برای آزمایش سریع، نمونهسازی و ارائه دموی مدل مناسب است.

۲. استفاده با Python
برای توسعه پروژههای واقعی یا ادغام مدلها در سیستمها، استفاده از Python و کتابخانه Transformers توصیه میشود. به کمک چند خط کد ساده میتوان مدلها را بارگذاری، پیشبینی انجام داد و حتی مدلها را برای نیازهای خاص خود شخصیسازی کرد.
| Pipeline | کاربرد | توضیح کوتاه |
| text-classification | تحلیل احساسات، دستهبندی متن | مدل متن را دریافت و بر اساس برچسبها خروجی میدهد. |
| summarization | خلاصهسازی متن | متون طولانی را به نسخه کوتاهتر و مفید تبدیل میکند. |
| translation | ترجمه | متن را بین زبانهای مختلف ترجمه میکند. |
| text-generation | تولید محتوا | بر اساس متن ورودی، محتوای جدید تولید میکند. |
| question-answering | پاسخ به پرسشها | بر اساس متن زمینهای، پاسخ دقیق ارائه میدهد. |
| image-classification | دستهبندی تصویر | تصاویر را برچسبگذاری و دستهبندی میکند. |
| feature-extraction | استخراج ویژگی | embedding یا بردار ویژگی برای تحلیلهای بعدی تولید میکند. |
شخصیسازی و Fine-Tuning مدلهای Hugging Face
یکی از قابلیتهای مهم مدلهای Hugging Face این است که میتوان آنها را برای دادهها و نیازهای خاص پروژه خود شخصیسازی کرد. این فرایند معمولا شامل Fine-Tuning یا Transfer Learning است، یعنی استفاده از یک مدل از پیش آموزشدیده و آموزش مجدد آن روی دیتاست مخصوص پروژه شما.
مزایا:
بهبود دقت مدل روی وظایف خاص.
کاهش نیاز به دادههای بسیار زیاد؛ زیرا مدل پایه از قبل دانش عمومی دارد.
امکان استفاده در کاربردهای صنعتی و پروژههای واقعی.
روشها:
استفاده از کتابخانه transformers برای بارگذاری مدل و آموزش مجدد روی دادههای خود.
تعریف دیتاست سفارشی و ساخت tokenizer مناسب.
آموزش مدل با تنظیم پارامترهای یادگیری و ارزیابی دورهای عملکرد مدل.
بهترین شیوهها:
همیشه مدل پایه را روی داده عمومی آزمایش کنید تا نقطه شروع مناسبی داشته باشید.
از ابزارهای Hugging Face Hub برای ذخیره و اشتراکگذاری مدلهای شخصیسازیشده استفاده کنید.
مثال عملی: سیستم پیشنهادگر چندوجهی برای فروشگاه آنلاین
میخواهیم یک سیستم ساده بسازیم که بر اساس توضیحات متنی محصول و تصویر آن، پیشنهادهای مرتبط به کاربران ارائه دهد. برای این کار از مدلهای Hugging Face استفاده میکنیم.
۱. آمادهسازی محیط
|
1 2 |
# نصب کتابخانههای لازم pip install transformers sentence–transformers torch torchvision |
۲. انتخاب مدلها
- متن: مدل sentence-transformers/all-MiniLM-L6-v2 برای تبدیل توضیحات محصول به بردار embedding.
- تصویر: مدل openai/clip-vit-base-patch32 برای استخراج ویژگیهای تصویری.
۳. بارگذاری مدلها
|
1 2 3 4 5 6 7 8 9 10 11 |
from sentence_transformers import SentenceTransformer from transformers import CLIPProcessor, CLIPModel from PIL import Image import torch # مدل متن text_model = SentenceTransformer(‘all-MiniLM-L6-v2’) # مدل تصویر clip_model = CLIPModel.from_pretrained(“openai/clip-vit-base-patch32”) clip_processor = CLIPProcessor.from_pretrained(“openai/clip-vit-base-patch32”) |
۴. آمادهسازی دادهها
فرض کنید سه محصول داریم:
|
1 2 3 4 5 |
products = [ {“name”: “کفش ورزشی”, “description”: “کفش راحت و سبک برای دویدن”, “image_path”: “shoes.jpg”}, {“name”: “هدفون بیسیم”, “description”: “صدای با کیفیت و بدون نویز”, “image_path”: “headphones.jpg”}, {“name”: “کتاب آموزشی Python”, “description”: “راهنمای جامع برنامهنویسی Python”, “image_path”: “python_book.jpg”} ] |
۵. استخراج ویژگیها
|
1 2 3 4 5 6 7 8 9 10 |
# ویژگی متنی for p in products: p[‘text_embedding’] = text_model.encode(p[‘description’]) # ویژگی تصویری for p in products: image = Image.open(p[‘image_path’]) inputs = clip_processor(images=image, return_tensors=“pt”) with torch.no_grad(): p[‘image_embedding’] = clip_model.get_image_features(**inputs) |
۶. جستوجوی مشابهت
برای مثال، کاربر محصولی مشابه کفش ورزشی را جستوجو میکند:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import numpy as np query = “دویدن در فضای باز با کفش راحت” query_embedding = text_model.encode(query) # محاسبه شباهت کسینوسی def cosine_similarity(a, b): return np.dot(a, b)/(np.linalg.norm(a)*np.linalg.norm(b)) scores = [] for p in products: score = cosine_similarity(query_embedding, p[‘text_embedding’]) scores.append((p[‘name’], score)) scores.sort(key=lambda x: x[1], reverse=True) print(“پیشنهادها بر اساس شباهت متن:”, scores) |
خروجی احتمالی:
|
1 |
پیشنهادها بر اساس شباهت متن: [(‘کفش ورزشی’, 0.92), (‘هدفون بیسیم’, 0.15), (‘کتاب آموزشی Python’, 0.05)] |
۷. ترکیب دادههای تصویری و متنی
میتوان وزندهی کرد: ۰.۷ متن و ۰.۳ تصویر:
|
1 2 3 4 5 6 7 8 9 |
combined_scores = [] for p in products: text_score = cosine_similarity(query_embedding, p[‘text_embedding’]) image_score = cosine_similarity(p[‘image_embedding’].numpy().flatten(), p[‘image_embedding’].numpy().flatten()) # نمونه ساده combined_score = 0.7*text_score + 0.3*image_score combined_scores.append((p[‘name’], combined_score)) combined_scores.sort(key=lambda x: x[1], reverse=True) print(“پیشنهادها ترکیبی:”, combined_scores) |
نکات عملی
- برای دادههای بزرگ از FAISS یا Annoy برای جستوجوی سریع embeddingها استفاده کنید.
- دادههای تصویری و متنی را پیشپردازش و کش (cache) کنید تا سرعت سیستم افزایش یابد.
- مدلها را در محیط Hugging Face Hub ذخیره و به اشتراک بگذارید تا تیمهای دیگر بتوانند از آن استفاده کنند.
جمعبندی
مدلهای Hugging Face به توسعهدهندگان این امکان را میدهند که بهسرعت از مدلهای پیشآموزشدیده در پروژههای واقعی بهرهبرداری کنند و سیستمهای هوشمند چندوجهی بسازند. با ترکیب مدلهای متنی، تصویری و صوتی، میتوان راهکارهای انعطافپذیر و مقیاسپذیر ایجاد کرد که در کاربردهایی مانند توصیهگرها، تحلیل احساسات و پردازش چندرسانهای موثر هستند.
این مدلها نهتنها یادگیری و توسعه پروژههای AI را ساده میکنند، بلکه با ارائه ابزارها و APIهای استاندارد، امکان شخصیسازی و بهبود عملکرد را نیز فراهم میآورند و بهعنوان پلی بین تحقیق و کاربرد عملی عمل میکنند.
منابع
freecodecamp.org | medium.com | arxiv.org
سوالات متداول
مدلهای متنی (Text: BERT، GPT، DistilBERT)، تصویری (Vision: CLIP، ViT)، صوتی (Speech: Whisper) و مدلهای چندوجهی که توانایی پردازش همزمان انواع دادهها را دارند، در دسترس هستند.
داشتن Python 3.8 یا بالاتر، نصب کتابخانههای transformers، datasets و tokenizers، و محیط توسعه مانند Jupyter Notebook یا VS Code کافی است.
با استفاده از APIهای ساده مانند pipeline()، میتوان مدلها را برای وظایف مختلف مانند تحلیل احساسات، ترجمه متن، تشخیص تصویر و تبدیل گفتار به متن اجرا و حتی fine-tune کرد.
بله، مدلها میتوانند روی دادههای اختصاصی fine-tune شوند و به کمک امکانات رجیستری و نسخهبندی، نسخههای مختلف برای کاربردهای متفاوت مدیریت شوند.




دیدگاهتان را بنویسید