--- license: apache-2.0 language: - fa - en tags: - persian - llm - text-generation - pytorch - transformers - gpt - conversational - persian-nlp library_name: transformers pipeline_tag: text-generation datasets: - ysn-rfd/Fibonacci-Pre_Train-Persian-Corpus-Raw-Texts-Dataset model-index: - name: Yasin-Model results: [] metrics: - accuracy - perplexity ---
# 🤖 مدل زبانی ایران نسخه 1 با معماری بومی یاسین 🇮🇷 ### اولین معماری مدل زبانی متن‌باز فارسی [![Hugging Face](https://img.shields.io/badge/🤗%20Hugging%20Face-مدل%20یاسین-8B5CF6?style=for-the-badge&logo=huggingface)](https://huggingface.co/your-username/yasin-model) [![Python](https://img.shields.io/badge/Python-3.8%2B-3776AB?style=for-the-badge&logo=python)](https://www.python.org/) [![PyTorch](https://img.shields.io/badge/PyTorch-2.0%2B-EE4C2C?style=for-the-badge&logo=pytorch)](https://pytorch.org/) [![License](https://img.shields.io/badge/License-Apache%202.0-7D3C98?style=for-the-badge)](https://opensource.org/licenses/Apache-2.0) [![GitHub Stars](https://img.shields.io/github/stars/yourusername/yasin-model?style=for-the-badge&logo=github&color=yellow)](https://github.com/yourusername/yasin-model) [![Colab](https://img.shields.io/badge/Colab-دموی%20آنلاین-F9AB00?style=for-the-badge&logo=googlecolab)](https://colab.research.google.com/github/yourusername/yasin-model/blob/main/demo.ipynb)
--- ## 📋 فهرست مطالب - [معرفی کلی](#معرفی-کلی) - [ویژگی‌های منحصربه‌فرد](#ویژگی‌های-منحصربه‌فرد) - [نمونه خروجی](#نمونه-خروجی) - [معماری فنی](#معماری-فنی) - [شروع سریع](#شروع-سریع) - [پیکربندی برای سخت‌افزارهای مختلف](#پیکربندی-برای-سخت‌افزارهای-مختلف) - [نتایج آموزش](#نتایج-آموزش) - [کاربردها](#کاربردها) - [عیب‌یابی](#عیب‌یابی) - [مشارکت](#مشارکت) - [مجوز](#مجوز) - [تیم توسعه](#تیم-توسعه) --- ## 🌟 معرفی کلی

🎯 مدل زبانی یاسین چیست؟

ایران نسخه 1 یک مدل زبانی بزرگ (LLM) دوزبانه فارسی-انگلیسی است که با معماری ترنسفورمر پیشرفته و تکنیک‌های مدرن GQA، RoPE و SwiGLU پیاده‌سازی شده است. این مدل حاصل آموزش روی ۳۰ میلیون متن فارسی و استفاده از آخرین دستاوردهای پژوهشی در حوزه پردازش زبان طبیعی است.

ایران نسخه 1 برای این ساخته شده که زبان فارسی را در دنیای هوش مصنوعی زنده نگه دارد. برخلاف مدل‌های عمومی که فارسی را به‌عنوان زبان دوم می‌بینند، یاسین از ابتدا برای درک عمق ادبیات، فرهنگ و ساختار منحصربه‌فرد زبان فارسی طراحی شده است.

--- ## ✨ ویژگی‌های منحصربه‌فرد
🎯

با معماری یاسین بومی‌سازی عمیق

طراحی شده از پایه برای زبان فارسی • درک اصطلاحات، ضرب‌المثل‌ها و ساختارهای دستوری پیچیده • پشتیبانی کامل از خط و نگارش فارسی

کارایی فوق‌العاده

مکانیزم GQA با کاهش ۷۵٪ مصرف حافظه • پشتیبانی از Flash Attention 2 • استنتاج سریع‌تر با SDPA

🔄

انعطاف‌پذیری کامل

قابل اجرا روی GPUهای ۴ گیگابایت تا ۲۴ گیگابایت • پشتیبانی از quantization 8-bit و 4-bit • مقیاس‌پذیری پویا

🌍

دوزبانه هوشمند

تسلط کامل به فارسی و انگلیسی • ترجمه خودکار • درک مفاهیم بینافرهنگی

--- ## 💎 کاربردهای عملی
✍️

نویسندگی خلاق

کمک به نوشتن مقاله، داستان، شعر و محتوای خلاقانه • ایده‌پردازی • ویرایش متن

📚

آموزش و پژوهش

دستیار آموزشی هوشمند • پاسخگویی به سوالات درسی • تحلیل متون کهن • خلاصه‌سازی مقالات

