انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: نسخه آلفای مارال ۷ میلیارد پارامتری منتشر شد  (دفعات بازدید: 2281 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین محمدرضا حقیری

  • High Sr. Member
  • *
  • ارسال: 528
    • ذهن زیبا


مارال ۷ میلیارد پارامتری

در ماه‌های گذشته، شخصا تلاش‌های زیادی کردم تا بتونم زبان فارسی را به یکی از مدل‌های زبانی بزرگ اضافه کنم. مدلی که بتونه فارسی‌ای تولید کنه که از لحاظ ساختار زبانی فارسی، درست باشند. اما خب بسیاری از مدل‌ها، قادر به درک درست از زبان فارسی نبودند و این پروژه به شکل عجیبی گیر کرده بود. تا این که شرکت فرانسوی Mistral AI مدل Mistral خودشون رو ارائه کرد.
مدل میسترال هم مثل بسیاری از مدل‌های دیگر، فارسی رو درست و حسابی نمی‌فهمید اما خب درک خوبی از «الفبای فارسی» داشت. به همین خاطر تصمیم به فاین‌تیون کردن این مدل گرفتم و یک مدل PEFT ازش تولید شد. این کافی نبود ولی، مدل peft نمی‌تونست به درستی از دانشی که میسترال داره استفاده کنه.
به همین خاطر، در این مرحله یک تیم دونفره شدیم و روی این مدل کار کردیم و بهبودش دادیم. با کمک چندین تن از دوستانمون زیرساخت گرافیکی لازم رو تهیه کردیم و حالا مارال ۷ میلیارد پارامتری اینجاست!

لینک‌های مربوطه


پروانه انتشار

این مدل با پروانه MIT منتشر شده که به شما امکان استفاده تجاری ازش رو میده. همچنین می‌تونید بدون مشکل از این مدل در پروژه‌های آزاد و ناآزاد استفاده کنید :)

روش اجرا (برای GPUهای محدود)

خب طبق معمول، این مدل نیازمند GPUئه برای اجرا و از اونجا که حجم مدل ۱۵ گیگه، حداقل GPU مورد نیاز یک T4 ئه (که روی کگل و کولب می‌تونید به صورت محدود رایگان داشته باشیدش). برای دستگاه خانگی از یک ۳۰۹۰ استفاده کردم و نتیجه بد نبود. اما کدی که در ادامه قرار می‌دم، برای اجرای بدون مشکل روی T4, 2090, 3060 و ... است.

خب، اول این کتابخونه‌ها رو نصب می‌کنیم:

pip install transformers accelerate bitsandbytes
و سپس این کد رو باید اجرا کنید:

from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
import torch

model_name_or_id = "MaralGPT/Maral-7B-alpha-1"

model = AutoModelForCausalLM.from_pretrained(model_name_or_id, torch_dtype=torch.bfloat16, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_name_or_id)

prompt = "در سال ۱۹۹۶ چه کسی رییس جمهور آمریکا بود؟"
prompt = f"### Human:{prompt}\n### Assistant:"

inputs = tokenizer(prompt, return_tensors="pt").to("cuda")

generation_config = GenerationConfig(
    do_sample=True,
    top_k=1,
    temperature=0.5,
    max_new_tokens=300,
    pad_token_id=tokenizer.eos_token_id
)

outputs = model.generate(**inputs, generation_config=generation_config)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))


مشکلات حال حاضر

  • مدل در حال حاضر به شدت می‌تونه هذیان‌گویی یا Hallucinate کنه و دلیلش دیتای کمیه که دیده.
  • مدل علاقه زیادی به تکرار خودش داره :)
« آخرین ویرایش: 13 دی 1402، 08:45 ب‌ظ توسط محمدرضا حقیری »

آفلاین S Y N C R E X

  • Hero Member
  • *
  • ارسال: 807
  • جنسیت : پسر
  • The Control Is The Power
    • syncrex.me
لطفا زیر دیپلم توضیح بدید چی هست و چیکار میکنه

آفلاین محمدرضا حقیری

  • High Sr. Member
  • *
  • ارسال: 528
    • ذهن زیبا
لطفا زیر دیپلم توضیح بدید چی هست و چیکار میکنه

چت‌جی‌پی‌تی رو میشناسی؟ مارالشونه!

آفلاین S Y N C R E X

  • Hero Member
  • *
  • ارسال: 807
  • جنسیت : پسر
  • The Control Is The Power
    • syncrex.me
نقل‌قول
چت‌جی‌پی‌تی رو میشناسی؟ مارالشونه!
ها اینجوری خوبه     : )
بعد این سورسیه که میتونیم کامپایل کنیم رو سیستم خودمون اجرا کنیم ؟

آفلاین محمدرضا حقیری

  • High Sr. Member
  • *
  • ارسال: 528
    • ذهن زیبا
نقل‌قول
چت‌جی‌پی‌تی رو میشناسی؟ مارالشونه!
ها اینجوری خوبه     : )
بعد این سورسیه که میتونیم کامپایل کنیم رو سیستم خودمون اجرا کنیم ؟

هم روی سیستم خودتون می‌تونید اجرا کنید (اگر حداقل یه ۳۰۹۰ خسته دارید)
هم روی Google Colab و سرویس‌های مشابه.