تحقق من النسخة التجريبية من الواجهة الأمامية لدينا! يرجى أيضًا مراجعة تغريدة الإطلاق الخاصة بنا للتعرف على رؤيتنا المتمثلة في إنشاء أفضل دورة LLM في لعب الأدوار مفتوحة المصدر في العالم.
ملاحظة: تفترض الوثائق التالية أنك على دراية بمفاهيم Bittensor الأساسية: عمال المناجم، والمصادقون، والحوافز. إذا كنت بحاجة إلى كتاب تمهيدي، يرجى مراجعة https://docs.bittensor.com/learn/bittensor-building-blocks.
Dippy هو أحد التطبيقات المصاحبة الرائدة في مجال الذكاء الاصطناعي في العالم مع أكثر من مليون مستخدم . احتل التطبيق المرتبة الثالثة على متجر التطبيقات في بلدان مثل ألمانيا، وتمت تغطيته من خلال منشورات مثل مجلة Wired ويقضي مستخدم Dippy العادي أكثر من ساعة واحدة على التطبيق.
تهدف الشبكة الفرعية Dippy roleplay على Bittensor إلى إنشاء أفضل لعبة تمثيل أدوار مفتوحة المصدر LLM في العالم من خلال الاستفادة من الجهود الجماعية لمجتمع المصادر المفتوحة. تتناول هذه الشبكة الفرعية القضية الحاسمة المتمثلة في الشعور بالوحدة، والتي تؤثر على جزء كبير من السكان وترتبط بمختلف مشاكل الصحة العقلية والجسدية.
تم تصميم برامج SOTA LLM الحالية (Claude وOpenAI وما إلى ذلك) لحالة الاستخدام المساعد وتفتقر إلى الصفات التعاطفية اللازمة للرفقة. في حين أن بعض الشركات (مثل Character AI وInflection) قامت بتطوير LLMs للعب الأدوار مغلقة المصدر، فإن البدائل مفتوحة المصدر متخلفة بشكل كبير في الأداء.
نظرًا لتعقيد إنشاء نموذج لعب الأدوار LLM على أحدث طراز، فإننا نخطط لتقسيم العملية إلى 3 مراحل متميزة.
المرحلة 1:
المرحلة الثانية:
المرحلة 3:
سيستخدم عمال المناجم الأطر الموجودة، أو تقنيات الضبط الدقيق، أو MergeKit، لتدريب النماذج أو ضبطها أو دمجها لإنشاء دورة لعب أدوار فريدة من نوعها (LLM). سيتم إرسال هذه النماذج إلى مجموعة Hugging Face المشتركة.
سيقوم المدققون بتقييم وتقييم أداء النموذج من خلال بروتوكولنا وتصنيف التقديمات بناءً على مقاييس مختلفة (التعاطف والإيجاز وما إلى ذلك). سوف نقدم مجموعة من بروتوكولات الاختبار والقياس مع مجموعات البيانات الحديثة.
للبدء، انسخ المستودع والقرص cd
إليه:
git clone https://github.com/impel-intelligence/dippy-bittensor-subnet.git
cd dippy-bittensor-subnet
pip install -e .
باعتبارك عامل تعدين، فأنت مسؤول عن الاستفادة من جميع الأساليب المتاحة تحت تصرفك، بما في ذلك على سبيل المثال لا الحصر، تدريب النماذج الجديدة، ودمج النماذج الحالية (نوصي باستخدام MergeKit)، وضبط النماذج الحالية، وما إلى ذلك لدفع دورات LLM في لعب الأدوار إلى الأمام.
نحدد المعايير التالية للمرحلة الأولى:
بمجرد أن تصبح راضيًا عن أداء النموذج الخاص بحالة استخدام لعب الأدوار، يمكنك ببساطة إرساله إلى Hugging Face ? ثم استخدم الأمر التالي:
python3 dippy_subnet/upload_model.py --hf_repo_id HF_REPO --wallet.name WALLET --wallet.hotkey HOTKEY --chat_template MODEL_CHAT_TEMPLATE --model_dir PATH_TO_MODEL
wandb
(انظر أدناه) قبل تشغيل أداة التحقق من الصحة، يوصى بإعداد الأوزان والتحيزات ( wandb
). الغرض من wandb
هو تتبع المقاييس الرئيسية عبر المدققين إلى صفحة يمكن الوصول إليها بشكل عام. هنا. نوصي بشدة باستخدام المدققين wandb، لأنه يسمح لمطوري الشبكات الفرعية والقائمين بالتعدين بتشخيص المشكلات بسرعة أكبر وفعالية، على سبيل المثال، في حالة تعيين أوزان غير طبيعية للمدقق. يتم جمع سجلات Wandb افتراضيًا، ويتم ذلك بطريقة مجهولة، ولكننا نوصي بإعداد حساب لتسهيل التمييز بين أدوات التحقق عند البحث عن عمليات التشغيل على لوحة المعلومات الخاصة بنا. إذا كنت لا ترغب في تشغيل WandB، فيمكنك القيام بذلك عن طريق عدم توفير العلامة --wandb-key
عند تشغيل أداة التحقق من الصحة.
قبل البدء، كما ذكرنا سابقًا، ستحتاج أولاً إلى التسجيل للحصول على حساب wandb
، ثم قم بتعيين مفتاح API الخاص بك على نظامك. فيما يلي دليل خطوة بخطوة حول كيفية القيام بذلك على Ubuntu:
قبل تسجيل الدخول، تأكد من تثبيت حزمة wandb
Python. إذا لم تكن قد قمت بتثبيته بعد، فيمكنك القيام بذلك باستخدام النقطة:
# Should already be installed with the repo
pip install wandb
لتكوين مفتاح WANDB API الخاص بك على جهاز Ubuntu، اتبع الخطوات التالية:
تسجيل الدخول إلى WANDB : قم بتشغيل الأمر التالي في المحطة:
wandb login
أدخل مفتاح API الخاص بك : عندما يُطلب منك ذلك، الصق مفتاح API الذي نسخته من إعدادات حساب WANDB الخاص بك.
Enter
.التحقق من تسجيل الدخول : للتحقق من تعيين مفتاح API بشكل صحيح، يمكنك بدء برنامج نصي اختباري صغير في Python يستخدم WANDB. إذا تم إعداد كل شيء بشكل صحيح، فيجب تشغيل البرنامج النصي دون أي أخطاء في المصادقة.
إعداد متغير بيئة مفتاح API (اختياري) : إذا كنت تفضل عدم تسجيل الدخول في كل مرة، فيمكنك تعيين مفتاح API الخاص بك كمتغير بيئة في ملف ~/.bashrc
أو ~/.bash_profile
الخاص بك:
echo ' export WANDB_API_KEY=your_api_key ' >> ~ /.bashrc
source ~ /.bashrc
استبدل your_api_key
بمفتاح API الفعلي. تقوم هذه الطريقة تلقائيًا بمصادقتك باستخدام wandb في كل مرة تفتح فيها جلسة طرفية جديدة.
للبدء، انسخ المستودع والقرص cd
إليه:
git clone https://github.com/impel-intelligence/dippy-bittensor-subnet.git
cd dippy-bittensor-subnet
pip install -e .
لتشغيل التقييم، ما عليك سوى استخدام الأمر التالي:
python neurons/validator.py --wallet.name WALLET_NAME --wallet.hotkey WALLET_HOT_NAME --wandb-key WANDBKEY
لتشغيل أداة التحقق من التحديث التلقائي باستخدام PM2 (مستحسن):
pm2 start --name sn11-vali-updater --interpreter python scripts/start_validator.py -- --pm2_name sn11-vali --wallet.name WALLET_NAME --wallet.hotkey WALLET_HOT_NAME [other vali flags]
يرجى ملاحظة أن أداة التحقق هذه ستتصل بخدمة التحقق من صحة النموذج التي يستضيفها مالكو شبكة dippy الفرعية. إذا كنت ترغب في تشغيل خدمة التحقق من صحة النموذج محليًا، فيرجى اتباع الإرشادات أدناه.
ملاحظة : توجد حاليًا (17 يونيو 2024) بعض المشكلات في واجهة برمجة تطبيقات التقييم المحلية. نوصي باستخدام واجهة برمجة التطبيقات للتحقق من الصحة عن بعد مؤقتًا.
يتطلب بدء تشغيل أداة التحقق باستخدام واجهة برمجة التطبيقات الخاصة بأداة التحقق المحلية الخاصة بك بدء أداة التحقق باستخدام علامة --use-local-validation-api
. بالإضافة إلى ذلك، يلزم وجود قائمة انتظار نموذجية لدفع النماذج إلى واجهة برمجة تطبيقات التحقق من الصحة.
ملاحظة : يجب تثبيت Validator API في جهاز مختلف عن أداة التحقق من الصحة بسبب تعارض إصدار pydantic
.
قم بتثبيت Git Lfs إذا لم يكن مثبتًا.
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
إذا كنت تعمل على runpod، فقد تحتاج أيضًا إلى تثبيت "netstat".
apt-get install net-tools
للبدء، قم باستنساخ المستودع والقرص cd
فيه:
git clone https://github.com/impel-intelligence/dippy-bittensor-subnet.git
cd dippy-bittensor-subnet
python3 -m venv model_validation_venv
source model_validation_venv/bin/activate
model_validation_venv/bin/pip install -e . --no-deps
model_validation_venv/bin/pip install -r requirements_val_api.txt
(ملاحظة: توجد حاليًا تغييرات معطلة تشكل تحديات لتشغيل خدمة واجهة برمجة تطبيقات التحقق المحلية. أي مهام تتطلب env vars ADMIN_KEY
أو DIPPY_KEY
تنطبق هنا)
cd dippy_validation_api
chmod +x start_validation_service.sh
./start_validation_service.sh
python3 test_api.py
ويجب أن تشاهد ملف json يوضح أن حالة النموذج هي "قائمة الانتظار". وبتشغيل نفس الأمر مرة أخرى من أجل السلامة، يجب أن ترى حالة النموذج على أنها "قيد التشغيل".
chmod +x kill_validation_api.sh
./kill_validation_api.sh
# Make a separate venv for the validator because of pydantic version conflict
python -m venv validator_venv
validator_venv/bin/pip install -e .
validator_venv/bin/python neurons/validator.py --wallet.name WALLET_NAME --wallet.hotkey WALLET_HOT_NAME --use-local-validation-api
# Run model queue to push models to validation api to be evaluated
validator_venv/bin/python neurons/model_queue.py --use-local-validation-api
النموذج الأصغر سيحصل على نقاط أعلى من النموذج الكبير. حجم النموذج هو مساحة القرص التي يشغلها نموذج الريبو من HF. الحد الأقصى لحجم الطراز يقتصر على 72 جيجابايت.
النموذج الأسرع سيحصل على درجات أعلى من النموذج البطيء.
عند تقييمه مقابل مجموعات البيانات، فإن النموذج الذي يولد استجابة مماثلة للحقيقة الأرضية سيحصل على نقاط أعلى.
النموذج الذي يمكنه توليد مخرجات ذات طول مماثل لمدخلاته سيحصل على نقاط أعلى.
قاعدة البيانات الخاصة بنا مبنية على الشبكات الفرعية التابعة لشركة Nous Research وMyShell.
تم إصدار شبكة Dippy Bittensor الفرعية بموجب ترخيص MIT.