💬

چت بات و پشتیبانی

ایجاد دستیارهای هوشمند فارسی • پشتیبانی مشتری • پاسخگویی ۲۴ ساعته

📊

تحلیل داده‌های متنی

تحلیل نظرات کاربران • بررسی احساسات • دسته‌بندی متون • استخراج اطلاعات

🏥

سلامت و پزشکی

تحلیل بازخورد بیماران • دستیار پرسش و پاسخ پزشکی • خلاصه‌سازی پرونده‌ها

🎨

خلاقیت و سرگرمی

تولید پادکست • شاعر الکترونیک • داستان‌پردازی • ایده‌پردازی محتوا

--- ## 📊 نمونه خروجی واقعی

🔹 ورودی:

هوش مصنوعی در ایران چه جایگاهی دارد؟ لطفاً با ذکر مثال توضیح دهید.

🔸 خروجی مدل یاسین:

هوش مصنوعی در ایران طی سال‌های اخیر رشد قابل توجهی داشته است. دانشگاه‌های برتر مانند صنعتی شریف، تهران و امیرکبیر دوره‌های تخصصی در این حوزه راه‌اندازی کرده‌اند. 

برای مثال:
✅ دانشگاه صنعتی شریف - آزمایشگاه پردازش زبان طبیعی با تمرکز بر فارسی
✅ دانشگاه تهران - مرکز تحقیقات هوش مصنوعی و رباتیک
✅ دانشگاه امیرکبیر - پژوهشکده فناوری اطلاعات و هوش مصنوعی

شرکت‌های دانش‌بنیان متعددی در زمینه پردازش زبان فارسی، بینایی ماشین و رباتیک فعالیت می‌کنند. شرکت‌هایی مانند هوشا، دیجیکالا و اسنپ تیم‌های تخصصی هوش مصنوعی دارند.

با این حال، چالش‌هایی مانند:
⚠️ دسترسی محدود به سخت‌افزارهای پیشرفته
⚠️ مهاجرت نخبگان
⚠️ کمبود داده‌های باکیفیت فارسی
⚠️ تحریم‌های بین‌المللی

وجود دارد. پیش‌بینی می‌شود با سرمایه‌گذاری بیشتر در این حوزه، ایران بتواند جایگاه بهتری در منطقه کسب کند.
--- ## ⚙️ معماری فنی پیشرفته

🧠 نمای کلی معماری

┌─────────────────────────────────────────────────────────────────┐ │ 📝 ورودی متنی │ │ Text Input │ └────────────────────────────────────┬────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ ⚡ Embedding + RoPE │ │ جاسازی توکن + موقعیت‌یابی چرخشی │ │ (Rotary Position Embedding) │ └────────────────────────────────────┬────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 🔷 ×۳۲ لایه دیکودر │ │ 32 Decoder Layers │ ├─────────────────────────────────────────────────────────────────┤ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 🎯 Self-Attention (GQA با ۸ سر KV) │ │ │ │ Grouped Query Attention (4:1 ratio) │ │ │ │ • کاهش ۷۵٪ مصرف حافظه │ │ │ │ • حفظ کیفیت با اشتراک‌گذاری KV │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ↓ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 🧮 Feed-Forward (SwiGLU) │ │ │ │ • تابع فعال‌سازی SiLU/Swish │ │ │ │ • بهبود ۲۰٪ در کیفیت خروجی │ │ │ │ • ۳ لایه خطی با گیتینگ هوشمند │ │ │ └─────────────────────────────────────────────────────────┘ │ │ ↓ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 📊 RMSNorm & Residual Connection │ │ │ │ • نرمال‌سازی پایدار │ │ │ │ • اتصال باقیمانده برای گرادیان بهتر │ │ │ └─────────────────────────────────────────────────────────┘ │ └────────────────────────────────────┬────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 🎯 LM Head │ │ خروجی نهایی │ └────────────────────────────────────┬────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 📄 خروجی متنی │ │ Text Output │ └─────────────────────────────────────────────────────────────────┘
--- ### 📐 مشخصات کامل پیکربندی
دسته‌بندی پارامتر مقدار پیش‌فرض توضیح فنی
🏗️ مدل معماری Decoder-Only Transformer مدل تولید متن خودرگرسیو
🏗️ مدل vocab_size ۳۲,۰۰۰ اندازه واژه‌نامه (شامل ۸۰۰۰ توکن فارسی)
🏗️ مدل hidden_size ۴,۰۹۶ ابعاد نمایش پنهان
🏗️ مدل num_hidden_layers ۳۲ عمق شبکه (تعداد لایه‌ها)
🎯 توجه num_attention_heads ۳۲ تعداد سرهای Query
🎯 توجه num_key_value_heads ۸ سرهای KV (نسبت GQA 4:1)
🎯 توجه attention_bias False بدون بایاس (بهینه‌تر)
🧮 MLP intermediate_size ۱۱,۰۰۸ ابعاد لایه میانی
🧮 MLP hidden_act silu تابع فعال‌سازی Swish (SiLU)
📍 موقعیت max_position_embeddings ۲,۰۴۸ حداکثر طول توالی
📍 موقعیت rope_theta ۱۰,۰۰۰.۰ پایه فرکانس RoPE
📍 موقعیت rope_scaling پویا (dynamic) مقیاس‌دهی تطبیقی تا ۸ برابر
📊 نرمال‌سازی rms_norm_eps 1e-6 اپسیلون RMSNorm
--- ### 🔬 نوآوری‌های پیاده‌سازی

