متقدم
⏱ قراءة لمدة ٤٥ دقيقة
© بوابة الذكاء الاصطناعي ٢٠٢٦-٠٦-١٦
تعلم كيفية تخصيص نماذج اللغة الكبيرة (LLMs) لتعزيز قدرات التواصل في المجالات المتخصصة، مثل ملاجئ المشردين، باستخدام أدوات وتقنيات الذكاء الاصطناعي الحديثة مثل LoRA.
المتطلبات الأساسية
- Python ٣.١٠+
- مفتاح API من OpenAI (أحدث إصدار)
- الإلمام بمفاهيم تعلم الآلة
ما الذي نبنيه
في هذا الدرس، سنبدأ رحلة لتخصيص نموذج لغة كبير (LLM) لتلبية احتياجات التواصل الخاصة بملاجئ المشردين. من خلال الاستفادة من مجموعة بيانات مخصصة تم جمعها من موقع قرية تمكين المنازل الصغيرة التابعة لـ Youth Spirit Artworks (YSA)، نهدف إلى إنشاء نموذج يمكنه المساعدة بفعالية في تفاصيل التواصل المطلوبة في مثل هذه البيئات.
سيؤدي المشروع النهائي إلى نموذج قادر على توليد ردود ذات صلة وسياقية وتعاطفية على الاستفسارات النموذجية داخل مجتمع ملاجئ المشردين. يتضمن ذلك هيكلة البيانات في صيغة سؤال وجواب موحدة لتعزيز عملية التدريب، وضمان توافق مخرجات النموذج مع أسلوب التواصل واحتياجات الجمهور المستهدف.
الإعداد والتثبيت
لبدء العمل، نحتاج إلى إعداد بيئة التطوير بالأدوات والمكتبات اللازمة لتخصيص النموذج. سنستخدم Python مع مكتبة OpenAI للتفاعل مع LLMs.
pip install openai pandas numpyبالإضافة إلى ذلك، ستحتاج إلى تكوين متغيرات البيئة لتخزين مفاتيح API الخاصة بك بأمان. يضمن ذلك عدم تضمين المعلومات الحساسة بشكل مباشر في نصوصك البرمجية.
# .env file
OPENAI_API_KEY=your_openai_api_key
الخطوة ١: جمع البيانات وتحضيرها
تتضمن الخطوة الأولى في تخصيص نموذجنا جمع البيانات وتحضيرها. يجب تنظيم مجموعة البيانات، المستمدة من قرية تمكين المنازل الصغيرة التابعة لـ YSA، في صيغة سؤال وجواب منظمة لتسهيل التدريب الفعال.
import pandas as pd
# Load the dataset
data = pd.read_csv('ysa_dataset.csv')
# Example of structuring data
qa_pairs = []
for index, row in data.iterrows():
question = row['question']
answer = row['answer']
qa_pairs.append({'prompt': question, 'completion': answer})
# Save the structured data for further processing
structured_data = pd.DataFrame(qa_pairs)
structured_data.to_csv('structured_qa.csv', index=False)
هنا، نقوم بتحميل مجموعة البيانات ونجري عملية تكرار على كل إدخال لاستخراج الأسئلة وإجاباتها المقابلة. ثم يتم تخزين هذه الأزواج في ملف CSV جديد، والذي سيعمل كمدخل لعملية تدريب النموذج لدينا.
الخطوة ٢: إعداد بيئة التخصيص
مع تحضير بياناتنا، تكون الخطوة التالية هي إعداد البيئة للتخصيص. يتضمن ذلك تكوين عميل OpenAI وتحضير مجموعة البيانات الخاصة بنا للتدريب.
from openai import OpenAI
# Initialize the OpenAI client
client = OpenAI(api_key='your_openai_api_key')
# Prepare the dataset for fine-tuning
def prepare_fine_tuning_data(file_path):
with open(file_path, 'r') as f:
lines = f.readlines()
return [{'prompt': line.split(',')[0], 'completion': line.split(',')[1]} for line in lines]
# Load the prepared data
training_data = prepare_fine_tuning_data('structured_qa.csv')
نقوم بتهيئة عميل OpenAI باستخدام مفتاح API ونحضر البيانات عن طريق قراءة ملف CSV المنظم. يتم تحويل كل سطر إلى صيغة قاموس متوقعة من قبل API الخاص بـ OpenAI للتخصيص.
الخطوة ٣: تخصيص النموذج
الآن، ننتقل إلى جوهر هذا الدرس—تخصيص النموذج. تتضمن هذه الخطوة إرسال بياناتنا المحضرة إلى API الخاص بـ OpenAI لضبط معلمات النموذج لحالتنا الخاصة. سنستكشف أيضًا استخدام تخصيص LoRA، وهي طريقة فعالة من حيث التكلفة تسمح بالتخصيص على وحدة معالجة رسومات واحدة.
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "system", "content": "You are a helpful assistant for a homeless shelter."}] + training_data,
max_tokens=1500
)
# Check the response
print(response)
في هذا الكود، نستخدم طريقة `chat.completions.create` لتخصيص النموذج. يتم إلحاق بيانات التدريب برسالة نظام تحدد سياق المساعد. سيساعدنا الرد من API في فهم مدى تكيف النموذج مع البيانات الجديدة.
اختبار التنفيذ الخاص بك
بعد التخصيص، من الضروري اختبار النموذج للتأكد من أنه يتصرف كما هو متوقع. يتضمن ذلك تشغيل سلسلة من المطالبات الاختبارية عبر النموذج والتحقق من الردود.
test_prompts = [
"What services are available at the shelter?",
"How can I volunteer?"
]
for prompt in test_prompts:
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}]
)
print(f"Prompt: {prompt}nResponse: {response['choices'][0]['message']['content']}n")
في هذه المرحلة من الاختبار، نقوم بتمرير مطالبات محددة مسبقًا إلى النموذج ونفحص الردود للتأكد من أنها ذات صلة ومناسبة سياقيًا لبيئة ملاجئ المشردين.
ما الذي يجب بناؤه بعد ذلك
- دمج النموذج المخصص في تطبيق دردشة لتقديم المساعدة في الوقت الحقيقي.
- توسيع مجموعة البيانات لتشمل سيناريوهات أكثر تنوعًا وتحسين قوة النموذج.
- استكشاف التفاعلات متعددة الوسائط عن طريق دمج المدخلات الصوتية والنصية لتوسيع نطاق الوصول.
في سياق دول مجلس التعاون الخليجي والشرق الأوسط، يمكن لمثل هذه الحلول المدفوعة بالذكاء الاصطناعي أن تعزز بشكل كبير أنظمة دعم المجتمع، بما يتماشى مع مبادرات مثل رؤية السعودية ٢٠٣٠ والاستراتيجية الوطنية للذكاء الاصطناعي في الإمارات، التي تهدف إلى دمج التقنيات المتقدمة في الخدمات العامة.