Osama Mohamed Ali ·
مطور ويب منذ 8 أشهر
كيف يتم التعامل مع unsloth models , وكيف يتم عمل fine tuning لل model بابسط الطرق ؟
ترتيب حسب:
Mustafa Hllak
كاتب محتوى منذ 7 أشهر

باختصار، التعامل مع Unsloth يتم عبر واجهة بسيطة وسلسة، موجهة لتوفير أفضل أداء ممكن على أجهزة عادية، مع دعم ممتاز للنماذج مفتوحة المصدر.

0 0 0
Yara Abod
مطور تطبيقات الهاتف المحمول منذ 8 أشهر

Unsloth بيخليك تعمل fine-tuning لموديلات زي LLaMA 3 أو Mistral بسرعة وسهولة باستخدام كود بسيط على Google Colab أو أي بيئة فيها GPU.
كل اللي عليك تثبت `unsloth`، تختار موديل، تجهز الداتا بصيغة instruction/output، وتبدأ التدريب بـ SFTTrainer.
الموضوع سريع وخفيف حتى على الأجهزة المتوسطة. 💡
عرض المزيد

0 0 0
Mohamed Zhwany
مصمم منذ 8 أشهر

Unsloth هو إطار عمل يُسهّل تخصيص النماذج اللغوية الكبيرة مثل LLaMA وMistral باستخدام موارد قليلة (حتى 3GB VRAM).
يمكنك عمل Fine-Tuning بسهولة عبر دفاتر جاهزة على Google Colab ببيانات بسيطة (سؤال/جواب).
يستخدم تقنيات مثل LoRA لتسريع التدريب وتقليل استهلاك الذاكرة بشكل كبير.
عرض المزيد

0 0 0
خالد بجاش علي جمال جمال
مصمم شعارات اليمن منذ 8 أشهر

ع حسب التقيم

0 0 0
Maisaa Madwar
مدخلة بيانات منذ 8 أشهر

الـ نماذج Unsloth (مثل "Unsloth/zephyr"، "Unsloth/mistral") هي نسخة مُعدّلة من نماذج LLM مثل Mistral أو Zephyr، تم تحسينها أسرع وأسهل في التدريب (الضبط الدقيق) ،​، وتستهلك موارد أقل. فريق Unsloth طوّرها للتدريب على كرت شاشة واحدة بسهولة ،وجه العناقبسهولة، باستخدام مكتبات مثل Hugging Face وbitsandbytes.

✅ أولًا: مميزات Unslothmodels
أسرع في التدريب 2-5 مرات من النسخ الأصلية.

دعم ضبط LoRA الدقيق بسهولة (​التكيف منخفض بسهولة (التكيف منخفض الرتبة).

حجمها صغير لعدم وجود كرت شاشة 16 جيجا بايت فما فوق.

جاهز للعمل مع Hugging Face Transformersالوجه.

✅ ثانيًا: أبسط طريقة لصناعة الضبط الدقيق
هنا طريقة مختصرة وبسيطة باستخدام unslothو transformers:

1. تثبيت الحزم المطلوبة:

pip install unsloth datasets peft trl accelerate bitsandbytes
2. تحميل النموذج:


from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "unsloth/zephyr-7b-beta",
max_seq_length = 2048,
dtype = "float16", # أو "bfloat16" حسب كرت الشاشة
load_in_4bit = True # لتوفير الموارد
)
3. تجهيز البيانات (مثال مبسط):

from datasets import load_dataset

dataset = load_dataset("Abirate/english_quotes")

def format(example):
return {
"text": f"### Instruction:\n{example['quote']}\n\n### Response:\nNice quote!"
}

dataset = dataset.map(format)
4. تفعيل LoRA واختيار الإعدادات:

model = FastLanguageModel.get_peft_model(
model,
r = 16,
target_modules = ["q_proj", "v_proj"],
lora_alpha = 16,
lora_dropout = 0.05,
bias = "none",
task_type = "CAUSAL_LM",
)
5. تدريب النموذج:

from trl import SFTTrainer