🎯 GQA

۴:۱

کاهش ۷۵٪ مصرف حافظه


۳۲ سر Query • ۸ سر KV • اشتراک‌گذاری هوشمند

🔄 RoPE

۸x

افزایش طول توالی


مقیاس‌دهی پویا • پنجره زمینه ۱۶۳۸۴ توکنی

🧠 SwiGLU

۲۰٪

بهبود کیفیت خروجی


SiLU • گیتینگ دوگانه • همگرایی سریع‌تر

--- ## 💻 شروع سریع (فقط ۳ خط کد)

🚀 نصب و اجرای فوری

```python # گام ۱: نصب کتابخانه # pip install transformers torch accelerate from transformers import AutoModelForCausalLM, AutoTokenizer # گام ۲: بارگذاری مدل (فقط ۳ خط!) model_name = "your-username/yasin-model" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) # گام ۳: استفاده از مدل prompt = "داستان کوتاهی در مورد بهار بنویس" inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate( **inputs, max_length=300, temperature=0.7, do_sample=True, top_p=0.9 ) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ```

📌 نکته: برای اولین بار، مدل به صورت خودکار دانلود می‌شود (~۱۵ گیگابایت). دفعات بعدی از کش استفاده می‌کند.

🛠️ پیکربندی برای سخت‌افزارهای مختلف

📦 GPU 4GB (کم‌مصرف)

