🎯 مدل زبانی ایران چیست؟
ایران نسخه ۱ یک مدل زبانی بزرگ (LLM) دوزبانه فارسی-انگلیسی است که با معماری ترنسفورمر پیشرفته و تکنیکهای مدرن
GQA، RoPE و SwiGLU پیادهسازی شده است. این مدل حاصل آموزش روی ۷۰ میلیون متن فارسی و استفاده از آخرین دستاوردهای پژوهشی در حوزه پردازش زبان طبیعی است.
ایران نسخه ۱ برای این ساخته شده که زبان فارسی را در دنیای هوش مصنوعی زنده نگه دارد. برخلاف مدلهای عمومی که فارسی را بهعنوان زبان دوم میبینند، یاسین از ابتدا برای درک عمق ادبیات، فرهنگ و ساختار منحصربهفرد زبان فارسی طراحی شده است.
|
|
🎯
معماری یاسین با بومیسازی عمیق
• طراحی شده از پایه برای زبان فارسی
• درک اصطلاحات، ضربالمثلها و ساختارهای دستوری پیچیده • پشتیبانی کامل از خط و نگارش فارسی |
⚡
کارایی فوقالعاده
• مکانیزم GQA با کاهش ۷۵٪ مصرف حافظه
• پشتیبانی از Flash Attention 2 • استنتاج سریعتر با SDPA |
|
🔄
انعطافپذیری کامل
• قابل اجرا روی GPUهای ۴GB تا ۲۴GB
• پشتیبانی از quantization 8-bit و 4-bit • مقیاسپذیری پویا |
🌍
دوزبانه هوشمند
• تسلط کامل به فارسی و انگلیسی
• ترجمه خودکار بین دو زبان • درک مفاهیم بینافرهنگی |
|
✍️
نویسندگی خلاقکمک به نوشتن مقاله، داستان، شعر و محتوای خلاقانه
|
📚
آموزش و پژوهشدستیار آموزشی هوشمند، پاسخگویی به سوالات درسی
|
💬
چتبات و پشتیبانیایجاد دستیارهای هوشمند فارسی، پشتیبانی مشتری
|
|
📊
تحلیل دادههای متنیتحلیل نظرات، بررسی احساسات، دستهبندی متون
|
🏥
سلامت و پزشکیتحلیل بازخورد بیماران، دستیار پرسش و پاسخ پزشکی
|
🎨
خلاقیت و سرگرمیتولید پادکست، شاعر الکترونیک، داستانپردازی
|
🔹 ورودی:هوش مصنوعی در ایران چه جایگاهی دارد؟ لطفاً با ذکر مثال توضیح دهید.🔸 خروجی مدل ایران 1: |
┌─────────────────────────────────────────────────────────────────┐
│ 📝 ورودی متنی (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 • گیتینگ دوگانه
همگرایی سریعتر |
1# گام ۱: نصب کتابخانه
2# pip install transformers torch accelerate
3
4from transformers import AutoModelForCausalLM, AutoTokenizer
5
6# گام ۲: بارگذاری مدل (فقط ۳ خط!)
7model_name = "your-username/yasin-model"
8tokenizer = AutoTokenizer.from_pretrained(model_name)
9model = AutoModelForCausalLM.from_pretrained(model_name)
10
11# گام ۳: استفاده از مدل
12prompt = "داستان کوتاهی در مورد بهار بنویس"
13inputs = tokenizer(prompt, return_tensors="pt")
14outputs = model.generate(
15 **inputs,
16 max_length=300,
17 temperature=0.7,
18 do_sample=True,
19 top_p=0.9
20)
21print(tokenizer.decode(outputs[0], skip_special_tokens=True))
📦 GPU 4GB (کممصرف)python 1from configuration_yasin import YasinConfig
2
3config = YasinConfig(
4 # کاهش ابعاد اصلی
5 hidden_size=512,
6 num_hidden_layers=12,
7 num_attention_heads=8,
8 num_key_value_heads=2, # GQA فعال
9 intermediate_size=1408,
10
11 # تنظیمات توالی
12 max_position_embeddings=1024,
13
14 # بهینهسازی حافظه
15 use_cache=True,
16 _attn_implementation="sdpa",
17)
18
19model = YasinForCausalLM(config)
|
🚀 GPU 24GB+ (حداکثر کیفیت)python 1config = YasinConfig(
2 # ابعاد کامل
3 hidden_size=4096,
4 num_hidden_layers=40,
5 num_attention_heads=32,
6 num_key_value_heads=8,
7 intermediate_size=11008,
8
9 # توالی طولانی
10 max_position_embeddings=8192,
11 rope_theta=500000.0,
12 rope_scaling={"rope_type": "dynamic", "factor": 4.0},
13
14 # حداکثر سرعت
15 _attn_implementation="flash_attention_2",
16 use_cache=True,
17)
|
💾 8-bit Quantizationpython 1model = AutoModelForCausalLM.from_pretrained(
2 model_name,
3 load_in_8bit=True,
4 device_map="auto"
5)✓ کاهش ۵۰٪ حافظه
|
🔄 4-bit Quantizationpython 1model = AutoModelForCausalLM.from_pretrained(
2 model_name,
3 load_in_4bit=True,
4 bnb_4bit_compute_dtype=torch.float16
5)✓ کاهش ۷۵٪ حافظه
|
🧠 Gradient Checkpointingpython 1# برای آموزش با حافظه محدود
2model.gradient_checkpointing_enable()
3model.config.use_cache = False✓ کاهش ۴۰٪ حافظه
|
| گام | Training Loss | Perplexity | کاهش نسبی | زمان آموزش |
|---|---|---|---|---|
| ۱۰۰ | ۴.۸۷۱۶ | ۱۳۰.۵ | پایه | ۲ دقیقه |
| ۵۰۰ | ۱.۸۱۲۶ | ۶.۱۱ | ۶۲.۸٪ | ۱۰ دقیقه |
| ۱۰۰۰ | ۱.۶۰۱۸ | ۴.۹۵ | ۶۷.۱٪ | ۲۰ دقیقه |
| ۲۰۰۰ | ۱.۵۱۴۵ | ۴.۵۳ | ۶۸.۹٪ | ۴۰ دقیقه |
| ۳۰۰۰ | ۱.۴۰۱۱ | ۴.۰۶ | ۷۱.۲٪ | ۶۰ دقیقه |
| ۴۰۰۰ | ۱.۲۸۹۶ | ۳.۶۳ | ۷۳.۵٪ | ۸۰ دقیقه |
| ۵۰۰۰ | ۱.۲۸۹۶ | ۳.۶۳ | ۷۳.۵٪ | ۱۰۰ دقیقه |
|
📊
Perplexity
۳.۶۳
یاسین
۴.۸۱
سایر مدلها
|
⚡
سرعت استنتاج
۸۵
توکن/ثانیه
۵۲
سایر مدلها
|
💾
مصرف حافظه
۷.۲
گیگابایت
۲۴.۰
سایر مدلها
|
🎯
دقت فارسی
۹۴٪
یاسین
۷۸٪
سایر مدلها
|
1from transformers import Trainer, TrainingArguments
2from datasets import load_dataset
3
4# ۱. بارگذاری دیتاست فارسی
5dataset = load_dataset("text", data_files={"train": "my_persian_texts.txt"})
6
7# ۲. تنظیم پارامترهای آموزش
8training_args = TrainingArguments(
9 output_dir="./yasin-finetuned",
10 num_train_epochs=3,
11 per_device_train_batch_size=4,
12 gradient_accumulation_steps=4,
13 save_steps=500,
14 logging_steps=50,
15 learning_rate=2e-5,
16 warmup_ratio=0.03,
17 fp16=True, # آموزش با دقت نیمه
18 gradient_checkpointing=True,
19)
20
21# ۳. شروع آموزش
22trainer = Trainer(
23 model=model,
24 args=training_args,
25 train_dataset=dataset["train"],
26)
27
28trainer.train()|
⭐
ستاره دادنسادهترین راه برای حمایت
|
🐛
گزارش باگدر GitHub Issues گزارش دهید
|
📝
مستنداتبهبود و تکمیل راهنماها
|
💡
ایده جدیدپیشنهاد ویژگیهای جدید
|
|
📄
|
مجوز Apache 2.0آزاد برای استفاده تجاری و غیرتجاری
|
✅ مجاز
|
❌ غیرمجاز
|
|
|
|
📧
ایمیلinfo@RealRobot.ir |
📷
اینستاگرام@Fibonacci.ai |
💬
تلگرامT.ME/FibonacciAi |
🤗
Hugging Face/fibonacciai/Iran-v1 |