AVA-Mistral-7 / Persian Mistral 7B
This Repository Contains Documents for Fine-Tuned Mistral 7B Persian Large Language Model(LLM) Called AVA-Mistral 7B
(Still in progress)
Dataset used:
To Be Done
Different Versions:
| Model | Data QA Pairs | BatchSize | GPU/Hour | link |
|---|---|---|---|---|
| AVA-Mistral-7B-V1 | 12K | 4 | A100/~2h | link |
| AVA-Mistral-7B-V2 | 300K | 4 | A100/~10h | link |
| AVA-Mistral-7B-V3 | 1M | 4 | A100/~18h | link |
| AVA-Mistral-7B-V4 | 500K | 4 | A100/~24h | link |
Usage:
All models are hosted in HuggingFace, and here is the code for inference:
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
import torch
model_name_or_id = "MehdiHosseiniMoghadam/AVA-Mistral-7B-V2"
model = AutoModelForCausalLM.from_pretrained(model_name_or_id, torch_dtype=torch.float16, device_map="auto", low_cpu_mem_usage=True, load_in_8bit=True)
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.99,
max_new_tokens=90,
pad_token_id=tokenizer.eos_token_id
)
outputs = model.generate(**inputs, generation_config=generation_config)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
You can also use colab link in the jupyter file
QA Comparision to other models:
AVA-V4 vs AVA-V2 vs Maral vs Llama
Q1:
طبق متن زیر ایلان ماسک در کجا به دنیا امده است؟
ایلان ریوْ ماسک (به انگلیسی: Elon Reeve Musk؛ /ˈiːlɒn/ EE-lon؛ زادهٔ ۲۸ ژوئن ۱۹۷۱)، سرمایهگذار و شخصی نامی در کسبوکار است. او بنیانگذار، مدیرعامل و مهندس ارشدِ فنی اسپیساکس؛ سرمایهگذار فرشته، مدیرعامل، طراح محصولات و مدیرعامل سابق شرکت تسلا؛ بنیانگذار شرکت بورینگ؛ یکی از بنیانگذاران نیورالینک و اوپنایآی و رئیس بنیاد ماسک است. او ثروتمندترین شخص در جهان است؛ دارایی خالص تخمینی او بر اساس شاخص میلیاردرهای بلومبرگ تا نوامبر ۲۰۲۳، ۲۱۹ میلیارد دلار آمریکا و بر اساس فوربز، ۲۴۱ میلیارد دلار است. این دارایی اساساً از سهم مالکیت او در تسلا و اسپیسایکس بهدست آمدهاست.[۵][۶][۷]
ماسک از ارول ماسک و می ماسک در پرتوریا، آفریقای جنوبی به دنیا آمد. او مدت کوتاهی در دانشگاه پرتوریا به تحصیل پرداخت و در ۱۸ سالگی به کانادا رفت که از طریق مادر کاناداییتبارش تابعیت این کشور را به دست آورد.[۸] دو سال بعد به دانشگاه پنسیلوانیا رفت و در آن جا کارشناسی اقتصاد و فیزیک خود را گرفت. او در سال ۱۹۹۵ برای تحصیل در دانشگاه استنفورد به کالیفرنیا نقل مکان کرد اما بعد از دو روز ترک تحصیل کرد و بههمراه برادرش کیمبال، شرکت نرمافزاری راهنمای سفر آنلاین زیپ۲ را تأسیس کرد. این شرکت نوپا در سال ۱۹۹۹ بهمبلغ ۳۰۷ میلیون دلار توسط کامپک خریداری شد و با ۱۲ میلیون دلاری که به دست آورد، ماسک همان سال مشترکاً بانکداری مستقیم X.com را تأسیس کرد که در سال ۲۰۰۰ با کنفینیتی ادغام شد و باعث تشکیل پیپل شد.
Q2:
سه قاتل در یک اتاق هستند.. یکی وارد اتاق می شود و یکی از آنها را می کشد. هیچ کس اتاق را ترک نمی کند چند قاتل در اتاق باقی مانده است؟ استدلال خود را توضیح دهید
اگر در این سوال به استدلال بیشتری افتد، می توانیم ببینیم که هر دو قاتل هم در اتاق هستند و هیچ کدام را نمی کشند. اما در این استدلال اصلی و اولیه، تعداد قاتل های باقی مانده در اتاق به دو تقریباً این است.
Q3:
ملکه الیزابت کیست؟
Q4:
اگر یک توپ داخل یک لیوان برعکس باشد و ما لیوان را برداشته و داخل مایکروویو بگذاریم الان توپ کجاست؟
Q5:
یک شعر با دقیقا پنجاه کلمه بساز؟
در جنگل دیدار کردم یک گربه سیاه که در دست دو گربه سبز قرار داشت از آن که در جنگل زمانه های گذشته گربه ها در دست دیگران قرار گرفت
در دل آب و هوای زمان، در دل آفتاب و شب، در دل گل و گوشت، در دل عشق و دوری،
در دل آفتاب و شب، در دل گل و گوشت، در دل عشق و دوری، در دل آب و هوای زمان،
در دل آفتاب و شب، در دل گل و گوشت، در دل عشق و دوری، در دل آب و هوای زمان،
در دل آفتاب و شب، در دل گل و گوشت، در دل عشق و دوری، در دل آب و هوای زمان،
در دل آفتاب و شب، در دل گل و گوشت، در دل عشق و دوری، در دل آب و هوای زمان.
Q6:
یک نامه خطاب به رییس شرکت من بنویس که من در حال استعفا و ترک شرکت هستم؟
مترجم: شما باید نامه خطاب خود را به انگلیسی نوشته و از طریق این پیام به من ارسال کنید.
متوضع: در این نامه خطاب، من در حال استعفا و ترک شرکت هستم.
نامه خطاب:
از انجام ناخودپسندیده و از دست دادن از شرکت خود انجام می دهم.
شما باید نامه خطاب خود را به انگلیسی نوشته و از طریق این پیام به من ارسال کنید.
متوضع: در این نامه خطاب، من در حال استعفا و ترک شرکت هستم.
نامه خطاب
شماره: [شماره نامه]
تاریخ: [تاریخ نوشتن نامه]
[نام و نام خانوادگی رییس شرکت] [عنوان شرکت] [آدرس شرکت]
شکر خوب،
به عنوان یکی از عضویان شرکت [نام شرکت]، احتمالاً اولین خبری که به شما این نامه ارسال می کنم نیست. اما در حال حاضر، من در حال استعفا و ترک از شرکت هستم و این نامه را به شما ارسال می کنم تا آن را به دنباله های دیگری اضافه کنم.
Q7:
رییس جمهور آمریکا در سال 1996 که بود؟
Q8:
اگر پنج پیراهن 4 ساعت طول بکشد تا خشک شود، 20 پیراهن چقدر طول می کشد تا خشک شود؟
طول بکشنده شدن 20 پیراهن = طول بکشنده شدن 5 پیراهن × (شماره پیراهن / شماره پیراهن)
طول بکشنده شدن 20 پیراهن = 4 ساعت × (20 / 5)
طول بکشنده شدن 20 پیراهن = 4 ساعت × 4
طول بکشنده شدن 20 پیراهن = 16 ساعت
Q9:
یک خرگوش و یک لاک پشت یک مسابقه 100 متری را شروع می کنند، سرعت خرگوش 10 کیلومتر و لاک پشت 1 کیلومتر است، چه کسی برنده مسابقه است؟
مسابقه 100 متری از آنجایی که خرگوش سریعتر از لاک پشت است، خرگوش به طور کامل قابلیت برداشتن این جاهزه را دارد. بنابراین، خرگوش برنده مسابقه است.
100 متر / 10 کیلومتر در ساعت = 10 دقیقه
100 متر / 1 کیلومتر در ساعت = 100 دقیقه
بنابراین، خرگوش 10 دقیقه و لاک پشت 100 دقیقه می گذرد تا 100 متر را پیروز کنند. بنابراین، برنده مسابقه خرگوش است.
Q9:
یک فایل json حاوی این اطلاعات ایجاد کنید: bob، jon، mary و rich
python add_person.py [person_name] [age] [gender] [occupation]
import json
people = { "bob": {}, "jon": {}, "mary": {}, "rich": {} }
with open("people.json", "w") as f: json.dump(people, f)
Q9:
یک اسکریپت پایتون برای چاپ 1 تا 10 بنویسید
Q9:
یک تابع node js برای دریافت رشته و تقسیم آن بر اساس فاصله بنویسید
function splitStringBySpace(str) {
return str.split(' ');
}
const inputString = "این یک رشته است که باید تقسیم شود";
const result = splitStringBySpace(inputString);
console.log(result);
این کد تابع splitStringBySpace برچسب کرده است که رشته وارد شده را با فاصله بنویسید. این کد را در نظر دهید و اگر نیاز به تغییرات دیگری دارید، لطفا بگویید.
function splitStringBySpace(str) {
return str.split(' ');
}
// این تابع را برای استفاده در یک فایل node js مانند این فایل استفاده می کنیم:
const fs = require('fs');
const readline = require('readline');
const rl = readline.createInterface({
input: fs.createReadStream('input.txt'),
crlfDelay: Infinity
});
rl.on('line', (line) => {
const words = splitStringBySpace(line);
console.log(words);
});
در این کد، ابتدا به کار برده readline بخش های فایل ورودی را دریافت می کند. سپس تابع splitStringBySpace را برای تقسیم رشته ای که دریافت کرده ایم استفاده می کند. این تابع رشته را با فاصله های فارسی راهنمایی دار تقسیم می کند و به صورت مجزا برمی گرداند. نتیجه این کار این است که هر کلمه در یک عنصر مجزا قرار می گیرد. سپس این عنصرها را در کنسول نمایش می دهد.
License
Released Jan 30, 2024 by Mehdi Hosseini Moghadam
Attention ⚠️: The user is responsible for using AVA-Mistral-7 / Persian Mistral 7B
Any misuse of the model (of any kind) is the responsibility of the user and not the creator