from configuration_yasin import YasinConfig config = YasinConfig( # کاهش ابعاد اصلی hidden_size=512, num_hidden_layers=12, num_attention_heads=8, num_key_value_heads=2, # GQA فعال intermediate_size=1408, # تنظیمات توالی max_position_embeddings=1024, # بهینه‌سازی حافظه use_cache=True, _attn_implementation="sdpa", # SDPA سبک‌تر ) model = YasinForCausalLM(config)
  • مصرف RAM: ~۳.۵ گیگابایت
  • سرعت: ۴۰-۵۰ توکن/ثانیه
  • مناسب: لپ‌تاپ، GPUهای خانگی

🚀 GPU 24GB+ (حداکثر کیفیت)

config = YasinConfig( # ابعاد کامل hidden_size=4096, num_hidden_layers=40, num_attention_heads=32, num_key_value_heads=8, intermediate_size=11008, # توالی طولانی max_position_embeddings=8192, rope_theta=500000.0, rope_scaling={"rope_type": "dynamic", "factor": 4.0}, # حداکثر سرعت _attn_implementation="flash_attention_2", use_cache=True, )
  • 🔥 مصرف RAM: ~۲۰ گیگابایت
  • 🔥 سرعت: ۸۰-۱۰۰ توکن/ثانیه
  • 🔥 مناسب: سرورها، A100، H100
⚡ بهینه‌سازی بیشتر

💾 8-bit Quantization

model = AutoModelForCausalLM.from_pretrained( model_name, load_in_8bit=True, device_map="auto" )

✓ کاهش ۵۰٪ حافظه

🔄 4-bit Quantization

model = AutoModelForCausalLM.from_pretrained( model_name, load_in_4bit=True, bnb_4bit_compute_dtype=torch.float16 )

✓ کاهش ۷۵٪ حافظه

🧠 Gradient Checkpointing

# برای آموزش با حافظه محدود model.gradient_checkpointing_enable() model.config.use_cache = False

✓ کاهش ۴۰٪ حافظه

📈 نتایج آموزش و ارزیابی

📉 روند کاهش Loss

گام Training Loss Perplexity کاهش نسبی زمان آموزش ۱۰۰ ۴.۸۷۱۶ ۱۳۰.۵ پایه ۲ دقیقه ۵۰۰ ۱.۸۱۲۶ ۶.۱۱ ۶۲.۸٪ ۱۰ دقیقه ۱۰۰۰ ۱.۶۰۱۸ ۴.۹۵ ۶۷.۱٪ ۲۰ دقیقه ۲۰۰۰ ۱.۵۱۴۵ ۴.۵۳ ۶۸.۹٪ ۴۰ دقیقه ۳۰۰۰ ۱.۴۰۱۱ ۴.۰۶ ۷۱.۲٪ ۶۰ دقیقه ۴۰۰۰ ۱.۲۸۹۶ ۳.۶۳ ۷۳.۵٪ ۸۰ دقیقه ۵۰۰۰ ۱.۲۸۹۶ ۳.۶۳ ۷۳.۵٪ ۱۰۰ دقیقه

🏆 مقایسه با سایر مدل‌ها

📊
Perplexity
۳.۶۳
یاسین

۴.۸۱
سایر مدل‌ها
سرعت استنتاج
۸۵
توکن/ثانیه

۵۲
سایر مدل‌ها
💾
مصرف حافظه
۷.۲
گیگابایت

۲۴.۰
سایر مدل‌ها
🎯
دقت فارسی
۹۴٪
یاسین

۷۸٪
سایر مدل‌ها
🎓 آموزش و فاین‌تیون

📚 آموزش مدل روی دیتاست دلخواه

```python from transformers import Trainer, TrainingArguments from datasets import load_dataset # ۱. بارگذاری دیتاست فارسی dataset = load_dataset("text", data_files={"train": "my_persian_texts.txt"}) # ۲. تنظیم پارامترهای آموزش training_args = TrainingArguments( output_dir="./yasin-finetuned", num_train_epochs=3, per_device_train_batch_size=4, gradient_accumulation_steps=4, save_steps=500, logging_steps=50, learning_rate=2e-5, warmup_ratio=0.03, fp16=True, # آموزش با دقت نیمه gradient_checkpointing=True, ) # ۳. شروع آموزش trainer = Trainer( model=model, args=training_args, train_dataset=dataset["train"], ) trainer.train()
``` 🤝 چگونه مشارکت کنم؟

⭐ به خانواده یاسین بپیوندید!

ما به مشارکت‌کنندگان علاقه‌مند در تمام سطوح خوشامد می‌گوییم. فرقی نمی‌کند برنامه‌نویس هستید یا نه، هر کمکی ارزشمند است!

ستاره دادن

ساده‌ترین راه برای حمایت

🐛

گزارش باگ

در GitHub Issues گزارش دهید

📝

مستندات

بهبود و تکمیل راهنماها

💡

ایده جدید

پیشنهاد ویژگی‌های جدید

📜 مجوز و شرایط استفاده
📄

مجوز Apache 2.0

آزاد برای استفاده تجاری و غیرتجاری

✅ مجاز

  • ✓ استفاده تجاری آزاد
  • ✓ توزیع و تغییر
  • ✓ استفاده شخصی
  • ✓ استفاده در پروژه‌های تجاری

❌ غیرمجاز

  • ✗ ادعای مالکیت مدل
  • ✗ حذف کپی‌رایت
  • ✗ مسئولیت خروجی‌ها با کاربر است
  • ✗ بدون تضمین عملکرد
👥 تیم توسعه و قدردانی

❤️ تیم یاسین

نقش نام ارتباط پژوهشگر ارشد YSNRFD @ysnrfd تاریخ شروع ۰۲/۰۳/۲۰۲۳ - وابستگی Fibonacci AI -

🙏 سپاسگزاری

  • 🤗 جامعه Hugging Face
  • 🔥 تیم PyTorch
  • 🦙 پژوهشگران Meta LLaMA
  • 🌪️ تیم Mistral AI
  • 🧠 تیم Google DeepMind
  • 🇮🇷 جامعه فارسی‌زبان هوش مصنوعی
📬 ارتباط با ما

🚀 آماده شروع هستید؟

📧
ایمیل
yasin.model@email.com
🐦
توییتر
@yasin_model
💬
دیسکورد
Yasin Community
🤗
Hugging Face
/yasin-model
https://img.shields.io/github/stars/yourusername/yasin-model?style=for-the-badge&logo=github&color=yellow&label=%D8%AD%D9%85%D8%A7%DB%8C%D8%AA%2520%D8%A8%D8%A7%2520%D8%B3%D8%AA%D8%A7%D8%B1%D9%87

⭐ از حمایت شما سپاسگزاریم ⭐

ساخته شده با عشق ❤️ برای زبان فارسی

© ۲۰۲۴ مدل یاسین. تمامی حقوق محفوظ است.