trainer = SFTTrainer(
model = model,
tokenizer = tokenizer,
train_dataset = dataset["train"],
max_seq_length = 2048,
dataset_text_field = "text",
args = {
"output_dir": "./fine_tuned_model",
"num_train_epochs": 2,
"per_device_train_batch_size": 2,
"gradient_accumulation_steps": 4,
"logging_steps": 10,
"save_strategy": "epoch",
"learning_rate": 2e-4,
"fp16": True,
}
)

trainer.train()
6. حفظ النموذج:

model.save_pretrained("./fine_tuned_model")
tokenizer.save_pretrained("./fine_tuned_model")
✅ نصائح:
لو كرت شاشة 24 جيجا أو أكثر، تقدر تستخدم دفعة أكبر أو تسريع أكثر.

يمكنك استخدام البيانات الخاصة بك بصيغة "نص" أو "تعليمات-استجابة".

Unsloth تدعم أيضًا موديلات ميسترال، جيما، ميكسترال وغيرها.
عرض المزيد

0 0 0
Deyaa Gomaa
مدير تسويق منذ 8 أشهر

مكتبة Unsloth هي مكتبة مميزة مصممة لتسهيل وتسريع عملية Fine-Tuning لنماذج LLMs (مثل LLaMA وMistral) على الأجهزة العادية (حتى بدون GPU قوي). وتتميز بسهولة الاستخدام، خاصة مع دمجها مع أدوات مثل Hugging Face وLoRA.

سأشرح لك كيف تتعامل معها وخطوات عمل Fine-Tuning بأبسط الطرق.


---

أولاً: تثبيت المكتبة

pip install "unsloth[torch]" -q

> يمكن تعديل torch إلى torch-cu118 لو عندك GPU من إنفيديا.




---

ثانياً: تحميل نموذج مدعوم (مثل Mistral أو LLaMA)

from unsloth import FastLanguageModel
from transformers import AutoTokenizer

model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "unsloth/mistral-7b-bnb-4bit",
max_seq_length = 2048,
dtype = None, # تلقائي
load_in_4bit = True # لتقليل استهلاك الرام
)


---

ثالثاً: تجهيز النموذج للتدريب (Fine-Tuning)

model = FastLanguageModel.get_peft_model(
model,
r=16,
lora_alpha=16,
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM"
)


---

رابعاً: تجهيز البيانات للتدريب

يمكنك استخدام فورمات ChatML أو أي فورمات مشابه.

مثال (بيانات بسيطة بصيغة dict):

train_data = [
{"input": "ما هو الذكاء الاصطناعي؟", "output": "الذكاء الاصطناعي هو مجال في علوم الحاسوب..."},
{"input": "عرف التسويق الرقمي", "output": "هو استخدام الإنترنت والقنوات الرقمية..."},
]

ثم تحويلها لصيغة مناسبة:

def format(example):
return f"<|system|>\nأجب كمساعد ذكي\n<|user|>\n{example['input']}\n<|assistant|>\n{example['output']}"

from datasets import Dataset
dataset = Dataset.from_list(train_data)
dataset = dataset.map(lambda x: {"text": format(x)})


---

خامساً: تدريب النموذج

from transformers import TrainingArguments, Trainer

args = TrainingArguments(
per_device_train_batch_size=2,
gradient_accumulation_steps=4,
warmup_steps=10,
max_steps=100,
learning_rate=2e-4,
fp16=True,
logging_steps=10,
output_dir="outputs",
save_total_limit=2,
save_steps=50,
)

FastLanguageModel.prepare_for_training(model)
trainer = Trainer(model=model, args=args, train_dataset=dataset)
trainer.train()


---

سادساً: حفظ النموذج

model.save_pretrained("fine_tuned_model")
tokenizer.save_pretrained("fine_tuned_model")


---

ملاحظات سريعة:

يمكن التدريب على كرت شاشة واحد بسعة 8GB باستخدام إعدادات 4bit.

يدعم مكتبة LoRA مما يسهل التدريب بدون الحاجة لتعديل كل النموذج.

يمكن استخدام Databricks Dolly، Alpaca، أو أي فورمات حواري مشابه بسهولة.



---
عرض المزيد

0 0 0

Developed by Samer Zaki

All rights reserved © kaf 2025