Downloads · 30 days
0
DENLIAI/Vex-Base-3.5M-x1
Vex-Base-3.5M-x1 is a text generation model from DENLIAI. Use it when you need the model to write or continue text. The card lists the license as mit.
Downloads · 30 days
0
Access
Public
Updated Jul 5, 2026
Repo size
15.5 MB
Likes
1
Public
Click a slice to open those files.
.pth14.2 MB · 90%
From the Hugging Face model README

Vex یک مدل زبان مینیاتوری استدلالمحور (Reasoning-based Model) فارسی است که به صورت کاملاً بومی و از صفر مطلق (From Scratch) توسط تیم DENLI AI طراحی، معماری و آموزش داده شده است. این مدل مجهز به یک زنجیره تفکر داخلی (Reasoning Chain) است که به آن اجازه میدهد قبل از تولید پاسخ نهایی، نیت کاربر را تحلیل و دستهبندی کند.
C: (تفکر) قبل از پاسخ نهایی به سبک مدلهای پیشرفته استدلالمحور دنیا..pth)دیتابیس این مدل با ساختار استدلال تعادلی تنظیم شده است. در ادامه دو نمونه ردیف از متون آموزشی مدل آورده شده است:
{"A": "چیکار میکنی؟", "T": "کاربر نقش من رو پرسیده، باید توضیح بدم.", "Q": "سلام! من یک مدل زبانی هستم و به سوالاتت پاسخ میدم!"}
{"A": "اهل کجایی؟", "T": "کاربر محل ساخت من رو پرسیده، باید بگم.", "Q": "سلام! من اینجا در فضای مجازی به دنیا اومدم، ولی سازندم از ایران شروع کردن!"}
برای اجرای مدل و دریافت پاسخ به همراه زنجیره تفکر در محیط پایتون، از اسکریپت استاندارد زیر استفاده کنید:
import torch
import torch.nn as nn
from tokenizers import Tokenizer
# ۱. تعریف ساختار معماری مدل
class VexReasoningModel(nn.Module):
def __init__(self, vocab_size, embed_dim=256, hidden_dim=384, num_layers=2):
super(VexReasoningModel, self).__init__()
self.embedding = nn.Embedding(vocab_size, embed_dim, padding_idx=0)
self.gru = nn.GRU(embed_dim, hidden_dim, num_layers, batch_first=True, dropout=0.4)
self.fc = nn.Linear(hidden_dim, vocab_size)
def forward(self, x, hidden=None):
out = self.embedding(x)
out, hidden = self.gru(out, hidden)
return self.fc(out), hidden
# ۲. بارگذاری توکنایزر و وزنهای مدل
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
tokenizer = Tokenizer.from_file("bpe_tokenizer.json")
model = VexReasoningModel(vocab_size=tokenizer.get_vocab_size()).to(device)
model.load_state_dict(torch.load("vex_reasoning_weights.pth", map_location=device))
model.eval()
# ۳. تابع استنتاج (Generation)
def generate_response(prompt, max_len=100):
input_str = f"A: {prompt}\nC:"
tokens = tokenizer.encode(input_str).ids
input_tensor = torch.tensor([tokens], dtype=torch.long).to(device)
generated = []
hidden = None
with torch.no_grad():
for _ in range(max_len):
outputs, hidden = model(input_tensor, hidden)
next_token = outputs[0, -1, :].argmax().item()
if next_token == 0: # توکن پایان یا پدینگ
break
generated.append(next_token)
input_tensor = torch.tensor([[next_token]], dtype=torch.long).to(device)
return tokenizer.decode(generated)
# تست مدل
print(generate_response("یک بازی اکشن معرفی کن"))
برای ارتقای مدل و تزریق دانش جدید بدون فراموشی اطلاعات قبلی (Catastrophic Forgetting)، لایههای پایه را منجمد کرده و فاز دوم آموزش را با اسکریپت زیر در Google Colab Pro+ اجرا کنید:
import torch
import torch.optim as optim
import torch.nn as nn
# بارگذاری مدل و وزنهای اولیه
model = VexReasoningModel(vocab_size=3000).to(device)
model.load_state_dict(torch.load("vex_reasoning_weights.pth", map_location=device))
# ---- تکنیک انجماد لایهها برای حفظ دانش قبلی تیم DENLI AI ----
# ۱. فریز کردن لایه امبدینگ پایه
for param in model.embedding.parameters():
param.requires_grad = False
# ۲. فریز کردن لایه اول GRU و باز گذاشتن لایه دوم برای دانش جدید
for name, param in model.gru.named_parameters():
if 'l0' in name: # Layer 0 (Old Knowledge)
param.requires_grad = False
else: # Layer 1 (New Knowledge)
param.requires_grad = True
# ۳. باز نگه داشتن لایه نهایی خروجی
for param in model.fc.parameters():
param.requires_grad = True
# تنظیم اپتیمایزر فقط برای پارامترهای فعال
active_params = [p for p in model.parameters() if p.requires_grad]
optimizer = optim.AdamW(active_params, lr=1e-4, weight_decay=0.01)
# کدهای استاندارد ترینینگ لوپ پایتورچ را در ادامه قرار دهید...
این پروژه با افتخار توسط آژانس هوش مصنوعی DENLI AI توسعه یافته و بومیسازی شده است.
این مدل تحت لایسنس MIT منتشر شده است. استفاده تجاری، شخصی و توسعه مجدد آن با ذکر نام سازندگان اولیه کاملاً آزاد است.